# Function to generate the solution options
# First Version: 2018-10-25
# Current Version: 2018-10-25
# Version Notes:
#=

=#
function options()

options_int_out=Dict{String,Int64}()
options_float_out=Dict{String,Float64}()

#Integration
options_int_out["int_d"]        = 3     ; # Integration type, 1=GH, 2=Monomial, 3=Monomial_2
options_int_out["Q"]            = 3     ; # Number of GH quadrature nodes for integration

options_int_out["k"]            = 1     ; # Number of non-linear solve steps
options_int_out["ind_cweight"]  = 1     ; # 1 for weighted clusters
options_int_out["ind_gmm"]      = 0     ; # 1 for gmm weighting
options_float_out["tolx"]       = 1e-8  ; # Step tolerance
options_float_out["tolg"]       = 1e-8  ; # Gradient tolerance
options_float_out["tolf"]       = 1e-8  ; # Gradient tolerance
options_int_out["maxIt"]        = 3000  ; # Maximum solve iterations

#Simulation
options_int_out["skip"]         = 1     ; # Period skips in the simulation before clustering, 1 means no skips
options_int_out["Tsim"]         = 10000 ; # Total number of simulations
options_int_out["Tdrop"]        = 1000  ; # Burn-in simulations
options_int_out["seed"]         = 12345 ; # Seed for simulations

#Cluster
options_int_out["ext"]          = 0     ; # 1 = load cluster from input.
options_int_out["M"]            = 100   ; # Number of grid points.
options_int_out["cluster_d"]    = 3     ; # Cluster type, 1=kmedoids, 2=kmeans, 3=Time separated grid, 4=Hierarchical
options_int_out["trans"]        = 1     ; # Cluster transformation, 1=Principal Components

#L steps
options_int_out["L"]            = 0     ; # Number of solutions without cconvergence
options_int_out["M_L"]          = 50    ; # Number of cluster points
options_int_out["cluster_L"]    = 1     ; # Cluster type, 1=kmedoids, 2=kmeans, 3=Time separated grid, 4=Hierarchical

return options_int_out,options_float_out

end
