diff --git a/build/makefile b/build/makefile index efe0276b83364b5945b54e70c7c5a357d7d27236..d42c2ece7046c500fbf43bfb8507aa912240e0bb 100644 --- a/build/makefile +++ b/build/makefile @@ -1,18 +1,16 @@ #### parent directory of the 'build' directory #### -ROOT_DIR = /globalhome/kck540/HPC/SummaProjects/Summa-Actors +ROOT_DIR = /Summa-Actors #### Compilers #### FC = gfortran # Fortran CC = g++ # C++ #### Includes AND Libraries #### -INCLUDES = -I$(EBROOTNETCDFMINFORTRAN)/include -LIBRARIES = -L$(EBROOTNETCDFMINFORTRAN)/lib64 \ - -L$(EBROOTOPENBLAS)/lib -lnetcdff -lopenblas +INCLUDES = -I/usr/include -I/usr/local/include +LIBRARIES = -L/usr/lib -L/usr/local/lib -lnetcdff -lopenblas -ACTORS_INCLUDES = -I$(EBROOTCAF)/include -I$(EBROOTNETCDFMINFORTRAN)/include -ACTORS_LIBRARIES = -L$(EBROOTCAF)/lib -L$(EBROOTCAF)/lib64 -L$(EBROOTNETCDFMINFORTRAN)/lib64 \ - -L$(EBROOTOPENBLAS)/lib -L$(ROOT_DIR)/bin -lcaf_core -lcaf_io -lsumma -lopenblas -lnetcdff +ACTORS_INCLUDES = -I/usr/include -I/usr/local/include +ACTORS_LIBRARIES = -L/usr/lib -L/usr/local/lib -L/Summa-Actors/bin -lcaf_core -lcaf_io -lsumma -lopenblas -lnetcdff # Production runs @@ -21,7 +19,7 @@ FLAGS_COMM = -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors FLAGS_SUMMA = -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors FLAGS_ACTORS = -O3 -Wfatal-errors -std=c++17 -# # Debug runs +# Debug runs # FLAGS_NOAH = -g -O0 -ffree-form -ffree-line-length-none -fmax-errors=0 -fbacktrace -Wno-unused -Wno-unused-dummy-argument -fPIC # FLAGS_COMM = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC # FLAGS_SUMMA = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC @@ -243,8 +241,8 @@ DRIVER = $(patsubst %, $(DRIVER_DIR)/%, $(SUMMA_DRIVER)) ######################################## Assemble C++ Files ######################################## #################################################################################################### -INCLUDE_DIR = /globalhome/kck540/HPC/SummaProjects/Summa-Actors/build/includes -SOURCE_DIR = /globalhome/kck540/HPC/SummaProjects/Summa-Actors/build/source/actors +INCLUDE_DIR = /Summa-Actors/build/includes +SOURCE_DIR = /Summa-Actors/build/source/actors GLOBAL_INCLUDES = -I$(INCLUDE_DIR)/global diff --git a/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 index 7230830c79264ef30a6979d0f120b8027a1ff42b..2687c4f8b84e977136cdf7e2e358c6f66245ce22 100644 --- a/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 +++ b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 @@ -288,22 +288,19 @@ subroutine FileAccessActor_WriteOutput(& integer(i4b) :: iFreq integer(i4b) :: indxHRU=1 integer(i4b), dimension(maxVarFreq) :: outputTimestepUpdate + integer(i4b), dimension(maxVarFreq) :: stepCounter call c_f_pointer(handle_ncid, ncid) ! **************************************************************************** ! *** write data ! **************************************************************************** do iGRU=minGRU, maxGRU + stepCounter(:) = outputTimeStep(iGRU)%dat(:) ! We want to avoid updating outputTimeStep do iStep=1, nSteps - call writeBasin(ncid,iGRU,outputTimeStep(iGRU)%dat(:),iStep,bvar_meta, & + call writeBasin(ncid,iGRU,stepCounter(:),iStep,bvar_meta, & outputStructure(1)%bvarStat(1)%gru(iGRU)%hru(indxHRU)%var, & outputStructure(1)%bvarStruct(1)%gru(iGRU)%hru(indxHRU)%var, bvarChild_map, err, cmessage) - - - ! reset outputTimeStep - ! get the number of HRUs in the run domain - ! nHRUrun = sum(gru_struc%hruCount) - ! write time information + call writeTime(ncid,outputTimeStep(iGRU)%dat(:),iStep,time_meta, & outputStructure(1)%timeStruct(1)%gru(iGRU)%hru(indxHRU)%var,err,cmessage) end do ! istep diff --git a/build/source/actors/hru_actor/cppwrap_hru.f90 b/build/source/actors/hru_actor/cppwrap_hru.f90 index e4f48be16ea54229458047b1b5b977ccf436721a..11b27e42a0427b2f57d6d7aa5cccdd225395d9d2 100644 --- a/build/source/actors/hru_actor/cppwrap_hru.f90 +++ b/build/source/actors/hru_actor/cppwrap_hru.f90 @@ -6,7 +6,8 @@ USE data_types USE globalData implicit none -! public::Initialize +! public::Initialize ! This is called Directly by the actors code +! The above is here just in case I look here again public::SetupParam public::Restart public::Forcing @@ -16,182 +17,6 @@ public::Write_Param_C contains -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! *************** Initalize Structures For HRU ************************ -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! subroutine Initialize(& -! indxGRU, & -! num_steps, & -! ! statistics structures -! handle_forcStat, & ! model forcing data -! handle_progStat, & ! model prognostic (state) variables -! handle_diagStat, & ! model diagnostic variables -! handle_fluxStat, & ! model fluxes -! handle_indxStat, & ! model indices -! handle_bvarStat, & ! basin-average variables -! ! primary data structures (scalars) -! handle_timeStruct, & ! model time data -! handle_forcStruct, & ! model forcing data -! handle_attrStruct, & ! local attributes for each HRU -! handle_typeStruct, & ! local classification of soil veg etc. for each HRU -! handle_idStruct, & ! -! ! primary data structures (variable length vectors) -! handle_indxStruct, & ! model indices -! handle_mparStruct, & ! model parameters -! handle_progStruct, & ! model prognostic (state) variables -! handle_diagStruct, & ! model diagnostic variables -! handle_fluxStruct, & ! model fluxes -! ! basin-average structures -! handle_bparStruct, & ! basin-average parameters -! handle_bvarStruct, & ! basin-average variables -! ! ancillary data structures -! handle_dparStruct, & ! default model parameters -! ! local HRU data -! handle_startTime, & ! start time for the model simulation -! handle_finshTime, & ! end time for the model simulation -! handle_refTime, & ! reference time for the model simulation -! handle_oldTime, & ! time for the previous model time step -! ! miscellaneous variables -! err) bind(C,name='Initialize') - -! use summa4chm_init,only:summa4chm_initialize - -! implicit none -! ! calling variables -! integer(c_int),intent(in) :: indxGRU -! integer(c_int),intent(out) :: num_steps -! ! statistics structures -! type(c_ptr), intent(in), value :: handle_forcStat ! model forcing data -! type(c_ptr), intent(in), value :: handle_progStat ! model prognostic (state) variables -! type(c_ptr), intent(in), value :: handle_diagStat ! model diagnostic variables -! type(c_ptr), intent(in), value :: handle_fluxStat ! model fluxes -! type(c_ptr), intent(in), value :: handle_indxStat ! model indices -! type(c_ptr), intent(in), value :: handle_bvarStat ! basin-average variables -! ! primary data structures (scalars) -! type(c_ptr), intent(in), value :: handle_timeStruct ! model time data -! type(c_ptr), intent(in), value :: handle_forcStruct ! model forcing data -! type(c_ptr), intent(in), value :: handle_attrStruct ! local attributes for each HRU -! type(c_ptr), intent(in), value :: handle_typeStruct ! local classification of soil veg etc. for each HRU -! type(c_ptr), intent(in), value :: handle_idStruct ! -! ! primary data structures (variable length vectors) -! type(c_ptr), intent(in), value :: handle_indxStruct ! model indices -! type(c_ptr), intent(in), value :: handle_mparStruct ! model parameters -! type(c_ptr), intent(in), value :: handle_progStruct ! model prognostic (state) variables -! type(c_ptr), intent(in), value :: handle_diagStruct ! model diagnostic variables -! type(c_ptr), intent(in), value :: handle_fluxStruct ! model fluxes -! ! basin-average structures -! type(c_ptr), intent(in), value :: handle_bparStruct ! basin-average parameters -! type(c_ptr), intent(in), value :: handle_bvarStruct ! basin-average variables -! ! ancillary data structures -! type(c_ptr), intent(in), value :: handle_dparStruct ! default model parameters -! ! local hru data structures -! type(c_ptr), intent(in), value :: handle_startTime ! start time for the model simulation -! type(c_ptr), intent(in), value :: handle_finshTime ! end time for the model simulation -! type(c_ptr), intent(in), value :: handle_refTime ! reference time for the model simulation -! type(c_ptr), intent(in), value :: handle_oldTime ! time for the previous model time step -! integer(c_int),intent(inout) :: err -! !--------------------------------------------------------------------------------------------------- -! ! local variables - -! ! statistics structures -! type(var_dlength),pointer :: forcStat ! model forcing data -! type(var_dlength),pointer :: progStat ! model prognostic (state) variables -! type(var_dlength),pointer :: diagStat ! model diagnostic variables -! type(var_dlength),pointer :: fluxStat ! model fluxes -! type(var_dlength),pointer :: indxStat ! model indices -! type(var_dlength),pointer :: bvarStat ! basin-average variabl -! ! primary data structures (scalars) -! type(var_i),pointer :: timeStruct ! model time data -! type(var_d),pointer :: forcStruct ! model forcing data -! type(var_d),pointer :: attrStruct ! local attributes for each HRU -! type(var_i),pointer :: typeStruct ! local classification of soil veg etc. for each HRU -! type(var_i8),pointer :: idStruct ! -! ! primary data structures (variable length vectors) -! type(var_ilength),pointer :: indxStruct ! model indices -! type(var_dlength),pointer :: mparStruct ! model parameters -! type(var_dlength),pointer :: progStruct ! model prognostic (state) variables -! type(var_dlength),pointer :: diagStruct ! model diagnostic variables -! type(var_dlength),pointer :: fluxStruct ! model fluxes -! ! basin-average structures -! type(var_d),pointer :: bparStruct ! basin-average parameters -! type(var_dlength),pointer :: bvarStruct ! basin-average variables -! ! ancillary data structures -! type(var_d),pointer :: dparStruct ! default model parameters -! ! local HRU data structures -! type(var_i),pointer :: startTime ! start time for the model simulation -! type(var_i),pointer :: finshTime ! end time for the model simulation -! type(var_i),pointer :: refTime ! reference time for the model simulation -! type(var_i),pointer :: oldTime ! time for the previous model time step -! character(len=256) :: message - - -! ! getting data -! call c_f_pointer(handle_forcStat, forcStat) -! call c_f_pointer(handle_progStat, progStat) -! call c_f_pointer(handle_diagStat, diagStat) -! call c_f_pointer(handle_fluxStat, fluxStat) -! call c_f_pointer(handle_indxStat, indxStat) -! call c_f_pointer(handle_bvarStat, bvarStat) -! call c_f_pointer(handle_timeStruct, timeStruct) -! call c_f_pointer(handle_forcStruct, forcStruct) -! call c_f_pointer(handle_attrStruct, attrStruct) -! call c_f_pointer(handle_typeStruct, typeStruct) -! call c_f_pointer(handle_idStruct, idStruct) -! call c_f_pointer(handle_indxStruct, indxStruct) -! call c_f_pointer(handle_mparStruct, mparStruct) -! call c_f_pointer(handle_progStruct, progStruct) -! call c_f_pointer(handle_diagStruct, diagStruct) -! call c_f_pointer(handle_fluxStruct, fluxStruct) -! call c_f_pointer(handle_bparStruct, bparStruct) -! call c_f_pointer(handle_bvarStruct, bvarStruct) -! call c_f_pointer(handle_dparStruct, dparStruct) -! call c_f_pointer(handle_startTime, startTime) -! call c_f_pointer(handle_finshTime, finshTime) -! call c_f_pointer(handle_refTime, refTime) -! call c_f_pointer(handle_oldTime, oldTime) - - -! call summa4chm_initialize(& -! indxGRU, & ! index of the parent GRU -! num_steps, & -! ! statistics structures -! forcStat, & ! model forcing data -! progStat, & ! model prognostic (state) variables -! diagStat, & ! model diagnostic variables -! fluxStat, & ! model fluxes -! indxStat, & ! model indices -! bvarStat, & ! basin-average variables -! ! primary data structures (scalars) -! timeStruct, & ! model time data -! forcStruct, & ! model forcing data -! attrStruct, & ! local attributes for each HRU -! typeStruct, & ! local classification of soil veg etc. for each HRU -! idStruct, & ! -! ! primary data structures (variable length vectors) -! indxStruct, & ! model indices -! mparStruct, & ! model parameters -! progStruct, & ! model prognostic (state) variables -! diagStruct, & ! model diagnostic variables -! fluxStruct, & ! model fluxes -! ! basin-average structures -! bparStruct, & ! basin-average parameters -! bvarStruct, & ! basin-average variables -! ! ancillary data structures -! dparStruct, & ! default model parameters -! startTime, & ! start time for the model simulation -! finshTime, & ! end time for the model simulation -! refTime, & ! reference time for the model simulation -! oldTime, & ! time for the previous model time step -! ! miscellaneous variables -! err, message) - -! if(err/=0)then -! message=trim(message) -! print*, message -! endif - -! end subroutine Initialize - ! ********************************************************************************************************** ! public subroutine SetupParam: initializes parameter data structures (e.g. vegetation and soil parameters). ! ********************************************************************************************************** diff --git a/build/source/driver/SummaActors_modelRun.f90 b/build/source/driver/SummaActors_modelRun.f90 index 7aaba25108d23c91e700bb7189f186651304cb49..3310197b9d4d11d891122068989d35fb0189b288 100755 --- a/build/source/driver/SummaActors_modelRun.f90 +++ b/build/source/driver/SummaActors_modelRun.f90 @@ -213,7 +213,9 @@ contains ! initialize runoff variables bvarStruct%var(iLookBVAR%basin__SurfaceRunoff)%dat(1) = 0._dp ! surface runoff (m s-1) + bvarStruct%var(iLookBVAR%basin__SoilDrainage)%dat(1) = 0._dp bvarStruct%var(iLookBVAR%basin__ColumnOutflow)%dat(1) = 0._dp ! outflow from all "outlet" HRUs (those with no downstream HRU) + bvarStruct%var(iLookBVAR%basin__TotalRunoff)%dat(1) = 0._dp ! initialize baseflow variables bvarStruct%var(iLookBVAR%basin__AquiferRecharge)%dat(1) = 0._dp ! recharge to the aquifer (m s-1) @@ -343,20 +345,28 @@ contains + fluxStruct%var(iLookFLUX%scalarAquiferBaseflow)%dat(1) * fracHRU end if + ! perform the routing + associate(totalArea => bvarStruct%var(iLookBVAR%basin__totalArea)%dat(1) ) + ! compute water balance for the basin aquifer if(model_decisions(iLookDECISIONS%spatial_gw)%iDecision == singleBasin)then message=trim(message)//'multi_driver/bigBucket groundwater code not transferred from old code base yet' err=20; return end if - ! perform the routing - associate(totalArea => bvarStruct%var(iLookBVAR%basin__totalArea)%dat(1) ) + ! calculate total runoff depending on whether aquifer is connected + if(model_decisions(iLookDECISIONS%groundwatr)%iDecision == bigBucket) then + ! aquifer + bvarStruct%var(iLookBVAR%basin__TotalRunoff)%dat(1) = bvarStruct%var(iLookBVAR%basin__SurfaceRunoff)%dat(1) + bvarStruct%var(iLookBVAR%basin__ColumnOutflow)%dat(1)/totalArea + bvarStruct%var(iLookBVAR%basin__AquiferBaseflow)%dat(1) + else + ! no aquifer + bvarStruct%var(iLookBVAR%basin__TotalRunoff)%dat(1) = bvarStruct%var(iLookBVAR%basin__SurfaceRunoff)%dat(1) + bvarStruct%var(iLookBVAR%basin__ColumnOutflow)%dat(1)/totalArea + bvarStruct%var(iLookBVAR%basin__SoilDrainage)%dat(1) + endif + call qOverland(& ! input - model_decisions(iLookDECISIONS%subRouting)%iDecision, & ! intent(in): index for routing method - bvarStruct%var(iLookBVAR%basin__SurfaceRunoff)%dat(1), & ! intent(in): surface runoff (m s-1) - bvarStruct%var(iLookBVAR%basin__ColumnOutflow)%dat(1)/totalArea, & ! intent(in): outflow from all "outlet" HRUs (those with no downstream HRU) - bvarStruct%var(iLookBVAR%basin__AquiferBaseflow)%dat(1), & ! intent(in): baseflow from the aquifer (m s-1) + model_decisions(iLookDECISIONS%subRouting)%iDecision, & ! intent(in): index for routing method + bvarStruct%var(iLookBVAR%basin__TotalRunoff)%dat(1), & ! intent(in): total runoff to the channel from all active components (m s-1) bvarStruct%var(iLookBVAR%routingFractionFuture)%dat, & ! intent(in): fraction of runoff in future time steps (m s-1) bvarStruct%var(iLookBVAR%routingRunoffFuture)%dat, & ! intent(in): runoff in future time steps (m s-1) ! output diff --git a/build/source/dshare/get_ixname.f90 b/build/source/dshare/get_ixname.f90 index 3e4c59ac6828f480dfcf4bef9e73879cb86e563a..fbf9c4e3e37d3ac67a9c823f8e57f243f2379990 100755 --- a/build/source/dshare/get_ixname.f90 +++ b/build/source/dshare/get_ixname.f90 @@ -888,6 +888,7 @@ contains case('basin__AquiferRecharge' ); get_ixbvar = iLookBVAR%basin__AquiferRecharge ! recharge to the aquifer (m s-1) case('basin__AquiferBaseflow' ); get_ixbvar = iLookBVAR%basin__AquiferBaseflow ! baseflow from the aquifer (m s-1) case('basin__AquiferTranspire' ); get_ixbvar = iLookBVAR%basin__AquiferTranspire ! transpiration from the aquifer (m s-1) + case('basin__TotalRunoff' ); get_ixbvar = iLookBVAR%basin__TotalRunoff ! total runoff to channel from all active components (m s-1) case('basin__SoilDrainage' ); get_ixbvar = iLookBVAR%basin__SoilDrainage ! variables to compute runoff case('routingRunoffFuture' ); get_ixbvar = iLookBVAR%routingRunoffFuture ! runoff in future time steps (m s-1) diff --git a/build/source/dshare/popMetadat.f90 b/build/source/dshare/popMetadat.f90 index cec88e3ff6837115d4fa9834452595d86dd3de2a..4c2b371e64ea8dcb3f5294d6966f10242bc75e52 100755 --- a/build/source/dshare/popMetadat.f90 +++ b/build/source/dshare/popMetadat.f90 @@ -588,6 +588,7 @@ subroutine popMetadat(err,message) bvar_meta(iLookBVAR%basin__AquiferRecharge) = var_info('basin__AquiferRecharge' , 'recharge to the aquifer' , 'm s-1' , get_ixVarType('scalarv'), iMissVec, iMissVec, .false.) bvar_meta(iLookBVAR%basin__AquiferBaseflow) = var_info('basin__AquiferBaseflow' , 'baseflow from the aquifer' , 'm s-1' , get_ixVarType('scalarv'), iMissVec, iMissVec, .false.) bvar_meta(iLookBVAR%basin__AquiferTranspire) = var_info('basin__AquiferTranspire', 'transpiration loss from the aquifer' , 'm s-1' , get_ixVarType('scalarv'), iMissVec, iMissVec, .false.) + bvar_meta(iLookBVAR%basin__TotalRunoff) = var_info('basin__TotalRunoff' , 'total runoff to channel from all active components' , 'm s-1' , get_ixVarType('scalarv'), iMissVec, iMissVec, .false.) bvar_meta(iLookBVAR%basin__SoilDrainage) = var_info('basin__SoilDrainage' , 'soil drainage' , 'm s-1' , get_ixVarType('scalarv'), iMissVec, iMissVec, .false.) bvar_meta(iLookBVAR%routingRunoffFuture) = var_info('routingRunoffFuture' , 'runoff in future time steps' , 'm s-1' , get_ixVarType('routing'), iMissVec, iMissVec, .false.) bvar_meta(iLookBVAR%routingFractionFuture) = var_info('routingFractionFuture' , 'fraction of runoff in future time steps' , '-' , get_ixVarType('routing'), iMissVec, iMissVec, .false.) diff --git a/build/source/dshare/var_lookup.f90 b/build/source/dshare/var_lookup.f90 index 8030472178a03b8f77b84973e099c1265695ab24..b1ae8c0ad725c0c80862e549b26dc1e118ac482d 100755 --- a/build/source/dshare/var_lookup.f90 +++ b/build/source/dshare/var_lookup.f90 @@ -705,6 +705,7 @@ MODULE var_lookup integer(i4b) :: basin__AquiferRecharge = integerMissing ! recharge to the aquifer (m s-1) integer(i4b) :: basin__AquiferBaseflow = integerMissing ! baseflow from the aquifer (m s-1) integer(i4b) :: basin__AquiferTranspire = integerMissing ! transpiration from the aquifer (m s-1) + integer(i4b) :: basin__TotalRunoff = integerMissing ! total runoff to channel from all active components (m s-1) integer(i4b) :: basin__SoilDrainage = integerMissing ! define variables for runoff integer(i4b) :: routingRunoffFuture = integerMissing ! runoff in future time steps (m s-1) @@ -843,7 +844,7 @@ MODULE var_lookup ! named variables: basin-average variables type(iLook_bvar), public,parameter :: iLookBVAR =ilook_bvar ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,& - 11, 12) + 11, 12, 13) ! named variables in varibale type structure type(iLook_varType), public,parameter :: iLookVarType =ilook_varType ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,& diff --git a/build/source/engine/qTimeDelay.f90 b/build/source/engine/qTimeDelay.f90 index 75cb75c0a5c382900d3faee3eccc70a56a645b1f..abcec24dc110612071dbc6c3ea651379e4cbeb48 100755 --- a/build/source/engine/qTimeDelay.f90 +++ b/build/source/engine/qTimeDelay.f90 @@ -40,9 +40,7 @@ contains subroutine qOverland(& ! input ixRouting, & ! index for routing method - averageSurfaceRunoff, & ! surface runoff (m s-1) - averageSoilBaseflow, & ! baseflow from the soil profile (m s-1) - averageAquiferBaseflow,& ! baseflow from the aquifer (m s-1) + averageTotalRunoff, & ! total runoff to the channel from all active components (m s-1) fracFuture, & ! fraction of runoff in future time steps (m s-1) qFuture, & ! runoff in future time steps (m s-1) ! output @@ -52,9 +50,7 @@ contains implicit none ! input integer(i4b),intent(in) :: ixRouting ! index for routing method - real(dp),intent(in) :: averageSurfaceRunoff ! surface runoff (m s-1) - real(dp),intent(in) :: averageSoilBaseflow ! baseflow from the soil profile (m s-1) - real(dp),intent(in) :: averageAquiferBaseflow ! baseflow from the aquifer (m s-1) + real(dp),intent(in) :: averageTotalRunoff ! total runoff to the channel from all active components (m s-1)ß real(dp),intent(in) :: fracFuture(:) ! fraction of runoff in future time steps (m s-1) real(dp),intent(inout) :: qFuture(:) ! runoff in future time steps (m s-1) ! output @@ -69,7 +65,7 @@ contains err=0; message='qOverland/' ! compute instantaneous runoff (m s-1) - averageInstantRunoff = averageSurfaceRunoff + averageAquiferBaseflow + averageSoilBaseflow + averageInstantRunoff = averageTotalRunoff ! compute routed runoff (m s-1) select case(ixRouting) ! (select option for sub-grid routing) diff --git a/build/source/netcdf/outputStrucWrite.f90 b/build/source/netcdf/outputStrucWrite.f90 index ce67959febff75b78f30c4aa003ed7f9d765cf64..58f277e3d805167f9ab837a37aeeb687db2b3a2d 100755 --- a/build/source/netcdf/outputStrucWrite.f90 +++ b/build/source/netcdf/outputStrucWrite.f90 @@ -100,7 +100,7 @@ contains integer(i4b) :: iVar ! loop through variables ! initialize error control - err=0;message="writeParm/" + err=0;message="outputStrucWrite.f90-writeParm/" ! loop through local column model parameters do iVar = 1,size(meta) @@ -194,7 +194,7 @@ subroutine writeData(indxGRU,indxHRU,iStep,structName,finalizeStats, & integer(i4b),parameter :: ixInteger=1001 ! named variable for integer integer(i4b),parameter :: ixReal=1002 ! named variable for real ! initialize error control - err=0;message="writeData/" + err=0;message="outputStrucWrite.f90-writeData/" ! loop through output frequencies do iFreq=1,maxvarFreq @@ -240,6 +240,8 @@ subroutine writeData(indxGRU,indxHRU,iStep,structName,finalizeStats, & outputStructure(1)%diagStat(1)%gru(indxGRU)%hru(indxHRU)%var(map(iVar))%tim(iStep)%dat(iFreq) = stat%var(map(iVar))%dat(iFreq) case('flux') outputStructure(1)%fluxStat(1)%gru(indxGRU)%hru(indxHRU)%var(map(iVar))%tim(iStep)%dat(iFreq) = stat%var(map(iVar))%dat(iFreq) + case('indx') + outputStructure(1)%indxStat(1)%gru(indxGRU)%hru(indxHRU)%var(map(iVar))%tim(iStep)%dat(iFreq) = stat%var(map(iVar))%dat(iFreq) case default err=21; message=trim(message)//"Stats structure not found"; return end select @@ -339,7 +341,7 @@ subroutine writeBasin(indxGRU,indxHRU,iStep,finalizeStats,& integer(i4b) :: iStat ! statistics index integer(i4b) :: iFreq ! frequency index ! initialize error control - err=0;message="f-writeBasin/" + err=0;message="outputStrucWrite.f90-writeBasin/" ! loop through output frequencies do iFreq=1,maxvarFreq @@ -404,7 +406,7 @@ subroutine writeTime(indxGRU,indxHRU,iStep,finalizeStats,meta,dat,err,message) integer(i4b) :: iVar ! variable index integer(i4b) :: iFreq ! frequency index ! initialize error control - err=0;message="f-writeTime/" + err=0;message="outputStrucWrite.f90-writeTime/" ! loop through output frequencies do iFreq=1,maxvarFreq diff --git a/build/source/netcdf/writeOutput.f90 b/build/source/netcdf/writeOutput.f90 index 5ae13865870d20c0dad4d44e2501f8bb8a0d60d4..3b7ce4951b311a082601b4fbcb0f5c3cb5b73c35 100644 --- a/build/source/netcdf/writeOutput.f90 +++ b/build/source/netcdf/writeOutput.f90 @@ -78,7 +78,8 @@ public::writeParm public::writeData public::writeBasin public::writeTime -public::writeRestart +private::writeScalar +private::writeVector ! define dimension lengths integer(i4b),parameter :: maxSpectral=2 ! maximum number of spectral bands contains @@ -147,9 +148,9 @@ subroutine writeParm(ncid,ispatial,struct,meta,err,message) end subroutine writeParm - ! ************************************************************************************** - ! public subroutine writeData: write model time-dependent data - ! ************************************************************************************** +! ************************************************************************************** +! public subroutine writeData: write model time-dependent data +! ************************************************************************************** subroutine writeData(ncid,outputTimestep,outputTimestepUpdate,maxLayers,nSteps, & minGRU, maxGRU, numGRU, & meta,stat,dat,structName,map,indx,err,message) @@ -187,21 +188,11 @@ subroutine writeData(ncid,outputTimestep,outputTimestepUpdate,maxLayers,nSteps, integer(i4b) :: iStat ! statistics index integer(i4b) :: iFreq ! frequency index integer(i4b) :: ncVarID ! used only for time - integer(i4b) :: nSnow ! number of snow layers - integer(i4b) :: nSoil ! number of soil layers - integer(i4b) :: nLayers ! total number of layers ! output arrays - integer(i4b) :: datLength ! length of each data vector - integer(i4b) :: maxLength ! maximum length of each data vector real(rkind) :: timeVec(nSteps) ! timeVal to copy - real(rkind) :: realVec(numGRU, nSteps) ! real vector for all HRUs in the run domain - real(rkind) :: realArray(nSteps,maxLayers+1) ! real array for all HRUs in the run domain - integer(i4b) :: intArray(nSteps,maxLayers+1) ! integer array for all HRUs in the run domain - integer(i4b) :: dataType ! type of data integer(i4b),parameter :: ixInteger=1001 ! named variable for integer integer(i4b),parameter :: ixReal=1002 ! named variable for real integer(i4b) :: stepCounter ! counter to know how much data we have to write, needed because we do not always write nSteps - integer(i4b) :: gruCounter integer(i4b) :: iStep integer(i4b) :: iGRU integer(i4b) :: verifiedGRUIndex ! index of HRU verified to not have failed @@ -252,121 +243,13 @@ subroutine writeData(ncid,outputTimestep,outputTimestepUpdate,maxLayers,nSteps, ! check that the variable is desired if (iStat==integerMissing.or.trim(meta(iVar)%varName)=='unknown') cycle - ! do iHRU=1,gru_struc(iGRU)%hruCount - ! stats output: only scalar variable type - if(meta(iVar)%varType==iLookVarType%scalarv) then - select type(stat) - class is (gru_hru_time_doubleVec) - if (minGRU == maxGRU)then - gruCounter = 1 - do iStep = 1, nSteps - if(.not.outputStructure(1)%finalizeStats(1)%gru(verifiedGRUIndex)%hru(1)%tim(iStep)%dat(iFreq)) cycle - stepCounter = stepCounter + 1 - realVec(gruCounter, stepCounter) = stat%gru(verifiedGRUIndex)%hru(1)%var(map(iVar))%tim(iStep)%dat(iFreq) - end do ! iStep - else - gruCounter = 0 - do iGRU = minGRU, maxGRU - stepCounter = 0 - gruCounter = gruCounter + 1 - do iStep = 1, nSteps - if(.not.outputStructure(1)%finalizeStats(1)%gru(verifiedGRUIndex)%hru(1)%tim(iStep)%dat(iFreq)) cycle - stepCounter = stepCounter + 1 - realVec(gruCounter, stepCounter) = stat%gru(iGRU)%hru(1)%var(map(iVar))%tim(iStep)%dat(iFreq) - end do ! iStep - end do ! iGRU - endif - - err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),realVec(1:gruCounter, 1:stepCounter),start=(/minGRU,outputTimestep(iFreq)/),count=(/numGRU,stepCounter/)) - if (outputTimeStepUpdate(iFreq) /= stepCounter ) then - print*, "ERROR Missmatch in Steps - stat doubleVec" - print*, "iFreq = ", iFreq - print*, "outputTimeStepUpdate(iFreq) = ", outputTimeStepUpdate(iFreq) - print*, "stepCounter = ", stepCounter - return - endif - class default; err=20; message=trim(message)//'stats must be scalarv and of type gru_hru_doubleVec'; return - end select ! stat - - ! non-scalar variables: regular data structures - else - - ! initialize the data vectors - select type (dat) - class is (gru_hru_time_doubleVec); realArray(:,:) = realMissing; dataType=ixReal - class is (gru_hru_time_intVec); intArray(:,:) = integerMissing; dataType=ixInteger - class default; err=20; message=trim(message)//'data must not be scalarv and either of type gru_hru_doubleVec or gru_hru_intVec'; return - end select - - - ! get the model layers - nSoil = indx%gru(iGRU)%hru(1)%var(iLookIndex%nSoil)%tim(iStep)%dat(1) - nSnow = indx%gru(iGRU)%hru(1)%var(iLookIndex%nSnow)%tim(iStep)%dat(1) - nLayers = indx%gru(iGRU)%hru(1)%var(iLookIndex%nLayers)%tim(iStep)%dat(1) - - ! get the length of each data vector - select case (meta(iVar)%varType) - case(iLookVarType%wLength); datLength = maxSpectral - case(iLookVarType%midToto); datLength = nLayers - case(iLookVarType%midSnow); datLength = nSnow - case(iLookVarType%midSoil); datLength = nSoil - case(iLookVarType%ifcToto); datLength = nLayers+1 - case(iLookVarType%ifcSnow); datLength = nSnow+1 - case(iLookVarType%ifcSoil); datLength = nSoil+1 - case default; cycle - end select ! vartype - - ! get the data vectors - select type (dat) - class is (gru_hru_time_doubleVec) - do iStep = 1, nSteps - if(.not.outputStructure(1)%finalizeStats(1)%gru(verifiedGRUIndex)%hru(1)%tim(iStep)%dat(iFreq)) cycle - stepCounter = stepCounter + 1 - realArray(stepCounter,1:datLength) = dat%gru(iGRU)%hru(1)%var(iVar)%tim(iStep)%dat(:) - end do - - class is (gru_hru_time_intVec) - do iStep = 1, nSteps - if(.not.outputStructure(1)%finalizeStats(1)%gru(verifiedGRUIndex)%hru(1)%tim(iStep)%dat(iFreq)) cycle - stepCounter = stepCounter + 1 - intArray(stepCounter,1:datLength) = dat%gru(iGRU)%hru(1)%var(iVar)%tim(iStep)%dat(:) - end do - class default; err=20; message=trim(message)//'data must not be scalarv and either of type gru_hru_doubleVec or gru_hru_intVec'; return - end select - - ! get the maximum length of each data vector - select case (meta(iVar)%varType) - case(iLookVarType%wLength); maxLength = maxSpectral - case(iLookVarType%midToto); maxLength = maxLayers - case(iLookVarType%midSnow); maxLength = maxLayers-nSoil - case(iLookVarType%midSoil); maxLength = nSoil - case(iLookVarType%ifcToto); maxLength = maxLayers+1 - case(iLookVarType%ifcSnow); maxLength = (maxLayers-nSoil)+1 - case(iLookVarType%ifcSoil); maxLength = nSoil+1 - case default; cycle - end select ! vartype - - ! write the data vectors - select case(dataType) - case(ixReal) - - err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),realArray(1:stepCounter,:),start=(/iGRU,1,outputTimestep(iFreq)/),count=(/1,maxLength,stepCounter/)) - if (outputTimeStepUpdate(iFreq) /= stepCounter ) then - print*, "ERROR Missmatch in Steps - ixReal" - return - endif - case(ixInteger) - - err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),intArray(1:stepCounter,:),start=(/iGRU,1,outputTimestep(iFreq)/),count=(/1,maxLength,stepCounter/)) - if (outputTimeStepUpdate(iFreq) /= stepCounter ) then - print*, "ERROR Missmatch in Steps - ixInteger" - return - endif - case default; err=20; message=trim(message)//'data must be of type integer or real'; return - end select ! data type - - end if ! not scalarv - ! end do ! HRU Loop + ! stats output: only scalar variable type + if(meta(iVar)%varType==iLookVarType%scalarv) then + call writeScalar(ncid, outputTimeStep, outputTimeStepUpdate, nSteps, minGRU, maxGRU, numGRU, iFreq, iVar, meta, stat, map, err, message) + else ! non-scalar variables: regular data structures + call writeVector(ncid, outputTimeStep, outputTimeStepUpdate, maxLayers, nSteps, minGRU, maxGRU, numGRU, iFreq, iVar, meta, dat, & + indx, err, message) + end if ! not scalarv ! process error code if (err/=0) message=trim(message)//trim(meta(iVar)%varName)//'_'//trim(get_statName(iStat)) @@ -378,6 +261,187 @@ subroutine writeData(ncid,outputTimestep,outputTimestepUpdate,maxLayers,nSteps, end subroutine writeData +subroutine writeScalar(ncid, outputTimestep, outputTimestepUpdate, nSteps, minGRU, maxGRU, & + numGRU, iFreq, iVar, meta, stat, map, err, message) + USE data_types,only:var_info ! metadata type + + implicit none + ! declare dummy variables + type(var_i) ,intent(in) :: ncid ! fileid + integer(i4b) ,intent(inout) :: outputTimestep(:) ! output time step + integer(i4b) ,intent(inout) :: outputTimestepUpdate(:) ! number of HRUs in the run domain + integer(i4b) ,intent(in) :: nSteps ! number of timeSteps + integer(i4b) ,intent(in) :: minGRU ! minGRU index to write + integer(i4b) ,intent(in) :: maxGRU ! maxGRU index to write - probably not needed + integer(i4b) ,intent(in) :: numGRU + integer(i4b) ,intent(in) :: iFreq ! output file index (year, month, day, timesteps) + integer(i4b) ,intent(in) :: iVar ! netcdf variable we are writing data for + type(var_info),intent(in) :: meta(:) ! meta data + class(*) ,intent(in) :: stat ! stats data + integer(i4b) ,intent(in) :: map(:) ! map into stats child struct + integer(i4b) ,intent(inout) :: err + character(*) ,intent(inout) :: message + + ! local variables + integer(i4b) :: gruCounter ! counter for the realVecs + integer(i4b) :: iStep ! counter for looping over nSteps + integer(i4b) :: stepCounter ! counter for the realVec + integer(i4b) :: iGRU + ! output array + real(rkind) :: realVec(numGRU, nSteps)! real vector for all HRUs in the run domain + + err=0; message="writeOutput.f90-writeScalar/" + + select type(stat) + class is (gru_hru_time_doubleVec) + gruCounter=0 + do iGRU = minGRU, maxGRU + stepCounter = 0 + gruCounter = gruCounter + 1 + do iStep = 1, nSteps + if(.not.outputStructure(1)%finalizeStats(1)%gru(iGRU)%hru(1)%tim(iStep)%dat(iFreq)) cycle + stepCounter = stepCounter + 1 + realVec(gruCounter, stepCounter) = stat%gru(iGRU)%hru(1)%var(map(iVar))%tim(iStep)%dat(iFreq) + end do ! iStep + end do ! iGRU + + err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),realVec(1:gruCounter, 1:stepCounter),start=(/minGRU,outputTimestep(iFreq)/),count=(/numGRU,stepCounter/)) + if (outputTimeStepUpdate(iFreq) /= stepCounter ) then + print*, "ERROR Missmatch in Steps - stat doubleVec" + print*, " outputTimeStepUpdate(iFreq) = ", outputTimeStepUpdate(iFreq) + print*, " stepCounter = ", stepCounter + return + endif + class default; err=20; message=trim(message)//'stats must be scalarv and of type gru_hru_doubleVec'; return + end select ! stat + +end subroutine + +subroutine writeVector(ncid, outputTimestep, outputTimestepUpdate, maxLayers, nSteps, minGRU, maxGRU, & + numGRU, iFreq, iVar, meta, dat, indx, err, message) + USE data_types,only:var_info ! metadata type + USE var_lookup,only:iLookIndex ! index into index structure + USE var_lookup,only:iLookVarType ! index into type structure + + implicit none + type(var_i) ,intent(in) :: ncid ! fileid + integer(i4b) ,intent(inout) :: outputTimestep(:) ! output time step + integer(i4b) ,intent(inout) :: outputTimestepUpdate(:) ! number of HRUs in the run domain + integer(i4b) ,intent(in) :: maxLayers ! maximum number of layers + integer(i4b) ,intent(in) :: nSteps ! number of timeSteps + integer(i4b) ,intent(in) :: minGRU ! minGRU index to write + integer(i4b) ,intent(in) :: maxGRU ! maxGRU index to write - probably not needed + integer(i4b) ,intent(in) :: numGRU + integer(i4b) ,intent(in) :: iFreq ! output file index (year, month, day, timesteps) + integer(i4b) ,intent(in) :: iVar ! netcdf variable we are writing data for + type(var_info),intent(in) :: meta(:) ! meta data + class(*) ,intent(in) :: dat ! timestep data + type(gru_hru_time_intVec) ,intent(in) :: indx ! index data + integer(i4b) ,intent(inout) :: err + character(*) ,intent(inout) :: message + + ! local variables + integer(i4b) :: gruCounter ! counter for the realVecs + integer(i4b) :: iStep ! counter for looping over nSteps + integer(i4b) :: stepCounter ! counter for the realVec + integer(i4b) :: iGRU + integer(i4b) :: nSoil + integer(i4b) :: nSnow + integer(i4b) :: nLayers + ! output array + integer(i4b) :: datLength ! length of each data vector + integer(i4b) :: maxLength ! maximum length of each data vector + integer(i4b) :: dataType ! type of data + integer(i4b),parameter :: ixInteger=1001 ! named variable for integer + integer(i4b),parameter :: ixReal=1002 ! named variable for real + real(rkind) :: realArray(numGRU,maxLayers+1) ! real array for all HRUs in the run domain + integer(i4b) :: intArray(numGRU,maxLayers+1) ! integer array for all HRUs in the run domain + err=0; message="writeOutput.f90-writeVector/" + + ! initialize the data vectors + select type (dat) + class is (gru_hru_time_doubleVec); realArray(:,:) = realMissing; dataType=ixReal + class is (gru_hru_time_intVec); intArray(:,:) = integerMissing; dataType=ixInteger + class default; err=20; message=trim(message)//'data must not be scalarv and either of type gru_hru_doubleVec or gru_hru_intVec'; return + end select + + ! Loop over GRUs + + stepCounter = outputTimeStep(iFreq) + do iStep = 1, nSteps + gruCounter = 1 + do iGRU = minGRU, maxGRU + ! get the model layers + nSoil = indx%gru(iGRU)%hru(1)%var(iLookIndex%nSoil)%tim(iStep)%dat(1) + nSnow = indx%gru(iGRU)%hru(1)%var(iLookIndex%nSnow)%tim(iStep)%dat(1) + nLayers = indx%gru(iGRU)%hru(1)%var(iLookIndex%nLayers)%tim(iStep)%dat(1) + + ! get the length of each data vector + select case (meta(iVar)%varType) + case(iLookVarType%wLength); datLength = maxSpectral + case(iLookVarType%midToto); datLength = nLayers + case(iLookVarType%midSnow); datLength = nSnow + case(iLookVarType%midSoil); datLength = nSoil + case(iLookVarType%ifcToto); datLength = nLayers+1 + case(iLookVarType%ifcSnow); datLength = nSnow+1 + case(iLookVarType%ifcSoil); datLength = nSoil+1 + case default; cycle + end select ! vartype + + ! get the data vectors + select type (dat) + class is (gru_hru_time_doubleVec) + ! do iStep = 1, nSteps + if(.not.outputStructure(1)%finalizeStats(1)%gru(iGRU)%hru(1)%tim(iStep)%dat(iFreq)) cycle + ! stepCounter = stepCounter + 1 + realArray(gruCounter,1:datLength) = dat%gru(iGRU)%hru(1)%var(iVar)%tim(iStep)%dat(:) + ! end do + + class is (gru_hru_time_intVec) + ! do iStep = 1, nSteps + if(.not.outputStructure(1)%finalizeStats(1)%gru(iGRU)%hru(1)%tim(iStep)%dat(iFreq)) cycle + ! stepCounter = stepCounter + 1 + intArray(gruCounter,1:datLength) = dat%gru(iGRU)%hru(1)%var(iVar)%tim(iStep)%dat(:) + ! end do + class default; err=20; message=trim(message)//'data must not be scalarv and either of type gru_hru_doubleVec or gru_hru_intVec'; return + end select + + ! get the maximum length of each data vector + select case (meta(iVar)%varType) + case(iLookVarType%wLength); maxLength = maxSpectral + case(iLookVarType%midToto); maxLength = maxLayers + case(iLookVarType%midSnow); maxLength = maxLayers-nSoil + case(iLookVarType%midSoil); maxLength = nSoil + case(iLookVarType%ifcToto); maxLength = maxLayers+1 + case(iLookVarType%ifcSnow); maxLength = (maxLayers-nSoil)+1 + case(iLookVarType%ifcSoil); maxLength = nSoil+1 + case default; cycle + end select ! vartype + end do ! iGRU + + ! write the data vectors + select case(dataType) + + case(ixReal) + err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),realArray(1:numGRU,1:maxLength),start=(/minGRU,1,stepCounter/),count=(/numGRU,maxLength,1/)) + if(err/=0)then; print*, "ERROR: with nf90_put_var in data vector (ixReal)"; return; endif + + case(ixInteger) + err = nf90_put_var(ncid%var(iFreq),meta(iVar)%ncVarID(iFreq),intArray(1:numGRU,1:maxLength),start=(/minGRU,1,stepCounter/),count=(/numGRU,maxLength,1/)) + if(err/=0)then; print*, "ERROR: with nf90_put_var in data vector (ixInteger)"; return; endif + + case default; err=20; message=trim(message)//'data must be of type integer or real'; return + end select ! data type + stepCounter = stepCounter + 1 + end do ! iStep + ! if (outputTimeStepUpdate(iFreq) /= stepCounter ) then + ! print*, "ERROR Missmatch in Steps: for non scalar case" + ! print*, " outputTimeStepUpdate(iFreq) = ", outputTimeStepUpdate(iFreq) + ! print*, " stepCounter = ", stepCounter + ! return + ! endif +end subroutine + ! ************************************************************************************** ! public subroutine writeBasin: write basin-average variables ! ************************************************************************************** @@ -443,8 +507,8 @@ subroutine writeBasin(ncid,iGRU,outputTimestep,iStep,meta,stat,dat,map,err,messa ! process error code if (err.ne.0) message=trim(message)//trim(meta(iVar)%varName)//'_'//trim(get_statName(iStat)) call netcdf_err(err,message); if (err/=0) return - end do ! iVar + outputTimeStep(iFreq) = outputTimeStep(iFreq) + 1 end do ! iFreq end subroutine writeBasin @@ -499,258 +563,5 @@ end do ! iFreq end subroutine writeTime - ! ********************************************************************************************************* - ! public subroutine printRestartFile: print a re-start file - ! ********************************************************************************************************* - subroutine writeRestart(filename, & ! intent(in): name of restart file - nGRU, & ! intent(in): number of GRUs - nHRU, & ! intent(in): number of HRUs - prog_meta, & ! intent(in): prognostics metadata - prog_data, & ! intent(in): prognostics data - bvar_meta, & ! intent(in): basin (gru) variable metadata - bvar_data, & ! intent(in): basin (gru) variable data - maxLayers, & ! intent(in): maximum number of layers - maxSnowLayers, & ! intent(in): maximum number of snow layers - indx_meta, & ! intent(in): index metadata - indx_data, & ! intent(in): index data - err,message) ! intent(out): error control - ! -------------------------------------------------------------------------------------------------------- - ! -------------------------------------------------------------------------------------------------------- - ! access the derived types to define the data structures - USE data_types,only:var_info ! metadata - ! access named variables defining elements in the data structures - USE var_lookup,only:iLookINDEX ! named variables for structure elements - USE var_lookup,only:iLookVarType ! named variables for structure elements - USE var_lookup,only:iLookBVAR ! named variables for structure elements - ! constants - USE globalData,only:gru_struc ! gru-hru mapping structures - ! external routines - USE netcdf_util_module,only:nc_file_close ! close netcdf file - USE netcdf_util_module,only:nc_file_open ! open netcdf file - USE globalData,only:nTimeDelay ! number of timesteps in the time delay histogram - - implicit none - ! -------------------------------------------------------------------------------------------------------- - ! input - character(len=256),intent(in) :: filename ! name of the restart file - integer(i4b),intent(in) :: nGRU ! number of GRUs - integer(i4b),intent(in) :: nHRU ! number of HRUs - type(var_info),intent(in) :: prog_meta(:) ! prognostic variable metadata - type(gru_hru_doubleVec),intent(in) :: prog_data ! prognostic vars - type(var_info),intent(in) :: bvar_meta(:) ! basin variable metadata - type(gru_doubleVec),intent(in) :: bvar_data ! basin variables - type(var_info),intent(in) :: indx_meta(:) ! metadata - type(gru_hru_intVec),intent(in) :: indx_data ! indexing vars - ! output: error control - integer(i4b),intent(out) :: err ! error code - character(*),intent(out) :: message ! error message - ! -------------------------------------------------------------------------------------------------------- - ! dummy variables - integer(i4b), intent(in) :: maxLayers ! maximum number of total layers - integer(i4b), intent(in) :: maxSnowLayers ! maximum number of snow layers - - ! local variables - integer(i4b) :: ncid ! netcdf file id - integer(i4b),allocatable :: ncVarID(:) ! netcdf variable id - integer(i4b) :: ncSnowID ! index variable id - integer(i4b) :: ncSoilID ! index variable id - - integer(i4b) :: nSoil ! number of soil layers - integer(i4b) :: nSnow ! number of snow layers - integer(i4b) :: maxSnow ! maximum number of snow layers - integer(i4b) :: maxSoil ! maximum number of soil layers - integer(i4b) :: nLayers ! number of total layers - integer(i4b),parameter :: nSpectral=2 ! number of spectal bands - integer(i4b),parameter :: nScalar=1 ! size of a scalar - integer(i4b) :: nProgVars ! number of prognostic variables written to state file - - integer(i4b) :: hruDimID ! variable dimension ID - integer(i4b) :: gruDimID ! variable dimension ID - integer(i4b) :: tdhDimID ! variable dimension ID - integer(i4b) :: scalDimID ! variable dimension ID - integer(i4b) :: specDimID ! variable dimension ID - integer(i4b) :: midSnowDimID ! variable dimension ID - integer(i4b) :: midSoilDimID ! variable dimension ID - integer(i4b) :: midTotoDimID ! variable dimension ID - integer(i4b) :: ifcSnowDimID ! variable dimension ID - integer(i4b) :: ifcSoilDimID ! variable dimension ID - integer(i4b) :: ifcTotoDimID ! variable dimension ID - - character(len=32),parameter :: hruDimName ='hru' ! dimension name for HRUs - character(len=32),parameter :: gruDimName ='gru' ! dimension name for GRUs - character(len=32),parameter :: tdhDimName ='tdh' ! dimension name for time-delay basin variables - character(len=32),parameter :: scalDimName ='scalarv' ! dimension name for scalar data - character(len=32),parameter :: specDimName ='spectral' ! dimension name for spectral bands - character(len=32),parameter :: midSnowDimName='midSnow' ! dimension name for snow-only layers - character(len=32),parameter :: midSoilDimName='midSoil' ! dimension name for soil-only layers - character(len=32),parameter :: midTotoDimName='midToto' ! dimension name for layered varaiables - character(len=32),parameter :: ifcSnowDimName='ifcSnow' ! dimension name for snow-only layers - character(len=32),parameter :: ifcSoilDimName='ifcSoil' ! dimension name for soil-only layers - character(len=32),parameter :: ifcTotoDimName='ifcToto' ! dimension name for layered variables - - integer(i4b) :: cHRU ! count of HRUs - integer(i4b) :: iHRU ! index of HRUs - integer(i4b) :: iGRU ! index of GRUs - integer(i4b) :: iVar ! variable index - logical(lgt) :: okLength ! flag to check if the vector length is OK - character(len=256) :: cmessage ! downstream error message - ! -------------------------------------------------------------------------------------------------------- - - ! initialize error control - err=0; message='writeRestart/' - - ! size of prognostic variable vector - nProgVars = size(prog_meta) - allocate(ncVarID(nProgVars+1)) ! include 1 additional basin variable in ID array (possibly more later) - - ! maximum number of soil layers - maxSoil = gru_struc(1)%hruInfo(1)%nSoil - - ! maximum number of snow layers - maxSnow = maxSnowLayers - - ! create file - err = nf90_create(trim(filename),nf90_classic_model,ncid) - message='iCreate[create]'; call netcdf_err(err,message); if(err/=0)return - - ! define dimensions - err = nf90_def_dim(ncid,trim(hruDimName) ,nHRU , hruDimID); message='iCreate[hru]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(gruDimName) ,nGRU , gruDimID); message='iCreate[gru]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(tdhDimName) ,nTimeDelay , tdhDimID); message='iCreate[tdh]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(scalDimName) ,nScalar , scalDimID); message='iCreate[scalar]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(specDimName) ,nSpectral , specDimID); message='iCreate[spectral]'; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(midSoilDimName),maxSoil ,midSoilDimID); message='iCreate[ifcSoil]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(midTotoDimName),maxLayers ,midTotoDimID); message='iCreate[midToto]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(ifcSoilDimName),maxSoil+1 ,ifcSoilDimID); message='iCreate[ifcSoil]' ; call netcdf_err(err,message); if(err/=0)return - err = nf90_def_dim(ncid,trim(ifcTotoDimName),maxLayers+1,ifcTotoDimID); message='iCreate[ifcToto]' ; call netcdf_err(err,message); if(err/=0)return - if (maxSnow>0) err = nf90_def_dim(ncid,trim(midSnowDimName),maxSnow ,midSnowDimID); message='iCreate[ifcSnow]' ; call netcdf_err(err,message); if(err/=0)return - if (maxSnow>0) err = nf90_def_dim(ncid,trim(ifcSnowDimName),maxSnow+1 ,ifcSnowDimID); message='iCreate[ifcSnow]' ; call netcdf_err(err,message); if(err/=0)return - ! re-initialize error control - err=0; message='writeRestart/' - - ! define prognostic variables - do iVar = 1,nProgVars - if (prog_meta(iVar)%varType==iLookvarType%unknown) cycle - - ! define variable - select case(prog_meta(iVar)%varType) - case(iLookvarType%scalarv); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID, scalDimID /),ncVarID(iVar)) - case(iLookvarType%wLength); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID, specDimID /),ncVarID(iVar)) - case(iLookvarType%midSoil); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midSoilDimID/),ncVarID(iVar)) - case(iLookvarType%midToto); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midTotoDimID/),ncVarID(iVar)) - case(iLookvarType%ifcSoil); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcSoilDimID/),ncVarID(iVar)) - case(iLookvarType%ifcToto); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcTotoDimID/),ncVarID(iVar)) - case(iLookvarType%midSnow); if (maxSnow>0) err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midSnowDimID/),ncVarID(iVar)) - case(iLookvarType%ifcSnow); if (maxSnow>0) err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcSnowDimID/),ncVarID(iVar)) - end select - - ! check errors - if(err/=0)then - message=trim(message)//trim(cmessage)//' [variable '//trim(prog_meta(iVar)%varName)//']' - return - end if - - ! add parameter description - err = nf90_put_att(ncid,ncVarID(iVar),'long_name',trim(prog_meta(iVar)%vardesc)) - call netcdf_err(err,message) - - ! add parameter units - err = nf90_put_att(ncid,ncVarID(iVar),'units',trim(prog_meta(iVar)%varunit)) - call netcdf_err(err,message) - - end do ! iVar - - ! define selected basin variables (derived) -- e.g., hillslope routing - err = nf90_def_var(ncid, trim(bvar_meta(iLookBVAR%routingRunoffFuture)%varName), nf90_double, (/gruDimID, tdhDimID /), ncVarID(nProgVars+1)) - err = nf90_put_att(ncid,ncVarID(nProgVars+1),'long_name',trim(bvar_meta(iLookBVAR%routingRunoffFuture)%vardesc)); call netcdf_err(err,message) - err = nf90_put_att(ncid,ncVarID(nProgVars+1),'units' ,trim(bvar_meta(iLookBVAR%routingRunoffFuture)%varunit)); call netcdf_err(err,message) - - ! define index variables - snow - err = nf90_def_var(ncid,trim(indx_meta(iLookIndex%nSnow)%varName),nf90_int,(/hruDimID/),ncSnowID); call netcdf_err(err,message) - err = nf90_put_att(ncid,ncSnowID,'long_name',trim(indx_meta(iLookIndex%nSnow)%vardesc)); call netcdf_err(err,message) - err = nf90_put_att(ncid,ncSnowID,'units' ,trim(indx_meta(iLookIndex%nSnow)%varunit)); call netcdf_err(err,message) - - ! define index variables - soil - err = nf90_def_var(ncid,trim(indx_meta(iLookIndex%nSoil)%varName),nf90_int,(/hruDimID/),ncSoilID); call netcdf_err(err,message) - err = nf90_put_att(ncid,ncSoilID,'long_name',trim(indx_meta(iLookIndex%nSoil)%vardesc)); call netcdf_err(err,message) - err = nf90_put_att(ncid,ncSoilID,'units' ,trim(indx_meta(iLookIndex%nSoil)%varunit)); call netcdf_err(err,message) - - ! end definition phase - err = nf90_enddef(ncid); call netcdf_err(err,message); if (err/=0) return - - ! write variables - do iGRU = 1,nGRU - do iHRU = 1,gru_struc(iGRU)%hruCount - cHRU = gru_struc(iGRU)%hruInfo(iHRU)%hru_ix - do iVar = 1,size(prog_meta) - - ! excape if this variable is not used - if (prog_meta(iVar)%varType==iLookvarType%unknown) cycle - - ! actual number of layers - nSnow = gru_struc(iGRU)%hruInfo(iHRU)%nSnow - nSoil = gru_struc(iGRU)%hruInfo(iHRU)%nSoil - nLayers = nSoil + nSnow - - ! check size - ! NOTE: this may take time that we do not wish to use - okLength=.true. - select case (prog_meta(iVar)%varType) - case(iLookVarType%scalarv); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nScalar ) - case(iLookVarType%wlength); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSpectral) - case(iLookVarType%midSoil); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSoil ) - case(iLookVarType%midToto); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nLayers ) - case(iLookVarType%ifcSoil); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSoil+1 ) - case(iLookVarType%ifcToto); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nLayers+1) - case(iLookVarType%midSnow); if (nSnow>0) okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSnow ) - case(iLookVarType%ifcSnow); if (nSnow>0) okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSnow+1 ) - case default; err=20; message=trim(message)//'unknown var type'; return - end select - - ! error check - if(.not.okLength)then - message=trim(message)//'bad vector length for variable '//trim(prog_meta(iVar)%varname) - err=20; return - endif - - ! write data - select case (prog_meta(iVar)%varType) - case(iLookVarType%scalarv); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nScalar /)) - case(iLookVarType%wlength); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSpectral/)) - case(iLookVarType%midSoil); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSoil /)) - case(iLookVarType%midToto); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nLayers /)) - case(iLookVarType%ifcSoil); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSoil+1 /)) - case(iLookVarType%ifcToto); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nLayers+1/)) - case(iLookVarType%midSnow); if (nSnow>0) err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSnow /)) - case(iLookVarType%ifcSnow); if (nSnow>0) err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSnow+1 /)) - case default; err=20; message=trim(message)//'unknown var type'; return - end select - - ! error check - if (err.ne.0) message=trim(message)//'writing variable:'//trim(prog_meta(iVar)%varName) - call netcdf_err(err,message); if (err/=0) return - err=0; message='writeRestart/' - - end do ! iVar loop - - ! write index variables - err=nf90_put_var(ncid,ncSnowID,(/indx_data%gru(iGRU)%hru(iHRU)%var(iLookIndex%nSnow)%dat/),start=(/cHRU/),count=(/1/)) - err=nf90_put_var(ncid,ncSoilID,(/indx_data%gru(iGRU)%hru(iHRU)%var(iLookIndex%nSoil)%dat/),start=(/cHRU/),count=(/1/)) - - end do ! iHRU loop - - ! write selected basin variables - err=nf90_put_var(ncid,ncVarID(nProgVars+1),(/bvar_data%gru(iGRU)%var(iLookBVAR%routingRunoffFuture)%dat/), start=(/iGRU/),count=(/1,nTimeDelay/)) - - end do ! iGRU loop - - ! close file - call nc_file_close(ncid,err,cmessage) - if(err/=0)then;message=trim(message)//trim(cmessage);return;end if - - ! cleanup - deallocate(ncVarID) - - end subroutine writeRestart - + end module writeOutput_module \ No newline at end of file diff --git a/build/source/netcdf/writeRestart.f90 b/build/source/netcdf/writeRestart.f90 new file mode 100644 index 0000000000000000000000000000000000000000..116851765bc31f63af15d0ff5277d95b920cbb68 --- /dev/null +++ b/build/source/netcdf/writeRestart.f90 @@ -0,0 +1,253 @@ + ! ********************************************************************************************************* + ! public subroutine printRestartFile: print a re-start file + ! ********************************************************************************************************* + subroutine writeRestart(filename, & ! intent(in): name of restart file + nGRU, & ! intent(in): number of GRUs + nHRU, & ! intent(in): number of HRUs + prog_meta, & ! intent(in): prognostics metadata + prog_data, & ! intent(in): prognostics data + bvar_meta, & ! intent(in): basin (gru) variable metadata + bvar_data, & ! intent(in): basin (gru) variable data + maxLayers, & ! intent(in): maximum number of layers + maxSnowLayers, & ! intent(in): maximum number of snow layers + indx_meta, & ! intent(in): index metadata + indx_data, & ! intent(in): index data + err,message) ! intent(out): error control +! -------------------------------------------------------------------------------------------------------- +! -------------------------------------------------------------------------------------------------------- +! access the derived types to define the data structures +USE data_types,only:var_info ! metadata +! access named variables defining elements in the data structures +USE var_lookup,only:iLookINDEX ! named variables for structure elements +USE var_lookup,only:iLookVarType ! named variables for structure elements +USE var_lookup,only:iLookBVAR ! named variables for structure elements +! constants +USE globalData,only:gru_struc ! gru-hru mapping structures +! external routines +USE netcdf_util_module,only:nc_file_close ! close netcdf file +USE netcdf_util_module,only:nc_file_open ! open netcdf file +USE globalData,only:nTimeDelay ! number of timesteps in the time delay histogram + +implicit none +! -------------------------------------------------------------------------------------------------------- +! input +character(len=256),intent(in) :: filename ! name of the restart file +integer(i4b),intent(in) :: nGRU ! number of GRUs +integer(i4b),intent(in) :: nHRU ! number of HRUs +type(var_info),intent(in) :: prog_meta(:) ! prognostic variable metadata +type(gru_hru_doubleVec),intent(in) :: prog_data ! prognostic vars +type(var_info),intent(in) :: bvar_meta(:) ! basin variable metadata +type(gru_doubleVec),intent(in) :: bvar_data ! basin variables +type(var_info),intent(in) :: indx_meta(:) ! metadata +type(gru_hru_intVec),intent(in) :: indx_data ! indexing vars +! output: error control +integer(i4b),intent(out) :: err ! error code +character(*),intent(out) :: message ! error message +! -------------------------------------------------------------------------------------------------------- +! dummy variables +integer(i4b), intent(in) :: maxLayers ! maximum number of total layers +integer(i4b), intent(in) :: maxSnowLayers ! maximum number of snow layers + +! local variables +integer(i4b) :: ncid ! netcdf file id +integer(i4b),allocatable :: ncVarID(:) ! netcdf variable id +integer(i4b) :: ncSnowID ! index variable id +integer(i4b) :: ncSoilID ! index variable id + +integer(i4b) :: nSoil ! number of soil layers +integer(i4b) :: nSnow ! number of snow layers +integer(i4b) :: maxSnow ! maximum number of snow layers +integer(i4b) :: maxSoil ! maximum number of soil layers +integer(i4b) :: nLayers ! number of total layers +integer(i4b),parameter :: nSpectral=2 ! number of spectal bands +integer(i4b),parameter :: nScalar=1 ! size of a scalar +integer(i4b) :: nProgVars ! number of prognostic variables written to state file + +integer(i4b) :: hruDimID ! variable dimension ID +integer(i4b) :: gruDimID ! variable dimension ID +integer(i4b) :: tdhDimID ! variable dimension ID +integer(i4b) :: scalDimID ! variable dimension ID +integer(i4b) :: specDimID ! variable dimension ID +integer(i4b) :: midSnowDimID ! variable dimension ID +integer(i4b) :: midSoilDimID ! variable dimension ID +integer(i4b) :: midTotoDimID ! variable dimension ID +integer(i4b) :: ifcSnowDimID ! variable dimension ID +integer(i4b) :: ifcSoilDimID ! variable dimension ID +integer(i4b) :: ifcTotoDimID ! variable dimension ID + +character(len=32),parameter :: hruDimName ='hru' ! dimension name for HRUs +character(len=32),parameter :: gruDimName ='gru' ! dimension name for GRUs +character(len=32),parameter :: tdhDimName ='tdh' ! dimension name for time-delay basin variables +character(len=32),parameter :: scalDimName ='scalarv' ! dimension name for scalar data +character(len=32),parameter :: specDimName ='spectral' ! dimension name for spectral bands +character(len=32),parameter :: midSnowDimName='midSnow' ! dimension name for snow-only layers +character(len=32),parameter :: midSoilDimName='midSoil' ! dimension name for soil-only layers +character(len=32),parameter :: midTotoDimName='midToto' ! dimension name for layered varaiables +character(len=32),parameter :: ifcSnowDimName='ifcSnow' ! dimension name for snow-only layers +character(len=32),parameter :: ifcSoilDimName='ifcSoil' ! dimension name for soil-only layers +character(len=32),parameter :: ifcTotoDimName='ifcToto' ! dimension name for layered variables + +integer(i4b) :: cHRU ! count of HRUs +integer(i4b) :: iHRU ! index of HRUs +integer(i4b) :: iGRU ! index of GRUs +integer(i4b) :: iVar ! variable index +logical(lgt) :: okLength ! flag to check if the vector length is OK +character(len=256) :: cmessage ! downstream error message +! -------------------------------------------------------------------------------------------------------- + +! initialize error control +err=0; message='writeRestart/' + +! size of prognostic variable vector +nProgVars = size(prog_meta) +allocate(ncVarID(nProgVars+1)) ! include 1 additional basin variable in ID array (possibly more later) + +! maximum number of soil layers +maxSoil = gru_struc(1)%hruInfo(1)%nSoil + +! maximum number of snow layers +maxSnow = maxSnowLayers + +! create file +err = nf90_create(trim(filename),nf90_classic_model,ncid) +message='iCreate[create]'; call netcdf_err(err,message); if(err/=0)return + +! define dimensions +err = nf90_def_dim(ncid,trim(hruDimName) ,nHRU , hruDimID); message='iCreate[hru]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(gruDimName) ,nGRU , gruDimID); message='iCreate[gru]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(tdhDimName) ,nTimeDelay , tdhDimID); message='iCreate[tdh]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(scalDimName) ,nScalar , scalDimID); message='iCreate[scalar]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(specDimName) ,nSpectral , specDimID); message='iCreate[spectral]'; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(midSoilDimName),maxSoil ,midSoilDimID); message='iCreate[ifcSoil]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(midTotoDimName),maxLayers ,midTotoDimID); message='iCreate[midToto]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(ifcSoilDimName),maxSoil+1 ,ifcSoilDimID); message='iCreate[ifcSoil]' ; call netcdf_err(err,message); if(err/=0)return +err = nf90_def_dim(ncid,trim(ifcTotoDimName),maxLayers+1,ifcTotoDimID); message='iCreate[ifcToto]' ; call netcdf_err(err,message); if(err/=0)return +if (maxSnow>0) err = nf90_def_dim(ncid,trim(midSnowDimName),maxSnow ,midSnowDimID); message='iCreate[ifcSnow]' ; call netcdf_err(err,message); if(err/=0)return +if (maxSnow>0) err = nf90_def_dim(ncid,trim(ifcSnowDimName),maxSnow+1 ,ifcSnowDimID); message='iCreate[ifcSnow]' ; call netcdf_err(err,message); if(err/=0)return +! re-initialize error control +err=0; message='writeRestart/' + +! define prognostic variables +do iVar = 1,nProgVars +if (prog_meta(iVar)%varType==iLookvarType%unknown) cycle + +! define variable +select case(prog_meta(iVar)%varType) +case(iLookvarType%scalarv); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID, scalDimID /),ncVarID(iVar)) +case(iLookvarType%wLength); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID, specDimID /),ncVarID(iVar)) +case(iLookvarType%midSoil); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midSoilDimID/),ncVarID(iVar)) +case(iLookvarType%midToto); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midTotoDimID/),ncVarID(iVar)) +case(iLookvarType%ifcSoil); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcSoilDimID/),ncVarID(iVar)) +case(iLookvarType%ifcToto); err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcTotoDimID/),ncVarID(iVar)) +case(iLookvarType%midSnow); if (maxSnow>0) err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,midSnowDimID/),ncVarID(iVar)) +case(iLookvarType%ifcSnow); if (maxSnow>0) err = nf90_def_var(ncid,trim(prog_meta(iVar)%varname),nf90_double,(/hruDimID,ifcSnowDimID/),ncVarID(iVar)) +end select + +! check errors +if(err/=0)then +message=trim(message)//trim(cmessage)//' [variable '//trim(prog_meta(iVar)%varName)//']' +return +end if + +! add parameter description +err = nf90_put_att(ncid,ncVarID(iVar),'long_name',trim(prog_meta(iVar)%vardesc)) +call netcdf_err(err,message) + +! add parameter units +err = nf90_put_att(ncid,ncVarID(iVar),'units',trim(prog_meta(iVar)%varunit)) +call netcdf_err(err,message) + +end do ! iVar + +! define selected basin variables (derived) -- e.g., hillslope routing +err = nf90_def_var(ncid, trim(bvar_meta(iLookBVAR%routingRunoffFuture)%varName), nf90_double, (/gruDimID, tdhDimID /), ncVarID(nProgVars+1)) +err = nf90_put_att(ncid,ncVarID(nProgVars+1),'long_name',trim(bvar_meta(iLookBVAR%routingRunoffFuture)%vardesc)); call netcdf_err(err,message) +err = nf90_put_att(ncid,ncVarID(nProgVars+1),'units' ,trim(bvar_meta(iLookBVAR%routingRunoffFuture)%varunit)); call netcdf_err(err,message) + +! define index variables - snow +err = nf90_def_var(ncid,trim(indx_meta(iLookIndex%nSnow)%varName),nf90_int,(/hruDimID/),ncSnowID); call netcdf_err(err,message) +err = nf90_put_att(ncid,ncSnowID,'long_name',trim(indx_meta(iLookIndex%nSnow)%vardesc)); call netcdf_err(err,message) +err = nf90_put_att(ncid,ncSnowID,'units' ,trim(indx_meta(iLookIndex%nSnow)%varunit)); call netcdf_err(err,message) + +! define index variables - soil +err = nf90_def_var(ncid,trim(indx_meta(iLookIndex%nSoil)%varName),nf90_int,(/hruDimID/),ncSoilID); call netcdf_err(err,message) +err = nf90_put_att(ncid,ncSoilID,'long_name',trim(indx_meta(iLookIndex%nSoil)%vardesc)); call netcdf_err(err,message) +err = nf90_put_att(ncid,ncSoilID,'units' ,trim(indx_meta(iLookIndex%nSoil)%varunit)); call netcdf_err(err,message) + +! end definition phase +err = nf90_enddef(ncid); call netcdf_err(err,message); if (err/=0) return + +! write variables +do iGRU = 1,nGRU +do iHRU = 1,gru_struc(iGRU)%hruCount +cHRU = gru_struc(iGRU)%hruInfo(iHRU)%hru_ix +do iVar = 1,size(prog_meta) + +! excape if this variable is not used +if (prog_meta(iVar)%varType==iLookvarType%unknown) cycle + +! actual number of layers +nSnow = gru_struc(iGRU)%hruInfo(iHRU)%nSnow +nSoil = gru_struc(iGRU)%hruInfo(iHRU)%nSoil +nLayers = nSoil + nSnow + +! check size +! NOTE: this may take time that we do not wish to use +okLength=.true. +select case (prog_meta(iVar)%varType) +case(iLookVarType%scalarv); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nScalar ) +case(iLookVarType%wlength); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSpectral) +case(iLookVarType%midSoil); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSoil ) +case(iLookVarType%midToto); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nLayers ) +case(iLookVarType%ifcSoil); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSoil+1 ) +case(iLookVarType%ifcToto); okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nLayers+1) +case(iLookVarType%midSnow); if (nSnow>0) okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSnow ) +case(iLookVarType%ifcSnow); if (nSnow>0) okLength = (size(prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat) == nSnow+1 ) +case default; err=20; message=trim(message)//'unknown var type'; return +end select + +! error check +if(.not.okLength)then +message=trim(message)//'bad vector length for variable '//trim(prog_meta(iVar)%varname) +err=20; return +endif + +! write data +select case (prog_meta(iVar)%varType) +case(iLookVarType%scalarv); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nScalar /)) +case(iLookVarType%wlength); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSpectral/)) +case(iLookVarType%midSoil); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSoil /)) +case(iLookVarType%midToto); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nLayers /)) +case(iLookVarType%ifcSoil); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSoil+1 /)) +case(iLookVarType%ifcToto); err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nLayers+1/)) +case(iLookVarType%midSnow); if (nSnow>0) err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSnow /)) +case(iLookVarType%ifcSnow); if (nSnow>0) err=nf90_put_var(ncid,ncVarID(iVar),(/prog_data%gru(iGRU)%hru(iHRU)%var(iVar)%dat/),start=(/cHRU,1/),count=(/1,nSnow+1 /)) +case default; err=20; message=trim(message)//'unknown var type'; return +end select + +! error check +if (err.ne.0) message=trim(message)//'writing variable:'//trim(prog_meta(iVar)%varName) +call netcdf_err(err,message); if (err/=0) return +err=0; message='writeRestart/' + +end do ! iVar loop + +! write index variables +err=nf90_put_var(ncid,ncSnowID,(/indx_data%gru(iGRU)%hru(iHRU)%var(iLookIndex%nSnow)%dat/),start=(/cHRU/),count=(/1/)) +err=nf90_put_var(ncid,ncSoilID,(/indx_data%gru(iGRU)%hru(iHRU)%var(iLookIndex%nSoil)%dat/),start=(/cHRU/),count=(/1/)) + +end do ! iHRU loop + +! write selected basin variables +err=nf90_put_var(ncid,ncVarID(nProgVars+1),(/bvar_data%gru(iGRU)%var(iLookBVAR%routingRunoffFuture)%dat/), start=(/iGRU/),count=(/1,nTimeDelay/)) + +end do ! iGRU loop + +! close file +call nc_file_close(ncid,err,cmessage) +if(err/=0)then;message=trim(message)//trim(cmessage);return;end if + +! cleanup +deallocate(ncVarID) + +end subroutine writeRestart \ No newline at end of file diff --git a/utils/containers/apptainer/summa-actors.def b/utils/containers/apptainer/summa-actors.def new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/utils/containers/docker/Dockerfile b/utils/containers/docker/Dockerfile new file mode 100755 index 0000000000000000000000000000000000000000..5e8d61e0841e70583d6d6975c917288ec2f1b46d --- /dev/null +++ b/utils/containers/docker/Dockerfile @@ -0,0 +1,42 @@ +FROM ubuntu:20.04 + +WORKDIR /code + +# Get library dependencies +RUN apt-get update -y && \ + apt-get upgrade -y && \ + DEBIAN_FRONTEND="noninteractive" apt-get install -y software-properties-common \ + libnetcdf-dev \ + libnetcdff-dev \ + liblapack-dev \ + libopenblas-dev \ + cmake \ + g++ \ + git \ + libssl-dev \ + make \ + gfortran \ + python3-pip \ + gdb &&\ + apt-get autoclean + +RUN pip3 install xarray +RUN pip3 install netcdf4 + + +# Install the C++ Actor Framework From Git +RUN git clone https://github.com/actor-framework/actor-framework.git +WORKDIR /code/actor-framework +RUN ./configure +WORKDIR /code/actor-framework/build +RUN make +RUN make test +RUN make install +# Change workdir for when we attach to this container +WORKDIR /Summa-Actors +ENV LD_LIBRARY_PATH=/Summa-Actors/bin:/usr/local/lib + + + + + diff --git a/utils/containers/docker/build_docker_container.sh b/utils/containers/docker/build_docker_container.sh new file mode 100755 index 0000000000000000000000000000000000000000..1c462c678037556d8ecd856dad64c2fd4c3cc7eb --- /dev/null +++ b/utils/containers/docker/build_docker_container.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +docker build -t summa-actors . \ No newline at end of file diff --git a/utils/containers/docker/launch_docker_container.sh b/utils/containers/docker/launch_docker_container.sh new file mode 100755 index 0000000000000000000000000000000000000000..0bf72c7c341e6d854dc6fd4c2e26e67a8b87269e --- /dev/null +++ b/utils/containers/docker/launch_docker_container.sh @@ -0,0 +1,9 @@ +#! /bin/bash + +export PROJECT_DIR=/Users/kyleklenk/SUMMA-Projects/Summa-Actors +export NA_TEST=/home/local/kck540/NA_Summa_Test +export SUMMA=/Users/kyleklenk/SUMMA-Projects/summa +docker run -d -it --name SUMMA-Actors --mount type=bind,source=${PROJECT_DIR},target=/Summa-Actors \ + --mount type=bind,source=${SUMMA},target=/SUMMA summa-actors:latest + # --mount type=bind,source=${NA_TEST},target=/NA_Test \ + # \ \ No newline at end of file diff --git a/utils/docker/Dockerfile b/utils/docker/Dockerfile deleted file mode 100644 index d417ca554bf8cf04790b332c572036f34b164588..0000000000000000000000000000000000000000 --- a/utils/docker/Dockerfile +++ /dev/null @@ -1,48 +0,0 @@ -#FROM ubuntu:20.04 -FROM linuxbrew/brew:latest - - -# This dockerfile creates the environement for compiling and -# running SUMMA4CHM. Once started cd into /code/build/source/cppwrap. -# make lib -# make -# export LD_LIBRARY_PATH=/code/build/source/cppwrap:D_LIBRARY_PATH -# ./program - -WORKDIR /code - -RUN apt-get update && \ - DEBIAN_FRONTEND="noninteractive" apt-get install -y software-properties-common \ - libnetcdf-dev \ - libnetcdff-dev \ - liblapack-dev - -RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y \ - && apt-get update \ - && apt-get install -y gfortran-7 - -RUN apt update -y \ - && apt upgrade -y \ - && DEBIAN_FRONTEND="noninteractive" apt install -y \ - cmake \ - g++ \ - git \ - libssl-dev \ - make \ - gfortran \ - gdb \ - && apt-get autoclean - -RUN brew install caf - -ADD . /code - -ENV LD_LIBRARY_PATH=/code/build:/home/linuxbrew/.linuxbrew/Cellar/caf/0.18.5/lib/ - -# RUN cp -r /home/linuxbrew/.linuxbrew/Cellar/caf/0.18.5/lib/* /usr/local/lib/ -# RUN cp -r /home/linuxbrew/.linuxbrew/Cellar/caf/0.18.*/include/caf /usr/local/include/ -# RUN cp -f /usr/local/lib/libcaf_core.so.0.18.* /code/build/source/cppwrap/ - - - - diff --git a/utils/docker/docker-compose.yml b/utils/docker/docker-compose.yml deleted file mode 100644 index 0fac1fa456d7f099627b7a1991f23204f0262973..0000000000000000000000000000000000000000 --- a/utils/docker/docker-compose.yml +++ /dev/null @@ -1,34 +0,0 @@ -version: '3.8' -services: - summa_client: - build: ./ - tty: true - container_name: summa_server - volumes: - - ./:/code:Z - ports: - - 4444:4444 - summa_client2: - build: ./ - tty: true - container_name: summa_client - volumes: - - ./:/code:Z - ports: - - 4445:4445 - # summa_client3: - # build: ./ - # tty: true - # container_name: summa_client3 - # volumes: - # - ./:/code:Z - # ports: - # - 4446:4446 - # summa_client4: - # build: ./ - # tty: true - # container_name: summa_client4 - # volumes: - # - ./:/code:Z - # ports: - # - 4447:4447 diff --git a/utils/laugh_tests/celia1990/config/Summa_Actors_Settings.json b/utils/laugh_tests/celia1990/config/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..78a0b82e249572607220643589ddf2a103dac174 --- /dev/null +++ b/utils/laugh_tests/celia1990/config/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/celia1990/settings/summa_fileManager_celia1990.txt", + "outputCSV": false, + "csvPath": "/Summa-Actors/utils/laugh_tests/celia1990/output/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} diff --git a/utils/laugh_tests/celia1990/forcing_data/celia1990_forcing.nc b/utils/laugh_tests/celia1990/forcing_data/celia1990_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..c57e86d96e831e474f8f0166db7b8c16fa6b3719 Binary files /dev/null and b/utils/laugh_tests/celia1990/forcing_data/celia1990_forcing.nc differ diff --git a/utils/laugh_tests/celia1990/output/runinfo.txt b/utils/laugh_tests/celia1990/output/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..d695d143ce23a6957570f7b48b290a5708dfe5dd --- /dev/null +++ b/utils/laugh_tests/celia1990/output/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=15 - hh=21 - mi=12 - ss=09.199 diff --git a/utils/laugh_tests/celia1990/output/summa-actors_celia1990GRU1-1_timestep.nc b/utils/laugh_tests/celia1990/output/summa-actors_celia1990GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..d173a6235ac81f1f920965a1ab7d4091db3dcb0a Binary files /dev/null and b/utils/laugh_tests/celia1990/output/summa-actors_celia1990GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/celia1990/plot_lt_celia1990.ipynb b/utils/laugh_tests/celia1990/plot_lt_celia1990.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..fa005fa31ded1a6e16223235dd0879656e6cf243 --- /dev/null +++ b/utils/laugh_tests/celia1990/plot_lt_celia1990.ipynb @@ -0,0 +1,155 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "# modules\n", + "from pathlib import Path\n", + "from datetime import datetime\n", + "import xarray as xr # note, also needs netcdf4 library installed\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "# Specify the data locations relative to the notebook\n", + "sim_path = Path(\"/home/local/kck540/SUMMA-Projects/Summa-Actors/utils/laugh_tests/celia1990/output\")\n", + "sim_name = \"summa-actors_celia1990GRU1-1_timestep.nc\"" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "# Specify plotting dimensions\n", + "timesteps = [10,32,49]\n", + "midToto = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "# Specify the base time\n", + "time_ref = datetime.strptime('2000-01-01 0:00:00', '%Y-%m-%d %H:%M:%S')" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Load the data\n", + "ds = xr.open_dataset( sim_path / sim_name ).isel(hru=0, gru=0).load()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "# Remove the mising data layers\n", + "ds = ds.where(ds['mLayerDepth'] != -9999, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "# Ensure that we can actually read the figure labels\n", + "font = {'weight' : 'normal',\n", + " 'size' : 18}\n", + "\n", + "plt.rc('font', **font)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKsAAAKeCAYAAABqGZisAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAxOAAAMTgF/d4wjAADQhklEQVR4nOzdeXSU5d3/8ffMZF9IIBC2ACEbq4CiIAGRRXGprUutdRehVJQKiG1tax9R+7O1VsEFRBRwt26oKFpEIexCQBRBhJBAgCBrCJA9M/d9//6YZEggZE8my+d1Tk6ue50rMc9zDp9e1/drsyzLQkREREREREREpBGwe3sCIiIiIiIiIiIiJRRWiYiIiIiIiIhIo6GwSkREREREREREGg2FVSIiIiIiIiIi0mgorBIRERERERERkUZDYZWIiIiIiIiIiDQaCqtERERERERERKTR8PH2BBozf39/2rVr5+1piIiIiIiIiIg0G0ePHqWwsPCc1xVWVaBdu3ZkZGR4exoiIiIiIiIiIs1GVFRUhde1DVBERERERERERBoNhVUiIiIiIiIiItJoKKwSEREREREREZFGQ2GViIiIiIiIiIg0GgqrRERERERERESk0VBYJSIiIiIiIiIijYbCKhERERERERERaTR8vD2B5sayLM+XSGVsNpvnS0REREREREQUVtWZ/Px8MjMzycnJUVAl1WKz2QgJCSEiIoLAwEBvT0dERERERETEqxRW1YH8/Hz27dtHeHg40dHR+Pr6entK0oQ4nU5OnjzJvn376Nq1qwIrERERERERadEUVtWBzMxMwsPDad++vbenIk2Qw+EgICAAcP8tRUVFeXlGIiIiIiIiIt6jAuu1ZFkWOTk5hIWFeXsq0sSFhYVpG6mIiIiIiIi0eAqraqmkmLq2/klt+fr6qji/iIiIiIiItHgKq2pJwYLUNf1NiYiIiIiISEumsEpERERERERERBoNhVUiIiIiIiIiItJoNKqwKiMjg3HjxtGpUyf8/f2Jjo5m6tSpZGVlVes9x48fZ+rUqURHR+Pv70+nTp0YN24cGRkZ9TRzERERERERERGpC40mrEpLS2PgwIG8+uqrDBo0iAceeICYmBiee+45hgwZQmZmZpXek5mZyZAhQ3juueeIjY3lgQceYNCgQbz66qsMHDiQ3bt31/NP0nJ9+OGH3H///VxyySW0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rYkV0d+SiIiIiIiInOnhV3/N57adGDYbPpbFNbae/OOuD709rVpRWFULCqukIelvSURERERERM5089zz+THA5TnuU+DDu/d858UZ1V5leUujqVklIiIiIiIiIiJldbFH4yheZ+SrboAiIiIiIiIiIuJNQwfOoHeeu273JVZXdQMUERERERERERHvMEyLRd//jGVzr6xq3yoQh93m5VnVP4VVIiIiIiIiIiKN0JwVqRhZT/BToPv4w+ydLPhigncn1QAUVomIiIiIiIiINELr0jLJC/oZw+ZeTeW02diQtd3Ls6p/CqtERERERERERBqhxNgIAvM6YS9VYH1w695enlX9U1glIiIiIiIiItII3Tsijh9zJtGjwATg9rDzGHf1K16eVf1TWCUiIiIiIiIi0gg57DYKDQcxhi8Ad175Ag4fPy/Pqv4prBIRERERERERaYRO5jvJLyok1acIgLeXTMZwFXl5VvVPYZWIiIiIiIiISCP03NcpDG07l13+DgDeOPGDugGKiIiIiIiIiIh3bNh9nPzgnzGLuwEW2dUNUEREREREREREvKRLm0ACc093A/Qz1Q1QRERERERERES8pGfHVqw9dg/dnU4Aft/mAnUDFBERERERERGRhmeYFst3HAEsTADLwublOTUUhVVSp6Kjo7HZbOV+dejQ4az7s7Ozefjhh+nZsycBAQG0bt2aK664gmXLllXp844dO0bHjh2x2WwMGzbsnPdlZGQwbtw4OnXqhL+/P9HR0UydOpWsrKxzPrN9+3ZuuukmIiMjCQgIoEePHkyfPp38/PwqzU1ERERERESkpuasSGXbgZNc0vYl0n19wWZj7vHNLaLAuo+3JyDNT1hYGFOnTj3rfEhISJnjrKwshg0bxvbt2+nTpw8TJ04kJyeHRYsWcdlllzFv3jzGjx9f4Wfdc8895OTkVHhPWloaiYmJHDlyhGuvvZaePXuSnJzMc889x5IlS1i7di0RERFlntmwYQOjRo3C6XRy44030qVLF5YvX87jjz/OsmXLWLZsGf7+/lX7hYiIiIiIiIhU07q0TEwL8oIPYp1RYL25x1UKq6TOhYeH8+ijj1Z636OPPsr27du54YYbeO+99/Dxcf85/vOf/+TCCy/k/vvv54orriAqKqrc59944w0++ugjXnzxRe67775zfs59993HkSNHeP7557n//vs956dNm8bMmTN5+OGHeemllzznDcPg7rvvJi8vj0WLFvGrX/0KANM0uemmm1i4cCEzZ87kL3/5S1V+HSIiIiIiIiLVlhgbwbq0TFrlRmILdAdWfqbF4AgVWBepNx9//DEAjz/+uCeoAoiMjGTatGnk5+ezYMGCcp/dt28fkydPZvz48Vx11VXn/Iy0tDSWLl1KdHQ0kyZNKnPtscceIzg4mDfffJPc3FzP+ZUrV/LTTz8xfPhwT1AFYLfbeeqppwB46aWXsIq7MQAUFRXx/PPPc8EFF9C6dWuCgoKIjo7m2muv5euvv67Gb0VEREREREQEbru4GwDH82+jo8uFj2UxMWKgCqyL1ERhYSFvvfUW//znP3nuuedISkrCMIyz7jt06BAAMTExZ10rOVde7SrLshg7dixhYWHMmDGjwrkkJSUBMGbMGOz2sn/uoaGhDB06lLy8PNavX+85v3z5cgCuvPLKcueVkJDA3r172b17t+f82LFjmTJlCk6nkzvvvJPJkyczfPhwtm7dypIlSyqco4iIiIiIiMiZjpwqBOC6fu1pZ5i08Qliwq9ex+Hj5+WZ1T9tA2xKTAPWzIQ9q6D7cBj2ANgd3p7VWQ4dOsQdd9xR5lz37t159dVXufTSSz3n2rZty8GDB9mzZw+9e5ddxlgSBO3cufOs9z/77LOsWLGCpUuX0qpVK44fP37OuZQ8n5CQUO71+Ph4li5dSkpKCqNHj67yMykpKaSkpBAbG8vJkyd59913GThwIBs2bMDhKPvfJDMz85zzExERERERETmTYVrMXZkGQMbhIxz0cXDClc/Li+5k/C/mNfvASmFVfXvnZsjaUzfvyj0GeZmA5Q6s1s+B4La1f2/r7nDru7V/D3D33XdzySWX0KdPH0JDQ9m9ezezZs3i5Zdf5qqrruKbb76hf//+APziF79g3rx5TJ8+nXfffdcT8hw9epSZM2cCnNWtb/v27fztb39j4sSJXHbZZZXO5+TJk4C76Ht5Ss6fOHGixs/YbDYsy8Lf3/+s1VvAWcXbRURERERERCoyZ0Uqn275GYBD2Qs4GuHAssHc45uxfTGBCb963cszrF/aBtiUOPOAkjpJVvFx4zJ9+nRGjRpF+/btCQoKom/fvrz00kueGlSlC68//vjjdOnShQ8//JABAwYwdepUJkyYQJ8+fWjTpg1AmfDH6XRyxx130LFjR0/tqMagVatW/PKXv2TdunUMGDCAxx9/nKSkJPLyGt9/HxEREREREWn81qVl4jLd//4/GnT8rG6AzZ1WVtW3OlqxBMCqp2HVU+AqBB9/uOSPMPzBunt/PZo4cSLPPPMMq1at8pzr2LEjGzdu5B//+AeLFy/mxRdfpG3btvz2t79lypQpxMfHExkZ6bn/X//6F9999x1JSUmEhIRU6XNLVkGVrJY6U8n58PDwWj3z3nvv8e9//5t33nmH6dOnAxAQEMCNN97I008/Tfv27as0XxEREREREZHE2AjW787EtKBjfhg/Bp4AdQOURmnYAzD8Ieh+qfv7sKnenlGVtWvXDqBM1z2A9u3bM2vWLNLT0ykqKuLnn3/mhRdeYN++fQBcdNFFnns3b96MZVmMGDECm83m+erevTsAa9euxWazlQmRevToAUBKSkq589q1axdQtj5VTZ4JDAzk0UcfJSUlhX379vHWW28xbNgw3nrrLW688cZKfjsiIiIiIiIip907Io72oQH4OmyM6XgjoaZJkEWL6QaolVVNid3hXknVRFZTlVbSba+8zn/leeONNwC49dZbPecuv/xy2rY9u0ZXTk4O7733Hu3bt+eaa64hKCjIc23kyJEALF26FNM0y2wrzM7OZu3atQQFBXHxxRd7zo8aNYonnniCJUuW8Ne//rXMZ+3evZuUlBS6det2zp+lS5cu3Hbbbdxyyy306NGDNWvWkJmZqdpVIiIiIiIiUiUOuw2naXFe5zCu6tmWpzdbdAjt2uxrVZVQWCV15qeffqJr164EBweXOZ+ens4f/vAHAG6//XbPedM0ycvLO2tL35tvvskbb7xBYmIi1113nef8pEmTyv3c9PR03nvvPeLi4pg3b16Za7GxsYwZM4alS5cye/Zs7r//fs+16dOnk5ubyz333FNmzpdeeim9evVi1apVfPrpp/zqV7/yzPehhx4C3NsabcV7ho8ePcqhQ4c477zzynx2bm4uOTk5+Pj44OfXvDs1iIiIiIiISN3JLXRxLKcQu+Vi1+p3yQ61k59zgJe3zGX8eb/DYXdU/pImTGGV1Jn33nuPZ555huHDh9OtWzdCQ0NJS0vj888/p6CggKuvvpo//vGPnvvz8vJo3749l19+ObGxsdjtdtauXcs333xDr169+OCDD8rtrlddL774IomJiUyePJlly5bRq1cvNmzYQFJSEgkJCTzxxBNl7nc4HLz66quMGjWKG2+8kRtvvJGuXbuybNkyNm3axNChQ3nggQc89x84cIDzzz+f8847j379+tGlSxdOnTrF4sWLOXToEJMnTyY0NLTWP4eIiIiIiIi0DM8s3QnAjQULWRb8A/m2VoDB3O/nYLPZmdBvgncnWM8UVkmdGTlyJDt37uS7775j7dq15ObmEh4ezrBhw7jjjju44447PKuRAPz9/bn55ptZs2YNX331FQDx8fE88cQTTJ06tcx2vtqIjY1l06ZNPPLIIyxZsoQvvviCjh07MmXKFKZPn07r1q3Pembw4MFs3LiR6dOns3TpUrKzs+nWrRuPPPIIf/nLX/D39/fcGx0dzWOPPcaKFStISkri2LFjtGnThh49evDkk09y880318nPISIiIiIiIi3DN7szAUi0/8hrQX5Q0g0Qgw0HNzT7sMpmWZbl7Uk0VlFRUWRkZFR4j2EYpKSkkJCQgMPRvJfhSf3S35KIiIiIiIgAjHttI8t3HOE+xye0iviS2W1aubsB4mDi+ZOafFhVWd6iboAiIiIiIiIiIo1Itwj3TqONne7kF1ZXAFrb/Jg44F7G9R3nzak1CIVVIiIiIiIiIiKNhGFarEo5CsDwhLZEhtjBZsNms9FStsYprBIRERERERERaSTmrEhl99FcAJyrZjI/Lx2A42Yhc7+fw4JtC7w4u4ahsEpEREREREREpJFYl5bpWUE1iG1sDDzd4KukwHpzp7BKRERERERERKSR6BcV5hkn05cBBYWeYz8cDO442BvTalAKq0REREREREREGokRCZEAREcEETByGjfb3OFVpCOoxRRY9/H2BERERERERERExG1fVh4AD/+iN5f3bs+htDbAccYk3MCE/vd4d3INRCurREREREREREQaAcO0WPhtBgDrUo9huFwUnvoZgGUpH/PylrkYpuHNKTYIrawSEREREREREWkE5qxIZWP6cQDeSd7HmONvsdqnCAjgoJHL3O/nYLPZmdBvgncnWs+0skpEREREREREpBFYl5aJWdwKsNBlEvrzOr4PUDdAERERERERERHxgiExEZ6xv4+d7E6J9ClUN0AREREREREREfGC6y/oDECHVv5MHh3HoNse5xe5+QB09QltMd0AFVaJiIiIiIiIiHiZYVo8//UuAHp3bMXES+NwWC6c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d32/J02a5HZu8eLFhiRj6NChbsfnzJljSDJ+9atfGQUFBW7nSv95vP76627H9+7dW+m97Xa7cd999xmSjO+++87t3HXXXefxPgsXLnTVO2fOnDN+PsOo/vtvGGXf6759+xonT550HU9LSzMCAwON6OhoIz4+3sjIyHCdO3nypNGsWTOjefPmhtVqrfa+AACg7rENEAAA1ItJkyZp0qRJevrpp3X77bfrhhtukGEYGjdunC688EK3ax966CH17t3b7djx48f1wQcfqG/fvvrTn/7kdi4kJEQvv/yyDMPQ/Pnz3c4FBgYqICCgUj3NmzevdCw0NLTSsZiYGJnNtfNXpsmTJ1d636+++kppaWl6/PHHddVVV7mda9Omjf70pz/p8OHDWrZsWY3f58ILL9Rf//pXt2PXX3+9LrjgAiUnJ7sdnzp1qiwWi2bPnl3p8z/zzDNq1qyZPvzwQ7fjCQkJld7TbDZr7NixkqRvvvnGdTwjI0NLly5V+/bt9dhjj7m9ZtiwYZU+c2156aWXFB0d7XreoUMHDRo0SNnZ2XrmmWfUtm1b17no6GjdcsstOnbsmA4ePFgn9QAAgJpjGyAAAKgXzz33nCTnlr/o6GhdccUVGj16tEaMGFHp2sTExErHNm3aJLvd7rEnlCRXX6mffvrJdeyee+7RG2+8oYsuukh33HGHrrrqKg0YMEBRUVFur73zzjs1depUDR8+XLfffruuvfZaXX755R5DmfPh6XNt2LBBknPrnqfPlZqaKsn5uWq6FbBXr14eA7p27dq53k9y9v/avn27mjdvrtdff93jvYKDg92+p5IzOPznP/+pRYsWad++fcrPz3c7Xz7w2bZtmyRp0KBBHmtKSkrSqlWravS5zkbfvn0rHWvTpo0kqU+fPpXOlYZXGRkZlcJTAABQvwirAABAvTBO96eqidatW1c6dvz4cUnO0Kq6puN5eXmux6+99po6dOigOXPm6KWXXtJLL70ki8WiG2+8Ua+++qo6duwoyRkirVmzRi+88II++eQTV8+lLl26aOLEifrtb39b49rP9XN9/PHH1b62/Oc6k/IrisqzWCxuTcRPnjwpwzB09OhRV5h4JtnZ2brsssuUnp6uxMRE3XfffWratKksFouys7M1depUt6bspf3GWrVq5fF+nr4ntaFiICnJ1XerunPlm+kDAADvIKwCAAA+p2LDdaksYHjyySc1ZcqUGt0nICBA48aN07hx45SVlaW1a9fq3//+tz7++GPt3LlTO3fuVHBwsCRpwIAB+vLLL1VcXKwtW7Zo8eLFeuONN3T33XerRYsWuvbaayXJtSXQZrNVer/s7Oxz/lyff/65br311hp9rtpS+t69e/fW1q1ba/Sad999V+np6Zo4cWKllWAbNmzQ1KlTPb7HkSNHPN7v8OHDZ1k1AADwd/SsAgAADUJiYqLMZrPWrFlzTq9v2bKlbrvtNv3nP//R1VdfrbS0NKWkpFS6Ljg4WAMHDtTzzz+vadOmSXIGSaViYmIkSb/88kul127evPms6+rfv78knfPnOh8RERG6+OKLtXPnTp04caJGr9m7d68k52TDijxt5yvtPbZ27VrZ7fZK51euXHkWFQMAgMaAsAoAADQILVu21D333KPNmzdr8uTJHoOPtLQ0paenS5KKi4u1bt26StdYrVZXMBMWFiZJWr9+vQoLCytdW7oaqPQ6qazv1DvvvON27Q8//FBpVVFNDBs2TAkJCZo+fboWLVrk8ZoNGzaooKDgrO9dE+PHj1dJSYlGjRrlcWXYyZMn3VZdxcfHS6ocMm3btk0vvvhipdfHxcXpuuuuU3p6ut588023c59//nmd9KsCAAANG9sAAQBAg/Hmm28qNTVVzz77rObNm6dBgwapVatWOnTokH766Sdt2rRJH330kdq3b6/CwkINGjRIHTt2VJ8+fXThhReqqKhIS5cu1U8//aRbb71V3bp1kyT94x//0PLly3XFFVeoffv2ioiI0M6dO/X1118rJiZGDz30kKuGYcOGqVOnTvroo4+UkZGhfv366eeff9bnn3+uYcOG6T//+c9ZfabAwEB9+umnuv7663XTTTdp4MCB6tWrl8LCwvTLL79o06ZN2rdvnzIzM91Cs9oyatQobdmyRTNmzFBCQoJrauCJEyeUnp6u1atXa+TIkZo5c6Yk6b777tM///lPjRs3TitWrFCnTp2UmpqqL7/8UrfddpsWLFhQ6T2mT5+uAQMGaNy4cVqyZIl69uypvXv36rPPPtMtt9yiL774otY/FwAAaLgIqwAAQIPRpEkTrVq1Sm+//bbmz5+v//73vyoqKlKrVq3UqVMnvfbaa7ruuuskSeHh4Xr55Ze1YsUKrV+/XgsXLlRkZKQSEhL0r3/9S6NGjXLd95FHHlFMTIw2btyotWvXymazKS4uTo888oj+8Ic/uE2HCwkJ0bJly/TUU09p6dKl2rRpky655BLNnz9fTZs2PeuwSpJ69Oih7du3a8qUKfryyy81Z84cmc1mxcbGqnfv3nruuefUvHnz8/8GVmH69OkaOnSoZs6cqW+//VbZ2dlq2rSpLrjgAv3xj390m9jYpk0brVmzRn/5y1+0du1affPNN+ratatmzJiha6+91mNY1alTJ3333Xf6y1/+om+//VYrV65Ujx49tHDhQh09epSwCgAAuDEZZzOaBwAAAPCiBx54QO+9957S09NdWxLrQ1JSklatWnVWUy0BAMC5oWcVAAAAGpz27dvLZDLppZdeqrP3OHbsmEwmk0wmE721AACoR2wDBAAAQIMxfPhwtxVVgwYNqrP3CgsL08SJE+vs/gAAwDO2AQIAAAAAAMBnsA0QAAAAAAAAPoOwCgAAAAAAAD6DsAoAAAAAAAA+g7AKAAAAAAAAPoOwCgAAAAAAAD6DsAoAAAAAAAA+g7AKAAAAAAAAPuP/AbJu9nMtNP2PAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 1440x800 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Open a figure\n", + "fig = plt.figure(figsize=(18, 10), dpi= 80, facecolor='w', edgecolor='k');\n", + "\n", + "# Plot the data\n", + "for time in timesteps:\n", + " \n", + " # legend label\n", + " time_cur = ds['time'][time].dt.round('s') # Extract time @ timestep, rounded to the nearest second\n", + " time_dif = pd.to_datetime(time_cur.data) - time_ref # time_cur is a datetime64 object, needs to be datetime\n", + " lbl = str(round(time_dif.total_seconds())) + 's' # round() gets rid of the decimal 0 that's added by default\n", + " \n", + " # data\n", + " plt.plot(ds['mLayerMatricHead'].isel(time=time,midToto=midToto), ds['mLayerHeight'].isel(time=time), \\\n", + " marker='.', label=lbl);\n", + "\n", + "# Make sure that increasing depth points downward\n", + "plt.gca().invert_yaxis()\n", + "\n", + "# Labels\n", + "plt.xlabel('Pressure head [m]'); # note, ';' supresses output from the Text object that is created for the labels\n", + "plt.ylabel('Depth [m]');\n", + "plt.legend();\n", + "\n", + "# Save the figure\n", + "plt.savefig('summa-actors-lt1_celia1990.png');" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.8.10 64-bit", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/utils/laugh_tests/celia1990/run_test_summa.sh b/utils/laugh_tests/celia1990/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..640d339d8efb3825199c6c2350bd85b757d7fec5 --- /dev/null +++ b/utils/laugh_tests/celia1990/run_test_summa.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/celia1990/settings/summa_fileManager_verify_celia1990.txt \ No newline at end of file diff --git a/utils/laugh_tests/celia1990/run_test_summa_actors.sh b/utils/laugh_tests/celia1990/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..e35394c5c6070ada3e8277323ff715126d038326 --- /dev/null +++ b/utils/laugh_tests/celia1990/run_test_summa_actors.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/celia1990/config \ No newline at end of file diff --git a/utils/laugh_tests/celia1990/settings/GENPARM.TBL b/utils/laugh_tests/celia1990/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/celia1990/settings/MPTABLE.TBL b/utils/laugh_tests/celia1990/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/celia1990/settings/Model_Output.txt b/utils/laugh_tests/celia1990/settings/Model_Output.txt new file mode 100644 index 0000000000000000000000000000000000000000..19ed37469f9d3860b3414756a551cb850ab9955b --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/Model_Output.txt @@ -0,0 +1,34 @@ +! --------- +! model variables +! --------- +time | 1 +nSnow | 1 +nSoil | 1 +nLayers | 1 +mLayerHeight | 1 +iLayerLiqFluxSoil | 1 +mLayerDepth | 1 +mLayerVolFracIce | 1 +mLayerVolFracLiq | 1 +mLayerMatricHead | 1 +mLayerTranspire | 1 +mLayerBaseflow | 1 +mLayerCompress | 1 +iLayerNrgFlux | 1 +basin__TotalArea | 1 +scalarGroundEvaporation | 1 +scalarSoilBaseflow | 1 +scalarSoilDrainage | 1 +scalarInfiltration | 1 +scalarSnowDrainage | 1 +scalarSnowSublimation | 1 +scalarThroughfallRain | 1 +scalarThroughfallSnow | 1 +scalarRainfall | 1 +scalarSnowfall | 1 +scalarRainPlusMelt | 1 +fieldCapacity | 1 +pptrate | 1 +averageRoutedRunoff | 1 +scalarSWE | 1 +fieldCapacity | 1 diff --git a/utils/laugh_tests/celia1990/settings/SOILPARM.TBL b/utils/laugh_tests/celia1990/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/celia1990/settings/VEGPARM.TBL b/utils/laugh_tests/celia1990/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/celia1990/settings/summa_fileManager_celia1990.txt b/utils/laugh_tests/celia1990/settings/summa_fileManager_celia1990.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2d4772244827a66b572b8996bb5933c8a1de4e5 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_fileManager_celia1990.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/celia1990/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/celia1990/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/celia1990/output/' ! +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '2000-01-01' +decisionsFile 'summa_zDecisions_celia1990.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_celia1990.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_celia1990.nc' ! initial_cond +outFilePrefix 'summa-actors_celia1990' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/celia1990/settings/summa_fileManager_verify_celia1990.txt b/utils/laugh_tests/celia1990/settings/summa_fileManager_verify_celia1990.txt new file mode 100644 index 0000000000000000000000000000000000000000..a874ea822564327fc92160bbf1601cdde2b6d0a2 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_fileManager_verify_celia1990.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/celia1990/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/celia1990/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/celia1990/verification_data/' ! +decisionsFile 'summa_zDecisions_celia1990.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_celia1990.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_celia1990.nc' ! initial_cond +outFilePrefix 'summa_celia1990' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/celia1990/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/celia1990/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt b/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt new file mode 100644 index 0000000000000000000000000000000000000000..92822de7e65f51e81711c5c982a52914eee16fe8 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt @@ -0,0 +1,168 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method monTable ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr noXplict ! (11) choice of groundwater parameterization +hc_profile constant ! (12) choice of hydraulic conductivity profile +bcUpprTdyn zeroFlux ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH presHead ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH presHead ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis difTrans ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers CLM_2010 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow jrdn1991 ! (26) choice of thermal conductivity representation for snow +thCondSoil mixConstit ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1988 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:18 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/celia1990/summa_fileManager_celia1990.txt diff --git a/utils/laugh_tests/celia1990/settings/summa_zForcingFileList.txt b/utils/laugh_tests/celia1990/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..d124336ff86e442997850472484b0554eedcc58b --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'celia1990_forcing.nc' diff --git a/utils/laugh_tests/celia1990/settings/summa_zForcingInfo_celia1990.txt b/utils/laugh_tests/celia1990/settings/summa_zForcingInfo_celia1990.txt new file mode 100644 index 0000000000000000000000000000000000000000..6163dd00baaa63551343468719b645529ad92479 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_zForcingInfo_celia1990.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | celia1990_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 1800 ! length of time step (seconds) diff --git a/utils/laugh_tests/celia1990/settings/summa_zInitialCond_celia1990.nc b/utils/laugh_tests/celia1990/settings/summa_zInitialCond_celia1990.nc new file mode 100644 index 0000000000000000000000000000000000000000..0dbc2e3ec3eeaa5b94ccde92cc300f96a04dba50 Binary files /dev/null and b/utils/laugh_tests/celia1990/settings/summa_zInitialCond_celia1990.nc differ diff --git a/utils/laugh_tests/celia1990/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/celia1990/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..6d6d398ea65ee01cae90ce82c2e6f33dd8e845cf Binary files /dev/null and b/utils/laugh_tests/celia1990/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/celia1990/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/celia1990/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..92bbfe8d80a1d20f699af4c2f62abbbd670533e2 --- /dev/null +++ b/utils/laugh_tests/celia1990/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | -0.7500 | -100.0000 | -0.0100 +lowerBoundHead | -10.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.1600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0600 | 0.0100 | 0.1000 +k_snow | 0.0150 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 1.0000 | 0.0100 | 3.0000 +summerLAI | 3.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 0.5000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.0750 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 20.0000 | 0.0500 | 100.0000 +heightCanopyBottom | 2.0000 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 10.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 0.0000 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 5.5000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.2000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.4010 | 0.3000 | 0.6000 +theta_sat | 0.5500 | 0.3000 | 0.6000 +theta_res | 0.1390 | 0.0010 | 0.1000 +vGn_alpha | -0.8400 | -1.0000 | -0.0100 +vGn_n | 1.3000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 7.5d-06 | 1.d-07 | 100.d-07 +k_macropore | 1.0d-03 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 2.5000 | 0.1000 | 100.0000 +compactedDepth | 1.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 50.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-09 | 1.d-05 | 1.d-07 +f_impede | 2.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 1.0000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 100.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-6 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-6 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:18 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/celia1990/summa_fileManager_celia1990.txt \ No newline at end of file diff --git a/utils/laugh_tests/celia1990/settings/summa_zParamTrial_celia1990.nc b/utils/laugh_tests/celia1990/settings/summa_zParamTrial_celia1990.nc new file mode 100644 index 0000000000000000000000000000000000000000..8c8f7337f8fc90652058803b2880fa642da87f87 Binary files /dev/null and b/utils/laugh_tests/celia1990/settings/summa_zParamTrial_celia1990.nc differ diff --git a/utils/laugh_tests/celia1990/verification_data/runinfo.txt b/utils/laugh_tests/celia1990/verification_data/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4397e2edc523fc1a3bb76f702aaaa11af1ddba9 --- /dev/null +++ b/utils/laugh_tests/celia1990/verification_data/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=15 - hh=02 - mi=49 - ss=51.739 diff --git a/utils/laugh_tests/celia1990/verification_data/summa_celia1990_G1-1_timestep.nc b/utils/laugh_tests/celia1990/verification_data/summa_celia1990_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..e1319892d362595775ea3f6668ad8dd00667cf1e Binary files /dev/null and b/utils/laugh_tests/celia1990/verification_data/summa_celia1990_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/celia1990/verify_celia.py b/utils/laugh_tests/celia1990/verify_celia.py new file mode 100644 index 0000000000000000000000000000000000000000..227b7a1f1f0a9e6fa120efe14cc04e4824b13856 --- /dev/null +++ b/utils/laugh_tests/celia1990/verify_celia.py @@ -0,0 +1,111 @@ +from os import listdir +from os.path import isfile, join +from pathlib import Path +import xarray as xr +import numpy as np + +numHRU = 1 + +time = "time" +nSnow = "nSnow" +nSoil = "nSoil" +nLayers = "nLayers" +mLayerHeight = "mLayerHeight" +iLayerLiqFluxSoil = "iLayerLiqFluxSoil" +mLayerDepth = "mLayerDepth" +mLayerVolFracIce = "mLayerVolFracIce" +mLayerVolFracLiq = "mLayerVolFracLiq" +mLayerMatricHead = "mLayerMatricHead" +mLayerTranspire = "mLayerTranspire" +mLayerBaseflow = "mLayerBaseflow" +mLayerCompress = "mLayerCompress" +iLayerNrgFlux = "iLayerNrgFlux" +basin__TotalArea = "basin__TotalArea" +scalarGroundEvaporation = "scalarGroundEvaporation" +scalarSoilBaseflow = "scalarSoilBaseflow" +scalarSoilDrainage = "scalarSoilDrainage" +scalarInfiltration = "scalarInfiltration" +scalarSnowDrainage = "scalarSnowDrainage" +scalarSnowSublimation = "scalarSnowSublimation" +scalarThroughfallRain = "scalarThroughfallRain" +scalarThroughfallSnow = "scalarThroughfallSnow" +scalarRainfall = "scalarRainfall" +scalarSnowfall = "scalarSnowfall" +scalarRainPlusMelt = "scalarRainPlusMelt" +pptrate = "pptrate" +averageRoutedRunoff = "averageRoutedRunoff" +scalarSWE = "scalarSWE" +fieldCapacity = "fieldCapacity" + +output_variables = [time, nSnow, nSoil, nLayers, mLayerHeight, iLayerLiqFluxSoil, \ + mLayerDepth, mLayerVolFracIce, mLayerVolFracLiq, mLayerMatricHead, mLayerTranspire, \ + mLayerBaseflow, mLayerCompress, iLayerNrgFlux, basin__TotalArea, scalarGroundEvaporation, \ + scalarSoilBaseflow, scalarSoilDrainage, scalarInfiltration, scalarSnowDrainage, \ + scalarSnowSublimation, scalarThroughfallRain, scalarThroughfallSnow, scalarRainfall, \ + scalarSnowfall, scalarRainPlusMelt, pptrate, averageRoutedRunoff, \ + scalarSWE, fieldCapacity] + +# find the output files +verified_data_path = Path("./verification_data/summa_celia1990_G1-1_timestep.nc") +data_to_compare_path = Path("./output/summa-actors_celia1990GRU1-1_timestep.nc") + +try: + verified_dataset = xr.open_dataset(verified_data_path) + to_compare_dataset = xr.open_dataset(data_to_compare_path) +except FileNotFoundError: + print("Check the variables \'verified_data_path\' and \'data_to_compare_path\'. They may not point to the correct output files or the output filenames may have changed.") + exit() + +# Get the HRUs from the dataset into a list +for iHRU in range(0, numHRU): + verified_hru = verified_dataset.isel(hru=iHRU).copy() + hru_to_compare = to_compare_dataset.isel(hru=iHRU).copy() + + for var in output_variables: + try: + if len(verified_hru[var].values) != len(hru_to_compare[var].values): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_hru[var].values)) + print(" hru_to_compare = ", len(hru_to_compare[var].values)) + + verified_data = [] + to_verify_data = [] + if (verified_hru[var].values.ndim > 1): + # 2D output case + for list in verified_hru[var].values: + for data in list: + verified_data.append(data) + + for list in hru_to_compare[var].values: + for data in list: + to_verify_data.append(data) + + else: + # 1D output case + for data in verified_hru[var].values: + verified_data.append(data) + + for data in hru_to_compare[var].values: + to_verify_data.append(data) + + + # check length + if len(verified_data) != len(to_verify_data): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_data)) + print(" hru_to_compare = ", len(to_verify_data)) + + # check values + for elem in range(0, len(verified_data)): + if verified_data[elem] != to_verify_data[elem]: + print("variable -",var, "has different values at", elem) + print(" verified_hru = ", verified_data[elem]) + print(" hru_to_compare = ", to_verify_data[elem]) + break + + except TypeError: + print("variable - ", var, "Cannot be compared with len") + print(" verified_hru = ",verified_hru[var].values) + print(" hru_to_compare = ", hru_to_compare[var].values) + + diff --git a/utils/laugh_tests/colbeck1976/config/exp1/Summa_Actors_Settings.json b/utils/laugh_tests/colbeck1976/config/exp1/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..4471c5d259c64404a349f32844b54fcd779504df --- /dev/null +++ b/utils/laugh_tests/colbeck1976/config/exp1/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp1.txt", + "outputCSV": false, + "csvPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/output/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} diff --git a/utils/laugh_tests/colbeck1976/config/exp2/Summa_Actors_Settings.json b/utils/laugh_tests/colbeck1976/config/exp2/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..c463fa224e7fbe6e12b5e007df55857c3c601765 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/config/exp2/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp2.txt", + "outputCSV": false, + "csvPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/output/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} diff --git a/utils/laugh_tests/colbeck1976/config/exp3/Summa_Actors_Settings.json b/utils/laugh_tests/colbeck1976/config/exp3/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..c18a9282d9c2368603b94073b26dd4a4d6463897 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/config/exp3/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp3.txt", + "outputCSV": false, + "csvPath": "/Summa-Actors/utils/laugh_tests/colbeck1976/output/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} diff --git a/utils/laugh_tests/colbeck1976/forcing_data/colbeck1976_forcing.nc b/utils/laugh_tests/colbeck1976/forcing_data/colbeck1976_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..76f6957b734adcc58ae1956fc67d0d7a621f2e30 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/forcing_data/colbeck1976_forcing.nc differ diff --git a/utils/laugh_tests/colbeck1976/forcing_data/colbeck_forcing.pro b/utils/laugh_tests/colbeck1976/forcing_data/colbeck_forcing.pro new file mode 100644 index 0000000000000000000000000000000000000000..bf5fd7f8823c8bc9da07422b6351c07c9412b3d7 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/forcing_data/colbeck_forcing.pro @@ -0,0 +1,159 @@ +pro colbeck_forcing + +; define constants +Tfreeze = 273.16d + +; define parameters +dt = 60.d ; (time step) + +; define plotting parameters +window, 0, xs=1000, ys=1000, retain=2 +device, decomposed=0 +LOADCT, 39 +!P.BACKGROUND=255 +!P.CHARSIZE=2.5 +!P.COLOR=0 +erase, color=255 +!P.MULTI=[0,1,4] + +; define the number of days +ndays = 3 + +; define the number of time steps per hour +nprhr = 3600.d/dt + +; define the number of steps per day +nprdy = 86400.d/dt + +; define the number of time steps +ntime = ndays*nprdy + +; define time in seconds +stime = (dindgen(ntime)+1.d)*dt + +; define time in hours +htime = stime/3600. + +; define maximum radiation +rdmax = 250.d + +; define the dayln parameter +dayln = -0.1 + +; define radiation index +radix = cos(2.d*!pi * (htime/24.d) + !pi) + dayln + +; define radiation +swrad = replicate(0.d, ntime) ;radix*(rdmax / (1.+dayln)) + +; set negative radiation to zero +ibad = where(swrad le 0.d, nbad) +if (nbad gt 0) then swrad[ibad] = 0.d + +; make a base plot for solar radiation +plot, htime, xrange=[0,ntime/nprhr], yrange=[0,1000], xstyle=9, ystyle=1, $ + ytitle = 'Solar radiation (W m!e-2!n)', xmargin=[10,10], ymargin=[3,2], $ + xticks=6, /nodata +plots, [htime[0],htime[ntime-1]], [ 0, 0] +plots, [htime[0],htime[ntime-1]], [250,250] + +plots, [24,24], [0,250] +plots, [48,48], [0,250] + +oplot, htime, swrad + +; define other forcing variables +lwrad = 275.d +awind = 0.d +atemp = Tfreeze + 10.d +sphum = 1.d-3 +apres = 101325.d + +; define precipitation +aprcp = replicate(0.d, ntime) + +; define time less than 3 hours +aprcp[where(stime le 10800.d)] = 10.d^(-2.d) + +; define time +atime = stime/86400.d + julday(1,1,2000,0,0,0.d) + +; define file +filename = 'colbeck1976_forcing' + +; open NetCDF file for definition +ncid = ncdf_create(filename+'.nc', /clobber) +ncdf_control, ncid + +; define dimensions in the NetCDF file +idHRU = ncdf_dimdef(ncid, 'hru', 1) +idTime = ncdf_dimdef(ncid, 'time', /unlimited) + +; define the hru ID +ivar_id = ncdf_vardef(ncid, 'hruId', [idHRU], /long) + +; define the latitude and longitude +ivar_id = ncdf_vardef(ncid, 'latitude', [idHRU], /double) +ivar_id = ncdf_vardef(ncid, 'longitude', [idHRU], /double) + +; define the data step and time +ivar_id = ncdf_vardef(ncid, 'data_step', /double) +ivar_id = ncdf_vardef(ncid, 'time', [idTime], /double) + +; define the time units +ncdf_attput, ncid, ivar_id, 'units', "seconds since 1990-01-01 00:00:00", /char + +; define forcing variables +cVar = ['LWRadAtm','SWRadAtm','airpres','airtemp','pptrate','spechum','windspd'] +for ivar=0,n_elements(cVar)-1 do begin + ivar_id = ncdf_vardef(ncid, cvar[ivar], [idHRU, idTime], /double) +endfor + +; exit control mode +ncdf_control, ncid, /endef + +; write the metadata +ncdf_varput, ncid, ncdf_varid(ncid,'hruId'), 1001 +ncdf_varput, ncid, ncdf_varid(ncid,'latitude'), 40.d +ncdf_varput, ncid, ncdf_varid(ncid,'longitude'), 250.d +ncdf_varput, ncid, ncdf_varid(ncid,'data_step'), dt + +; make a forcing file +openw, out_unit, filename+'.txt', /get_lun + +; loop through time +for itime=0,ntime-1 do begin + + ; define date + caldat, atime[itime], im, id, iyyy, ih, imi, dsec + + ; write time to the NetCDF file + ncdf_varput, ncid, ncdf_varid(ncid,'time'), stime[itime], offset=itime, count=1 + + ; print synthetic "data" to the netCDF file + for ivar=0,n_elements(cVar)-1 do begin + ivar_id = ncdf_varid(ncid,cvar[ivar]) + case cvar[ivar] of + 'pptrate': ncdf_varput, ncid, ivar_id, aprcp[itime], offset=[0,itime], count=[1,1] + 'airtemp': ncdf_varput, ncid, ivar_id, atemp, offset=[0,itime], count=[1,1] + 'airpres': ncdf_varput, ncid, ivar_id, apres, offset=[0,itime], count=[1,1] + 'spechum': ncdf_varput, ncid, ivar_id, sphum, offset=[0,itime], count=[1,1] + 'windspd': ncdf_varput, ncid, ivar_id, awind, offset=[0,itime], count=[1,1] + 'SWRadAtm': ncdf_varput, ncid, ivar_id, swrad[itime], offset=[0,itime], count=[1,1] + 'LWRadAtm': ncdf_varput, ncid, ivar_id, lwrad, offset=[0,itime], count=[1,1] + else: stop, 'unable to identify variable' + endcase + endfor ; looping through variables + + ; print synthetic "data" to the ASCII file + printf, out_unit, iyyy, im, id, ih, imi, dsec, aprcp[itime], swrad[itime], lwrad, atemp, awind, apres, sphum, $ + format='(i4,1x,4(i2,1x),f6.1,1x,e14.4,1x,5(f10.3,1x),e12.3)' + +endfor ; looping through time + +; free up file unit +free_lun, out_unit +ncdf_close, ncid + +stop +end diff --git a/utils/laugh_tests/colbeck1976/output/colbeck1976-exp1GRU1-1_timestep.nc b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp1GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..5c4b9adb2d00c716208b87546a6e3806fe85208f Binary files /dev/null and b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp1GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/output/colbeck1976-exp2GRU1-1_timestep.nc b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp2GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..ce00720f1b5a90c8340bd4de76367f035f977b60 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp2GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/output/colbeck1976-exp3GRU1-1_timestep.nc b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp3GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..cee21d14a88c0a1c36adf2d91b369fcf84eea934 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/output/colbeck1976-exp3GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/output/runinfo.txt b/utils/laugh_tests/colbeck1976/output/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..df17fe35ae4f6704e4a41a3a097c2cc85a370e85 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/output/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=15 - hh=21 - mi=52 - ss=43.015 diff --git a/utils/laugh_tests/colbeck1976/run_test_summa.sh b/utils/laugh_tests/colbeck1976/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..f4ed0cce1905d174b2e7642ff4a20f24c8d04444 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/run_test_summa.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp1.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp2.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp3.txt \ No newline at end of file diff --git a/utils/laugh_tests/colbeck1976/run_test_summa_actors.sh b/utils/laugh_tests/colbeck1976/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..27be92c0c34b633daae21832d34cf17d39bf416b --- /dev/null +++ b/utils/laugh_tests/colbeck1976/run_test_summa_actors.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/colbeck1976/config/exp1 +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/colbeck1976/config/exp2 +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/colbeck1976/config/exp3 diff --git a/utils/laugh_tests/colbeck1976/settings/GENPARM.TBL b/utils/laugh_tests/colbeck1976/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/colbeck1976/settings/MPTABLE.TBL b/utils/laugh_tests/colbeck1976/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/colbeck1976/settings/SOILPARM.TBL b/utils/laugh_tests/colbeck1976/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/colbeck1976/settings/VEGPARM.TBL b/utils/laugh_tests/colbeck1976/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/colbeck1976/settings/summa_defineModelOutput.txt b/utils/laugh_tests/colbeck1976/settings/summa_defineModelOutput.txt new file mode 100644 index 0000000000000000000000000000000000000000..bfca6f739507af8bb97caa0bd26997d2c42758e8 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_defineModelOutput.txt @@ -0,0 +1,11 @@ +! --------- +! model variables +! --------- +scalarRainfall | 1 +scalarSnowfall | 1 +scalarRainPlusMelt | 1 +mLayerVolFracLiq | 1 +mLayerVolFracIce | 1 +iLayerNrgFlux | 1 +iLayerHeight | 1 +mLayerDepth | 1 diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp1.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp1.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc2ee6efbcf874861630fb567cb1adc13977ddeb --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp1.txt @@ -0,0 +1,23 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/output/' ! OUTPUT_PATH +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp1.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp1.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp1' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp1.txt \ No newline at end of file diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp2.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp2.txt new file mode 100644 index 0000000000000000000000000000000000000000..ede30b91a02e43f1acfad1f741e3b71686fc7321 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp2.txt @@ -0,0 +1,23 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/output/' ! OUTPUT_PATH +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp2.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp2.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp2' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp2.txt diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp3.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp3.txt new file mode 100644 index 0000000000000000000000000000000000000000..5edc0ba40d167ef0d9a16e9678a859636f5f23fe --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_colbeck1976-exp3.txt @@ -0,0 +1,23 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/output/' ! OUTPUT_PATH +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp3.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp3.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp3' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp3.txt diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp2.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp2.txt new file mode 100644 index 0000000000000000000000000000000000000000..c649253189665863086c5918ac3eefdecd601cd3 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp2.txt @@ -0,0 +1,21 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/verification_data/' ! OUTPUT_PATH +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp2.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp2.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp2' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp2.txt diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp3.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp3.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3fa77602274bdd44da3e7aab80e7e78ae219ccd --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1976-exp3.txt @@ -0,0 +1,21 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/verification_data/' ! OUTPUT_PATH +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp3.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp3.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp3' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp3.txt diff --git a/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1979-exp1.txt b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1979-exp1.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0621c14aca3d7d6616d8173af398aec3a182348 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_fileManager_verify_colbeck1979-exp1.txt @@ -0,0 +1,21 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! +simStartTime '1990-01-01 00:01' ! +simEndTime '1990-01-01 10:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/colbeck1976/settings/' ! SETNGS_PATH +forcingPath '/Summa-Actors/utils/laugh_tests/colbeck1976/forcing_data/' ! INPUT_PATH +outputPath '/Summa-Actors/utils/laugh_tests/colbeck1976/verification_data/' ! OUTPUT_PATH +decisionsFile 'summa_zDecisions_colbeck1976.txt' ! M_DECISIONS = definition of model decisions +outputControlFile 'summa_defineModelOutput.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! LOCALPARAM_INFO = default values and constraints for local model parameters +globalGruParamFile 'summa_zBasinParamInfo.txt' ! BASINPARAM_INFO = default values and constraints for basin-average parameters +attributeFile 'summa_zLocalAttributes.nc' ! LOCAL_ATTRIBUTES = local attributes +trialParamFile 'summa_zParamTrial_colbeck1976-exp1.nc' ! PARAMETER_TRIAL = trial values for model parameters +forcingListFile 'summa_zForcingFileList.txt' ! FORCING_FILELIST = list of files used in each HRU +initConditionFile 'summa_zInitialCond_colbeck1976-exp1.nc' ! MODEL_INITCOND = model initial conditions +outFilePrefix 'colbeck1976-exp1' ! OUTPUT_PREFIX = prefix for the output file +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp1.txt \ No newline at end of file diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/colbeck1976/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zDecisions_colbeck1976.txt b/utils/laugh_tests/colbeck1976/settings/summa_zDecisions_colbeck1976.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5ac1fa2017c484c54809ff8a92f921a4af24451 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_zDecisions_colbeck1976.txt @@ -0,0 +1,170 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method monTable ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr noXplict ! (11) choice of groundwater parameterization +hc_profile constant ! (12) choice of hydraulic conductivity profile +bcUpprTdyn zeroFlux ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH liq_flux ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH drainage ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis difTrans ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers jrdn1991 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow smnv2000 ! (26) choice of thermal conductivity representation for snow +thCondSoil mixConstit ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1988 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp1.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp2.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp3.txt diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zForcingFileList.txt b/utils/laugh_tests/colbeck1976/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a3f73ef9c62fd5227b1f204b25f215fd903aded --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'colbeck1976_forcing.nc' diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zForcingInfo_colbeck1976.txt b/utils/laugh_tests/colbeck1976/settings/summa_zForcingInfo_colbeck1976.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b6d3f15142165983cc8aa9c2a36608f9ebb77c8 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_zForcingInfo_colbeck1976.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | colbeck1976_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 60 ! length of time step (seconds) diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp1.nc b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp1.nc new file mode 100644 index 0000000000000000000000000000000000000000..6328ec1c30d23d1b13a6e01c207a86dc273940dc Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp1.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp2.nc b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp2.nc new file mode 100644 index 0000000000000000000000000000000000000000..9859d7f3847bd47a442074287cac74e3796fd4fd Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp2.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp3.nc b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp3.nc new file mode 100644 index 0000000000000000000000000000000000000000..9859d7f3847bd47a442074287cac74e3796fd4fd Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zInitialCond_colbeck1976-exp3.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/colbeck1976/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..010c8d745e57d7a4b3ccba3834bc0869f23e9b81 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/colbeck1976/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..a9972fc424d7061cc81eb546548c06f009289d95 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | -0.7500 | -100.0000 | -0.0100 +lowerBoundHead | -10.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.1600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0600 | 0.0100 | 0.1000 +k_snow | 0.0150 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 1.0000 | 0.0100 | 3.0000 +summerLAI | 3.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 0.5000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.0750 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 20.0000 | 0.0500 | 100.0000 +heightCanopyBottom | 2.0000 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 10.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 0.0000 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 5.5000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.2000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.4010 | 0.3000 | 0.6000 +theta_sat | 0.5500 | 0.3000 | 0.6000 +theta_res | 0.1390 | 0.0010 | 0.1000 +vGn_alpha | -0.8400 | -1.0000 | -0.0100 +vGn_n | 1.3000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 7.5d-06 | 1.d-07 | 100.d-07 +k_macropore | 1.0d-03 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 2.5000 | 0.1000 | 100.0000 +compactedDepth | 1.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 50.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-09 | 1.d-05 | 1.d-07 +f_impede | 2.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 1.0000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 100.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-6 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-6 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp1.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp2.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/colbeck1976/summa_fileManager_colbeck1976-exp3.txt \ No newline at end of file diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp1.nc b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp1.nc new file mode 100644 index 0000000000000000000000000000000000000000..fe66f1b13a4f825edc5398e43ad096e6bd3bee97 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp1.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp2.nc b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp2.nc new file mode 100644 index 0000000000000000000000000000000000000000..70ccad244580e69de9da40f2aba6fec61bf7be6d Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp2.nc differ diff --git a/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp3.nc b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp3.nc new file mode 100644 index 0000000000000000000000000000000000000000..80c48dbdbea74010383403f94c4d543020df597f Binary files /dev/null and b/utils/laugh_tests/colbeck1976/settings/summa_zParamTrial_colbeck1976-exp3.nc differ diff --git a/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp1_G1-1_timestep.nc b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp1_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..9e6ae158fabce58a11b81c45cffc294b752b523c Binary files /dev/null and b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp1_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp2_G1-1_timestep.nc b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp2_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..fbfcc80186ef1b1a3a3ed88542dfe8e85c07f865 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp2_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp3_G1-1_timestep.nc b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp3_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..5244415ba0820a75a87db973f9ef0b05bc6c6627 Binary files /dev/null and b/utils/laugh_tests/colbeck1976/verification_data/colbeck1976-exp3_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/colbeck1976/verification_data/runinfo.txt b/utils/laugh_tests/colbeck1976/verification_data/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..6ffb0dd15662a7bbe474e0cf29bcc9d66997b6c7 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/verification_data/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=15 - hh=21 - mi=53 - ss=23.550 diff --git a/utils/laugh_tests/colbeck1976/verify_colbeck.py b/utils/laugh_tests/colbeck1976/verify_colbeck.py new file mode 100644 index 0000000000000000000000000000000000000000..0394fb583cad070f25de0435eda4477de119be88 --- /dev/null +++ b/utils/laugh_tests/colbeck1976/verify_colbeck.py @@ -0,0 +1,93 @@ +from os import listdir +from os.path import isfile, join +from pathlib import Path +import xarray as xr +import numpy as np + + +def verify(verified_data_path, data_to_compare_path, output_variables, numHRU): + try: + verified_dataset = xr.open_dataset(verified_data_path) + to_compare_dataset = xr.open_dataset(data_to_compare_path) + except FileNotFoundError: + print("Check the variables \'verified_data_path\' and \'data_to_compare_path\'. They may not point to the correct output files or the output filenames may have changed.") + exit() + + # Get the HRUs from the dataset into a list + for iHRU in range(0, numHRU): + verified_hru = verified_dataset.isel(hru=iHRU).copy() + hru_to_compare = to_compare_dataset.isel(hru=iHRU).copy() + + for var in output_variables: + try: + if len(verified_hru[var].values) != len(hru_to_compare[var].values): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_hru[var].values)) + print(" hru_to_compare = ", len(hru_to_compare[var].values)) + + verified_data = [] + to_verify_data = [] + if (verified_hru[var].values.ndim > 1): + # 2D output case + for list in verified_hru[var].values: + for data in list: + verified_data.append(data) + + for list in hru_to_compare[var].values: + for data in list: + to_verify_data.append(data) + + else: + # 1D output case + for data in verified_hru[var].values: + verified_data.append(data) + + for data in hru_to_compare[var].values: + to_verify_data.append(data) + + + # check length + if len(verified_data) != len(to_verify_data): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_data)) + print(" hru_to_compare = ", len(to_verify_data)) + + # check values + for elem in range(0, len(verified_data)): + if verified_data[elem] != to_verify_data[elem]: + print("variable -",var, "has different values at", elem) + print(" verified_hru = ", verified_data[elem]) + print(" hru_to_compare = ", to_verify_data[elem]) + break + + except TypeError: + print("variable - ", var, "Cannot be compared with len") + print(" verified_hru = ",verified_hru[var].values) + print(" hru_to_compare = ", hru_to_compare[var].values) + + +numHRU = 1 + +scalarRainfall = "scalarRainfall" +scalarSnowfall = "scalarSnowfall" +scalarRainPlusMelt = "scalarRainPlusMelt" +mLayerVolFracLiq = "mLayerVolFracLiq" +mLayerVolFracIce = "mLayerVolFracIce" +iLayerNrgFlux = "iLayerNrgFlux" +iLayerHeight = "iLayerHeight" +mLayerDepth = "mLayerDepth" + +output_variables = [scalarRainfall, scalarSnowfall, scalarRainPlusMelt, mLayerVolFracLiq, \ + mLayerVolFracIce, iLayerNrgFlux, iLayerHeight, mLayerDepth] + +verified_data_path = Path("./verification_data/colbeck1976-exp1_G1-1_timestep.nc") +data_to_compare_path = Path("./output/colbeck1976-exp1GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +verified_data_path = Path("./verification_data/colbeck1976-exp2_G1-1_timestep.nc") +data_to_compare_path = Path("./output/colbeck1976-exp2GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +verified_data_path = Path("./verification_data/colbeck1976-exp3_G1-1_timestep.nc") +data_to_compare_path = Path("./output/colbeck1976-exp3GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) \ No newline at end of file diff --git a/utils/laugh_tests/dir_setup.sh b/utils/laugh_tests/dir_setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..ef701e68a376579da92d834ca23aca6490cd8341 --- /dev/null +++ b/utils/laugh_tests/dir_setup.sh @@ -0,0 +1,10 @@ +#! /bin/bash + +for dir in */; do + mkdir -p $dir/verification_data + # mkdir -p $dir/config + # mkdir -p $dir/forcing_data + # mkdir -p $dir/output + # mkdir -p $dir/settings + # touch $dir/run_test.sh +done diff --git a/utils/laugh_tests/miller1998/config/clay/Summa_Actors_Settings.json b/utils/laugh_tests/miller1998/config/clay/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..ccf6c4ac6c5fedcbd3a2dc028797926fd12ce17c --- /dev/null +++ b/utils/laugh_tests/miller1998/config/clay/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_millerClay.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/config/loam/Summa_Actors_Settings.json b/utils/laugh_tests/miller1998/config/loam/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..c54ea844cf533f2b955e615f9b7120c5c62a106b --- /dev/null +++ b/utils/laugh_tests/miller1998/config/loam/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_millerLoam.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/config/sand/Summa_Actors_Settings.json b/utils/laugh_tests/miller1998/config/sand/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..37fc2967464269d2d244021cd734715399748dc5 --- /dev/null +++ b/utils/laugh_tests/miller1998/config/sand/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_millerSand.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/forcing_data/miller1998_forcing.nc b/utils/laugh_tests/miller1998/forcing_data/miller1998_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..07ea45bea8c8763c4a218a788849d3a167006aec Binary files /dev/null and b/utils/laugh_tests/miller1998/forcing_data/miller1998_forcing.nc differ diff --git a/utils/laugh_tests/miller1998/output/millerClayGRU1-1_timestep.nc b/utils/laugh_tests/miller1998/output/millerClayGRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..9d300d43aca06babe931ddc2ad3e57c26be239f5 Binary files /dev/null and b/utils/laugh_tests/miller1998/output/millerClayGRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/output/millerLoamGRU1-1_timestep.nc b/utils/laugh_tests/miller1998/output/millerLoamGRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..aa63590c28a5d07dd82904425de6e93e002a85b8 Binary files /dev/null and b/utils/laugh_tests/miller1998/output/millerLoamGRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/output/millerSandGRU1-1_timestep.nc b/utils/laugh_tests/miller1998/output/millerSandGRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..c067e467c38ae7ac26e211bdb550c56f12e6d9b7 Binary files /dev/null and b/utils/laugh_tests/miller1998/output/millerSandGRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/output/runinfo.txt b/utils/laugh_tests/miller1998/output/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..669c7fc77bb60ce4123c1f6e5f4cde3cffd3eb7c --- /dev/null +++ b/utils/laugh_tests/miller1998/output/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=18 - mi=45 - ss=41.931 diff --git a/utils/laugh_tests/miller1998/run_test_summa.sh b/utils/laugh_tests/miller1998/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..afe4927125202154f9eed9373db8c8264c2dc8a8 --- /dev/null +++ b/utils/laugh_tests/miller1998/run_test_summa.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerClay.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerLoam.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerSand.txt \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/run_test_summa_actors.sh b/utils/laugh_tests/miller1998/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..864e583b8aa024e5655c409fd77279f2a00b6088 --- /dev/null +++ b/utils/laugh_tests/miller1998/run_test_summa_actors.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/clay +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/loam +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/sand \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/settings/GENPARM.TBL b/utils/laugh_tests/miller1998/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/miller1998/settings/MPTABLE.TBL b/utils/laugh_tests/miller1998/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/miller1998/settings/Model_Output.txt b/utils/laugh_tests/miller1998/settings/Model_Output.txt new file mode 100644 index 0000000000000000000000000000000000000000..19ed37469f9d3860b3414756a551cb850ab9955b --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/Model_Output.txt @@ -0,0 +1,34 @@ +! --------- +! model variables +! --------- +time | 1 +nSnow | 1 +nSoil | 1 +nLayers | 1 +mLayerHeight | 1 +iLayerLiqFluxSoil | 1 +mLayerDepth | 1 +mLayerVolFracIce | 1 +mLayerVolFracLiq | 1 +mLayerMatricHead | 1 +mLayerTranspire | 1 +mLayerBaseflow | 1 +mLayerCompress | 1 +iLayerNrgFlux | 1 +basin__TotalArea | 1 +scalarGroundEvaporation | 1 +scalarSoilBaseflow | 1 +scalarSoilDrainage | 1 +scalarInfiltration | 1 +scalarSnowDrainage | 1 +scalarSnowSublimation | 1 +scalarThroughfallRain | 1 +scalarThroughfallSnow | 1 +scalarRainfall | 1 +scalarSnowfall | 1 +scalarRainPlusMelt | 1 +fieldCapacity | 1 +pptrate | 1 +averageRoutedRunoff | 1 +scalarSWE | 1 +fieldCapacity | 1 diff --git a/utils/laugh_tests/miller1998/settings/SOILPARM.TBL b/utils/laugh_tests/miller1998/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/miller1998/settings/VEGPARM.TBL b/utils/laugh_tests/miller1998/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_millerClay.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerClay.txt new file mode 100644 index 0000000000000000000000000000000000000000..d6fe3abfafa97673c8add526f9c0f30956c161d0 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerClay.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '2000-01-01' +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerClay.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerClay.nc' ! initial_cond +outFilePrefix 'millerClay' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_millerLoam.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerLoam.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab888a3f726ada3b55119674a17f6184408cae8a --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerLoam.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '2000-01-01' +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerLoam.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerLoam.nc' ! initial_cond +outFilePrefix 'millerLoam' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_millerSand.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerSand.txt new file mode 100644 index 0000000000000000000000000000000000000000..936e25a1462daf32f74bf1c099991e3bdf64a185 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_millerSand.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '2000-01-01' +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerSand.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerSand.nc' ! initial_cond +outFilePrefix 'millerSand' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerClay.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerClay.txt new file mode 100644 index 0000000000000000000000000000000000000000..fc458a0711bb6c262c84e0af327f533a7d300f0c --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerClay.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerClay.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerClay.nc' ! initial_cond +outFilePrefix 'millerClay' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerLoam.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerLoam.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb94073e6bab85248ba7197604e3ba6c114122f2 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerLoam.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerLoam.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerLoam.nc' ! initial_cond +outFilePrefix 'millerLoam' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerSand.txt b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerSand.txt new file mode 100644 index 0000000000000000000000000000000000000000..f09dc37a9ca504826ee8775dedf8a6158d1f0c6b --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerSand.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:30' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/miller1998/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/miller1998/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/miller1998/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_miller1998.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_millerSand.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_millerSand.nc' ! initial_cond +outFilePrefix 'millerSand' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/miller1998/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/miller1998/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/miller1998/settings/summa_zDecisions_miller1998.txt b/utils/laugh_tests/miller1998/settings/summa_zDecisions_miller1998.txt new file mode 100644 index 0000000000000000000000000000000000000000..d17071ceff8b467be5120db09ec0df8c69d7a2d8 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zDecisions_miller1998.txt @@ -0,0 +1,170 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method monTable ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr noXplict ! (11) choice of groundwater parameterization +hc_profile constant ! (12) choice of hydraulic conductivity profile +bcUpprTdyn zeroFlux ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH presHead ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH presHead ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis difTrans ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers CLM_2010 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow jrdn1991 ! (26) choice of thermal conductivity representation for snow +thCondSoil mixConstit ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1988 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerClay.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerLoam.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerSand.txt diff --git a/utils/laugh_tests/miller1998/settings/summa_zForcingFileList.txt b/utils/laugh_tests/miller1998/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..c9ef914a0df0262176396e2c2af5fbaab330db61 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'miller1998_forcing.nc' diff --git a/utils/laugh_tests/miller1998/settings/summa_zForcingInfo_miller1998.txt b/utils/laugh_tests/miller1998/settings/summa_zForcingInfo_miller1998.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9019c76a5bc0758b954f3949c5eb145e1c5f8f2 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zForcingInfo_miller1998.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | miller1998_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 900 ! length of time step (seconds) diff --git a/utils/laugh_tests/miller1998/settings/summa_zInitialCond_miller1998.txt b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_miller1998.txt new file mode 100644 index 0000000000000000000000000000000000000000..d52d1c91a222681f9dc6e525a7f1eec014535ac6 --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_miller1998.txt @@ -0,0 +1,148 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF MODEL INITIAL CONDITIONS ************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! PART 1: DEFINE SCALAR VARIABLES +! ------------------------------- +! Variable name followed by the value +! The variable names are important, as they must match the variable names in the code +! *********************************************************************************************************************** +<start_scalar_icond> +! -------------------------------- +dt_init 10.000000000000 +scalarCanopyIce 0.000000000000 +scalarCanopyLiq 0.000000000000 +scalarCanairTemp 286.000000000000 +scalarCanopyTemp 290.000000000000 +scalarSnowAlbedo 0.820000000000 +scalarSWE 0.000000000000 +scalarSnowDepth 0.000000000000 +scalarSfcMeltPond 0.000000000000 +scalarAquiferStorage 0.000000000000 +! -------------------------------- +<end_scalar_icond> +! *********************************************************************************************************************** +! +! +! *********************************************************************************************************************** +! PART 2: DEFINE LAYER VARIABLES +! ------------------------------- +! Variable names followed by values +! The variable names are important, as they must match the variable names in the code +! ------------------------------- +! layerType = snow or soil (4-character string) +! iLayerHeight = height of the layer interface; top of soil = 0 (m) +! mLayerDepth = depth of the layer (m) +! mLayerTemp = temperature of the layer (K) +! mLayerVolFracIce = volumetric fraction of ice (-) +! mLayerVolFracLiq = volumetric fraction of liquid water (-) +! mLayerMatricHead = matric head (m) +! *********************************************************************************************************************** +<start_layer_icond> +! ------------------------------- + layerType iLayerHeight mLayerDepth mLayerTemp mLayerVolFracIce mLayerVolFracLiq mLayerMatricHead + soil 0.0000000 0.1000000 285.160 0.000000 0.093000 -9.950000 + soil 0.1000000 0.1000000 285.160 0.000000 0.093000 -9.850000 + soil 0.2000000 0.1000000 285.160 0.000000 0.093000 -9.750000 + soil 0.3000000 0.1000000 285.160 0.000000 0.093000 -9.650000 + soil 0.4000000 0.1000000 285.160 0.000000 0.093001 -9.550000 + soil 0.5000000 0.1000000 285.160 0.000000 0.093001 -9.450000 + soil 0.6000000 0.1000000 285.160 0.000000 0.093001 -9.350000 + soil 0.7000000 0.1000000 285.160 0.000000 0.093001 -9.250000 + soil 0.8000000 0.1000000 285.160 0.000000 0.093001 -9.150000 + soil 0.9000000 0.1000000 285.160 0.000000 0.093001 -9.050000 + soil 1.0000000 0.1000000 285.160 0.000000 0.093001 -8.950000 + soil 1.1000000 0.1000000 285.160 0.000000 0.093001 -8.850000 + soil 1.2000000 0.1000000 285.160 0.000000 0.093001 -8.750000 + soil 1.3000000 0.1000000 285.160 0.000000 0.093001 -8.650000 + soil 1.4000000 0.1000000 285.160 0.000000 0.093001 -8.550000 + soil 1.5000000 0.1000000 285.160 0.000000 0.093001 -8.450000 + soil 1.6000000 0.1000000 285.160 0.000000 0.093001 -8.350000 + soil 1.7000000 0.1000000 285.160 0.000000 0.093001 -8.250000 + soil 1.8000000 0.1000000 285.160 0.000000 0.093001 -8.150000 + soil 1.9000000 0.1000000 285.160 0.000000 0.093001 -8.050000 + soil 2.0000000 0.1000000 285.160 0.000000 0.093001 -7.950000 + soil 2.1000000 0.1000000 285.160 0.000000 0.093001 -7.850000 + soil 2.2000000 0.1000000 285.160 0.000000 0.093001 -7.750000 + soil 2.3000000 0.1000000 285.160 0.000000 0.093001 -7.650000 + soil 2.4000000 0.1000000 285.160 0.000000 0.093001 -7.550000 + soil 2.5000000 0.1000000 285.160 0.000000 0.093001 -7.450000 + soil 2.6000000 0.1000000 285.160 0.000000 0.093001 -7.350000 + soil 2.7000000 0.1000000 285.160 0.000000 0.093001 -7.250000 + soil 2.8000000 0.1000000 285.160 0.000000 0.093001 -7.150000 + soil 2.9000000 0.1000000 285.160 0.000000 0.093001 -7.050000 + soil 3.0000000 0.1000000 285.160 0.000000 0.093001 -6.950000 + soil 3.1000000 0.1000000 285.160 0.000000 0.093002 -6.850000 + soil 3.2000000 0.1000000 285.160 0.000000 0.093002 -6.750000 + soil 3.3000000 0.1000000 285.160 0.000000 0.093002 -6.650000 + soil 3.4000000 0.1000000 285.160 0.000000 0.093002 -6.550000 + soil 3.5000000 0.1000000 285.160 0.000000 0.093002 -6.450000 + soil 3.6000000 0.1000000 285.160 0.000000 0.093002 -6.350000 + soil 3.7000000 0.1000000 285.160 0.000000 0.093002 -6.250000 + soil 3.8000000 0.1000000 285.160 0.000000 0.093002 -6.150000 + soil 3.9000000 0.1000000 285.160 0.000000 0.093002 -6.050000 + soil 4.0000000 0.1000000 285.160 0.000000 0.093002 -5.950000 + soil 4.1000000 0.1000000 285.160 0.000000 0.093003 -5.850000 + soil 4.2000000 0.1000000 285.160 0.000000 0.093003 -5.750000 + soil 4.3000000 0.1000000 285.160 0.000000 0.093003 -5.650000 + soil 4.4000000 0.1000000 285.160 0.000000 0.093003 -5.550000 + soil 4.5000000 0.1000000 285.160 0.000000 0.093003 -5.450000 + soil 4.6000000 0.1000000 285.160 0.000000 0.093003 -5.350000 + soil 4.7000000 0.1000000 285.160 0.000000 0.093004 -5.250000 + soil 4.8000000 0.1000000 285.160 0.000000 0.093004 -5.150000 + soil 4.9000000 0.1000000 285.160 0.000000 0.093004 -5.050000 + soil 5.0000000 0.1000000 285.160 0.000000 0.093004 -4.950000 + soil 5.1000000 0.1000000 285.160 0.000000 0.093005 -4.850000 + soil 5.2000000 0.1000000 285.160 0.000000 0.093005 -4.750000 + soil 5.3000000 0.1000000 285.160 0.000000 0.093005 -4.650000 + soil 5.4000000 0.1000000 285.160 0.000000 0.093006 -4.550000 + soil 5.5000000 0.1000000 285.160 0.000000 0.093006 -4.450000 + soil 5.6000000 0.1000000 285.160 0.000000 0.093007 -4.350000 + soil 5.7000000 0.1000000 285.160 0.000000 0.093007 -4.250000 + soil 5.8000000 0.1000000 285.160 0.000000 0.093008 -4.150000 + soil 5.9000000 0.1000000 285.160 0.000000 0.093008 -4.050000 + soil 6.0000000 0.1000000 285.160 0.000000 0.093009 -3.950000 + soil 6.1000000 0.1000000 285.160 0.000000 0.093010 -3.850000 + soil 6.2000000 0.1000000 285.160 0.000000 0.093011 -3.750000 + soil 6.3000000 0.1000000 285.160 0.000000 0.093012 -3.650000 + soil 6.4000000 0.1000000 285.160 0.000000 0.093013 -3.550000 + soil 6.5000000 0.1000000 285.160 0.000000 0.093014 -3.450000 + soil 6.6000000 0.1000000 285.160 0.000000 0.093016 -3.350000 + soil 6.7000000 0.1000000 285.160 0.000000 0.093017 -3.250000 + soil 6.8000000 0.1000000 285.160 0.000000 0.093019 -3.150000 + soil 6.9000000 0.1000000 285.160 0.000000 0.093021 -3.050000 + soil 7.0000000 0.1000000 285.160 0.000000 0.093024 -2.950000 + soil 7.1000000 0.1000000 285.160 0.000000 0.093027 -2.850000 + soil 7.2000000 0.1000000 285.160 0.000000 0.093030 -2.750000 + soil 7.3000000 0.1000000 285.160 0.000000 0.093034 -2.650000 + soil 7.4000000 0.1000000 285.160 0.000000 0.093038 -2.550000 + soil 7.5000000 0.1000000 285.160 0.000000 0.093044 -2.450000 + soil 7.6000000 0.1000000 285.160 0.000000 0.093050 -2.350000 + soil 7.7000000 0.1000000 285.160 0.000000 0.093058 -2.250000 + soil 7.8000000 0.1000000 285.160 0.000000 0.093067 -2.150000 + soil 7.9000000 0.1000000 285.160 0.000000 0.093078 -2.050000 + soil 8.0000000 0.1000000 285.160 0.000000 0.093092 -1.950000 + soil 8.1000000 0.1000000 285.160 0.000000 0.093109 -1.850000 + soil 8.2000000 0.1000000 285.160 0.000000 0.093131 -1.750000 + soil 8.3000000 0.1000000 285.160 0.000000 0.093158 -1.650000 + soil 8.4000000 0.1000000 285.160 0.000000 0.093194 -1.550000 + soil 8.5000000 0.1000000 285.160 0.000000 0.093241 -1.450000 + soil 8.6000000 0.1000000 285.160 0.000000 0.093305 -1.350000 + soil 8.7000000 0.1000000 285.160 0.000000 0.093392 -1.250000 + soil 8.8000000 0.1000000 285.160 0.000000 0.093514 -1.150000 + soil 8.9000000 0.1000000 285.160 0.000000 0.093692 -1.050000 + soil 9.0000000 0.1000000 285.160 0.000000 0.093959 -0.950000 + soil 9.1000000 0.1000000 285.160 0.000000 0.094378 -0.850000 + soil 9.2000000 0.1000000 285.160 0.000000 0.095071 -0.750000 + soil 9.3000000 0.1000000 285.160 0.000000 0.096299 -0.650000 + soil 9.4000000 0.1000000 285.160 0.000000 0.098672 -0.550000 + soil 9.5000000 0.1000000 285.160 0.000000 0.103817 -0.450000 + soil 9.6000000 0.1000000 285.160 0.000000 0.116835 -0.350000 + soil 9.7000000 0.1000000 285.160 0.000000 0.155619 -0.250000 + soil 9.8000000 0.1000000 285.160 0.000000 0.251168 -0.150000 + soil 9.9000000 0.1000000 285.160 0.000000 0.300370 -0.050000 +<end_layer_icond> diff --git a/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerClay.nc b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerClay.nc new file mode 100644 index 0000000000000000000000000000000000000000..02eac15d2ed210a218bfecffb849272ec03058ce Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerClay.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerLoam.nc b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerLoam.nc new file mode 100644 index 0000000000000000000000000000000000000000..4c34b8216eeb21898cf7dd65f975911103b96248 Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerLoam.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerSand.nc b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerSand.nc new file mode 100644 index 0000000000000000000000000000000000000000..889c1256311175016075a46043d03c0c3c2d9908 Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zInitialCond_millerSand.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/miller1998/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..751bf3c5fb15cb326c4ca75c3f3e236ce3a0c26c Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/miller1998/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..7dcd36cb83eee0bac6edcf76168e96e6d82bd46e --- /dev/null +++ b/utils/laugh_tests/miller1998/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | 0.1000 | -100.0000 | -0.0100 +lowerBoundHead | 0.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.1600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0600 | 0.0100 | 0.1000 +k_snow | 0.0150 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 1.0000 | 0.0100 | 3.0000 +summerLAI | 3.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 0.5000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.0750 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 20.0000 | 0.0500 | 100.0000 +heightCanopyBottom | 2.0000 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 10.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 0.0000 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 5.5000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.2000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.4010 | 0.3000 | 0.6000 +theta_sat | 0.5500 | 0.3000 | 0.6000 +theta_res | 0.1390 | 0.0010 | 0.1000 +vGn_alpha | -0.8400 | -1.0000 | -0.0100 +vGn_n | 1.3000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 7.5d-06 | 1.d-07 | 100.d-07 +k_macropore | 1.0d-03 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 2.5000 | 0.1000 | 100.0000 +compactedDepth | 1.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 50.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-09 | 1.d-05 | 1.d-07 +f_impede | 2.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 0.1000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 100.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-1 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-1 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerClay.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerLoam.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/miller1998/summa_fileManager_millerSand.txt \ No newline at end of file diff --git a/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerClay.nc b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerClay.nc new file mode 100644 index 0000000000000000000000000000000000000000..19fcb53d7ed275d6a9b59016aedc8e67fef3c145 Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerClay.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerLoam.nc b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerLoam.nc new file mode 100644 index 0000000000000000000000000000000000000000..c39f7ca18238d0acf0d8bdfaa012351dbed9124c Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerLoam.nc differ diff --git a/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerSand.nc b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerSand.nc new file mode 100644 index 0000000000000000000000000000000000000000..92a3d683aff94a80dd02f599430bd9f5ffe452d4 Binary files /dev/null and b/utils/laugh_tests/miller1998/settings/summa_zParamTrial_millerSand.nc differ diff --git a/utils/laugh_tests/miller1998/verification_data/millerClay_G1-1_timestep.nc b/utils/laugh_tests/miller1998/verification_data/millerClay_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..9a7d14bb8b9dc39c7fe3c43249431a71b0c4e277 Binary files /dev/null and b/utils/laugh_tests/miller1998/verification_data/millerClay_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/verification_data/millerLoam_G1-1_timestep.nc b/utils/laugh_tests/miller1998/verification_data/millerLoam_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..f6e693fa20823fc0662ab456a69b49a596fe4ea0 Binary files /dev/null and b/utils/laugh_tests/miller1998/verification_data/millerLoam_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/verification_data/millerSand_G1-1_timestep.nc b/utils/laugh_tests/miller1998/verification_data/millerSand_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..fadc7a011eb7da163d48b515316973419a08666f Binary files /dev/null and b/utils/laugh_tests/miller1998/verification_data/millerSand_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/miller1998/verification_data/runinfo.txt b/utils/laugh_tests/miller1998/verification_data/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..3db320081a2c880461b00611d781f7fd29026a17 --- /dev/null +++ b/utils/laugh_tests/miller1998/verification_data/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=18 - mi=39 - ss=02.545 diff --git a/utils/laugh_tests/miller1998/verify_miller.py b/utils/laugh_tests/miller1998/verify_miller.py new file mode 100644 index 0000000000000000000000000000000000000000..2c55f14611b16e36dff9869c85047e95888acb38 --- /dev/null +++ b/utils/laugh_tests/miller1998/verify_miller.py @@ -0,0 +1,120 @@ +from os import listdir +from os.path import isfile, join +from pathlib import Path +import xarray as xr +import numpy as np + + +def verify(verified_data_path, data_to_compare_path, output_variables, numHRU): + try: + verified_dataset = xr.open_dataset(verified_data_path) + to_compare_dataset = xr.open_dataset(data_to_compare_path) + except FileNotFoundError: + print("Check the variables \'verified_data_path\' and \'data_to_compare_path\'. They may not point to the correct output files or the output filenames may have changed.") + exit() + + # Get the HRUs from the dataset into a list + for iHRU in range(0, numHRU): + verified_hru = verified_dataset.isel(hru=iHRU).copy() + hru_to_compare = to_compare_dataset.isel(hru=iHRU).copy() + + for var in output_variables: + try: + if len(verified_hru[var].values) != len(hru_to_compare[var].values): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_hru[var].values)) + print(" hru_to_compare = ", len(hru_to_compare[var].values)) + + verified_data = [] + to_verify_data = [] + if (verified_hru[var].values.ndim > 1): + # 2D output case + for list in verified_hru[var].values: + for data in list: + verified_data.append(data) + + for list in hru_to_compare[var].values: + for data in list: + to_verify_data.append(data) + + else: + # 1D output case + for data in verified_hru[var].values: + verified_data.append(data) + + for data in hru_to_compare[var].values: + to_verify_data.append(data) + + + # check length + if len(verified_data) != len(to_verify_data): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_data)) + print(" hru_to_compare = ", len(to_verify_data)) + + # check values + for elem in range(0, len(verified_data)): + if verified_data[elem] != to_verify_data[elem]: + print("variable -",var, "has different values at", elem) + print(" verified_hru = ", verified_data[elem]) + print(" hru_to_compare = ", to_verify_data[elem]) + break + + except TypeError: + print("variable - ", var, "Cannot be compared with len") + print(" verified_hru = ",verified_hru[var].values) + print(" hru_to_compare = ", hru_to_compare[var].values) + + +numHRU = 1 + +time = "time" +nSnow = "nSnow" +nSoil = "nSoil" +nLayers = "nLayers" +mLayerHeight = "mLayerHeight" +iLayerLiqFluxSoil = "iLayerLiqFluxSoil" +mLayerDepth = "mLayerDepth" +mLayerVolFracIce = "mLayerVolFracIce" +mLayerVolFracLiq = "mLayerVolFracLiq" +mLayerMatricHead = "mLayerMatricHead" +mLayerTranspire = "mLayerTranspire" +mLayerBaseflow = "mLayerBaseflow" +mLayerCompress = "mLayerCompress" +iLayerNrgFlux = "iLayerNrgFlux" +basin__TotalArea = "basin__TotalArea" +scalarGroundEvaporation = "scalarGroundEvaporation" +scalarSoilBaseflow = "scalarSoilBaseflow" +scalarSoilDrainage = "scalarSoilDrainage" +scalarInfiltration = "scalarInfiltration" +scalarSnowDrainage = "scalarSnowDrainage" +scalarSnowSublimation = "scalarSnowSublimation" +scalarThroughfallRain = "scalarThroughfallRain" +scalarThroughfallSnow = "scalarThroughfallSnow" +scalarRainfall = "scalarRainfall" +scalarSnowfall = "scalarSnowfall" +scalarRainPlusMelt = "scalarRainPlusMelt" +pptrate = "pptrate" +averageRoutedRunoff = "averageRoutedRunoff" +scalarSWE = "scalarSWE" +fieldCapacity = "fieldCapacity" + +output_variables = [time, nSnow, nSoil, nLayers, mLayerHeight, iLayerLiqFluxSoil, \ + mLayerDepth, mLayerVolFracIce, mLayerVolFracLiq, mLayerMatricHead, mLayerTranspire, \ + mLayerBaseflow, mLayerCompress, iLayerNrgFlux, basin__TotalArea, scalarGroundEvaporation, \ + scalarSoilBaseflow, scalarSoilDrainage, scalarInfiltration, scalarSnowDrainage, \ + scalarSnowSublimation, scalarThroughfallRain, scalarThroughfallSnow, scalarRainfall, \ + scalarSnowfall, scalarRainPlusMelt, pptrate, averageRoutedRunoff, \ + scalarSWE, fieldCapacity] + +verified_data_path = Path("./verification_data/millerClay_G1-1_timestep.nc") +data_to_compare_path = Path("./output/millerClayGRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +verified_data_path = Path("./verification_data/millerLoam_G1-1_timestep.nc") +data_to_compare_path = Path("./output/millerLoamGRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +# verified_data_path = Path("./verification_data/millerSand_G1-1_timestep.nc") +# data_to_compare_path = Path("./output/millerSandGRU1-1_timestep.nc") +# verify(verified_data_path, data_to_compare_path, output_variables, numHRU) \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/config/Summa_Actors_Settings.json b/utils/laugh_tests/mizoguchi1990/config/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..7ebcd5557fbe5bb71ecee0dee16b3b3547d1fbd9 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/config/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_mizoguchi.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.nc b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..d305f9a47f794cab26569546f48c16a9d6a825bf Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.pro b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.pro new file mode 100644 index 0000000000000000000000000000000000000000..d56c2c6e4733734ff6da584671821ea6fd963552 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_forcing.pro @@ -0,0 +1,94 @@ +pro mizoguchi_forcing + +; define constants +Tfreeze = 273.16d + +; define parameters +dt = 60.d ; (time step) + +; define plotting parameters +window, 0, xs=1000, ys=1000, retain=2 +device, decomposed=0 +LOADCT, 39 +!P.BACKGROUND=255 +!P.CHARSIZE=2.5 +!P.COLOR=0 +erase, color=255 +!P.MULTI=[0,1,4] + +; define the number of days +ndays = 3 + +; define the number of time steps per hour +nprhr = 3600.d/dt + +; define the number of steps per day +nprdy = 86400.d/dt + +; define the number of time steps +ntime = ndays*nprdy + +; define time in seconds +stime = (dindgen(ntime)+1.d)*dt + +; define time in hours +htime = stime/3600. + +; define maximum radiation +rdmax = 250.d + +; define the dayln parameter +dayln = -0.1 + +; define radiation index +radix = cos(2.d*!pi * (htime/24.d) + !pi) + dayln + +; define radiation +swrad = replicate(0.d, ntime) ;radix*(rdmax / (1.+dayln)) + +; set negative radiation to zero +ibad = where(swrad le 0.d, nbad) +if (nbad gt 0) then swrad[ibad] = 0.d + +; make a base plot for solar radiation +plot, htime, xrange=[0,ntime/nprhr], yrange=[0,1000], xstyle=9, ystyle=1, $ + ytitle = 'Solar radiation (W m!e-2!n)', xmargin=[10,10], ymargin=[3,2], $ + xticks=6, /nodata +plots, [htime[0],htime[ntime-1]], [ 0, 0] +plots, [htime[0],htime[ntime-1]], [250,250] + +plots, [24,24], [0,250] +plots, [48,48], [0,250] + +oplot, htime, swrad + +; define other forcing variables +lwrad = 275.d +awind = 0.d +atemp = Tfreeze - 6.d +sphum = 1.d-3 +apres = 101325.d + +; define precipitation +aprcp = replicate(0.d, ntime) + +; define time +atime = stime/86400.d + julday(1,1,2000,0,0,0.d) + +; make a forcing file +openw, out_unit, 'mizoguchi_forcing.txt', /get_lun + +for itime=0,ntime-1 do begin + ; define date + caldat, atime[itime], im, id, iyyy, ih, imi, dsec + ; print synthetic "data" + printf, out_unit, iyyy, im, id, ih, imi, dsec, aprcp[itime], swrad[itime], lwrad, atemp, awind, apres, sphum, $ + format='(i4,1x,4(i2,1x),f6.1,1x,e14.4,1x,5(f10.3,1x),e12.3)' +endfor + +; free up file unit +free_lun, out_unit + + +stop +end diff --git a/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_icond.pro b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_icond.pro new file mode 100644 index 0000000000000000000000000000000000000000..2915ccaed5e2d0b8bfe7a5a89d6f490c2e9b75b5 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/forcing_data/mizoguchi_icond.pro @@ -0,0 +1,146 @@ +pro mizoguchi_icond + +; used to create initial conditions for the synthetic test case + +; define vGn parameters (used to compute volumetric liquid water content) +alpha = -1.11d ; m-1 (0.00111 mm-1) +n = 1.48d +m = 1.d - 1.d/n +theta_sat = 0.535d +theta_res = 0.050d +k_sat = 0.0000032d +f_impede = -7.d + +; define freezing point +Tfreeze = 273.16d + +; define the number of nodes +nodes = 20 + +; define soil depth (m) +zsoil = 0.2d + +; define layer thickness +z_lay = zsoil/double(nodes) + +; define vertical grid (m) -- positive downward +z_dep = (dindgen(nodes+1)/double(nodes))*zsoil + +; define the mid-point of each layer +z_m = (z_dep[0:nodes-1] + z_dep[1:nodes])/2.d + +; define the layer thickness +z_i = z_dep[1:nodes] - z_dep[0:nodes-1] + +; define soil temperature +ztemp = replicate(6.7d + Tfreeze, nodes) + +; define volumetric liquid water content (-) +ztheta = replicate(0.33d, nodes) +zpress = dblarr(nodes) + +; loop through layers and compute the matric head (m) +for ilayer=0,nodes-1 do begin + zpress[iLayer] = call_function('matricHead',zTheta[iLayer],theta_res,theta_sat,alpha,n,m) +endfor + +; write data to file +openw, out_unit, 'mizoguchi_icond.txt', /get_lun + + ; write out soil data + for ilayer=0,nodes-1 do begin + printf, out_unit, 'soil', z_m[ilayer]-0.5d*z_i[ilayer], z_i[ilayer], $ + ztemp[ilayer], 0.d, zTheta[ilayer], zPress[ilayer], $ + format='(a10,1x,2(f12.7,1x),f10.3,1x,f17.6,1x,f16.6,1x,f16.6)' + endfor + +free_lun, out_unit + + +stop +end + + + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function matricHead, theta, theta_res, theta_sat, alpha, n, m + ; compute matric head given theta and soil parameters theta_sat, theta_res, k_sat, alpha, n, and m + return, (1.d/alpha)*( ( (theta - theta_res) / (theta_sat - theta_res) )^(-1.d/m) - 1.d)^(1.d/n) +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function k_psi, psi, alpha, k_sat, n, m + +; computes hydraulic conductivity given psi and soil hydraulic parameters alpha, k_sat, n, and m +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; k_sat = saturated hydraulic conductivity (m s-1) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = k_sat * $ + ( ( (1.d - (psi[ineg]*alpha)^(n-1.d) * (1.d + (psi[ineg]*alpha)^n)^(-m))^2.d ) / ( (1.d + (psi[ineg]*alpha)^n)^(m/2.d) ) ) +if (npos gt 0) then work[ipos] = k_sat + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function theta, psi, alpha, theta_res, theta_sat, n, m + +; computes volumetric water content based on psi and soil hydraulic parameters alpha, n, and m + +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; theta_res = residual volumetric water content (-) +; theta_sat = porosity (-) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = theta_res + (theta_sat - theta_res)*(1.d + (alpha*psi[ineg])^n)^(-m) +if (npos gt 0) then work[ipos] = theta_sat + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function dTheta_dPsi, psi, alpha, theta_res, theta_sat, n, m + +; computes the soil moisture capacity function, dTheta_dPsi (m-1) + +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; theta_res = residual volumetric water content (-) +; theta_sat = porosity (-) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = (theta_sat-theta_res) * $ + (-m*(1.d + (psi[ineg]*alpha)^n)^(-m-1.d)) * n*(psi[ineg]*alpha)^(n-1.d) * alpha +if (npos gt 0) then work[ipos] = 0.d + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** diff --git a/utils/laugh_tests/mizoguchi1990/output/mizoguchi1990GRU1-1_timestep.nc b/utils/laugh_tests/mizoguchi1990/output/mizoguchi1990GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..80d2ac17f8e003d6c6e59a7d165dd59cec28c438 Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/output/mizoguchi1990GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/output/runinfo.txt b/utils/laugh_tests/mizoguchi1990/output/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..d5b2cc535df346aa6e49a312a33c75f5b4aa5615 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/output/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=19 - mi=08 - ss=32.417 diff --git a/utils/laugh_tests/mizoguchi1990/run_test_summa.sh b/utils/laugh_tests/mizoguchi1990/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..2fa83eb73993c0c92fc2bdac3823ffd79211e2dd --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/run_test_summa.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_verify_mizoguchi.txt \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/run_test_summa_actors.sh b/utils/laugh_tests/mizoguchi1990/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..3334a9bfb01816ba7e9520fd0fe36faa44259177 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/run_test_summa_actors.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/mizoguchi1990/config \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/settings/GENPARM.TBL b/utils/laugh_tests/mizoguchi1990/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/mizoguchi1990/settings/MPTABLE.TBL b/utils/laugh_tests/mizoguchi1990/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/mizoguchi1990/settings/Model_Output.txt b/utils/laugh_tests/mizoguchi1990/settings/Model_Output.txt new file mode 100644 index 0000000000000000000000000000000000000000..19ed37469f9d3860b3414756a551cb850ab9955b --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/Model_Output.txt @@ -0,0 +1,34 @@ +! --------- +! model variables +! --------- +time | 1 +nSnow | 1 +nSoil | 1 +nLayers | 1 +mLayerHeight | 1 +iLayerLiqFluxSoil | 1 +mLayerDepth | 1 +mLayerVolFracIce | 1 +mLayerVolFracLiq | 1 +mLayerMatricHead | 1 +mLayerTranspire | 1 +mLayerBaseflow | 1 +mLayerCompress | 1 +iLayerNrgFlux | 1 +basin__TotalArea | 1 +scalarGroundEvaporation | 1 +scalarSoilBaseflow | 1 +scalarSoilDrainage | 1 +scalarInfiltration | 1 +scalarSnowDrainage | 1 +scalarSnowSublimation | 1 +scalarThroughfallRain | 1 +scalarThroughfallSnow | 1 +scalarRainfall | 1 +scalarSnowfall | 1 +scalarRainPlusMelt | 1 +fieldCapacity | 1 +pptrate | 1 +averageRoutedRunoff | 1 +scalarSWE | 1 +fieldCapacity | 1 diff --git a/utils/laugh_tests/mizoguchi1990/settings/SOILPARM.TBL b/utils/laugh_tests/mizoguchi1990/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/mizoguchi1990/settings/VEGPARM.TBL b/utils/laugh_tests/mizoguchi1990/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_mizoguchi.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_mizoguchi.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f220a316ee3c053e860e62697095bffa265b321 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_mizoguchi.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:01' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '2000-01-01' +decisionsFile 'summa_zDecisions_mizoguchi.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_mizoguchi.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_mizoguchi.nc' ! initial_cond +outFilePrefix 'mizoguchi1990' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_verify_mizoguchi.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_verify_mizoguchi.txt new file mode 100644 index 0000000000000000000000000000000000000000..69517be0971ed8e23b1db287b8b118c6ca9596e6 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_fileManager_verify_mizoguchi.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 00:01' ! +simEndTime '2000-01-03 12:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/mizoguchi1990/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_mizoguchi.txt' ! decision +outputControlFile 'Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_mizoguchi.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_mizoguchi.nc' ! initial_cond +outFilePrefix 'mizoguchi1990' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zDecisions_mizoguchi.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_zDecisions_mizoguchi.txt new file mode 100644 index 0000000000000000000000000000000000000000..32ebccac5a0c549881def40f2c71c35b005c1652 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_zDecisions_mizoguchi.txt @@ -0,0 +1,168 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method monTable ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr noXplict ! (11) choice of groundwater parameterization +hc_profile constant ! (12) choice of hydraulic conductivity profile +bcUpprTdyn presTemp ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH liq_flux ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH zeroFlux ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis difTrans ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers jrdn1991 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow jrdn1991 ! (26) choice of thermal conductivity representation for snow +thCondSoil hanssonVZJ ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1988 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:18 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/mizoguchi1990/summa_fileManager_mizoguchi.txt diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingFileList.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..54cd59448427e605213d73854a4b8e61e3095756 --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'mizoguchi_forcing.nc' diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingInfo_mizoguchi.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingInfo_mizoguchi.txt new file mode 100644 index 0000000000000000000000000000000000000000..268d17423c5d9a2f5dd828010d30fbc7426b60bd --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_zForcingInfo_mizoguchi.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | mizoguchi_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 60 ! length of time step (seconds) diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zInitialCond_mizoguchi.nc b/utils/laugh_tests/mizoguchi1990/settings/summa_zInitialCond_mizoguchi.nc new file mode 100644 index 0000000000000000000000000000000000000000..2ff2e3ffc4b70f3d8993cb916c0a900e504f4329 Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/settings/summa_zInitialCond_mizoguchi.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..2909cb14bbbb1eaae1398976dacd601d039143af Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ce9d46a0120e95c9d49733d3e534e0e92ededac --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | -0.7500 | -100.0000 | -0.0100 +lowerBoundHead | 0.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.1600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0400 | 0.0100 | 0.1000 +k_snow | 0.1979 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 1.0000 | 0.0100 | 3.0000 +summerLAI | 3.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 0.1000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.0750 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 20.0000 | 0.0500 | 100.0000 +heightCanopyBottom | 2.0000 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 10.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 0.0000 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 28.0000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.2000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.4010 | 0.3000 | 0.6000 +theta_sat | 0.5500 | 0.3000 | 0.6000 +theta_res | 0.1390 | 0.0010 | 0.1000 +vGn_alpha | -0.8400 | -1.0000 | -0.0100 +vGn_n | 1.3000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 7.5d-06 | 1.d-07 | 100.d-07 +k_macropore | 1.0d-03 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 2.5000 | 0.1000 | 100.0000 +compactedDepth | 1.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 50.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-09 | 1.d-05 | 1.d-07 +f_impede | 2.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 1.0000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 20.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-6 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-6 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:18 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/mizoguchi1990/summa_fileManager_mizoguchi.txt \ No newline at end of file diff --git a/utils/laugh_tests/mizoguchi1990/settings/summa_zParamTrial_mizoguchi.nc b/utils/laugh_tests/mizoguchi1990/settings/summa_zParamTrial_mizoguchi.nc new file mode 100644 index 0000000000000000000000000000000000000000..0fd038b542c8c656ca15554a1b65cf8f1f18063f Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/settings/summa_zParamTrial_mizoguchi.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/verification_data/mizoguchi1990_G1-1_timestep.nc b/utils/laugh_tests/mizoguchi1990/verification_data/mizoguchi1990_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..4d093bfd5df8ed7896fc35dc10852885bc3a5906 Binary files /dev/null and b/utils/laugh_tests/mizoguchi1990/verification_data/mizoguchi1990_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/mizoguchi1990/verification_data/runinfo.txt b/utils/laugh_tests/mizoguchi1990/verification_data/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..5cb0c6864c9416849bb5eb3648b44940ab387d6b --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/verification_data/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=19 - mi=08 - ss=48.977 diff --git a/utils/laugh_tests/mizoguchi1990/verify_mizoguchi.py b/utils/laugh_tests/mizoguchi1990/verify_mizoguchi.py new file mode 100644 index 0000000000000000000000000000000000000000..738119a37751c662d0193ae9c617edd256815f7e --- /dev/null +++ b/utils/laugh_tests/mizoguchi1990/verify_mizoguchi.py @@ -0,0 +1,112 @@ +from os import listdir +from os.path import isfile, join +from pathlib import Path +import xarray as xr +import numpy as np + + +def verify(verified_data_path, data_to_compare_path, output_variables, numHRU): + try: + verified_dataset = xr.open_dataset(verified_data_path) + to_compare_dataset = xr.open_dataset(data_to_compare_path) + except FileNotFoundError: + print("Check the variables \'verified_data_path\' and \'data_to_compare_path\'. They may not point to the correct output files or the output filenames may have changed.") + exit() + + # Get the HRUs from the dataset into a list + for iHRU in range(0, numHRU): + verified_hru = verified_dataset.isel(hru=iHRU).copy() + hru_to_compare = to_compare_dataset.isel(hru=iHRU).copy() + + for var in output_variables: + try: + if len(verified_hru[var].values) != len(hru_to_compare[var].values): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_hru[var].values)) + print(" hru_to_compare = ", len(hru_to_compare[var].values)) + + verified_data = [] + to_verify_data = [] + if (verified_hru[var].values.ndim > 1): + # 2D output case + for list in verified_hru[var].values: + for data in list: + verified_data.append(data) + + for list in hru_to_compare[var].values: + for data in list: + to_verify_data.append(data) + + else: + # 1D output case + for data in verified_hru[var].values: + verified_data.append(data) + + for data in hru_to_compare[var].values: + to_verify_data.append(data) + + + # check length + if len(verified_data) != len(to_verify_data): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_data)) + print(" hru_to_compare = ", len(to_verify_data)) + + # check values + for elem in range(0, len(verified_data)): + if verified_data[elem] != to_verify_data[elem]: + print("variable -",var, "has different values at", elem) + print(" verified_hru = ", verified_data[elem]) + print(" hru_to_compare = ", to_verify_data[elem]) + break + + except TypeError: + print("variable - ", var, "Cannot be compared with len") + print(" verified_hru = ",verified_hru[var].values) + print(" hru_to_compare = ", hru_to_compare[var].values) + + +numHRU = 1 + +time = "time" +nSnow = "nSnow" +nSoil = "nSoil" +nLayers = "nLayers" +mLayerHeight = "mLayerHeight" +iLayerLiqFluxSoil = "iLayerLiqFluxSoil" +mLayerDepth = "mLayerDepth" +mLayerVolFracIce = "mLayerVolFracIce" +mLayerVolFracLiq = "mLayerVolFracLiq" +mLayerMatricHead = "mLayerMatricHead" +mLayerTranspire = "mLayerTranspire" +mLayerBaseflow = "mLayerBaseflow" +mLayerCompress = "mLayerCompress" +iLayerNrgFlux = "iLayerNrgFlux" +basin__TotalArea = "basin__TotalArea" +scalarGroundEvaporation = "scalarGroundEvaporation" +scalarSoilBaseflow = "scalarSoilBaseflow" +scalarSoilDrainage = "scalarSoilDrainage" +scalarInfiltration = "scalarInfiltration" +scalarSnowDrainage = "scalarSnowDrainage" +scalarSnowSublimation = "scalarSnowSublimation" +scalarThroughfallRain = "scalarThroughfallRain" +scalarThroughfallSnow = "scalarThroughfallSnow" +scalarRainfall = "scalarRainfall" +scalarSnowfall = "scalarSnowfall" +scalarRainPlusMelt = "scalarRainPlusMelt" +pptrate = "pptrate" +averageRoutedRunoff = "averageRoutedRunoff" +scalarSWE = "scalarSWE" +fieldCapacity = "fieldCapacity" + +output_variables = [time, nSnow, nSoil, nLayers, mLayerHeight, iLayerLiqFluxSoil, \ + mLayerDepth, mLayerVolFracIce, mLayerVolFracLiq, mLayerMatricHead, mLayerTranspire, \ + mLayerBaseflow, mLayerCompress, iLayerNrgFlux, basin__TotalArea, scalarGroundEvaporation, \ + scalarSoilBaseflow, scalarSoilDrainage, scalarInfiltration, scalarSnowDrainage, \ + scalarSnowSublimation, scalarThroughfallRain, scalarThroughfallSnow, scalarRainfall, \ + scalarSnowfall, scalarRainPlusMelt, pptrate, averageRoutedRunoff, \ + scalarSWE, fieldCapacity] + +verified_data_path = Path("./verification_data/mizoguchi1990_G1-1_timestep.nc") +data_to_compare_path = Path("./output/mizoguchi1990GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/config/exp1/Summa_Actors_Settings.json b/utils/laugh_tests/vanderborght2005/config/exp1/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..ffded0d780cf2e769d791e5e4ea6fbc5e80d672b --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/config/exp1/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp1.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/config/exp2/Summa_Actors_Settings.json b/utils/laugh_tests/vanderborght2005/config/exp2/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..02070005214c2425b46f389847b08b5c5b196f1b --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/config/exp2/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp2.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/config/exp3/Summa_Actors_Settings.json b/utils/laugh_tests/vanderborght2005/config/exp3/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..32e926578fc8e95c832cdc400c2e3d7ac1c76633 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/config/exp3/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp3.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/forcing_data/vanderborght2005_forcing.nc b/utils/laugh_tests/vanderborght2005/forcing_data/vanderborght2005_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..c9d016e5d7e44c240f8982338c7c4a09714a5e0e Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/forcing_data/vanderborght2005_forcing.nc differ diff --git a/utils/laugh_tests/vanderborght2005/output/runinfo.txt b/utils/laugh_tests/vanderborght2005/output/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..fdd94f435172d545130027b4588888294a90c698 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/output/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=19 - mi=26 - ss=57.317 diff --git a/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp1GRU1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp1GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..389efb9d6fdd3efa2fce4c47f99dbb34e9164bbf Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp1GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp2GRU1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp2GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..9ed72de5cbe91cc37bbea9af33127f011e576243 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp2GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp3GRU1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp3GRU1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..06a160724b61e8833821c158c2d00e720e21db49 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/output/vanderborght2005_exp3GRU1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/run_test_summa.sh b/utils/laugh_tests/vanderborght2005/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..afdec1fddfbb3ac82ee20da754ae290f2ee64782 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/run_test_summa.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp1.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp2.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp3.txt \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/run_test_summa_actors.sh b/utils/laugh_tests/vanderborght2005/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..632f2091eb64db4bd2c9758f4cd88002441ec98a --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/run_test_summa_actors.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/vanderborght2005/config/exp1 +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/vanderborght2005/config/exp2 +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/vanderborght2005/config/exp3 \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/GENPARM.TBL b/utils/laugh_tests/vanderborght2005/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/vanderborght2005/settings/MPTABLE.TBL b/utils/laugh_tests/vanderborght2005/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/vanderborght2005/settings/Model_Output.txt b/utils/laugh_tests/vanderborght2005/settings/Model_Output.txt new file mode 100644 index 0000000000000000000000000000000000000000..d27936ba2357ecbd9a594ab0b9dcca44917333ff --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/Model_Output.txt @@ -0,0 +1,40 @@ +! --------- +! model variables +! --------- +nSnow | 1 +nSoil | 1 +pptrate | 1 +airtemp | 1 +scalarRainPlusMelt | 1 +scalarSWE | 1 +scalarThroughfallSnow | 1 +scalarThroughfallRain | 1 +scalarSnowSublimation | 1 +scalarInfiltration | 1 +scalarExfiltration | 1 +scalarSurfaceRunoff | 1 +scalarSurfaceTemp | 1 +scalarSenHeatTotal | 1 +scalarLatHeatTotal | 1 +mLayerHeight | 1 +iLayerHeight | 1 +iLayerLiqFluxSoil | 1 +mLayerTemp | 1 +mLayerDepth | 1 +mLayerLiqFluxSoil | 1 +mLayerVolFracIce | 1 +mLayerVolFracLiq | 1 +mLayerVolFracWat | 1 +mLayerMatricHead | 1 +basin__TotalArea | 1 +basin__SurfaceRunoff | 1 +basin__ColumnOutflow | 1 +basin__AquiferStorage | 1 +basin__AquiferRecharge | 1 +basin__AquiferBaseflow | 1 +basin__AquiferTranspire | 1 +averageInstantRunoff | 1 +averageRoutedRunoff | 1 +fieldCapacity | 1 +scalarLAI | 1 +scalarSAI | 1 diff --git a/utils/laugh_tests/vanderborght2005/settings/SOILPARM.TBL b/utils/laugh_tests/vanderborght2005/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/vanderborght2005/settings/VEGPARM.TBL b/utils/laugh_tests/vanderborght2005/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp1.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp1.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc9df573e90b6a5691fb24618a620dd82d262011 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp1.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp1.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp1' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp2.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp2.txt new file mode 100644 index 0000000000000000000000000000000000000000..95d7d4ce7ea59822d000c65cfcfd50b5df5e137e --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp2.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp2.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp2' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp3.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp3.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0ef7a680830413df0c824370fca27b35393acb4 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_vanderborght2005_exp3.txt @@ -0,0 +1,22 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/output/' ! output_path +forcingFreq 'month' ! the frequeny of forcing files (month, year) +forcingStart '1990-01-01' +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp3.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp3' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp1.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp1.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a62a876978d4834839e90d158b3a4c9fff35366 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp1.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp1.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp1' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp2.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp2.txt new file mode 100644 index 0000000000000000000000000000000000000000..6491b089bdfdbdd1a0546ca767b88eac3271b25b --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp2.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp2.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp2' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp3.txt b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp3.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c6bbe1aec9d3fb4685529d20673c7fdbf4c5508 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_fileManager_verify_vanderborght2005_exp3.txt @@ -0,0 +1,20 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '1990-01-01 00:00' ! +simEndTime '1990-01-01 01:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/settings/' ! setting_path +forcingPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/forcing_data/' ! input_path +outputPath '/Summa-Actors/utils/laugh_tests/vanderborght2005/verification_data/' ! output_path +decisionsFile 'summa_zDecisions_vanderborght2005.txt' ! decision +outputControlFile 'Model_Output.txt' ! ouput_file +globalHruParamFile 'summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'summa_zParamTrial_vanderborght2005_exp3.nc' ! para_trial +forcingListFile 'summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'summa_zInitialCond_vanderborght2005.nc' ! initial_cond +outFilePrefix 'vanderborght2005_exp3' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/vanderborght2005/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zDecisions_vanderborght2005.txt b/utils/laugh_tests/vanderborght2005/settings/summa_zDecisions_vanderborght2005.txt new file mode 100644 index 0000000000000000000000000000000000000000..6d50dc7f44b4b52a93dc23ff7a0e971910cb467e --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_zDecisions_vanderborght2005.txt @@ -0,0 +1,170 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method monTable ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr noXplict ! (11) choice of groundwater parameterization +hc_profile constant ! (12) choice of hydraulic conductivity profile +bcUpprTdyn zeroFlux ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH liq_flux ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH drainage ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis difTrans ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers CLM_2010 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow jrdn1991 ! (26) choice of thermal conductivity representation for snow +thCondSoil mixConstit ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1998 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp1.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp2.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp3.txt diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zForcingFileList.txt b/utils/laugh_tests/vanderborght2005/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..449994a2c271f68eab1f4430eb769ec08e16e1f2 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'vanderborght2005_forcing.nc' \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zForcingInfo_vanderborght2005.txt b/utils/laugh_tests/vanderborght2005/settings/summa_zForcingInfo_vanderborght2005.txt new file mode 100644 index 0000000000000000000000000000000000000000..6163dd00baaa63551343468719b645529ad92479 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_zForcingInfo_vanderborght2005.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | celia1990_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 1800 ! length of time step (seconds) diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zInitialCond_vanderborght2005.nc b/utils/laugh_tests/vanderborght2005/settings/summa_zInitialCond_vanderborght2005.nc new file mode 100644 index 0000000000000000000000000000000000000000..c7f98a1926eb620c1e93e39efc21ee1f1177903f Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/settings/summa_zInitialCond_vanderborght2005.nc differ diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/vanderborght2005/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..f9f04385edc2e453fa0a7df385ac1a1fe9c991d1 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/vanderborght2005/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..5f716d75d7b89700b973fcb3d121513883ab4d92 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | -0.7500 | -100.0000 | -0.0100 +lowerBoundHead | -10.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.1600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0600 | 0.0100 | 0.1000 +k_snow | 0.0150 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 1.0000 | 0.0100 | 3.0000 +summerLAI | 3.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 0.5000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.0750 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 20.0000 | 0.0500 | 100.0000 +heightCanopyBottom | 2.0000 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 10.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 0.0000 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 5.5000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.2000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.4010 | 0.3000 | 0.6000 +theta_sat | 0.5500 | 0.3000 | 0.6000 +theta_res | 0.1390 | 0.0010 | 0.1000 +vGn_alpha | -0.8400 | -1.0000 | -0.0100 +vGn_n | 1.3000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 7.5d-06 | 1.d-07 | 100.d-07 +k_macropore | 1.0d-03 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 2.5000 | 0.1000 | 100.0000 +compactedDepth | 1.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 50.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-09 | 1.d-05 | 1.d-07 +f_impede | 2.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 1.0000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 100.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-6 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-6 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp1.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp2.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/vanderborght2005/summa_fileManager_vanderborght2005_exp3.txt \ No newline at end of file diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp1.nc b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp1.nc new file mode 100644 index 0000000000000000000000000000000000000000..03884900e57967574005d2c8ad9f3654f6d28a22 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp1.nc differ diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp2.nc b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp2.nc new file mode 100644 index 0000000000000000000000000000000000000000..24168048fb4fc80caa1fbfc17f61367b87da1d2d Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp2.nc differ diff --git a/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp3.nc b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp3.nc new file mode 100644 index 0000000000000000000000000000000000000000..a7961568d210b5c7e983dde3dd5049c41ee5fd72 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/settings/summa_zParamTrial_vanderborght2005_exp3.nc differ diff --git a/utils/laugh_tests/vanderborght2005/verification_data/runinfo.txt b/utils/laugh_tests/vanderborght2005/verification_data/runinfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..10e395043691fd103d4ac68239f4c0768d68f00f --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/verification_data/runinfo.txt @@ -0,0 +1 @@ + Run start time on system: ccyy=2022 - mm=08 - dd=16 - hh=19 - mi=29 - ss=48.969 diff --git a/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp1_G1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp1_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..12092bcbc3c3c44661bfaee121ab38d412ac58ba Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp1_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp2_G1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp2_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..bf0d8df63e5154522394c43bd4c8b22317f82ca2 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp2_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp3_G1-1_timestep.nc b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp3_G1-1_timestep.nc new file mode 100644 index 0000000000000000000000000000000000000000..13cf977cc83ad4ddde41d01206abd8ee0f310842 Binary files /dev/null and b/utils/laugh_tests/vanderborght2005/verification_data/vanderborght2005_exp3_G1-1_timestep.nc differ diff --git a/utils/laugh_tests/vanderborght2005/verify_vanderborght.py b/utils/laugh_tests/vanderborght2005/verify_vanderborght.py new file mode 100644 index 0000000000000000000000000000000000000000..b9d1104d9a473ccfc1f15322366f609f42b6d104 --- /dev/null +++ b/utils/laugh_tests/vanderborght2005/verify_vanderborght.py @@ -0,0 +1,127 @@ +from os import listdir +from os.path import isfile, join +from pathlib import Path +import xarray as xr +import numpy as np + + +def verify(verified_data_path, data_to_compare_path, output_variables, numHRU): + try: + verified_dataset = xr.open_dataset(verified_data_path) + to_compare_dataset = xr.open_dataset(data_to_compare_path) + except FileNotFoundError: + print("Check the variables \'verified_data_path\' and \'data_to_compare_path\'. They may not point to the correct output files or the output filenames may have changed.") + exit() + + # Get the HRUs from the dataset into a list + for iHRU in range(0, numHRU): + verified_hru = verified_dataset.isel(hru=iHRU).copy() + hru_to_compare = to_compare_dataset.isel(hru=iHRU).copy() + + for var in output_variables: + try: + if len(verified_hru[var].values) != len(hru_to_compare[var].values): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_hru[var].values)) + print(" hru_to_compare = ", len(hru_to_compare[var].values)) + + verified_data = [] + to_verify_data = [] + if (verified_hru[var].values.ndim > 1): + # 2D output case + for list in verified_hru[var].values: + for data in list: + verified_data.append(data) + + for list in hru_to_compare[var].values: + for data in list: + to_verify_data.append(data) + + else: + # 1D output case + for data in verified_hru[var].values: + verified_data.append(data) + + for data in hru_to_compare[var].values: + to_verify_data.append(data) + + + # check length + if len(verified_data) != len(to_verify_data): + print("ERROR: output variable", var, "does not contain the same amount of data") + print(" verified_hru = ", len(verified_data)) + print(" hru_to_compare = ", len(to_verify_data)) + + # check values + for elem in range(0, len(verified_data)): + if verified_data[elem] != to_verify_data[elem]: + print("variable -",var, "has different values at", elem) + print(" verified_hru = ", verified_data[elem]) + print(" hru_to_compare = ", to_verify_data[elem]) + break + + except TypeError: + print("variable - ", var, "Cannot be compared with len") + print(" verified_hru = ",verified_hru[var].values) + print(" hru_to_compare = ", hru_to_compare[var].values) + + +numHRU = 1 + +nSnow = "nSnow" +nSoil = "nSoil" +pptrate = "pptrate" +airtemp = "airtemp" +scalarRainPlusMelt = "scalarRainPlusMelt" +scalarSWE = "scalarSWE" +scalarThroughfallSnow = "scalarThroughfallSnow" +scalarThroughfallRain = "scalarThroughfallRain" +scalarSnowSublimation = "scalarSnowSublimation" +scalarInfiltration = "scalarInfiltration" +scalarExfiltration = "scalarExfiltration" +scalarSurfaceRunoff = "scalarSurfaceRunoff" +scalarSurfaceTemp = "scalarSurfaceTemp" +scalarSenHeatTotal = "scalarSenHeatTotal" +scalarLatHeatTotal = "scalarLatHeatTotal" +mLayerHeight = "mLayerHeight" +iLayerHeight = "iLayerHeight" +iLayerLiqFluxSoil = "iLayerLiqFluxSoil" +mLayerTemp = "mLayerTemp" +mLayerDepth = "mLayerDepth" +mLayerLiqFluxSoil = "mLayerLiqFluxSoil" +mLayerVolFracIce = "mLayerVolFracIce" +mLayerVolFracLiq = "mLayerVolFracLiq" +mLayerVolFracWat = "mLayerVolFracWat" +mLayerMatricHead = "mLayerMatricHead" +basin__TotalArea = "basin__TotalArea" +basin__SurfaceRunoff = "basin__SurfaceRunoff" +basin__ColumnOutflow = "basin__ColumnOutflow" +basin__AquiferStorage = "basin__AquiferStorage" +basin__AquiferRecharge = "basin__AquiferRecharge" +basin__AquiferBaseflow = "basin__AquiferBaseflow" +basin__AquiferTranspire = "basin__AquiferTranspire" +averageInstantRunoff = "averageInstantRunoff" +averageRoutedRunoff = "averageRoutedRunoff" +fieldCapacity = "fieldCapacity" +scalarLAI = "scalarLAI" +scalarSAI = "scalarSAI" + +output_variables = [nSnow,nSoil,pptrate,airtemp,scalarRainPlusMelt,scalarSWE,scalarThroughfallSnow, \ + scalarThroughfallRain,scalarSnowSublimation,scalarInfiltration,scalarExfiltration,scalarSurfaceRunoff, \ + scalarSurfaceTemp,scalarSenHeatTotal,scalarLatHeatTotal,mLayerHeight,iLayerHeight,iLayerLiqFluxSoil, \ + mLayerTemp,mLayerDepth,mLayerLiqFluxSoil,mLayerVolFracIce,mLayerVolFracLiq,mLayerVolFracWat, \ + mLayerMatricHead,basin__TotalArea,basin__SurfaceRunoff,basin__ColumnOutflow,basin__AquiferStorage, \ + basin__AquiferRecharge,basin__AquiferBaseflow,basin__AquiferTranspire,averageInstantRunoff, \ + averageRoutedRunoff,fieldCapacity,scalarLAI,scalarSAI] + +verified_data_path = Path("./verification_data/vanderborght2005_exp1_G1-1_timestep.nc") +data_to_compare_path = Path("./output/vanderborght2005_exp1GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +verified_data_path = Path("./verification_data/vanderborght2005_exp2_G1-1_timestep.nc") +data_to_compare_path = Path("./output/vanderborght2005_exp2GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) + +verified_data_path = Path("./verification_data/vanderborght2005_exp3_G1-1_timestep.nc") +data_to_compare_path = Path("./output/vanderborght2005_exp3GRU1-1_timestep.nc") +verify(verified_data_path, data_to_compare_path, output_variables, numHRU) \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/config/Summa_Actors_Settings.json b/utils/laugh_tests/wigmosta1999/config/Summa_Actors_Settings.json new file mode 100644 index 0000000000000000000000000000000000000000..85d67e14de7697397209c43e31815cf2312ce5a5 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/config/Summa_Actors_Settings.json @@ -0,0 +1,32 @@ +{ + "DistributedSettings": { + "distributed-mode": false, + "host": "localhost", + "port": 4444 + }, + + "SimulationSettings": { + "total_hru_count": 100000, + "num_hru_per_batch": 500 + }, + + "SummaActor": { + "OuputStructureSize": 250, + "maxGRUPerJob": 250 + }, + + "FileAccessActor": { + "num_vectors_in_output_manager": 1 + }, + + "JobActor": { + "FileManagerPath": "/gladwell/kck540/SummaActorsSettings/fileManager.txt", + "outputCSV": false, + "csvPath": "/scratch/kck540/csv/" + }, + + "HRUActor": { + "printOutput": true, + "outputFrequency": 1 + } +} \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/forcing_data/sym.pro b/utils/laugh_tests/wigmosta1999/forcing_data/sym.pro new file mode 100644 index 0000000000000000000000000000000000000000..6f7fb851e8844e4714a47f03cadd46615fb636d5 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/forcing_data/sym.pro @@ -0,0 +1,167 @@ +; $Id: sym.pro,v 1.1.1.1 2012-10-20 16:41:41 mclark Exp $ +;------------------------------------------------------------- +;+ +; NAME: +; SYM +; +; PURPOSE: +; define a standard sequence of plotting symbols +; +; CATEGORY: +; utility +; +; CALLING SEQUENCE: +; PLOT,X,Y,PSYM=SYM(NUMBER) +; +; INPUTS: +; NUMBER -> symbol number +; +; 0 : dot +; 1 : filled circle +; 2 : filled upward triangle +; 3 : filled downward triangle +; 4 : filled diamond +; 5 : filled square +; 6 : open circle +; 7 : open upward triangle +; 8 : open downward triangle +; 9 : open diamond +; 10 : open square +; 11 : plus +; 12 : X +; 13 : star +; 14 : filled rightfacing triangle +; 15 : filled leftfacing triangle +; 16 : open rightfacing triangle +; 17 : open leftfacing triangle +; +; KEYWORD PARAMETERS: +; +; OUTPUTS: +; function returns the symbol number to be used with PSYM= in the +; PLOT command +; +; SUBROUTINES: +; SHOWSYM : Can be used to produce a symbol chart for reference +; (Type .r sym, then showsym, optionally with the /PS option). +; Extra keywords are passed to PLOTS, so you can e.g. choose +; a fancy color for your chart. +; +; REQUIREMENTS: +; +; NOTES: +; This function produces a side effect in that the USERSYM procedure +; is used to create a symbol definition. It's meant for usage within +; the PLOT, OPLOT, etc. command +; +; EXAMPLE: +; PLOT,X,Y,PSYM=SYM(0),SYMSIZE=3 +; produces a plot with dots (standard symbol 3) +; FOR I=0,17 DO OPLOT,X+1,Y,PSYM=SYM(I),COLOR=I +; overplots 17 curves each with its own symbol +; +; MODIFICATION HISTORY: +; mgs, 22 Aug 1997: VERSION 1.00 +; mgs, 10 Sep 1999: - added SHOWSYM procedure +; +;- +; Copyright (C) 1997, Martin Schultz, Harvard University +; This software is provided as is without any warranty +; whatsoever. It may be freely used, copied or distributed +; for non-commercial purposes. This copyright notice must be +; kept with any copy of this software. If this software shall +; be used commercially or sold as part of a larger package, +; please contact the author to arrange payment. +; Bugs and comments should be directed to mgs@io.harvard.edu +; with subject "IDL routine sym" +;------------------------------------------------------------- + + +pro showsym,ps=ps,_EXTRA=e + +FORWARD_FUNCTION SYM + + + psflag = keyword_set(PS) + if (psflag) then begin + olddev = !D.NAME + set_plot,'PS' + device,/COLOR,bits=8,xsize=8,ysize=5,yoffset=3,/INCHES, $ + filename='symbols.ps' + endif + + plot,findgen(18),/NODATA,xstyle=4,YSTYLE=4 + for i=0,17 do begin + plots,1,18-i,PSYM=SYM(i),_EXTRA=e + xyouts,0.5,18-i-0.2,strtrim(i,2),align=1. + endfor + + if (psflag) then begin + device,/close + set_plot,olddev + print,'Symbollist created as symbols.ps.' + endif + + return +end + +; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +function sym,number + + on_error,2 ; return to caller + + if(n_elements(number) eq 0) then return,1 ; default + + result=8 ; default: return psym=8, i.e. user defined symbol + +; define some help variables for +; circle : + phi=findgen(32)*(!PI*2/32.) + phi = [ phi, phi(0) ] + + case number of + + 0 : result = 3 ; dot + 1 : usersym, cos(phi), sin(phi), /fill + ; filled circle + 2 : usersym, [ -1, 0, 1, -1 ], [ -1, 1, -1, -1 ], /fill + ; filled upward triangle + 3 : usersym, [ -1, 0, 1, -1 ], [ 1, -1, 1, 1 ], /fill + ; filled downward triangle + 4 : usersym, [ 0, 1, 0, -1, 0 ], [ 1, 0, -1, 0, 1 ], /fill + ; filled diamond + 5 : usersym, [ -1, 1, 1, -1, -1 ], [ 1, 1, -1, -1, 1 ], /fill + ; filled square + 6 : usersym, cos(phi), sin(phi) + ; open circle + 7 : usersym, [ -1, 0, 1, -1 ], [ -1, 1, -1, -1 ] + ; open upward triangle + 8 : usersym, [ -1, 0, 1, -1 ], [ 1, -1, 1, 1 ] + ; open downward triangle + 9 : usersym, [ 0, 1, 0, -1, 0 ], [ 1, 0, -1, 0, 1 ] + ; open diamond + 10 : usersym, [ -1, 1, 1, -1, -1 ], [ 1, 1, -1, -1, 1 ] + ; open square + 11 : result = 1 ; plus + 12 : result = 7 ; X + 13 : result = 2 ; star + 14 : usersym, [ -1, 1, -1, -1 ], [1, 0, -1, 1 ], /fill + ; rightfacing triangle, filled + 15 : usersym, [ 1, -1, 1, 1 ], [1, 0, -1, 1 ], /fill + ; leftfacing triangle, filled + 16 : usersym, [ -1, 1, -1, -1 ], [1, 0, -1, 1 ] + ; rightfacing triangle, open + 17 : usersym, [ 1, -1, 1, 1 ], [1, 0, -1, 1 ] + ; leftfacing triangle, open + + else : begin + print,'invalid symbol number - set to 1' + result = 1 + end + + endcase + + return,result +end + diff --git a/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.nc b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.nc new file mode 100644 index 0000000000000000000000000000000000000000..330b9fb6125b3f05a39bfcac3a8f6ec8b9df0b62 Binary files /dev/null and b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.nc differ diff --git a/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.pro b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.pro new file mode 100644 index 0000000000000000000000000000000000000000..2406ea9b05b2f3e95d571f1e228bf13b68ab12e4 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_forcing.pro @@ -0,0 +1,72 @@ +pro wigmosta_forcing + +; define constants +Tfreeze = 273.16d + +; define parameters +dt = 3600.d ; (time step) + +; define plotting parameters +window, 0, xs=1000, ys=1000, retain=2 +device, decomposed=0 +LOADCT, 39 +!P.BACKGROUND=255 +!P.CHARSIZE=2.5 +!P.COLOR=0 +erase, color=255 +!P.MULTI=[0,1,4] + +; define the number of days +ndays = 42 + +; define the number of time steps per hour +nprhr = 3600.d/dt + +; define the number of steps per day +nprdy = 86400.d/dt + +; define the number of time steps +ntime = ndays*nprdy + +; define time in seconds +stime = (dindgen(ntime)+1.d)*dt + +; define time in hours +htime = stime/3600. + +; define forcing variables +swrad = 100.d +lwrad = 350.d +awind = 0.d +sphum = 1.d-3 +apres = 101325.d +atemp = 273.16d + 10.d + +; define precipitation +aPrcp = dblarr(ntime) + +; define the precipitation +iRain = where(htime le 550.d, complement=iDry) +aPrcp[iRain] = 20.d/3600.d ; 20 mm/hour +aPrcp[iDry] = 0.d + +; define time +atime = stime/86400.d + julday(1,1,2000,0,0,0.d) + +; make a forcing file +openw, out_unit, 'wigmosta_forcing-exfiltrate.txt', /get_lun + +for itime=0,ntime-1 do begin + ; define date + caldat, atime[itime], im, id, iyyy, ih, imi, dsec + ; print synthetic "data" + printf, out_unit, iyyy, im, id, ih, imi, dsec, aprcp[itime], swrad, lwrad, atemp, awind, apres, sphum, $ + format='(i4,1x,4(i2,1x),f6.1,1x,e14.6,1x,5(f10.3,1x),e12.3)' +endfor + +; free up file unit +free_lun, out_unit + + +stop +end diff --git a/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_icond.pro b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_icond.pro new file mode 100644 index 0000000000000000000000000000000000000000..8aed5b35228240460680fec0839a2c4254350d1c --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/forcing_data/wigmosta_icond.pro @@ -0,0 +1,127 @@ +pro wigmosta_icond + +; used to create initial conditions for the synthetic test case + +; define vGn parameters (used to compute volumetric liquid water content) +alpha = -0.5d ; m-1 +n = 1.5d +m = 1.d - 1.d/n +theta_sat = 0.35d +theta_res = 0.1d +k_sat = 0.00000075d +f_impede = -15.d + +; define the number of nodes +nodes = 8 + +; define soil depth (m) +zsoil = 1.5d + +; define layer thickness +z_lay = zsoil/double(nodes) + +; define vertical grid (m) -- positive downward +z_dep = (dindgen(nodes+1)/double(nodes))*zsoil + +; define the mid-point of each layer +z_m = (z_dep[0:nodes-1] + z_dep[1:nodes])/2.d + +; define the layer thickness +z_i = z_dep[1:nodes] - z_dep[0:nodes-1] + +; define arrays +zpress = replicate(-50000.d, nodes) +z_temp = replicate(283.16d,nodes) +ztheta = dblarr(nodes) + +for ilayer=0,nodes-1 do begin + ztheta[ilayer] = call_function('theta', zpress[ilayer], alpha, theta_res, theta_sat, n, m) +endfor + +; write data to file +openw, out_unit, 'wigmosta_icond.txt', /get_lun + for ilayer=0,nodes-1 do begin + printf, out_unit, 'soil', z_m[ilayer]-0.5d*z_i[ilayer], z_i[ilayer], $ + z_temp[ilayer], 0.d, ztheta[ilayer], zpress[ilayer], $ + format='(a10,1x,2(f12.7,1x),f10.3,1x,f17.6,1x,f16.6,1x,f16.6)' + endfor +free_lun, out_unit + + +stop +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function k_psi, psi, alpha, k_sat, n, m + +; computes hydraulic conductivity given psi and soil hydraulic parameters alpha, k_sat, n, and m +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; k_sat = saturated hydraulic conductivity (m s-1) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = k_sat * $ + ( ( (1.d - (psi[ineg]*alpha)^(n-1.d) * (1.d + (psi[ineg]*alpha)^n)^(-m))^2.d ) / ( (1.d + (psi[ineg]*alpha)^n)^(m/2.d) ) ) +if (npos gt 0) then work[ipos] = k_sat + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function theta, psi, alpha, theta_res, theta_sat, n, m + +; computes volumetric water content based on psi and soil hydraulic parameters alpha, n, and m + +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; theta_res = residual volumetric water content (-) +; theta_sat = porosity (-) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = theta_res + (theta_sat - theta_res)*(1.d + (alpha*psi[ineg])^n)^(-m) +if (npos gt 0) then work[ipos] = theta_sat + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** + +function dTheta_dPsi, psi, alpha, theta_res, theta_sat, n, m + +; computes the soil moisture capacity function, dTheta_dPsi (m-1) + +; psi = pressure (m) +; alpha = scaling parameter (m-1) +; theta_res = residual volumetric water content (-) +; theta_sat = porosity (-) +; n = vGn "n" parameter +; m = vGn "m" parameter + +work = dblarr(n_elements(psi)) + +ineg = where(psi lt 0.d, nneg, complement=ipos, ncomplement=npos) +if (nneg gt 0) then work[ineg] = (theta_sat-theta_res) * $ + (-m*(1.d + (psi[ineg]*alpha)^n)^(-m-1.d)) * n*(psi[ineg]*alpha)^(n-1.d) * alpha +if (npos gt 0) then work[ipos] = 0.d + +return, work + +end + +; ***************************************************************************************************************** +; ***************************************************************************************************************** diff --git a/utils/laugh_tests/wigmosta1999/run_test_summa.sh b/utils/laugh_tests/wigmosta1999/run_test_summa.sh new file mode 100755 index 0000000000000000000000000000000000000000..afe4927125202154f9eed9373db8c8264c2dc8a8 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/run_test_summa.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerClay.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerLoam.txt +/SUMMA/bin/summa.exe -g 1 1 -m /Summa-Actors/utils/laugh_tests/miller1998/settings/summa_fileManager_verify_millerSand.txt \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/run_test_summa_actors.sh b/utils/laugh_tests/wigmosta1999/run_test_summa_actors.sh new file mode 100755 index 0000000000000000000000000000000000000000..864e583b8aa024e5655c409fd77279f2a00b6088 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/run_test_summa_actors.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/clay +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/loam +/Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/miller1998/config/sand \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/settings/GENPARM.TBL b/utils/laugh_tests/wigmosta1999/settings/GENPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..17fc9172ba276dffbbb9dfa90cdcbc4eecc1070c --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/GENPARM.TBL @@ -0,0 +1,36 @@ +General Parameters +SLOPE_DATA +9 +0.1 +0.6 +1.0 +0.35 +0.55 +0.8 +0.63 +0.0 +0.0 +SBETA_DATA +-2.0 +FXEXP_DATA +2.0 +CSOIL_DATA +2.00E+6 +SALP_DATA +2.6 +REFDK_DATA +2.0E-6 +REFKDT_DATA +3.0 +FRZK_DATA +0.15 +ZBOT_DATA +-8.0 +CZIL_DATA +0.1 +SMLOW_DATA +0.5 +SMHIGH_DATA +3.0 +LVCOEF_DATA +0.5 diff --git a/utils/laugh_tests/wigmosta1999/settings/MPTABLE.TBL b/utils/laugh_tests/wigmosta1999/settings/MPTABLE.TBL new file mode 100644 index 0000000000000000000000000000000000000000..0f0c59c02cc2f03d2a168b8523ffa793773861a7 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/MPTABLE.TBL @@ -0,0 +1,284 @@ +&noah_mp_usgs_veg_categories + VEG_DATASET_DESCRIPTION = "USGS" + NVEG = 27 +/ +&noah_mp_usgs_parameters + ! NVEG = 27 + ! 1: Urban and Built-Up Land + ! 2: Dryland Cropland and Pasture + ! 3: Irrigated Cropland and Pasture + ! 4: Mixed Dryland/Irrigated Cropland and Pasture + ! 5: Cropland/Grassland Mosaic + ! 6: Cropland/Woodland Mosaic + ! 7: Grassland + ! 8: Shrubland + ! 9: Mixed Shrubland/Grassland + ! 10: Savanna + ! 11: Deciduous Broadleaf Forest + ! 12: Deciduous Needleleaf Forest + ! 13: Evergreen Broadleaf Forest + ! 14: Evergreen Needleleaf Forest + ! 15: Mixed Forest + ! 16: Water Bodies + ! 17: Herbaceous Wetland + ! 18: Wooded Wetland + ! 19: Barren or Sparsely Vegetated + ! 20: Herbaceous Tundra + ! 21: Wooded Tundra + ! 22: Mixed Tundra + ! 23: Bare Ground Tundra + ! 24: Snow or Ice + ! 25: Playa + ! 26: Lava + ! 27: White Sand + + ISURBAN = 1 + ISWATER = 16 + ISBARREN = 19 + ISSNOW = 24 + EBLFOREST = 13 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.00, 0.06, 0.06, 0.06, 0.06, 0.15, 0.06, 0.06, 0.06, 0.86, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.06, 0.05, 0.00, 0.04, 0.06, 0.06, 0.03, 0.00, 0.01, 0.00, 0.00, + HVT = 15.0, 0.50, 0.50, 0.50, 0.50, 1.25, 0.50, 0.50, 0.50, 16.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 0.80, 0.00, 0.50, 0.80, 0.80, 0.50, 0.00, 0.10, 0.00, 0.00, + HVB = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 3.00, 3.50, 3.00, 4.00, 3.50, 3.00, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + DEN = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + RC = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + 0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + 0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.000, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + 0.000, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + XL = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.0, 1.6, 1.8, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + DILEFC= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + DILEFW= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + RMF25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + SLA = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + FRAGR = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + TMIN = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + VCMX25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + TDLEF = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + BP = 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 1.E15, + MP = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + RMS25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + RMR25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + WDPOOL= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + WRRAT = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + MRP = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.3, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.3, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.5, 0.4, 0.2, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.4, 0.2, 0.3, 0.1, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.8, 0.2, 0.5, 0.1, 0.9, 1.3, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.5, 0.2, 1.3, 0.1, 0.8, 0.1, 1.2, 1.2, 0.5, 0.6, 0.5, 0.0, 0.6, 0.6, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 1.1, 0.1, 0.5, 0.1, 1.6, 1.0, 0.5, 0.6, 0.5, 0.0, 0.5, 0.5, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.4, 0.1, 0.2, 0.1, 1.4, 0.8, 0.5, 0.7, 0.6, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.4, 0.1, 0.2, 0.1, 0.4, 0.5, 0.5, 0.5, 0.3, 0.0, 0.1, 0.1, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + + LAIM = 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 1.6, 1.0, 0.0, 0.5, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.0, 3.5, 1.6, 1.0, 0.0, 0.6, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.7, 0.7, 0.7, 0.5, 0.7, 1.0, 1.5, 1.0, 1.2, 0.6, 3.5, 1.6, 1.0, 0.0, 0.7, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.2, 1.2, 1.2, 1.5, 1.2, 1.0, 2.0, 1.0, 3.0, 1.2, 3.5, 5.3, 2.3, 0.0, 1.2, 0.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.0, 3.0, 3.0, 3.0, 2.5, 3.0, 1.0, 2.5, 1.0, 4.7, 2.0, 3.5, 5.5, 3.5, 0.0, 3.0, 0.7, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 3.5, 3.5, 3.5, 3.5, 3.5, 1.0, 3.0, 1.0, 4.5, 2.6, 3.5, 5.3, 4.3, 0.0, 3.5, 1.7, 0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 3.0, 1.5, 1.5, 1.5, 3.5, 1.5, 1.0, 2.5, 1.0, 3.4, 1.7, 3.5, 5.3, 3.3, 0.0, 1.5, 3.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.5, 0.7, 0.7, 0.7, 2.0, 0.7, 1.0, 1.5, 1.0, 1.2, 1.0, 3.5, 4.2, 2.2, 0.0, 0.7, 2.5, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.6, 0.6, 0.6, 1.0, 0.6, 1.0, 1.0, 1.0, 0.3, 0.5, 3.5, 2.2, 1.2, 0.0, 0.6, 1.6, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.2, 3.5, 2.2, 1.2, 0.0, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.4, 0.4, 0.4, 0.0, 0.4, 1.0, 1.0, 1.0, 0.0, 0.0, 3.5, 2.2, 1.2, 0.0, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + + SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + + +&noah_mp_modis_veg_categories + VEG_DATASET_DESCRIPTION = "modified igbp modis noah" + NVEG = 20 +/ + +&noah_mp_modis_parameters +! 1 'Evergreen Needleleaf Forest' -> USGS 14 +! 2, 'Evergreen Broadleaf Forest' -> USGS 13 +! 3, 'Deciduous Needleleaf Forest' -> USGS 12 +! 4, 'Deciduous Broadleaf Forest' -> USGS 11 +! 5, 'Mixed Forests' -> USGS 15 +! 6, 'Closed Shrublands' -> USGS 8 "shrubland" +! 7, 'Open Shrublands' -> USGS 9 "shrubland/grassland" +! 8, 'Woody Savannas' -> USGS 8 "shrubland" +! 9, 'Savannas' -> USGS 10 +! 10, 'Grasslands' -> USGS 7 +! 11 'Permanent wetlands' -> avg of USGS 17 and 18 (herb. wooded wetland) +! 12, 'Croplands' -> USGS 2 "dryland cropland" +! 13, 'Urban and Built-Up' -> USGS 1 +! 14 'cropland/natural vegetation mosaic' -> USGS 5 "cropland/grassland" +! 15, 'Snow and Ice' -> USGS 24 +! 16, 'Barren or Sparsely Vegetated' -> USGS 19 +! 17, 'Water' -> USGS 16 +! 18, 'Wooded Tundra' -> USGS 21 +! 19, 'Mixed Tundra' -> USGS 22 +! 20, 'Barren Tundra' -> USGS 23 + + ISURBAN = 13 + ISWATER = 17 + ISBARREN = 16 + ISSNOW = 15 + EBLFOREST = 2 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CH2OP = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + DLEAF = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + Z0MVT = 1.09, 1.10, 0.85, 0.80, 0.80, 0.06, 0.06, 0.06, 0.86, 0.06, 0.055, 0.06, 1.00, 0.06, 0.00, 0.00, 0.00, 0.06, 0.06, 0.03, +! Z0MVT = 0.50, 0.50, 0.50, 0.50, 0.50, 0.05, 0.06, 0.05, 0.15, 0.12, 0.30, 0.15, 0.80, 0.14, 0.00, 0.01, 0.00, 0.30, 0.15, 0.10, + HVT = 20.0, 20.0, 18.0, 16.0, 16.0, 0.50, 0.50, 0.50, 16.0, 0.50, 0.65, 0.50, 15.0, 0.50, 0.00, 0.00, 0.00, 0.80, 0.80, 0.50, + HVB = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 5.00, 0.05, 0.075, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + DEN = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + RC = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, + + ! Row 1: Vis + ! Row 2: Near IR + RHOL = 0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + 0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! Row 1: Vis + ! Row 2: Near IR + RHOS = 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! Row 1: Vis + ! Row 2: Near IR + TAUL = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + 0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! Row 1: Vis + ! Row 2: Near IR + TAUS = 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + XL = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.250, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, + CWPVT = 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, +! CWPVT = 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, + C3PSN = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + KC25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + AKC = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + KO25 = 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, 3.E4, + AKO = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + AVCMX = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + AQE = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + LTOVRC= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.70, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + DILEFC= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.50, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + DILEFW= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + RMF25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + SLA = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + FRAGR = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + TMIN = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + VCMX25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + TDLEF = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + BP = 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 1.E15, 2.E3, 2.E3, 2.E3, + MP = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + QE25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + RMS25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + RMR25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + ARM = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + FOLNMX= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + WDPOOL= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + WRRAT = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + MRP = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + +! Monthly values, one row for each month: + SAIM = 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.3, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.3, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.4, 0.5, 0.4, 0.4, 0.2, 0.1, 0.2, 0.1, 0.1, 0.3, 0.1, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + 0.5, 0.5, 0.7, 0.4, 0.4, 0.2, 0.3, 0.2, 0.1, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 1.3, 0.9, 0.4, 0.2, 0.5, 0.2, 0.1, 0.8, 0.4, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 1.2, 1.2, 0.5, 0.1, 0.8, 0.1, 0.1, 1.3, 0.6, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.6, 0.5, 1.0, 1.6, 0.5, 0.1, 0.5, 0.1, 0.1, 1.1, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + 0.7, 0.5, 0.8, 1.4, 0.6, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.6, 0.5, 0.6, 0.6, 0.5, 0.1, 0.2, 0.1, 0.1, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 0.5, 0.5, 0.5, 0.4, 0.3, 0.1, 0.2, 0.1, 0.1, 0.4, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.0, + + LAIM = 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.3, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.45, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.0, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 0.5, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 1.6, 4.5, 0.6, 1.2, 1.0, 1.0, 1.5, 1.0, 1.0, 0.7, 0.55, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 5.3, 4.5, 1.2, 3.0, 2.3, 1.0, 2.0, 1.0, 1.0, 1.2, 0.85, 1.0, 0.0, 1.2, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 5.5, 4.5, 2.0, 4.7, 3.5, 1.0, 2.5, 1.0, 1.0, 3.0, 1.85, 2.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 5.3, 4.5, 2.6, 4.5, 4.3, 1.0, 3.0, 1.0, 1.0, 3.5, 2.6, 3.0, 0.0, 3.5, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, + 5.3, 4.5, 1.7, 3.4, 3.3, 1.0, 2.5, 1.0, 1.0, 1.5, 2.25, 3.0, 0.0, 1.5, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, + 4.2, 4.5, 1.0, 1.2, 2.2, 1.0, 1.5, 1.0, 1.0, 0.7, 1.6, 1.5, 0.0, 0.7, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, + 2.2, 4.5, 0.5, 0.3, 1.2, 1.0, 1.0, 1.0, 1.0, 0.6, 1.1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + 2.2, 4.5, 0.2, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.5, 0.65, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 2.2, 4.5, 0.0, 0.0, 1.2, 1.0, 1.0, 1.0, 1.0, 0.4, 0.4, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +! LAIM = 5.1, 3.3, 0.0, 1.9, 3.0, 1.0, 0.8, 0.5, 0.5, 0.7, 0.3, 1.8, 0.0, 2.4, 0.0, 0.0, 0.0, 0.6, 0.7, 0.0, +! 5.0, 3.6, 0.0, 1.9, 2.9, 1.0, 0.6, 1.0, 1.0, 0.7, 0.45, 1.9, 0.0, 2.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.1, 4.4, 0.0, 2.1, 3.3, 1.0, 0.8, 1.8, 1.7, 1.1, 0.5, 2.6, 0.0, 2.9, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.3, 5.4, 0.6, 2.5, 4.0, 1.0, 0.9, 2.6, 2.9, 1.7, 0.55, 3.9, 0.0, 3.4, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, +! 5.9, 6.2, 1.2, 3.1, 5.0, 1.0, 1.5, 3.4, 3.6, 2.5, 0.85, 5.2, 0.0, 4.0, 0.0, 0.0, 0.0, 0.8, 1.0, 0.0, +! 6.3, 6.4, 2.0, 3.3, 5.4, 1.0, 2.1, 3.6, 3.5, 2.7, 1.85, 5.6, 0.0, 4.2, 0.0, 0.0, 0.0, 2.0, 2.3, 0.0, +! 6.4, 5.9, 2.6, 3.3, 5.4, 1.0, 2.6, 3.4, 2.9, 2.8, 2.6, 5.3, 0.0, 4.1, 0.0, 0.0, 0.0, 3.3, 3.3, 0.0, +! 6.1, 5.6, 1.7, 3.1, 5.0, 1.0, 2.4, 3.2, 2.7, 2.4, 2.25, 4.5, 0.0, 3.8, 0.0, 0.0, 0.0, 3.3, 3.0, 0.0, +! 6.0, 5.3, 1.0, 2.9, 4.8, 1.0, 2.2, 2.9, 2.4, 2.1, 1.6, 4.1, 0.0, 3.7, 0.0, 0.0, 0.0, 2.8, 3.0, 0.0, +! 5.5, 4.7, 0.5, 2.6, 4.1, 1.0, 1.6, 2.3, 1.8, 1.7, 1.1, 3.2, 0.0, 3.2, 0.0, 0.0, 0.0, 1.4, 1.4, 0.0, +! 5.2, 4.0, 0.2, 2.2, 3.4, 1.0, 1.0, 1.5, 1.4, 1.3, 0.65, 2.3, 0.0, 2.7, 0.0, 0.0, 0.0, 0.5, 0.7, 0.0, +! 5.1, 3.2, 0.0, 1.9, 3.0, 1.0, 0.9, 0.7, 0.7, 0.8, 0.4, 1.7, 0.0, 2.4, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + + SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223, 0.02, 0.02, 0.0422, 0.02, 0.02, 0.02, + +! Five types, one row for each type. + EPS = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ diff --git a/utils/laugh_tests/wigmosta1999/settings/SOILPARM.TBL b/utils/laugh_tests/wigmosta1999/settings/SOILPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..b87d1bae502460279b1e6389ff34c2d3ce842510 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/SOILPARM.TBL @@ -0,0 +1,59 @@ +Soil Parameters +STAS +19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.010, 0.92, 'SAND' +2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND' +3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM' +4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM' +5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT' +6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM' +7, 6.66, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM' +8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.04E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM' +9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM' +10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY' +11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY' +12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY' +13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER' +15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK' +16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)' +17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA' +19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 1.07E-6, 0.608E-6, 0.01, 0.92, 'WHITE SAND' +Soil Parameters +STAS-RUC +19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1, 4.05, 0.045, 1.47, 0.395, 0.236, 0.121, 1.76E-4, 0.608E-6, 0.068, 0.92, 'SAND' +2, 4.38, 0.057, 1.41, 0.410, 0.383, 0.090, 1.56E-4, 0.514E-5, 0.075, 0.82, 'LOAMY SAND' +3, 4.90, 0.065, 1.34, 0.435, 0.383, 0.218, 3.47E-5, 0.805E-5, 0.114, 0.60, 'SANDY LOAM' +4, 5.30, 0.067, 1.27, 0.485, 0.360, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.25, 'SILT LOAM' +5, 5.30, 0.034, 1.27, 0.485, 0.383, 0.786, 7.20E-6, 0.239E-4, 0.179, 0.10, 'SILT' +6, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.40, 'LOAM' +7, 7.12, 0.100, 1.18, 0.420, 0.314, 0.299, 6.30E-6, 0.990E-5, 0.175, 0.60, 'SANDY CLAY LOAM' +8, 7.75, 0.089, 1.32, 0.477, 0.387, 0.356, 1.70E-6, 0.237E-4, 0.218, 0.10, 'SILTY CLAY LOAM' +9, 8.52, 0.095, 1.23, 0.476, 0.382, 0.630, 2.45E-6, 0.113E-4, 0.250, 0.35, 'CLAY LOAM' +10, 10.40, 0.100, 1.18, 0.426, 0.338, 0.153, 2.17E-6, 0.187E-4, 0.219, 0.52, 'SANDY CLAY' +11, 10.40, 0.070, 1.15, 0.492, 0.404, 0.490, 1.03E-6, 0.964E-5, 0.283, 0.10, 'SILTY CLAY' +12, 11.40, 0.068, 1.09, 0.482, 0.412, 0.405, 1.28E-6, 0.112E-4, 0.286, 0.25, 'CLAY' +13, 5.39, 0.078, 1.21, 0.451, 0.329, 0.478, 6.95E-6, 0.143E-4, 0.155, 0.05, 'ORGANIC MATERIAL' +14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER' +15, 4.05, 0.004, 2.03, 0.200, 0.17, 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK' +16, 4.90, 0.065, 2.10, 0.435, 0.283, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)' +17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA' +18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.060, 0.52, 'LAVA' +19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND' +Soil Parameters +ROSETTA +12,1 'theta_res theta_sat vGn_alpha vGn_n k_soil BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ ' +1 0.098 0.459 -1.496 1.253 1.70799e-06 1.40 0.068 1.09 0.482 0.412 0.405 1.28E-6 0.112E-4 0.286 0.25 'CLAY' +2 0.079 0.442 -1.581 1.416 9.47297e-07 8.52 0.095 1.23 0.476 0.382 0.630 2.45E-6 0.113E-4 0.250 0.35 'CLAY LOAM' +3 0.061 0.399 -1.112 1.472 1.39472e-06 5.39 0.078 1.21 0.451 0.329 0.478 6.95E-6 0.143E-4 0.155 0.40 'LOAM' +4 0.049 0.390 -3.475 1.746 1.21755e-05 4.38 0.057 1.41 0.410 0.383 0.090 1.56E-4 0.514E-5 0.075 0.82 'LOAMY SAND' +5 0.053 0.375 -3.524 3.177 7.43852e-05 4.05 0.045 1.47 0.395 0.236 0.121 1.76E-4 0.608E-6 0.068 0.92 'SAND' +6 0.117 0.385 -3.342 1.208 1.31367e-06 0.40 0.100 1.18 0.426 0.338 0.153 2.17E-6 0.187E-4 0.219 0.52 'SANDY CLAY' +7 0.063 0.384 -2.109 1.330 1.52576e-06 7.12 0.100 1.18 0.420 0.314 0.299 6.30E-6 0.990E-5 0.175 0.60 'SANDY CLAY LOAM' +8 0.039 0.387 -2.667 1.449 4.43084e-06 4.90 0.065 1.34 0.435 0.383 0.218 3.47E-5 0.805E-5 0.114 0.60 'SANDY LOAM' +9 0.050 0.489 -0.658 1.679 5.06391e-06 5.30 0.034 1.27 0.485 0.383 0.786 7.20E-6 0.239E-4 0.179 0.10 'SILT' +10 0.111 0.481 -1.622 1.321 1.11298e-06 0.40 0.070 1.15 0.492 0.404 0.490 1.03E-6 0.964E-5 0.283 0.10 'SILTY CLAY' +11 0.090 0.482 -0.839 1.521 1.28673e-06 7.75 0.089 1.32 0.477 0.387 0.356 1.70E-6 0.237E-4 0.218 0.10 'SILTY CLAY LOAM' +12 0.065 0.439 -0.506 1.663 2.11099e-06 5.30 0.067 1.27 0.485 0.360 0.786 7.20E-6 0.239E-4 0.179 0.25 'SILT LOAM' diff --git a/utils/laugh_tests/wigmosta1999/settings/VEGPARM.TBL b/utils/laugh_tests/wigmosta1999/settings/VEGPARM.TBL new file mode 100644 index 0000000000000000000000000000000000000000..be03224ef59386e2503e147729ffeaef9aa12553 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/VEGPARM.TBL @@ -0,0 +1,119 @@ +Vegetation Parameters +USGS +27,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX ' +1, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up Land' +2, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Dryland Cropland and Pasture' +3, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .930, .985, .20, .25, .02, .10, 'Irrigated Cropland and Pasture' +4, .80, 3, 40., 100., 36.25, 0.04, 66., 1.00, 4.50, .920, .985, .18, .23, .05, .15, 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'Cropland/Grassland Mosaic' +6, .80, 3, 70., 65., 44.14, 0.04, 60., 2.00, 4.00, .930, .985, .16, .20, .20, .20, 'Cropland/Woodland Mosaic' +7, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grassland' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Shrubland' +9, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Mixed Shrubland/Grassland' +10, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savanna' +11, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +12, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +13, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +14, .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +15, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forest' +16, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water Bodies' +17, .60, 2, 40., 100., 60.00, 0.01, 68., 1.50, 5.65, .950, .950, .14, .14, .20, .20, 'Herbaceous Wetland' +18, .60, 2, 100., 30., 51.93, 0.02, 50., 2.00, 5.80, .950, .950, .14, .14, .40, .40, 'Wooded Wetland' +19, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +20, .60, 3, 150., 100., 42.00, 0.025, 68., 0.41, 3.35, .920, .920, .15, .20, .10, .10, 'Herbaceous Tundra' +21, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +22, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +23, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Bare Ground Tundra' +24, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow or Ice' +25, .50, 1, 40., 100., 36.25, 0.02, 75., 0.01, 0.01, .890, .890, .30, .30, .01, .01, 'Playa' +26, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .880, .880, .16, .16, .15, .15, 'Lava' +27, .00, 0, 999., 999., 999.0, 0.02, 75., 0.01, 0.01, .830, .830, .60, .60, .01, .01, 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 +Vegetation Parameters +MODIFIED_IGBP_MODIS_NOAH +20,1, 'SHDFAC NROOT RS RGL HS SNUP MAXALB LAIMIN LAIMAX EMISSMIN EMISSMAX ALBEDOMIN ALBEDOMAX Z0MIN Z0MAX' +1 .70, 4, 125., 30., 47.35, 0.08, 52., 5.00, 6.40, .950, .950, .12, .12, .50, .50, 'Evergreen Needleleaf Forest' +2, .95, 4, 150., 30., 41.69, 0.08, 35., 3.08, 6.48, .950, .950, .12, .12, .50, .50, 'Evergreen Broadleaf Forest' +3, .70, 4, 150., 30., 47.35, 0.08, 54., 1.00, 5.16, .930, .940, .14, .15, .50, .50, 'Deciduous Needleleaf Forest' +4, .80, 4, 100., 30., 54.53, 0.08, 58., 1.85, 3.31, .930, .930, .16, .17, .50, .50, 'Deciduous Broadleaf Forest' +5, .80, 4, 125., 30., 51.93, 0.08, 53., 2.80, 5.50, .930, .970, .17, .25, .20, .50, 'Mixed Forests' +6, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Closed Shrublands' +7, .70, 3, 170., 100., 39.18, 0.035, 65., 0.60, 2.60, .930, .950, .22, .30, .01, .06, 'Open Shrublands' +8, .70, 3, 300., 100., 42.00, 0.03, 60., 0.50, 3.66, .930, .930, .25, .30, .01, .05, 'Woody Savannas' +9, .50, 3, 70., 65., 54.53, 0.04, 50., 0.50, 3.66, .920, .920, .20, .20, .15, .15, 'Savannas' +10, .80, 3, 40., 100., 36.35, 0.04, 70., 0.52, 2.90, .920, .960, .19, .23, .10, .12, 'Grasslands' +11 .60, 2, 70., 65., 55.97 0.015 59., 1.75, 5.72, .950, .950, .14, .14, .30, .30, 'Permanent wetlands' +12, .80, 3, 40., 100., 36.25, 0.04, 66., 1.56, 5.68, .920, .985, .17, .23, .05, .15, 'Croplands' +13, .10, 1, 200., 999., 999.0, 0.04, 46., 1.00, 1.00, .880, .880, .15, .15, .50, .50, 'Urban and Built-Up' +14 .80, 3, 40., 100., 36.25, 0.04, 68., 2.29, 4.29, .920, .980, .18, .23, .05, .14, 'cropland/natural vegetation mosaic' +15, .00, 1, 999., 999., 999.0, 0.02, 82., 0.01, 0.01, .950, .950, .55, .70, 0.001, 0.001, 'Snow and Ice' +16, .01, 1, 999., 999., 999.0, 0.02, 75., 0.10, 0.75, .900, .900, .38, .38, .01, .01, 'Barren or Sparsely Vegetated' +17, .00, 0, 100., 30., 51.75, 0.01, 70., 0.01, 0.01, .980, .980, .08, .08, 0.0001, 0.0001, 'Water' +18, .60, 3, 150., 100., 42.00, 0.025, 55., 0.41, 3.35, .930, .930, .15, .20, .30, .30, 'Wooded Tundra' +19, .60, 3, 150., 100., 42.00, 0.025, 60., 0.41, 3.35, .920, .920, .15, .20, .15, .15, 'Mixed Tundra' +20, .30, 2, 200., 100., 42.00, 0.02, 75., 0.41, 3.35, .900, .900, .25, .25, .05, .10, 'Barren Tundra' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +16 +NATURAL +14 +Vegetation Parameters +USGS-RUC +27,1, 'ALBEDO Z0 LEMI PC SHDFAC NROOT RS RGL HS SNUP LAI MAXALB' +1, .18, .50, .88, .40, .10, 1, 200., 999., 999.0, 0.04, 4.0, 40., 'Urban and Built-Up Land' +2, .17, .06, .92, .30, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Dryland Cropland and Pasture' +3, .18, .075, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Irrigated Cropland and Pasture' +4, .18, .065, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Mixed Dryland/Irrigated Cropland and Pasture' +5, .18, .05, .92, .40, .80, 3, 40., 100., 36.25, 0.04, 4.0, 64., 'Cropland/Grassland Mosaic' +6, .16, .20, .93, .40, .80, 3, 70., 65., 44.14, 0.04, 4.0, 60., 'Cropland/Woodland Mosaic' +7, .19, .075 .92, .40, .80, 3, 40., 100., 36.35, 0.04, 4.0, 64., 'Grassland' +8, .22, .10, .88, .40, .70, 3, 300., 100., 42.00, 0.03, 4.0, 69., 'Shrubland' +9, .20, .11, .90, .40, .70, 3, 170., 100., 39.18, 0.035, 4.0, 67., 'Mixed Shrubland/Grassland' +10, .20, .15, .92, .40, .50, 3, 70., 65., 54.53, 0.04, 4.0, 45., 'Savanna' +11, .16, .50, .93, .55, .80, 4, 100., 30., 54.53, 0.08, 4.0, 58., 'Deciduous Broadleaf Forest' +12, .14, .50, .94, .55, .70, 4, 150., 30., 47.35, 0.08, 4.0, 54., 'Deciduous Needleleaf Forest' +13, .12, .50, .95, .55, .95, 4, 150., 30., 41.69, 0.08, 4.0, 32., 'Evergreen Broadleaf Forest' +14, .12, .50, .95, .55, .70, 4, 125., 30., 47.35, 0.08, 4.0, 52., 'Evergreen Needleleaf Forest' +15, .13, .50, .94, .55, .80, 4, 125., 30., 51.93, 0.08, 4.0, 53., 'Mixed Forest' +16, .08, .0001, .98, .00, .00, 0, 100., 30., 51.75, 0.01, 4.0, 70., 'Water Bodies' +17, .14, .20, .95, .55, .60, 2, 40., 100., 60.00, 0.01, 4.0, 35., 'Herbaceous Wetland' +18, .14, .40, .95, .55, .60, 2, 100., 30., 51.93, 0.02, 4.0, 30., 'Wooded Wetland' +19, .25, .05, .85, .30, .01, 1, 999., 999., 999.0, 0.02, 4.0, 69., 'Barren or Sparsely Vegetated' +20, .15, .10, .92, .30, .60, 3, 150., 100., 42.00, 0.025, 4.0, 58., 'Herbaceous Tundra' +21, .15, .15, .93, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Wooded Tundra' +22, .15, .10, .92, .40, .60, 3, 150., 100., 42.00, 0.025, 4.0, 55., 'Mixed Tundra' +23, .25, .065 .85, .30, .30, 2, 200., 100., 42.00, 0.02, 4.0, 65., 'Bare Ground Tundra' +24, .55, .05, .95, .00, .00, 1, 999., 999., 999.0, 0.02, 4.0, 75., 'Snow or Ice' +25, .30, .01, .85, .30, .50, 1, 40., 100., 36.25, 0.02, 4.0, 69., 'Playa' +26, .16, .15, .85, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'Lava' +27, .60, .01, .90, .00, .00, 0, 999., 999., 999.0, 0.02, 4.0, 69., 'White Sand' +TOPT_DATA +298.0 +CMCMAX_DATA +0.5E-3 +CFACTR_DATA +0.5 +RSMAX_DATA +5000.0 +BARE +19 +NATURAL +5 diff --git a/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinModelVarMeta.txt b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinModelVarMeta.txt new file mode 100644 index 0000000000000000000000000000000000000000..255507da5241e5c5df051dd37c3a6220e383712b --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinModelVarMeta.txt @@ -0,0 +1,44 @@ +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ***** DEFINITION OF BASIN VARIABLES ************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! ************************************************************************************************************************************* +! columns are: +! 1: variable name +! 2: variable description +! 3: variable units +! 4: variable type (scalar, separate parameter for each model layer, separate parameter at the interface of layers) +! 5: write variable to output file? (T/F) +! ************************************************************************************************************************************* +! define format string for parameter descriptions +! ************************************************************************************************************************************* +'(a35,(1x,a1,1x),a65,(1x,a1,1x),a15,(1x,a1,1x),a7,(1x,a1,1x),l1)' ! format string (must be in single quotes) +! ************************************************************************************************************************************* +! define variables +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! scalar variables (runoff and aquifer fluxes) +! ************************************************************************************************************************************* +basin__totalArea | total basin area | m2 | scalarv | T +basin__SurfaceRunoff | surface runoff | m s-1 | scalarv | T +basin__ColumnOutflow | outflow from all "outlet" HRUs (those with no downstream HRU) | m3 s-1 | scalarv | T +basin__AquiferStorage | aquifer storage | m | scalarv | F +basin__AquiferRecharge | recharge to the aquifer | m s-1 | scalarv | F +basin__AquiferBaseflow | baseflow from the aquifer | m s-1 | scalarv | F +basin__AquiferTranspire | transpiration loss from the aquifer | m s-1 | scalarv | F +! ************************************************************************************************************************************* +! runoff +! ************************************************************************************************************************************* +routingRunoffFuture | runoff in future time steps | m s-1 | routing | F +routingFractionFuture | fraction of runoff in future time steps | - | routing | F +averageInstantRunoff | instantaneous runoff | m s-1 | scalarv | T +averageRoutedRunoff | routed runoff | m s-1 | scalarv | T +! ************************************************************************************************************************************* diff --git a/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinParamMeta.txt b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinParamMeta.txt new file mode 100644 index 0000000000000000000000000000000000000000..94257c0db81f8ba57e9c80ce68baedc4e9914ba6 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zBasinParamMeta.txt @@ -0,0 +1,32 @@ +! ********************************************************************************************************************** +! ********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************* +! ********************************************************************************************************************** +! ********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: parameter description +! 3: parameter units +! 4: parameter type (scalar, separate parameter for each model layer, separate parameter at the interface of layers) +! 5: write parameter to output file? (T/F) +! ********************************************************************************************************************** +! define format string for parameter descriptions +! ********************************************************************************************************************** +'(a25,(1x,a1,1x),a65,(1x,a1,1x),a10,(1x,a1,1x),a7,(1x,a1,1x),L1)' ! format string (must be in single quotes) +! ********************************************************************************************************************** +! baseflow +! ********************************************************************************************************************** +basin__aquiferHydCond | hydraulic conductivity of the aquifer | m s-1 | scalarv | T +basin__aquiferScaleFactor | scaling factor for aquifer storage in the big bucket | m | scalarv | T +basin__aquiferBaseflowExp | baseflow exponent for the big bucket | - | scalarv | T +! ********************************************************************************************************************** +! sub-grid routing +! ********************************************************************************************************************** +routingGammaShape | shape parameter in Gamma distribution used for sub-grid routing | - | scalarv | T +routingGammaScale | scale parameter in Gamma distribution used for sub-grid routing | s | scalarv | T +! ********************************************************************************************************************** diff --git a/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelIndexMeta.txt b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelIndexMeta.txt new file mode 100644 index 0000000000000000000000000000000000000000..b88778a4ed3b8d9f35afcce2cc97f2225f142718 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelIndexMeta.txt @@ -0,0 +1,35 @@ +! ************************************************************************************************************ +! ************************************************************************************************************ +! ***** DEFINITION OF MODEL INDEX VARIABLES ****************************************************************** +! ************************************************************************************************************ +! ************************************************************************************************************ +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! ************************************************************************************************************ +! columns are: +! 1: variable name +! 2: variable description +! 3: variable units +! 4: variable type (scalar, separate parameter for each model layer, separate parameter at the interface of layers) +! 5: write parameter to output file? (T/F) +! ************************************************************************************************************ +! define format string for variable descriptions +! ************************************************************************************************************ +'(a20,(1x,a1,1x),a60,(1x,a1,1x),a10,(1x,a1,1x),a7,(1x,a1,1x),L1)' ! format string (must be in single quotes) +! ************************************************************************************************************ +! define variables +! ************************************************************************************************************ +nSnow | number of snow layers | - | scalarv | T +nSoil | number of soil layers | - | scalarv | T +nLayers | total number of layers | - | scalarv | T +midSnowStartIndex | start index of the midSnow vector for a given timestep | - | scalarv | T +midSoilStartIndex | start index of the midSoil vector for a given timestep | - | scalarv | T +midTotoStartIndex | start index of the midToto vector for a given timestep | - | scalarv | T +ifcSnowStartIndex | start index of the ifcSnow vector for a given timestep | - | scalarv | T +ifcSoilStartIndex | start index of the ifcSoil vector for a given timestep | - | scalarv | T +ifcTotoStartIndex | start index of the ifcToto vector for a given timestep | - | scalarv | T +layerType | index defining type of layer (soil or snow) | - | midToto | F +! ************************************************************************************************************ diff --git a/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelVarMeta.txt b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelVarMeta.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6d8661c6dc7570d2ff1165c373772f87f6f542c --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalModelVarMeta.txt @@ -0,0 +1,285 @@ +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! ***** DEFINITION OF MODEL VARIABLES ************************************************************************************************* +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "|" must be present (format a1), as these are used to check the integrety of the file +! ************************************************************************************************************************************* +! columns are: +! 1: variable name +! 2: variable description +! 3: variable units +! 4: variable type (scalar, separate parameter for each model layer, separate parameter at the interface of layers) +! 5: write variable to output file? (T/F) +! ************************************************************************************************************************************* +! define format string for parameter descriptions +! ************************************************************************************************************************************* +'(a35,(1x,a1,1x),a65,(1x,a1,1x),a15,(1x,a1,1x),a7,(1x,a1,1x),l1)' ! format string (must be in single quotes) +! ************************************************************************************************************************************* +! define variables +! ************************************************************************************************************************************* +! ************************************************************************************************************************************* +! timestep-average fluxes for a few key variables +! ************************************************************************************************************************************* +totalSoilCompress | change in total soil storage due to compression of soil matrix | kg m-2 | scalarv | F +averageThroughfallSnow | snow that reaches the ground without ever touching the canopy | kg m-2 s-1 | scalarv | F +averageThroughfallRain | rain that reaches the ground without ever touching the canopy | kg m-2 s-1 | scalarv | F +averageCanopySnowUnloading | unloading of snow from the vegetion canopy | kg m-2 s-1 | scalarv | F +averageCanopyLiqDrainage | drainage of liquid water from the vegetation canopy | kg m-2 s-1 | scalarv | F +averageCanopyMeltFreeze | melt/freeze of water stored in the canopy | kg m-2 s-1 | scalarv | F +averageCanopyTranspiration | canopy transpiration | kg m-2 s-1 | scalarv | F +averageCanopyEvaporation | canopy evaporation/condensation | kg m-2 s-1 | scalarv | F +averageCanopySublimation | canopy sublimation/frost | kg m-2 s-1 | scalarv | F +averageSnowSublimation | snow sublimation/frost (below canopy or non-vegetated) | kg m-2 s-1 | scalarv | F +averageGroundEvaporation | ground evaporation/condensation (below canopy or non-vegetated) | kg m-2 s-1 | scalarv | T +averageRainPlusMelt | rain plus melt input to soil before calculating surface runoff | m s-1 | scalarv | F +averageSurfaceRunoff | surface runoff | m s-1 | scalarv | F +averageSoilInflux | influx of water at the top of the soil profile | m s-1 | scalarv | F +averageSoilBaseflow | total baseflow from throughout the soil profile | m s-1 | scalarv | T +averageSoilDrainage | drainage from the bottom of the soil profile | m s-1 | scalarv | F +averageAquiferRecharge | recharge to the aquifer | m s-1 | scalarv | F +averageAquiferBaseflow | baseflow from the aquifer | m s-1 | scalarv | F +averageAquiferTranspire | transpiration from the aquifer | m s-1 | scalarv | F +averageColumnOutflow | outflow from each layer in the soil profile | m3 s-1 | midSoil | T +! ************************************************************************************************************************************* +! scalar variables (forcing) +! ************************************************************************************************************************************* +scalarCosZenith | cosine of the solar zenith angle | - | scalarv | F +scalarFractionDirect | fraction of direct radiation (0-1) | - | scalarv | F +spectralIncomingDirect | incoming direct solar radiation in each wave band | W m-2 | wLength | F +spectralIncomingDiffuse | incoming diffuse solar radiation in each wave band | W m-2 | wLength | F +scalarVPair | vapor pressure of the air above the vegetation canopy | Pa | scalarv | F +scalarTwetbulb | wet bulb temperature | K | scalarv | F +scalarRainfall | computed rainfall rate | kg m-2 s-1 | scalarv | F +scalarSnowfall | computed snowfall rate | kg m-2 s-1 | scalarv | F +scalarSnowfallTemp | temperature of fresh snow | K | scalarv | F +scalarNewSnowDensity | density of fresh snow (should snow be falling in this time step) | kg m-3 | scalarv | F +scalarO2air | atmospheric o2 concentration | Pa | scalarv | F +scalarCO2air | atmospheric co2 concentration | Pa | scalarv | F +! ************************************************************************************************************************************* +! scalar variables (state variables) +! ************************************************************************************************************************************* +scalarCanopyIce | mass of ice on the vegetation canopy | kg m-2 | scalarv | F +scalarCanopyLiq | mass of liquid water on the vegetation canopy | kg m-2 | scalarv | F +scalarCanairTemp | temperature of the canopy air space | K | scalarv | F +scalarCanopyTemp | temperature of the vegetation canopy | K | scalarv | F +scalarSnowAge | non-dimensional snow age | - | scalarv | F +scalarSnowAlbedo | snow albedo for the entire spectral band | - | scalarv | F +spectralSnowAlbedoDirect | direct snow albedo for individual spectral bands | - | wLength | F +spectralSnowAlbedoDiffuse | diffuse snow albedo for individual spectral bands | - | wLength | F +scalarSnowDepth | total snow depth | m | scalarv | F +scalarSWE | snow water equivalent | kg m-2 | scalarv | F +scalarSfcMeltPond | ponded water caused by melt of the "snow without a layer" | kg m-2 | scalarv | F +scalarAquiferStorage | water required to bring aquifer to the bottom of the soil profile | m | scalarv | F +scalarSurfaceTemp | surface temperature (just a copy of the upper-layer temperature) | K | scalarv | F +! ************************************************************************************************************************************* +! NOAH-MP vegetation variables (general) +! ************************************************************************************************************************************* +scalarGreenVegFraction | green vegetation fraction (used to compute LAI) | - | scalarv | F +scalarBulkVolHeatCapVeg | bulk volumetric heat capacity of vegetation | J m-3 K-1 | scalarv | F +scalarRootZoneTemp | average temperature of the root zone | K | scalarv | F +scalarLAI | one-sided leaf area index | m2 m-2 | scalarv | F +scalarSAI | one-sided stem area index | m2 m-2 | scalarv | F +scalarExposedLAI | exposed leaf area index (after burial by snow) | m2 m-2 | scalarv | F +scalarExposedSAI | exposed stem area index (after burial by snow) | m2 m-2 | scalarv | F +scalarCanopyIceMax | maximum interception storage capacity for ice | kg m-2 | scalarv | F +scalarCanopyLiqMax | maximum interception storage capacity for liquid water | kg m-2 | scalarv | F +scalarGrowingSeasonIndex | growing season index (0=off, 1=on) | - | scalarv | F +scalarVP_CanopyAir | vapor pressure of the canopy air space | Pa | scalarv | F +! ************************************************************************************************************************************* +! NOAH-MP vegetation variables (shortwave radiation) +! ************************************************************************************************************************************* +scalarCanopySunlitFraction | sunlit fraction of canopy | - | scalarv | F +scalarCanopySunlitLAI | sunlit leaf area | - | scalarv | F +scalarCanopyShadedLAI | shaded leaf area | - | scalarv | F +scalarCanopySunlitPAR | average absorbed par for sunlit leaves | W m-2 | scalarv | F +scalarCanopyShadedPAR | average absorbed par for shaded leaves | W m-2 | scalarv | F +spectralBelowCanopyDirect | downward direct flux below veg layer for each spectral band | W m-2 | wLength | F +spectralBelowCanopyDiffuse | downward diffuse flux below veg layer for each spectral band | W m-2 | wLength | F +scalarBelowCanopySolar | solar radiation transmitted below the canopy | W m-2 | scalarv | F +spectralAlbGndDirect | direct albedo of underlying surface for each spectral band | - | wLength | F +spectralAlbGndDiffuse | diffuse albedo of underlying surface for each spectral band | - | wLength | F +scalarGroundAlbedo | albedo of the ground surface | - | scalarv | F +scalarCanopyAbsorbedSolar | solar radiation absorbed by canopy | W m-2 | scalarv | F +scalarGroundAbsorbedSolar | solar radiation absorbed by ground | W m-2 | scalarv | F +! ************************************************************************************************************************************* +! NOAH-MP vegetation variables (longwave radiation) +! ************************************************************************************************************************************* +scalarCanopyEmissivity | effective canopy emissivity | - | scalarv | F +scalarLWRadCanopy | longwave radiation emitted from the canopy | W m-2 | scalarv | F +scalarLWRadGround | longwave radiation emitted at the ground surface | W m-2 | scalarv | F +scalarLWRadUbound2Canopy | downward atmospheric longwave radiation absorbed by the canopy | W m-2 | scalarv | F +scalarLWRadUbound2Ground | downward atmospheric longwave radiation absorbed by the ground | W m-2 | scalarv | F +scalarLWRadUbound2Ubound | atmospheric radiation refl by ground + lost thru upper boundary | W m-2 | scalarv | F +scalarLWRadCanopy2Ubound | longwave radiation emitted from canopy lost thru upper boundary | W m-2 | scalarv | F +scalarLWRadCanopy2Ground | longwave radiation emitted from canopy absorbed by the ground | W m-2 | scalarv | F +scalarLWRadCanopy2Canopy | canopy longwave reflected from ground and absorbed by the canopy | W m-2 | scalarv | F +scalarLWRadGround2Ubound | longwave radiation emitted from ground lost thru upper boundary | W m-2 | scalarv | F +scalarLWRadGround2Canopy | longwave radiation emitted from ground and absorbed by the canopy | W m-2 | scalarv | F +scalarLWNetCanopy | net longwave radiation at the canopy | W m-2 | scalarv | F +scalarLWNetGround | net longwave radiation at the ground surface | W m-2 | scalarv | F +scalarLWNetUbound | net longwave radiation at the upper atmospheric boundary | W m-2 | scalarv | F +! ************************************************************************************************************************************* +! NOAH-MP vegetation variables (turbulent heat transfer) +! ************************************************************************************************************************************* +scalarLatHeatSubVapCanopy | latent heat of sublimation/vaporization used for veg canopy | J kg-1 | scalarv | F +scalarLatHeatSubVapGround | latent heat of sublimation/vaporization used for ground surface | J kg-1 | scalarv | F +scalarSatVP_CanopyTemp | saturation vapor pressure at the temperature of vegetation canopy | Pa | scalarv | F +scalarSatVP_GroundTemp | saturation vapor pressure at the temperature of the ground | Pa | scalarv | F +scalarZ0Canopy | roughness length of the canopy | m | scalarv | F +scalarWindReductionFactor | canopy wind reduction factor | - | scalarv | F +scalarZeroPlaneDisplacement | zero plane displacement | m | scalarv | F +scalarRiBulkCanopy | bulk Richardson number for the canopy | - | scalarv | F +scalarRiBulkGround | bulk Richardson number for the ground surface | - | scalarv | F +scalarCanopyStabilityCorrection | stability correction for the canopy | - | scalarv | F +scalarGroundStabilityCorrection | stability correction for the ground surface | - | scalarv | F +scalarEddyDiffusCanopyTop | eddy diffusivity for heat at the top of the canopy | m2 s-1 | scalarv | F +scalarFrictionVelocity | friction velocity (canopy momentum sink) | m s-1 | scalarv | F +scalarWindspdCanopyTop | windspeed at the top of the canopy | m s-1 | scalarv | F +scalarWindspdCanopyBottom | windspeed at the height of the bottom of the canopy | m s-1 | scalarv | F +scalarGroundResistance | below canopy aerodynamic resistance | s m-1 | scalarv | F +scalarCanopyResistance | above canopy aerodynamic resistance | s m-1 | scalarv | F +scalarLeafResistance | mean leaf boundary layer resistance per unit leaf area | s m-1 | scalarv | F +scalarSoilResistance | soil surface resistance | s m-1 | scalarv | F +scalarSoilRelHumidity | relative humidity in the soil pores in the upper-most soil layer | - | scalarv | F +scalarSenHeatTotal | sensible heat from the canopy air space to the atmosphere | W m-2 | scalarv | F +scalarSenHeatCanopy | sensible heat from the canopy to the canopy air space | W m-2 | scalarv | F +scalarSenHeatGround | sensible heat from the ground (below canopy or non-vegetated) | W m-2 | scalarv | F +scalarLatHeatTotal | latent heat from the canopy air space to the atmosphere | W m-2 | scalarv | F +scalarLatHeatCanopyEvap | evaporation latent heat from the canopy to the canopy air space | W m-2 | scalarv | F +scalarLatHeatCanopyTrans | transpiration latent heat from the canopy to the canopy air space | W m-2 | scalarv | F +scalarLatHeatGround | latent heat from the ground (below canopy or non-vegetated) | W m-2 | scalarv | F +scalarCanopyAdvectiveHeatFlux | heat advected to the canopy with precipitation (snow + rain) | W m-2 | scalarv | F +scalarGroundAdvectiveHeatFlux | heat advected to the ground with throughfall + unloading/drainage | W m-2 | scalarv | F +scalarCanopyTranspiration | canopy transpiration | kg m-2 s-1 | scalarv | F +scalarCanopyEvaporation | canopy evaporation/condensation | kg m-2 s-1 | scalarv | F +scalarCanopySublimation | canopy sublimation/frost | kg m-2 s-1 | scalarv | F +scalarGroundEvaporation | ground evaporation/condensation (below canopy or non-vegetated) | kg m-2 s-1 | scalarv | F +scalarSnowSublimation | snow sublimation/frost (below canopy or non-vegetated) | kg m-2 s-1 | scalarv | F +! ************************************************************************************************************************************* +! NOAH-MP vegetation variables (transpiration) +! ************************************************************************************************************************************* +scalarTranspireLim | aggregate soil moisture and aquifer control on transpiration | - | scalarv | F +scalarTranspireLimAqfr | aquifer storage control on transpiration | - | scalarv | F +scalarFoliageNitrogenFactor | foliage nitrogen concentration (1=saturated) | - | scalarv | F +scalarStomResistSunlit | stomatal resistance for sunlit leaves | s m-1 | scalarv | F +scalarStomResistShaded | stomatal resistance for shaded leaves | s m-1 | scalarv | F +scalarPhotosynthesisSunlit | sunlit photosynthesis | umolco2 m-2 s-1 | scalarv | F +scalarPhotosynthesisShaded | shaded photosynthesis | umolco2 m-2 s-1 | scalarv | F +! ************************************************************************************************************************************* +! vegetation variables (canopy water) +! ************************************************************************************************************************************* +scalarCanopyWetFraction | fraction canopy that is wet | - | scalarv | F +scalarGroundSnowFraction | fraction ground that is covered with snow | - | scalarv | F +scalarThroughfallSnow | snow that reaches the ground without ever touching the canopy | kg m-2 s-1 | scalarv | F +scalarThroughfallRain | rain that reaches the ground without ever touching the canopy | kg m-2 s-1 | scalarv | F +scalarCanopySnowUnloading | unloading of snow from the vegetation canopy | kg m-2 s-1 | scalarv | F +scalarCanopyLiqDrainage | drainage of liquid water from the vegetation canopy | kg m-2 s-1 | scalarv | F +scalarCanopyMeltFreeze | melt/freeze of water stored in the canopy | kg m-2 s-1 | scalarv | F +! ************************************************************************************************************************************* +! scalar variables (soil and aquifer fluxes) +! ************************************************************************************************************************************* +scalarRainPlusMelt | rain plus melt, used as input to soil before surface runoff | m s-1 | scalarv | T +scalarInfilArea | fraction of unfrozen area where water can infiltrate | - | scalarv | T +scalarFrozenArea | fraction of area that is considered impermeable due to soil ice | - | scalarv | F +scalarInfiltration | infiltration of water into the soil profile | m s-1 | scalarv | T +scalarExfiltration | exfiltration of water from the top of the soil profile | m s-1 | scalarv | T +scalarSurfaceRunoff | surface runoff | m s-1 | scalarv | T +scalarInitAquiferRecharge | recharge to the aquifer at the start-of-step | m s-1 | scalarv | F +scalarAquiferRecharge | recharge to the aquifer at the end-of-step | m s-1 | scalarv | F +scalarInitAquiferTranspire | transpiration loss from the aquifer at the start-of-step | m s-1 | scalarv | F +scalarAquiferTranspire | transpiration loss from the aquifer at the end-of-step | m s-1 | scalarv | F +scalarInitAquiferBaseflow | baseflow from the aquifer at the start-of-step | m s-1 | scalarv | F +scalarAquiferBaseflow | baseflow from the aquifer at the end-of-step | m s-1 | scalarv | F +! ************************************************************************************************************************************* +! scalar variables (sub-step average fluxes for the soil zone) +! ************************************************************************************************************************************* +scalarSoilInflux | sub-step average: influx of water at the top of the soil profile | m s-1 | scalarv | F +scalarSoilCompress | change in total soil storage due to compression of soil matrix | kg m-2 | scalarv | F +scalarSoilBaseflow | sub-step average: total baseflow from the soil profile | m s-1 | scalarv | T +scalarSoilDrainage | sub-step average: drainage from the bottom of the soil profile | m s-1 | scalarv | F +scalarSoilTranspiration | sub-step average: total transpiration from the soil | m s-1 | scalarv | F +! ************************************************************************************************************************************* +! scalar variables (mass balance check) +! ************************************************************************************************************************************* +scalarSoilWatBalError | error in the total soil water balance | kg m-2 | scalarv | F +scalarAquiferBalError | error in the aquifer water balance | kg m-2 | scalarv | F +scalarTotalSoilLiq | total mass of liquid water in the soil | kg m-2 | scalarv | F +scalarTotalSoilIce | total mass of ice in the soil | kg m-2 | scalarv | F +! ************************************************************************************************************************************* +! variables at the mid-point of each layer -- domain geometry +! ************************************************************************************************************************************* +mLayerDepth | depth of each layer | m | midToto | T +mLayerHeight | height of the layer mid-point (top of soil = 0) | m | midToto | T +mLayerRootDensity | fraction of roots in each soil layer | - | midSoil | F +! ************************************************************************************************************************************* +! variables at the mid-point of each layer coupled energy and mass +! ************************************************************************************************************************************* +mLayerTemp | temperature of each layer | K | midToto | F +mLayerVolFracAir | volumetric fraction of air in each layer | - | midToto | F +mLayerVolFracIce | volumetric fraction of ice in each layer | - | midToto | F +mLayerVolFracLiq | volumetric fraction of liquid water in each layer | - | midToto | T +mLayerVolHtCapBulk | volumetric heat capacity in each layer | J m-3 K-1 | midToto | F +mLayerTcrit | critical soil temperature above which all water is unfrozen | K | midSoil | F +mLayerdTheta_dTk | derivative in volumetric liquid water content wrt temperature | K-1 | midToto | F +mLayerThermalC | thermal conductivity at the mid-point of each layer | W m-1 K-1 | midToto | F +mLayerRadCondFlux | temporal derivative in energy of radiative and conductive flux | J m-3 s-1 | midToto | F +mLayerMeltFreeze | ice content change from melt/freeze in each layer | kg m-3 | midToto | F +mLayerInfilFreeze | ice content change by freezing infiltrating flux | kg m-3 | midToto | F +mLayerSatHydCond | saturated hydraulic conductivity in each layer | m s-1 | midSoil | F +mLayerSatHydCondMP | saturated hydraulic conductivity of macropores in each layer | m s-1 | midSoil | F +mLayerMatricHead | matric head of water in the soil | m | midSoil | F +mLayerdTheta_dPsi | derivative in the soil water characteristic w.r.t. psi | m-1 | midSoil | F +mLayerdPsi_dTheta | derivative in the soil water characteristic w.r.t. theta | m | midSoil | F +mLayerThetaResid | residual volumetric water content in each snow layer | - | midSnow | F +mLayerPoreSpace | total pore space in each snow layer | - | midSnow | F +mLayerCompress | change in volumetric water content due to compression of soil | - | midSoil | F +mLayerTranspireLim | soil moist & veg limit on transpiration for each layer | - | midSoil | F +mLayerInitTranspire | transpiration loss from each soil layer at the start-of-step | m s-1 | midSoil | F +mLayerTranspire | transpiration loss from each soil layer | m s-1 | midSoil | F +mLayerInitQMacropore | liquid flux from micropores to macropores at the start-of-step | m s-1 | midSoil | F +mLayerQMacropore | liquid flux from micropores to macropores | m s-1 | midSoil | F +mLayerInitBaseflow | baseflow from each soil layer at the start of the time step | m s-1 | midSoil | F +mLayerBaseflow | baseflow from each soil layer | m s-1 | midSoil | F +mLayerColumnInflow | total inflow to each layer in a given soil column | m3 s-1 | midSoil | F +mLayerColumnOutflow | total outflow from each layer in a given soil column | m3 s-1 | midSoil | F +! ************************************************************************************************************************************* +! variables at the interface of each layer +! ************************************************************************************************************************************* +iLayerHeight | height of the layer interface (top of soil = 0) | m | ifcToto | T +iLayerThermalC | thermal conductivity at the interface of each layer | W m-1 K-1 | ifcToto | F +iLayerConductiveFlux | conductive energy flux at layer interfaces at end of time step | W m-2 | ifcToto | F +iLayerAdvectiveFlux | advective energy flux at layer interfaces at end of time step | W m-2 | ifcToto | F +iLayerInitNrgFlux | energy flux at layer interfaces at the start of the time step | W m-2 | ifcToto | F +iLayerNrgFlux | energy flux at layer interfaces at end of the time step | W m-2 | ifcToto | F +iLayerSatHydCond | saturated hydraulic conductivity in each layer interface | m s-1 | ifcSoil | F +iLayerInitLiqFluxSnow | liquid flux at snow layer interfaces at start of the time step | m s-1 | ifcSnow | F +iLayerInitLiqFluxSoil | liquid flux at soil layer interfaces at start of the time step | m s-1 | ifcSoil | F +iLayerInitFluxReversal | start of step liquid flux at soil layer interfaces from impedance | m s-1 | ifcSoil | F +iLayerLiqFluxSnow | liquid flux at snow layer interfaces at end of the time step | m s-1 | ifcSnow | F +iLayerLiqFluxSoil | liquid flux at soil layer interfaces at end of the time step | m s-1 | ifcSoil | F +iLayerFluxReversal | end of step liquid flux at soil layer interfaces from impedance | m s-1 | ifcSoil | F +! ************************************************************************************************************************************* +! time stepping +! ************************************************************************************************************************************* +dt_init | length of initial time step at start of next data interval | s | scalarv | F +! ************************************************************************************************************************************* +! "short-cut" variables +! ************************************************************************************************************************************* +scalarVGn_m | van Genuchten "m" parameter | - | scalarv | F +scalarKappa | constant in the freezing curve function | m K-1 | scalarv | F +scalarVolHtCap_air | volumetric heat capacity air | J m-3 K-1 | scalarv | F +scalarVolHtCap_ice | volumetric heat capacity ice | J m-3 K-1 | scalarv | F +scalarVolHtCap_soil | volumetric heat capacity dry soil | J m-3 K-1 | scalarv | F +scalarVolHtCap_water | volumetric heat capacity liquid wat | J m-3 K-1 | scalarv | F +scalarLambda_drysoil | thermal conductivity of dry soil | W m-1 | scalarv | F +scalarLambda_wetsoil | thermal conductivity of wet soil | W m-1 | scalarv | F +scalarVolLatHt_fus | volumetric latent heat of fusion | J m-3 | scalarv | F +scalarAquiferRootFrac | fraction of roots below the soil profile (in the aquifer) | - | scalarv | F +! ************************************************************************************************************************************* diff --git a/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalParamMeta.txt b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalParamMeta.txt new file mode 100644 index 0000000000000000000000000000000000000000..63709321bed33305dbc2efde6855bf744007edaf --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/meta/summa_zLocalParamMeta.txt @@ -0,0 +1,179 @@ +! ********************************************************************************************************************** +! ********************************************************************************************************************** +! ***** DEFINITION OF MODEL PARAMETERS ********************************************************************************* +! ********************************************************************************************************************** +! ********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: parameter description +! 3: parameter units +! 4: parameter type (scalar, separate parameter for each model layer, separate parameter at the interface of layers) +! 5: write parameter to output file? (T/F) +! ********************************************************************************************************************** +! define format string for parameter descriptions +! ********************************************************************************************************************** +'(a25,(1x,a1,1x),a65,(1x,a1,1x),a10,(1x,a1,1x),a7,(1x,a1,1x),L1)' ! format string (must be in single quotes) +! ********************************************************************************************************************** +! boundary conditions +! ********************************************************************************************************************** +upperBoundHead | matric head at the upper boundary | m | scalarv | T +lowerBoundHead | matric head at the lower boundary | m | scalarv | T +upperBoundTheta | volumetric liquid water content at the upper boundary | - | scalarv | T +lowerBoundTheta | volumetric liquid water content at the lower boundary | - | scalarv | T +upperBoundTemp | temperature of the upper boundary | K | scalarv | T +lowerBoundTemp | temperature of the lower boundary | K | scalarv | T +! ********************************************************************************************************************** +! precipitation partitioning +! ********************************************************************************************************************** +tempCritRain | critical temperature where precipitation is rain | K | scalarv | T +tempRangeTimestep | temperature range over the time step | K | scalarv | T +frozenPrecipMultip | frozen precipitation multiplier | - | scalarv | T +! ********************************************************************************************************************** +! freezing curve for snow +! ********************************************************************************************************************** +snowfrz_scale | scaling parameter for the freezing curve for snow | K-1 | scalarv | T +! ********************************************************************************************************************** +! snow albedo +! ********************************************************************************************************************** +albedoMax | maximum snow albedo (single spectral band) | - | scalarv | T +albedoMinWinter | minimum snow albedo during winter (single spectral band) | - | scalarv | T +albedoMinSpring | minimum snow albedo during spring (single spectral band) | - | scalarv | T +albedoMaxVisible | maximum snow albedo in the visible part of the spectrum | - | scalarv | T +albedoMinVisible | minimum snow albedo in the visible part of the spectrum | - | scalarv | T +albedoMaxNearIR | maximum snow albedo in the near infra-red part of the spectrum | - | scalarv | T +albedoMinNearIR | minimum snow albedo in the near infra-red part of the spectrum | - | scalarv | T +albedoDecayRate | albedo decay rate | s | scalarv | T +albedoSootLoad | soot load factor | - | scalarv | T +albedoRefresh | critical mass necessary for albedo refreshment | kg m-2 | scalarv | T +! ********************************************************************************************************************** +! radiation transfer +! ********************************************************************************************************************** +radExt_snow | extinction coefficient for radiation penetration into snowpack | m-1 | scalarv | T +directScale | scaling factor for fractional driect radiaion parameterization | - | scalarv | T +Frad_direct | fraction direct solar radiation | - | scalarv | T +Frad_vis | fraction radiation in visible part of spectrum | - | scalarv | T +! ********************************************************************************************************************** +! new snow density +! ********************************************************************************************************************** +newSnowDenMin | minimum new snow density | kg m-3 | scalarv | T +newSnowDenMult | multiplier for new snow density | kg m-3 | scalarv | T +newSnowDenScal | scaling factor for new snow density | K | scalarv | T +! ********************************************************************************************************************** +! snow compaction +! ********************************************************************************************************************** +densScalGrowth | density scaling factor for grain growth | kg-1 m3 | scalarv | T +tempScalGrowth | temperature scaling factor for grain growth | K-1 | scalarv | T +grainGrowthRate | rate of grain growth | s-1 | scalarv | T +densScalOvrbdn | density scaling factor for overburden pressure | kg-1 m3 | scalarv | T +tempScalOvrbdn | temperature scaling factor for overburden pressure | K-1 | scalarv | T +base_visc | viscosity coefficient at T=T_frz and snow density=0 | kg s m-2 | scalarv | T +! ********************************************************************************************************************** +! water flow through snow +! ********************************************************************************************************************** +Fcapil | capillary retention (fraction of total pore volume) | - | scalarv | T +k_snow | hydraulic conductivity of snow | m s-1 | scalarv | T +mw_exp | exponent for meltwater flow | - | scalarv | T +! ********************************************************************************************************************** +! turbulent heat fluxes +! ********************************************************************************************************************** +z0Snow | roughness length of snow | m | scalarv | T +z0Soil | roughness length of bare soil below the canopy | m | scalarv | T +z0Canopy | roughness length of the canopy | m | scalarv | T +zpdFraction | zero plane displacement / canopy height | - | scalarv | T +critRichNumber | critical value for the bulk Richardson number | - | scalarv | T +Louis79_bparam | parameter in Louis (1979) stability function | - | scalarv | T +Louis79_cStar | parameter in Louis (1979) stability function | - | scalarv | T +Mahrt87_eScale | exponential scaling factor in the Mahrt (1987) stability function | - | scalarv | T +leafExchangeCoeff | turbulent exchange coeff between canopy surface and canopy air | m s-(1/2) | scalarv | T +windReductionParam | canopy wind reduction parameter | - | scalarv | T +! ********************************************************************************************************************** +! vegetation properties +! ********************************************************************************************************************** +winterSAI | stem area index prior to the start of the growing season | m2 m-2 | scalarv | T +summerLAI | maximum leaf area index at the peak of the growing season | m2 m-2 | scalarv | T +rootingDepth | rooting depth | m | scalarv | T +rootDistExp | exponent for the vertical distribution of root density | - | scalarv | T +plantWiltPsi | matric head at wilting point | m | scalarv | T +soilStressParam | parameter in the exponential soil stress function | - | scalarv | T +critSoilWilting | critical vol. liq. water content when plants are wilting | - | scalarv | T +critSoilTranspire | critical vol. liq. water content when transpiration is limited | - | scalarv | T +critAquiferTranspire | critical aquifer storage value when transpiration is limited | m | scalarv | T +minStomatalResistance | minimum stomatal resistance | s m-1 | scalarv | T +leafDimension | characteristic leaf dimension | m | scalarv | T +heightCanopyTop | height of top of the vegetation canopy above ground surface | m | scalarv | T +heightCanopyBottom | height of bottom of the vegetation canopy above ground surface | m | scalarv | T +specificHeatVeg | specific heat of vegetation | J kg-1 K-1 | scalarv | T +maxMassVegetation | maximum mass of vegetation (full foliage) | kg m-2 | scalarv | T +throughfallScaleSnow | scaling factor for throughfall (snow) | - | scalarv | T +throughfallScaleRain | scaling factor for throughfall (rain) | - | scalarv | T +refInterceptCapSnow | reference canopy interception capacity per unit leaf area (snow) | kg m-2 | scalarv | T +refInterceptCapRain | canopy interception capacity per unit leaf area (rain) | kg m-2 | scalarv | T +snowUnloadingCoeff | time constant for unloading of snow from the forest canopy | s-1 | scalarv | T +canopyDrainageCoeff | time constant for drainage of liquid water from the forest canopy | s-1 | scalarv | T +ratioDrip2Unloading | ratio of canopy drip to unloading of snow from the forest canopy | - | scalarv | T +! ********************************************************************************************************************** +! soil properties +! ********************************************************************************************************************** +soil_dens_intr | intrinsic soil density | kg m-3 | scalarv | T +thCond_soil | thermal conductivity of soil (includes quartz and other minerals) | W m-1 K-1 | scalarv | T +frac_sand | fraction of sand | - | scalarv | T +frac_silt | fraction of silt | - | scalarv | T +frac_clay | fraction of clay | - | scalarv | T +fieldCapacity | soil field capacity (vol liq water content when baseflow begins) | - | scalarv | T +wettingFrontSuction | Green-Ampt wetting front suction | m | scalarv | T +theta_mp | volumetric liquid water content when macropore flow begins | - | scalarv | T +theta_sat | soil porosity | - | scalarv | T +theta_res | volumetric residual water content | - | scalarv | T +vGn_alpha | van Genuchten "alpha" parameter | m-1 | scalarv | T +vGn_n | van Genuchten "n" parameter | - | scalarv | T +mpExp | empirical exponent in macropore flow equation | - | scalarv | T +k_soil | saturated hydraulic conductivity | m s-1 | scalarv | T +k_macropore | saturated hydraulic conductivity for macropores | m s-1 | scalarv | T +kAnisotropic | anisotropy factor for lateral hydraulic conductivity | - | scalarv | T +zScale_TOPMODEL | TOPMODEL scaling factor used in lower boundary condition for soil | m | scalarv | T +compactedDepth | depth where k_soil reaches the compacted value given by CH78 | m | scalarv | T +aquiferScaleFactor | scaling factor for aquifer storage in the big bucket | m | scalarv | T +aquiferBaseflowExp | baseflow exponent | - | scalarv | T +qSurfScale | scaling factor in the surface runoff parameterization | - | scalarv | T +specificYield | specific yield | - | scalarv | T +specificStorage | specific storage coefficient | m-1 | scalarv | T +f_impede | ice impedence factor | - | scalarv | T +soilIceScale | scaling factor for depth of soil ice, used to get frozen fraction | m | scalarv | T +soilIceCV | CV of depth of soil ice, used to get frozen fraction | - | scalarv | T +! ********************************************************************************************************************** +! algorithmic control parameters +! ********************************************************************************************************************** +minwind | minimum wind speed | m s-1 | scalarv | F +minstep | minimum length of the time step | s | scalarv | F +maxstep | maximum length of the time step | s | scalarv | F +wimplicit | weight assigned to the start-of-step fluxes (alpha) | - | scalarv | T +maxiter | maximum number of iterations | - | scalarv | F +relConvTol_liquid | relative convergence tolerance for vol frac liq water | - | scalarv | F +absConvTol_liquid | absolute convergence tolerance for vol frac liq water | - | scalarv | F +relConvTol_matric | relative convergence tolerance for matric head | - | scalarv | F +absConvTol_matric | absolute convergence tolerance for matric head | m | scalarv | F +relConvTol_energy | relative convergence tolerance for energy | - | scalarv | F +absConvTol_energy | absolute convergence tolerance for energy | J m-3 | scalarv | F +relConvTol_aquifr | relative convergence tolerance for aquifer storage | - | scalarv | F +absConvTol_aquifr | absolute convergence tolerance for aquifer storage | m | scalarv | F +zmin | minimum layer depth | m | scalarv | F +zmax | maximum layer depth | m | scalarv | F +zminLayer1 | minimum layer depth for the 1st (top) layer | m | scalarv | F +zminLayer2 | minimum layer depth for the 2nd layer | m | scalarv | F +zminLayer3 | minimum layer depth for the 3rd layer | m | scalarv | F +zminLayer4 | minimum layer depth for the 4th layer | m | scalarv | F +zminLayer5 | minimum layer depth for the 5th (bottom) layer | m | scalarv | F +zmaxLayer1_lower | maximum layer depth for the 1st (top) layer when only 1 layer | m | scalarv | F +zmaxLayer2_lower | maximum layer depth for the 2nd layer when only 2 layers | m | scalarv | F +zmaxLayer3_lower | maximum layer depth for the 3rd layer when only 3 layers | m | scalarv | F +zmaxLayer4_lower | maximum layer depth for the 4th layer when only 4 layers | m | scalarv | F +zmaxLayer1_upper | maximum layer depth for the 1st (top) layer when > 1 layer | m | scalarv | F +zmaxLayer2_upper | maximum layer depth for the 2nd layer when > 2 layers | m | scalarv | F +zmaxLayer3_upper | maximum layer depth for the 3rd layer when > 3 layers | m | scalarv | F +zmaxLayer4_upper | maximum layer depth for the 4th layer when > 4 layers | m | scalarv | F +! ********************************************************************************************************************** diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp1.txt b/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp1.txt new file mode 100644 index 0000000000000000000000000000000000000000..17a108a7d25ac2c09f180de3e8fce5a4f4c606d1 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp1.txt @@ -0,0 +1,21 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 01:00' ! +simEndTime '2000-02-11 23:00' ! +tmZoneInfo 'localTime' ! +settingsPath '/code/summaTestCases/settings/' ! setting_path +forcingPath '/code/summaTestCases/testCases_data/inputData/syntheticData/wigmosta1999/' ! input_path +outputPath '/code/summaTestCases/output/syntheticTestCases/wigmosta1999/' ! output_path +decisionsFile 'syntheticTestCases/wigmosta1999/summa_zDecisions.txt' ! decision +outputControlFile 'meta/Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'syntheticTestCases/wigmosta1999/summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'syntheticTestCases/wigmosta1999/summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'syntheticTestCases/wigmosta1999/summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'syntheticTestCases/wigmosta1999/summa_zParamTrial-exp1.nc' ! para_trial +forcingListFile 'syntheticTestCases/wigmosta1999/summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'syntheticTestCases/wigmosta1999/summa_zInitialCond.nc' ! initial_cond +outFilePrefix 'syntheticHillslope-exp1' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp1.txt \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp2.txt b/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp2.txt new file mode 100644 index 0000000000000000000000000000000000000000..63600322b5418f4e55665e55075cec4ec6c5d23a --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_fileManager-exp2.txt @@ -0,0 +1,21 @@ +controlVersion 'SUMMA_FILE_MANAGER_V3.0.0' ! fman_ver +simStartTime '2000-01-01 01:00' ! +simEndTime '2000-02-11 23:00' ! +tmZoneInfo 'localTime' ! Time zone info +settingsPath '/home/stiff/summaTestCases_3.0/settings/' ! setting_path +forcingPath '/home/stiff/summaTestCases_3.0/testCases_data/inputData/syntheticData/wigmosta1999/' ! input_path +outputPath '/home/stiff/summaTestCases_3.0/output/syntheticTestCases/wigmosta1999/' ! output_path +decisionsFile 'syntheticTestCases/wigmosta1999/summa_zDecisions.txt' ! decision +outputControlFile 'meta/Model_Output.txt' ! OUTPUT_CONTROL +globalHruParamFile 'syntheticTestCases/wigmosta1999/summa_zLocalParamInfo.txt' ! local_par +globalGruParamFile 'syntheticTestCases/wigmosta1999/summa_zBasinParamInfo.txt' ! basin_par +attributeFile 'syntheticTestCases/wigmosta1999/summa_zLocalAttributes.nc' ! local_attr +trialParamFile 'syntheticTestCases/wigmosta1999/summa_zParamTrial-exp2.nc' ! para_trial +forcingListFile 'syntheticTestCases/wigmosta1999/summa_zForcingFileList.txt' ! forcing_list +initConditionFile 'syntheticTestCases/wigmosta1999/summa_zInitialCond.nc' ! initial_cond +outFilePrefix 'syntheticHillslope-exp2' ! output_prefix +vegTableFile 'VEGPARM.TBL' ! +soilTableFile 'SOILPARM.TBL' ! +generalTableFile 'GENPARM.TBL' ! +noahmpTableFile 'MPTABLE.TBL' ! +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp2.txt diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zBasinParamInfo.txt b/utils/laugh_tests/wigmosta1999/settings/summa_zBasinParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..1926fd71fbc6ce90cd4180f652ae414885e4b611 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_zBasinParamInfo.txt @@ -0,0 +1,35 @@ +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! ***** DEFINITION OF BASIN PARAMETERS ********************************************************************************** +! *********************************************************************************************************************** +! *********************************************************************************************************************** +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! *********************************************************************************************************************** +! DEFINE BASIN MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a1), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! *********************************************************************************************************************** +! +! ******************************************************************** +! define format string for parameter descriptions +! ******************************************************************** +'(a25,1x,a1,1x,3(f12.4,1x,a1,1x))' ! format string for parameter descriptions (must be in single quotes) +! ******************************************************************** +! baseflow +! ******************************************************************** +basin__aquiferHydCond | 0.0100 | 0.0001 | 10.0000 +basin__aquiferScaleFactor | 3.5000 | 0.1000 | 100.0000 +basin__aquiferBaseflowExp | 5.0000 | 1.0000 | 10.0000 +! ******************************************************************** +! within-grid routing +! ******************************************************************** +routingGammaShape | 2.5000 | 2.0000 | 3.0000 +routingGammaScale | 20000.0000 | 1.0000 | 5000000.0000 +! ******************************************************************** diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zDecisions.txt b/utils/laugh_tests/wigmosta1999/settings/summa_zDecisions.txt new file mode 100644 index 0000000000000000000000000000000000000000..3548441f737f8fe5c4036ae6092ea814099e63b8 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_zDecisions.txt @@ -0,0 +1,169 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE MODEL DECISIONS +! *********************************************************************************************************************** +! This file defines the modeling decisions used. +! NOTES: +! (1) lines starting with ! are treated as comment lines -- there is no limit on the number of comment lines +! (2) the name of the decision is followed by the character string defining the decision +! (3) the simulation start/end times must be within single quotes +! *********************************************************************************************************************** +! *********************************************************************************************************************** +soilCatTbl ROSETTA ! (03) soil-category dateset +vegeParTbl USGS ! (04) vegetation category dataset +soilStress NoahType ! (05) choice of function for the soil moisture control on stomatal resistance +stomResist BallBerry ! (06) choice of function for stomatal resistance +! *********************************************************************************************************************** +num_method itertive ! (07) choice of numerical method +fDerivMeth analytic ! (08) method used to calculate flux derivatives +LAI_method specified ! (09) method used to determine LAI and SAI +f_Richards mixdform ! (10) form of Richard's equation +groundwatr qTopmodl ! (11) choice of groundwater parameterization +hc_profile pow_prof ! (12) choice of hydraulic conductivity profile +bcUpprTdyn nrg_flux ! (13) type of upper boundary condition for thermodynamics +bcLowrTdyn zeroFlux ! (14) type of lower boundary condition for thermodynamics +bcUpprSoiH liq_flux ! (15) type of upper boundary condition for soil hydrology +bcLowrSoiH zeroFlux ! (16) type of lower boundary condition for soil hydrology +veg_traits CM_QJRMS1988 ! (17) choice of parameterization for vegetation roughness length and displacement height +canopyEmis simplExp ! (18) choice of parameterization for canopy emissivity +snowIncept lightSnow ! (19) choice of parameterization for snow interception +windPrfile logBelowCanopy ! (20) choice of wind profile through the canopy +astability louisinv ! (21) choice of stability function +canopySrad CLM_2stream ! (22) choice of canopy shortwave radiation method +alb_method varDecay ! (23) choice of albedo representation +compaction anderson ! (24) choice of compaction routine +snowLayers CLM_2010 ! (25) choice of method to combine and sub-divide snow layers +thCondSnow jrdn1991 ! (26) choice of thermal conductivity representation for snow +thCondSoil mixConstit ! (27) choice of thermal conductivity representation for soil +spatial_gw localColumn ! (28) choice of method for the spatial representation of groundwater +subRouting timeDlay ! (29) choice of method for sub-grid routing +! *********************************************************************************************** +! ***** description of the options available -- nothing below this point is read **************** +! *********************************************************************************************** +! ----------------------------------------------------------------------------------------------- +! (01) simulation start time +! (02) simulation end time +! ----------------------------------------------------------------------------------------------- +! (03) soil-category dateset +! STAS ! STATSGO dataset +! STAS-RUC ! ?? +! ROSETTA ! merged Rosetta table with STAS-RUC +! ----------------------------------------------------------------------------------------------- +! (04) vegetation category dataset +! USGS ! USGS 24/27 category dataset +! MODIFIED_IGBP_MODIS_NOAH ! MODIS 20-category dataset +! ----------------------------------------------------------------------------------------------- +! (05) choice of function for the soil moisture control on stomatal resistance +! NoahType ! thresholded linear function of volumetric liquid water content +! CLM_Type ! thresholded linear function of matric head +! SiB_Type ! exponential of the log of matric head +! ----------------------------------------------------------------------------------------------- +! (06) choice of function for stomatal resistance +! BallBerry ! Ball-Berry +! Jarvis ! Jarvis +! ----------------------------------------------------------------------------------------------- +! (07) choice of numerical method +! itertive ! iterative +! non_iter ! non-iterative +! itersurf ! iterate only on the surface energy balance +! ----------------------------------------------------------------------------------------------- +! (08) method used to calculate flux derivatives +! numericl ! numerical derivatives +! analytic ! analytical derivatives +! ----------------------------------------------------------------------------------------------- +! (09) method used to determine LAI and SAI +! monTable ! LAI/SAI taken directly from a monthly table for different vegetation classes +! specified ! LAI/SAI computed from green vegetation fraction and winterSAI and summerLAI parameters +! ----------------------------------------------------------------------------------------------- +! (10) form of Richards' equation +! moisture ! moisture-based form of Richards' equation +! mixdform ! mixed form of Richards' equation +! ----------------------------------------------------------------------------------------------- +! (11) choice of groundwater parameterization +! qTopmodl ! topmodel parameterization +! bigBuckt ! a big bucket (lumped aquifer model) +! noXplict ! no explicit groundwater parameterization +! ----------------------------------------------------------------------------------------------- +! (12) choice of hydraulic conductivity profile +! constant ! constant hydraulic conductivity with depth +! pow_prof ! power-law profile +! ----------------------------------------------------------------------------------------------- +! (13) choice of upper boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! nrg_flux ! energy flux +! ----------------------------------------------------------------------------------------------- +! (14) choice of lower boundary conditions for thermodynamics +! presTemp ! prescribed temperature +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (15) choice of upper boundary conditions for soil hydrology +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! liq_flux ! liquid water flux +! ----------------------------------------------------------------------------------------------- +! (16) choice of lower boundary conditions for soil hydrology +! drainage ! free draining +! presHead ! prescribed head (volumetric liquid water content for mixed form of Richards' eqn) +! bottmPsi ! function of matric head in the lower-most layer +! zeroFlux ! zero flux +! ----------------------------------------------------------------------------------------------- +! (17) choice of parameterization for vegetation roughness length and displacement height +! Raupach_BLM1994 ! Raupach (BLM 1994) "Simplified expressions..." +! CM_QJRMS1988 ! Choudhury and Monteith (QJRMS 1998) "A four layer model for the heat budget..." +! vegTypeTable ! constant parameters dependent on the vegetation type +! ----------------------------------------------------------------------------------------------- +! (18) choice of parameterization for canopy emissivity +! simplExp ! simple exponential function +! difTrans ! parameterized as a function of diffuse transmissivity +! ----------------------------------------------------------------------------------------------- +! (19) choice of parameterization for snow interception +! stickySnow ! maximum interception capacity an increasing function of temerature +! lightSnow ! maximum interception capacity an inverse function of new snow density +! ----------------------------------------------------------------------------------------------- +! (20) choice of wind profile +! exponential ! exponential wind profile extends to the surface +! logBelowCanopy ! logarithmic profile below the vegetation canopy +! ----------------------------------------------------------------------------------------------- +! (21) choice of stability function +! standard ! standard MO similarity, a la Anderson (1979) +! louisinv ! Louis (1979) inverse power function +! mahrtexp ! Mahrt (1987) exponential function +! ----------------------------------------------------------------------------------------------- +! (22) choice of canopy shortwave radiation method +! noah_mp ! full Noah-MP implementation (including albedo) +! CLM_2stream ! CLM 2-stream model (see CLM documentation) +! UEB_2stream ! UEB 2-stream model (Mahat and Tarboton, WRR 2011) +! NL_scatter ! Simplified method Nijssen and Lettenmaier (JGR 1999) +! BeersLaw ! Beer's Law (as implemented in VIC) +! ----------------------------------------------------------------------------------------------- +! (23) choice of albedo representation +! conDecay ! constant decay rate (e.g., VIC, CLASS) +! varDecay ! variable decay rate (e.g., BATS approach, with destructive metamorphism + soot content) +! ----------------------------------------------------------------------------------------------- +! (24) choice of compaction routine +! consettl ! constant settlement rate +! anderson ! semi-empirical method of Anderson (1976) +! ----------------------------------------------------------------------------------------------- +! (25) choice of method to combine and sub-divide snow layers +! CLM_2010 ! CLM option: combination/sub-dividion rules depend on layer index +! jrdn1991 ! SNTHERM option: same combination/sub-dividion rules applied to all layers +! ----------------------------------------------------------------------------------------------- +! (26) choice of thermal conductivity representation for snow +! tyen1965 ! Yen (1965) +! melr1977 ! Mellor (1977) +! jrdn1991 ! Jordan (1991) +! smnv2000 ! Smirnova et al. (2000) +! ----------------------------------------------------------------------------------------------- +! (27) choice of thermal conductivity representation for soil +! funcSoilWet ! function of soil wetness +! mixConstit ! mixture of constituents +! hanssonVZJ ! test case for the mizoguchi lab experiment, Hansson et al. VZJ 2004 +! ----------------------------------------------------------------------------------------------- +! (28) choice of method for the spatial representation of groundwater +! localColumn ! separate groundwater representation in each local soil column +! singleBasin ! single groundwater store over the entire basin +! ----------------------------------------------------------------------------------------------- +! (29) choice of method for sub-grid routing +! timeDlay ! time-delay histogram +! qInstant ! instantaneous routing +! *********************************************************************************************** +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp1.txt +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp2.txt diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zForcingFileList.txt b/utils/laugh_tests/wigmosta1999/settings/summa_zForcingFileList.txt new file mode 100644 index 0000000000000000000000000000000000000000..58407becc29c6c84acb4bd7d5b9a93e7e76a5b6c --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_zForcingFileList.txt @@ -0,0 +1,8 @@ +! **************************************************************************************************** +! List of forcing data files used +! +! This file includes one "word" per line: +! (1) The name of a forcing file +! --> filename must be in single quotes +! **************************************************************************************************** + 'wigmosta_forcing.nc' diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zForcingInfo.txt b/utils/laugh_tests/wigmosta1999/settings/summa_zForcingInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..f06e5c1a49fcf1f549e8e8123e9077782d07cc1d --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_zForcingInfo.txt @@ -0,0 +1,29 @@ +! *********************************************************************************************************************** +! DEFINITION OF THE FORCING FILE +! *********************************************************************************************************************** +! This file defines the name of the forcing data file, the number of columns in the file, the column index for each data +! variable, the start index of the simulation period, the length of the simulation period, +! and the length of the data time step +! *********************************************************************************************************************** +! NOTES: +! (1) lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines +! (2) the format definition defines the format of the file, which can be changed +! (3) the format definition must be the first non-comment line +! (4) the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! *********************************************************************************************************************** +'(a15,a1,1x,a)' +filenmData | wigmosta_forcing.txt ! name of the forcing data file (must be in single quotes) +ncols | 13 ! number of columns in the forcing file +iyyy | 1 ! year +im | 2 ! month +id | 3 ! day +ih | 4 ! hour +imin | 5 ! minute +pptrate | 7 ! precipitation rate (kg m-2 s-1) +SWRadAtm | 8 ! downwelling shortwave radiaiton (W m-2) +LWRadAtm | 9 ! downwelling longwave radiation (W m-2) +airtemp | 10 ! air temperature (K) +windspd | 11 ! windspeed (m/s) +airpres | 12 ! pressure (Pa) +spechum | 13 ! specific humidity (g/g) +data_step | 3600 ! length of time step (seconds) diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zInitialCond.nc b/utils/laugh_tests/wigmosta1999/settings/summa_zInitialCond.nc new file mode 100644 index 0000000000000000000000000000000000000000..b1a9223e7e039a637a7665700609828ac5f381a6 Binary files /dev/null and b/utils/laugh_tests/wigmosta1999/settings/summa_zInitialCond.nc differ diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zLocalAttributes.nc b/utils/laugh_tests/wigmosta1999/settings/summa_zLocalAttributes.nc new file mode 100644 index 0000000000000000000000000000000000000000..d8ead995c9d1b1a2f2286c24f5f4760ddb35c421 Binary files /dev/null and b/utils/laugh_tests/wigmosta1999/settings/summa_zLocalAttributes.nc differ diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zLocalParamInfo.txt b/utils/laugh_tests/wigmosta1999/settings/summa_zLocalParamInfo.txt new file mode 100644 index 0000000000000000000000000000000000000000..e501f363b443358a7f4cb06906cdd3e66e1da278 --- /dev/null +++ b/utils/laugh_tests/wigmosta1999/settings/summa_zLocalParamInfo.txt @@ -0,0 +1,226 @@ +! ======================================================================================================================= +! ======================================================================================================================= +! ===== DEFINITION OF MODEL PARAMETERS ================================================================================== +! ======================================================================================================================= +! ======================================================================================================================= +! Note: lines starting with "!" are treated as comment lines -- there is no limit on the number of comment lines. +! +! ======================================================================================================================= +! DEFINE SITE MODEL PARAMETERS +! ------------------------------------ +! the format definition defines the format of the file, which can be changed +! the delimiters "| " must be present (format a2), as these are used to check the integrety of the file +! columns are: +! 1: parameter name +! 2: default parameter value +! 3: lower parameter limit +! 4: upper parameter limit +! ======================================================================================================================= +! +! ==================================================================== +! define format string for parameter descriptions +! ==================================================================== +'(a25,1x,3(a1,1x,f12.4,1x))' ! format string (must be in single quotes) +! ==================================================================== +! boundary conditions +! ==================================================================== +upperBoundHead | -0.7500 | -100.0000 | -0.0100 +lowerBoundHead | 0.0000 | -100.0000 | -0.0100 +upperBoundTheta | 0.2004 | 0.1020 | 0.3680 +lowerBoundTheta | 0.1100 | 0.1020 | 0.3680 +upperBoundTemp | 272.1600 | 270.1600 | 280.1600 +lowerBoundTemp | 274.1600 | 270.1600 | 280.1600 +! ==================================================================== +! precipitation partitioning +! ==================================================================== +tempCritRain | 273.1600 | 272.1600 | 274.6600 +tempRangeTimestep | 2.0000 | 0.5000 | 5.0000 +frozenPrecipMultip | 1.0000 | 0.5000 | 1.5000 +! ==================================================================== +! snow properties +! ==================================================================== +snowfrz_scale | 50.0000 | 10.0000 | 1000.0000 +fixedThermalCond_snow | 0.3500 | 0.1000 | 1.0000 +! ==================================================================== +! snow albedo +! ==================================================================== +albedoMax | 0.8400 | 0.7000 | 0.9500 +albedoMinWinter | 0.5500 | 0.6000 | 1.0000 +albedoMinSpring | 0.5500 | 0.3000 | 1.0000 +albedoMaxVisible | 0.9500 | 0.7000 | 0.9500 +albedoMinVisible | 0.7500 | 0.5000 | 0.7500 +albedoMaxNearIR | 0.6500 | 0.5000 | 0.7500 +albedoMinNearIR | 0.3000 | 0.1500 | 0.4500 +albedoDecayRate | 1.0d+6 | 0.1d+6 | 5.0d+6 +albedoSootLoad | 0.3000 | 0.1000 | 0.5000 +albedoRefresh | 1.0000 | 1.0000 | 10.0000 +! ==================================================================== +! radiation transfer within snow +! ==================================================================== +radExt_snow | 20.0000 | 20.0000 | 20.0000 +directScale | 0.0900 | 0.0000 | 0.5000 +Frad_direct | 0.7000 | 0.0000 | 1.0000 +Frad_vis | 0.5000 | 0.0000 | 1.0000 +! ==================================================================== +! new snow density +! ==================================================================== +newSnowDenMin | 100.0000 | 50.0000 | 100.0000 +newSnowDenMult | 100.0000 | 25.0000 | 75.0000 +newSnowDenScal | 5.0000 | 1.0000 | 5.0000 +constSnowDen | 100.0000 | 50.0000 | 250.0000 +newSnowDenAdd | 109.0000 | 80.0000 | 120.0000 +newSnowDenMultTemp | 6.0000 | 1.0000 | 12.0000 +newSnowDenMultWind | 26.0000 | 16.0000 | 36.0000 +newSnowDenMultAnd | 1.0000 | 1.0000 | 3.0000 +newSnowDenBase | 0.0000 | 0.0000 | 0.0000 +! ==================================================================== +! snow compaction +! ==================================================================== +densScalGrowth | 0.0460 | 0.0230 | 0.0920 +tempScalGrowth | 0.0400 | 0.0200 | 0.0600 +grainGrowthRate | 2.7d-6 | 1.0d-6 | 5.0d-6 +densScalOvrbdn | 0.0230 | 0.0115 | 0.0460 +tempScalOvrbdn | 0.0800 | 0.6000 | 1.0000 +baseViscosity | 9.0d+5 | 5.0d+5 | 1.5d+6 +! ==================================================================== +! water flow through snow +! ==================================================================== +Fcapil | 0.0600 | 0.0100 | 0.1000 +k_snow | 0.0150 | 0.0050 | 0.0500 +mw_exp | 3.0000 | 1.0000 | 5.0000 +! ==================================================================== +! turbulent heat fluxes +! ==================================================================== +z0Snow | 0.0010 | 0.0010 | 10.0000 +z0Soil | 0.0100 | 0.0010 | 10.0000 +z0Canopy | 0.1000 | 0.0010 | 10.0000 +zpdFraction | 0.6500 | 0.5000 | 0.8500 +critRichNumber | 0.2000 | 0.1000 | 1.0000 +Louis79_bparam | 9.4000 | 9.2000 | 9.6000 +Louis79_cStar | 5.3000 | 5.1000 | 5.5000 +Mahrt87_eScale | 1.0000 | 0.5000 | 2.0000 +leafExchangeCoeff | 0.0100 | 0.0010 | 0.1000 +windReductionParam | 0.2800 | 0.0000 | 1.0000 +! ==================================================================== +! stomatal conductance +! ==================================================================== +Kc25 | 296.0770 | 296.0770 | 296.0770 +Ko25 | 0.2961 | 0.2961 | 0.2961 +Kc_qFac | 2.1000 | 2.1000 | 2.1000 +Ko_qFac | 1.2000 | 1.2000 | 1.2000 +kc_Ha | 79430.0000 | 79430.0000 | 79430.0000 +ko_Ha | 36380.0000 | 36380.0000 | 36380.0000 +vcmax25_canopyTop | 40.0000 | 20.0000 | 100.0000 +vcmax_qFac | 2.4000 | 2.4000 | 2.4000 +vcmax_Ha | 65330.0000 | 65330.0000 | 65330.0000 +vcmax_Hd | 220000.0000 | 149250.0000 | 149250.0000 +vcmax_Sv | 710.0000 | 485.0000 | 485.0000 +vcmax_Kn | 0.6000 | 0.0000 | 1.2000 +jmax25_scale | 2.0000 | 2.0000 | 2.0000 +jmax_Ha | 43540.0000 | 43540.0000 | 43540.0000 +jmax_Hd | 152040.0000 | 152040.0000 | 152040.0000 +jmax_Sv | 495.0000 | 495.0000 | 495.0000 +fractionJ | 0.1500 | 0.1500 | 0.1500 +quantamYield | 0.0500 | 0.0500 | 0.0500 +vpScaleFactor | 1500.0000 | 1500.0000 | 1500.0000 +cond2photo_slope | 9.0000 | 1.0000 | 10.0000 +minStomatalConductance | 2000.0000 | 2000.0000 | 2000.0000 +! ==================================================================== +! vegetation properties +! ==================================================================== +winterSAI | 0.0000 | 0.0100 | 3.0000 +summerLAI | 0.0000 | 0.0100 | 10.0000 +rootScaleFactor1 | 2.0000 | 1.0000 | 10.0000 +rootScaleFactor2 | 5.0000 | 1.0000 | 10.0000 +rootingDepth | 1.0000 | 0.0100 | 10.0000 +rootDistExp | 1.0000 | 0.0100 | 1.0000 +plantWiltPsi | -150.0000 | -500.0000 | 0.0000 +soilStressParam | 5.8000 | 4.3600 | 6.3700 +critSoilWilting | 0.3500 | 0.0000 | 1.0000 +critSoilTranspire | 0.1750 | 0.0000 | 1.0000 +critAquiferTranspire | 0.2000 | 0.1000 | 10.0000 +minStomatalResistance | 50.0000 | 10.0000 | 200.0000 +leafDimension | 0.0400 | 0.0100 | 0.1000 +heightCanopyTop | 0.0100 | 0.0500 | 100.0000 +heightCanopyBottom | 0.0010 | 0.0000 | 5.0000 +specificHeatVeg | 874.0000 | 500.0000 | 1500.0000 +maxMassVegetation | 25.0000 | 1.0000 | 50.0000 +throughfallScaleSnow | 0.5000 | 0.1000 | 0.9000 +throughfallScaleRain | 0.5000 | 0.1000 | 0.9000 +refInterceptCapSnow | 6.6000 | 1.0000 | 14.0000 +refInterceptCapRain | 1.0000 | 0.0100 | 1.0000 +snowUnloadingCoeff | 1.3d-6 | 0.0000 | 1.5d-6 +canopyDrainageCoeff | 0.0050 | 0.0010 | 0.0100 +ratioDrip2Unloading | 0.4000 | 0.0000 | 1.0000 +canopyWettingFactor | 0.7000 | 0.0000 | 1.0000 +canopyWettingExp | 1.0000 | 0.0000 | 1.0000 +! ==================================================================== +! soil properties +! ==================================================================== +soil_dens_intr | 2700.0000 | 500.0000 | 4000.0000 +thCond_soil | 5.5000 | 2.9000 | 8.4000 +frac_sand | 0.1600 | 0.0000 | 1.0000 +frac_silt | 0.2800 | 0.0000 | 1.0000 +frac_clay | 0.5600 | 0.0000 | 1.0000 +fieldCapacity | 0.1000 | 0.0000 | 1.0000 +wettingFrontSuction | 0.3000 | 0.1000 | 1.5000 +theta_mp | 0.3750 | 0.3000 | 0.6000 +theta_sat | 0.3500 | 0.3000 | 0.6000 +theta_res | 0.1000 | 0.0010 | 0.1000 +vGn_alpha | -0.5000 | -1.0000 | -0.0100 +vGn_n | 1.5000 | 1.0000 | 3.0000 +mpExp | 5.0000 | 1.0000 | 10.0000 +k_soil | 0.0008333333 | 1.d-07 | 100.d-07 +k_macropore | 0.0008333333 | 1.d-07 | 100.d-07 +kAnisotropic | 1.0000 | 0.0001 | 10.0000 +zScale_TOPMODEL | 3.0000 | 0.1000 | 100.0000 +compactedDepth | 0.0000 | 0.0000 | 1.0000 +aquiferScaleFactor | 0.3500 | 0.1000 | 100.0000 +aquiferBaseflowExp | 2.0000 | 1.0000 | 10.0000 +aquiferBaseflowRate | 2.0000 | 1.0000 | 10.0000 +qSurfScale | 100.0000 | 1.0000 | 100.0000 +specificYield | 0.2000 | 0.1000 | 0.3000 +specificStorage | 1.d-06 | 1.d-05 | 1.d-07 +f_impede | 0.0000 | 1.0000 | 10.0000 +soilIceScale | 0.1300 | 0.0001 | 1.0000 +soilIceCV | 0.4500 | 0.1000 | 5.0000 +! ==================================================================== +! algorithmic control parameters +! ==================================================================== +minwind | 0.1000 | 0.0010 | 1.0000 +minstep | 1.0000 | 1.0000 | 1800.0000 +maxstep | 3600.0000 | 60.0000 | 1800.0000 +wimplicit | 0.0000 | 0.0000 | 1.0000 +maxiter | 20.0000 | 1.0000 | 100.0000 +relConvTol_liquid | 1.0d-3 | 1.0d-5 | 1.0d-1 +absConvTol_liquid | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_matric | 1.0d-5 | 1.0d-5 | 1.0d-1 +absConvTol_matric | 1.0d-5 | 1.0d-8 | 1.0d-3 +relConvTol_energy | 1.0d-2 | 1.0d-5 | 1.0d-1 +absConvTol_energy | 1.0d-0 | 1.0d-2 | 1.0d+1 +relConvTol_aquifr | 1.0d-0 | 1.0d-2 | 1.0d+1 +absConvTol_aquifr | 1.0d-5 | 1.0d-5 | 1.0d-1 +zmin | 0.0100 | 0.0050 | 0.1000 +zmax | 0.0500 | 0.0100 | 0.5000 +! --- +zminLayer1 | 0.0075 | 0.0075 | 0.0075 +zminLayer2 | 0.0100 | 0.0100 | 0.0100 +zminLayer3 | 0.0500 | 0.0500 | 0.0500 +zminLayer4 | 0.1000 | 0.1000 | 0.1000 +zminLayer5 | 0.2500 | 0.2500 | 0.2500 +! --- +zmaxLayer1_lower | 0.0500 | 0.0500 | 0.0500 +zmaxLayer2_lower | 0.2000 | 0.2000 | 0.2000 +zmaxLayer3_lower | 0.5000 | 0.5000 | 0.5000 +zmaxLayer4_lower | 1.0000 | 1.0000 | 1.0000 +! --- +zmaxLayer1_upper | 0.0300 | 0.0300 | 0.0300 +zmaxLayer2_upper | 0.1500 | 0.1500 | 0.1500 +zmaxLayer3_upper | 0.3000 | 0.3000 | 0.3000 +zmaxLayer4_upper | 0.7500 | 0.7500 | 0.7500 +! ==================================================================== +minTempUnloading | 270.16 | 260.16 | 273.16 +minWindUnloading | 0.0000 | 0.0000 | 10.000 +rateTempUnloading | 1.87d+5 | 1.0d+5 | 3.0d+5 +rateWindUnloading | 1.56d+5 | 1.0d+5 | 3.0d+5 +! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp1.txt! history Mon Jul 20 16:08:17 2020: /pool0/home/andrbenn/data/summa_3/utils/convert_summa_config_v2_v3.py ./syntheticTestCases/wigmosta1999/summa_fileManager-exp2.txt \ No newline at end of file diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp1.nc b/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp1.nc new file mode 100644 index 0000000000000000000000000000000000000000..4dd01a1221d97fe1e39e9002dffe93bae7779fba Binary files /dev/null and b/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp1.nc differ diff --git a/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp2.nc b/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp2.nc new file mode 100644 index 0000000000000000000000000000000000000000..675ae086f8ce79897076a7e72dd813cb4cc2ccd5 Binary files /dev/null and b/utils/laugh_tests/wigmosta1999/settings/summa_zParamTrial-exp2.nc differ