No edit summary
No edit summary
Line 24: Line 24:
|-
|-
| colspan="1" |modelfile
| colspan="1" |modelfile
| colspan="1" |
| colspan="1" |string
| colspan="1" |
| colspan="1" |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
|mode
|
|int
|
|Always null, as far as we know this was never implemented.
|-
|-
|rows
|rows
|
|int
|
|Amount of cell rows of which the EcoSpace model consists.
|-
|-
|columns
|columns
|
|int
|
|Amount of cell columns of which the EcoSpace model consists.
|-
|-
|cellsize
|cellsize
|
|int
|
|Size in kilometers of each cell. Typically this is 10 x 10 kms.
|-
|-
|x_min
|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 [[Configuration data schema|project system definition under datamodel]].
|-
|-
|y_min
|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 [[Configuration data schema|project system definition under datamodel]].
|-
|-
|x_max
|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 [[Configuration data schema|project system definition under datamodel]].
|-
|-
|y_max
|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 [[Configuration data schema|project system definition under datamodel]].
|-
|-
|initialFishingMapping
|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
|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
|pressures
Line 134: Line 134:
!Description
!Description
|-
|-
| colspan="1" |
| colspan="1" |name
| colspan="1" |
| colspan="1" |string
| colspan="1" |
| colspan="1" |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 configuration data schema|meta > layer_name]]. You have the option to only let certain ''types''<nowiki> 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: </nowiki>[[Meta configuration data schema|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 configuration data schema|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.
|}
|}


Line 148: Line 165:
!Description
!Description
|-
|-
| colspan="1" |
| colspan="1" |all_country_approval
| colspan="1" |
| colspan="1" |bool
| colspan="1" |
| colspan="1" |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).
|}
|}


Line 182: Line 199:
!Description
!Description
|-
|-
| colspan="1" |
| colspan="1" |name
| colspan="1" |
| colspan="1" |string
| colspan="1" |
| colspan="1" |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 [[Configuration data schema|datamodel > countries]] and [[Meta configuration data schema|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.
|}
|}


Line 216: Line 245:
!Description
!Description
|-
|-
| colspan="1" |
| colspan="1" |name
| colspan="1" |
| colspan="1" |string
| colspan="1" |
| colspan="1" |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).
|}
|}


Line 303: Line 336:
!Description
!Description
|-
|-
| colspan="1" |
| colspan="1" |categoryName
| colspan="1" |
| colspan="1" |string
| colspan="1" |
| colspan="1" |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 outcome KPI falling under this category. See outcomes above.
|-
|→ 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 [[Configuration data schema|main configuration data schema page]].
Back to the [[Configuration data schema|main configuration data schema page]].

Revision as of 13:02, 12 April 2024

MEL

"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 outcome KPI falling under this category. See outcomes above.
→ 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:02. Content is available under GPLv3 unless otherwise noted.