What recommended format of input parameters/options of a large hydrological model compiled as a Julia Package?

The question is what format (e.g. .csv, .txt etc…) would you recommend to read Inputs options/ parameters values of a large model https://github.com/manaakiwhenua/SoilWater_ToolBox.git ?

I was informed in Discourse that when you compile a package you cannot read as an input Julia input files (therefore my method is wrong).

In my current code (below) I would need to convert the Options into a structure and read the parameters from a separate input file.

Current way of reading input files which I need to find an alternative

module option
           const HydroModel      = :Kosugi # <:Kosugi>*; <:Vangenuchten>; <:BrooksCorey>; <:ClappHornberger>; <:VangenuchtenJules>
           const θrOpt           = :Opt # <:Opt> optimises; <:ParamPsd> derive from PSD and uses α1 and α1 from parameters in Param.jl; <:σ_2_θr>	
		   const σ_2_Ψm          = :Constrained # <:Constrained> Ψm physical feasible range is computed from σ <:UniqueRelationship> Ψm is computed from σ; <:No> optimisation of σ & Ψm with no constraints
end

The question is what format of input parameters/options will you recommend, which will also inform the user of the different available options e.g. which hydrological model to use # <:Kosugi>*; <:Vangenuchten>; <:BrooksCorey>; <:ClappHornberger>; <:VangenuchtenJules>?

Thanks for sharing your tips,
Joseph

I’d probably use TOML with TOML.jl. That is the same format used by Pkg.

2 Likes

As a follow up I posted the following post:
How to convert struct 2 TOML?

Many thanks for any help you may provide