Eii.Ecopath

Ecopath with Ecosim (EwE) - Source Code

This repository contains the source code for Ecopath with Ecosim (EwE), an ecosystem modeling software suite developed by the Ecopath International Initiative (EII). Note that the former SVN server, where we developed EwE from 2004 to 2026, no longer exists.

The master branch contains the latest stable release of EwE.

More information about working with Git

Ecopath with Ecosim Project

Other items related to the Ecopath with Ecosim project can be found in the Project repo

The project repo contais:

Configuring GitHub as a package source

The EwE source code obtains packages from GitHub. This requires some configuration. First, obtain a GitHub classic access token from https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens. Then, configure NuGet. As the configuration will contain your classic access token, we recommend making the following changes in a configuration file local to your machine which will not be stored with the code.

The way to do this is described in the EwE Wiki, package source secrets.

This describes how you can run a CLI command to encrypt your access token and store it in your local NuGet.config file.

In AppData\Roaming\NuGet\NuGet.config, the EwE package source is shown as follows:

<packageSources>
  <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  <add key="github-Official-EwE" value="https://nuget.pkg.github.com/Official-EwE/index.json" />
</packageSources>

In AppData\Roaming\NuGet\NuGet.config, your GitHub access token is shown as an encrypted secret as follows:

<packageSourceCredentials>
    <github>
	    <add key="Username" value="your github username" />
	    <add key="ClearTextPassword" value="your github access key" />
    </github>
</packageSourceCredentials>

Creating and pushing NuGet packages to GitHub

This solution contains 3 NuGet packages:

Created automatically after merging to master

The easy way is to let the CI/CD pipeline create and push those packages automatically after merging a PR into master.

Creating and pushing manually

These packages can be created and pushed to GitHub using the CreateAndPushNugetPackage.ps1 Powershell file located in the Sources directory of the repository. To push those packages you will need to have a Personal Access Token (PAT) with write:packages scope. (Also known as an ApiKey)

For example, to create and push the ScientificInterfaceShared package, follow these steps:

Creating an EwE6 installer

The installer is created using Inno Setup. The script is located in the Deployment folder of the repository.

Creating the installer automatically after merging to master

The easy way is to let the CI/CD pipeline create the installer automatically after merging a PR into master.

Creating the installer manually

To be able to use the Inno Setup compiler, you have to install it. It is recommended to install Inno Setup as a CLI tool. This is the way the tool is used in the build check and CI/CD pipelines.

Install Chocolatey and Inno Setup

And to do that, you probably have to install chocolatey first.

Compile the installer

To compile the installer, you can use the iscc command from Inno Setup. First, decide on the version number you want to use for the installer, e.g. 1.0.9.

In the Visual Studio open the Developer PowerShell window and navigate to the Sources folder of the repository.

For the 32-bit installer, type:

For the 64-bit installer, type: