MEL

Configuration options for the MEL ecosystem simulation, which works with Ecopath-Ecosim-Ecospace software and model files.

More information about how MEL and EwE work is available.

"MEL": {
     "modelfile": "MELdata/North Sea model for MSP.eiixml",
     "mode": null,
     "rows": 114,
     "columns": 85,
     "cellsize": 10000,
     "x_min": 3463000,
     "y_min": 3117000,
     "x_max": 4313000,
     "y_max": 4257000,
     "initialFishingMapping": 0.5,
     "fishingDisplayScale": 100,
     "pressures": [],
     "fishing_policy_settings": {},
     "fishing": [],
     "outcomes": [],
     "ecologyCategories": []
   }
Field Type Description
modelfile string Path within the simulations sub-folder of the server code folder to the model file that this configuration should use. We prefer it if model files are stored within the MELdata folder.
mode int Always null, as far as we know this was never implemented.
rows int Amount of cell rows of which the EcoSpace model consists.
columns int Amount of cell columns of which the EcoSpace model consists.
cellsize int Size in kilometers of each cell. Typically this is 10 x 10 kms.
x_min int Minimum position on the horizontal x-axis in the world. In other words, the horizontal x-axis coordinate of the top-left or bottom-left corner of the EcoSpace model, in accordance to its project system. See also the project system definition under datamodel.
y_min int Minimum position on the vertical y-axis in the world. In other words, the vertical y-axis coordinate of the top-left or top-right corner of the EcoSpace model, in accordance to its project system. See also the project system definition under datamodel.
x_max int Maximum position on the horizontal x-axis in the world. In other words, the horizontal x-axis coordinate of the top-right or bottom-right corner of the EcoSpace model, in accordance to its project system. See also the project system definition under datamodel.
y_max int Maximum position on the vertical y-axis in the world. In other words, the vertical y-axis coordinate of the bottom-left or bottom-right corner of the EcoSpace model, in accordance to its project system. See also the project system definition under datamodel.
initialFishingMapping float Likely unused. Might be a left-over from a time when the fishing object (see further below) did not yet include initialFishingDistribution. Likely to be deprecated.
fishingDisplayScale int The scale (starting from 0) for the fishing effort controls as displayed in the game client. By default the scale goes up to 1, so by setting this variable to 100, then the scale will run from 0-100, turning the scale into a percentage.
pressures object[] Defines the pressures and which layer geometry generates that pressure. Further defined in a separate paragraph.
fishing_policy_settings object Defines settings for fishing policies. Further defined in a separate paragraph.
fishing object[] Defines the fishing fleets and their initial country-specific distributions. Further defined in a separate paragraph.
outcomes object[] Defines the outcome key performance indicators (KPIs) to be returned by MEL and shown in the client. Further defined in a separate paragraph.
ecologyCategories object[] Categorizes the outcome KPIs. Further defined in a separate paragraph.

pressures

    "pressures": [
       {
         "name": "Bottom Disturbance",
         "layers": [
           {
             "name": "NS_Dredging_Deposit_Areas|1",
             "influence": 0.8,
             "construction": false
           },
           {
             "name": "NS_Wind_Farms_Implemented",
             "influence": 0.6,
             "construction": true
           },
           ...
         ]
       },
       {
         "name": "Protection Bottom Trawl",
         "layers": [
           {
             "name": "NS_Telecom_Cables",
             "influence": 1.0,
             "construction": false
           },
           {
             "name": "NS_Telecom_Cables",
             "influence": 1.0,
             "construction": true
           },
           {
             "name": "NS_Marine_Protected_Areas|1",
             "influence": 1.0,
             "construction": false
           },
           ...
         ]
       },
       ...
     ],
Field Type Description
name string Name of the pressure. Make sure it's the exact same as the one defined in EwE's MSPTools plugin.
layers object[] List of layers whose geometry should generated this pressure.
→ name string Layer name, referencing the layer_name variable in meta. So make sure the layer entered here exists under meta > layer_name. You have the option to only let certain types of this layer's geometry generate this pressure. To achieve this, add a pipe character | to the end of the layer name, followed by the layer_type identifier (no spaces). Again, if you do this, make sure the type actually exists in the layer definition: meta > [layer] > layer_type. See the example above. If you don't use this feature, then of course all layer geometry will generate this pressure.
→ influence float The strength of the influence of this layer's geometry on the pressure at hand, in the 0-1 range. Setting this to 0 does not make sense.

As you can see from the example above, protection against fishing fleets is also based on this pressures system, i.e., the protection is technically seen as another pressure. By setting that to 1.0 (the maximum), the EwE model at hand will completely block that particular fishing fleet from going there. In the example above, the Marine Protected Area of type 1 is one that the user can select in the game client to disallow bottom trawling. With the pressure definition as shown above, those particular MPAs are picked up to generate the highest possible 'protection against bottom trawling' pressure.

→ construction bool Set to true if the pressure definition at hand is only valid for when the geometry at hand is in the construction or 'assembly' state. See also the 'assembly' state value of meta > layer_states. For example, setting the Telecom Cable 'assembly' state to 10 months, means that the variant of the pressure where construction=true lasts those 10 months, after which the variant of the pressure where construction=false (if it exists!) takes effect. In this example the influence values are exactly the same, so there is no difference. With this schema the two definitions are nevertheless still required to achieve this result.

fishing_policy_settings

