MPilot is a plugin-based, environmental modeling framework based on a bottom-up, many-to-many workflow that can berepresented by a directed (not iterating) graph. MPilot is descended from the Environmental Evaluation Modeling System(EEMS), which was initially a fuzzy logic modeling package based on EMDS.
MPilot Documentation
MPilot with EEMS can be installed withpip
:
In order to run MPilot with NetCDF datasets, you'll need to install the NetCDF variant:
$ pip install mpilot[netcdf]
MPilot models are contained in "command files", using a simple scripting language. Here is an example model, whichloads two columns of integer data from a CSV file, sums them, and writes the result to a second CSV file.
A = EEMSRead( InFileName = "input.csv", InFieldName = "A", DataType = "Integer")B = EEMSRead( InFileName = "input.csv", InFieldName = "B", DataType = "Integer")APlusB = Sum( InFieldNames = [A, B])Out = EEMSWrite( OutFileName = "output.csv", OutFieldNames = [A, B, APlusB])
Models are run using the includedmpilot
program. The following commands will run a model using the EEMS CSV libraryand using the EEMS NetCDF library respectively:
$ mpilot eems-csv model.mpt$ mpilot eems-netcdf model.mpt