"fishing_policy_settings": {
   "all_country_approval": true
},
Field Type Description
all_country_approval bool Do all countries/teams need to approve any change to any of the fishing fleet's effort setting, even if the change was only by one country/team and only to that country's/team's own effort setting? Setting this to true is a nice proxy to the EU's Common Fisheries Policy, in which all member states fully collaborate and open up their EEZ's to fishing by other member states (so no unilateral changes).

fishing

    "fishing": [
       {
         "name": "Bottom Trawl",
         "initialFishingDistribution": [
           {
             "country_id": 3,
             "weight": 54.0
           },
           ...
         ]
       },
       {
         "name": "Industrial and Pelagic Trawl",
         "initialFishingDistribution": [
           {
             "country_id": 3,
             "weight": 406.0
           },
           ...
         ]
       },
       ...
     ],
Field Type Description
name string Name of the fishing fleet. Make sure it's the exact same as the one defined in EwE's MSPTools plugin.
initialFishingDistribution object The fishing fleet's catch weight can be set per country. A total percentage is calculated from all these weights (they can represent tonnes if that data is available).
→ country_id int Country identifier of the country for which the weight should apply for this particular fishing fleet. See datamodel > countries and meta > layer_type > value.
→ weight float Weight (can be expressed in tonnes, percentages, etc.) of this country that should be placed on this particular fishing fleet. Basically representing the stake of this country in this fleet.

outcomes

    "outcomes": [
       {
         "name": "Flatfish",
         "subcategory": "Biomass"
       },
       {
         "name": "Cod",
         "subcategory": "Biomass"
       },
       {
         "name": "Industrial and Pelagic Trawl Catch",
         "subcategory": "Fishery"
       },
       {
         "name": "Bottom Trawl Catch",
         "subcategory": "Fishery"
       },
       {
         "name": "Shannon Diversity Indicator",
         "subcategory": "Biodiversity"
       },
       ...
     ],
Field Type Description
name string Name of the outcome KPI that MEL (EwE) will return and should thus be made available. Make sure it's the exact same as the one defined in EwE's MSPTools plugin.
subcategory string Name of the category in which this outcome KPI should be placed in the game client. Should also exist as a categoryName under ecologyCategories (see below).

ecologyCategories

    "ecologyCategories": [
       {
         "categoryName": "Biomass",
         "categoryColor": "#4575B4FF",
         "unit": "t/km2",
         "valueDefinitions": [
           {
             "valueName": "Flatfish",
             "valueColor": "#FF7272FF",
             "unit": "t/km2",
             "valueDependentCountry": -1
           },
           {
             "valueName": "Cod",
             "valueColor": "#FFC773FF",
             "unit": "t/km2",
             "valueDependentCountry": -1
           },
           ...
         ]
       },
       {
         "categoryName": "Biodiversity",
         "categoryColor": "#5AAE61FF",
         "unit": "",
         "valueDefinitions": [
           {
             "valueName": "Shannon Diversity Indicator",
             "valueColor": "#FFFFFFFF",
             "unit": "",
             "valueDependentCountry": -1
           },
           ...
         ]
       },
       {
         "categoryName": "Fishery",
         "categoryColor": "#FDAE61FF",
         "unit": "t/km2",
         "valueDefinitions": [
           {
             "valueName": "Industrial and Pelagic Trawl Catch",
             "valueColor": "#73D9FFFF",
             "unit": "t/km2",
             "valueDependentCountry": -1
           },
           {
             "valueName": "Bottom Trawl Catch",
             "valueColor": "#FF0079FF",
             "unit": "t/km2",
             "valueDependentCountry": -1
           },
           ...
         ]
       },
       {
         "categoryName": "Protected Areas",
         "categoryColor": "#9970ABFF",
         "unit": "km2",
         "valueDefinitions": [
           {
             "valueName": "No Bottom Trawl Fleets",
             "valueColor": "#73D9FFFF",
             "unit": "km2",
             "valueDependentCountry": -1
           },
           {
             "valueName": "No Industrial and Pelagic Trawl Fleets",
             "valueColor": "#FF0079FF",
             "unit": "km2",
             "valueDependentCountry": -1
           },
           ...
         ]
       }
     ]
Field Type Description
categoryName string Name of the category, as will be shown in the game client.
categoryColor string Hexadecimal colour code starting with a hash #, the last two digits representing transparency. Used in KPI graph drawing in the game client.
unit string Unit of measurement to show next to the category name in the client.
valueDefinitions object[] List of value definitions that fall under this category.
→ valueName string Name of the value falling under this category. All outcome KPIs listed under outcomes above should come back in a category here. But all geometry of particular types can be added here, as long as you enter the exact name as the displayName of the layer_type you want to have here. In the example above the No Bottom Trawl Fleets geometry type is referenced, being one of the types of the Marine Protected Areas data layer. All geometry with that layer_type displayName is picked up, even if the geometry comes from different data layers.
→ valueColor string Hexadecimal colour code starting with a hash #, the last two digits representing transparency. Used in KPI graph drawing in the game client.
→ unit string Unit of measurement to show next to the value name in the client.
→ valueDependentCountry int Only used by the game client. Set to -1 if this value is particular to any specific country/team, and should thus be filterable to any of the countries/teams. Set to 0 is this value is never specific to a country/team, and should therefore not be filterable on country/team. Note that currently the game client never shows country/team filtering controls for ecology outcome KPIs, because the EwE model files don't offer country-specific KPIs (which makes total sense).

Back to the main configuration data schema page.

This page was last edited on 12 April 2024, at 13:09. Content is available under GPLv3 unless otherwise noted.