Description of algorithms for particle initialisation maps#

Included in the plasticparcels package are four particle initialisation maps, along with the algorithms to create them. These maps represent best estimates for plastic pollution emissions along coastlines @Jambeck2015, from river sources @Meijer2021, in the open-ocean from fishing-related activities @Kroodsma2018, as well as a current best estimate of buoyant plastic concentrations globally @Kaandorp2023. Each initialisation map, however, requires that particles be placed in ocean grid cells, so we also provide algorithms to generate these ocean masks too.

The code for these algorithims can be found in plasticparcels/scripts/create_release_maps.py. Below we describe each of the algorithms.

Coastal mismanaged plastic waste emissions #

To generate a particle initialisation map of plastic pollution that enters the ocean from coastal communities, we use a global mismanaged plastic waste dataset provided per country @Jambeck2015. Specifically, for each country, we use the ‘Mismanaged plastic waste [kg/person/day]’ (MPW) data to identify the amount of plastic entering the ocean along a coastline. We utilise a country border shapefile, a coastal ocean grid-cell mask, and the MPW dataset to create a .csv file. The algorithm is as follows:

Coastal emissions initialisation map algorithm

  1. Load (or generate) the coast mask file from the selected ocean model.

  2. Load the Natural Earth country boundaries shapefile at 1:50m resolution @NaturalEarth.

  3. Load the Gridded Population of the World dataset @NASA.

  4. For each country in the country boundaries shapefile:

    1. Extract the coordinates of the vertices of the country border (border vertices).

    2. Create a list of coastal model grid-cells that are within \(r\) km of a border vertex.

    3. For each identified coastal model grid-cell, identify the maximum population density from the GPW data within a specified distance \(\phi\) (in degrees) north/south or east/west from the coastal model grid-cell center.

    4. Create an array with the coastal model grid-cell and its associated area, the country name, continent name, region name, and subregion name from the shapefile, and the identified population density.

  5. Combine all entries generated in Step 4.4. into one array.

  6. Load the global mismanaged plastic waste data @Jambeck2015, and join it to the array generated in Step 5, by ‘left joining’ on country name\(^*\). Create an additional column ‘MPW_cell’, which represents the mismanaged plastic waste across the grid cell, by multiplying the mismanaged plastic waste per kilogram per day with the population density and the grid-cell area.

  7. Save the data into a .csv file, to be read and processed by plasticparcels.

\(^*\)We pre-process the country names in the @Jambeck2015 data to account for small differences in the naming conventions of each country. We use \(`r=50`\) km, and \(`\phi`\) is chosen as the model grid width in degrees. A sample plot of the initialisation map is shown in Figure X add link.

Riverine mismanaged plastic waste emissions #

To generate a particle initialisation map of plastic pollution that enters the ocean from river sources, we use a global riverine input dataset @Meijer2021. This dataset is in the form of a shapefile, providing a location (latitude and longitude) and amount of plastic emissions (in units of tonnes per year). The algorithm is as follows:

Riverine emissions initialisation map algorithm

  1. Load (or generate) the coast mask file from the selected ocean model.

  2. Load the Natural Earth country boundaries shapefile at 1:50m resolution @NaturalEarth, and extract the coordinates of the vertices of every country border.

  3. Load the riverine emissions shapefile.

  4. For each location in the riverine emissions shapefile:

    1. Compute the distance from the emission source to the center of every coastal grid cell, and identify the closest coastal grid cell.

    2. Compute the distance from the emission source to every country border point, and identify the closest country border point.

    3. Create an array with the coastal model grid-cell, the country name, continent name, region name, and subregion name of the closest border point from the Natural Earth shapefile, and the associated emissions amount.

  5. Save the data into a .csv file, to be read and processed by plasticparcels.

Current global ocean plastic concentrations #

To generate a particle initialisation map of the current best-estimate of global plastic concentrations in the ocean and along coastlines, we use an estimate produced in @Kaandorp2023. This is a gridded dataset provided in a netCDF format. Specifically, we create a particle initialisation map based on the modelled global concentrations along coastlines in the year 2020 for all plastic types, as well as a map for the open ocean in the year 2020 for all plastic types in the near-surface ocean. To generate this initialisation map we use the following algorithm.

Current global ocean plastic concentrations initialisation map algorithm

  1. Load the global concentrations dataset.

  2. Extract two sets of data, the first for concentration_beach_mass_log10, containing only the data for size_nominal='all', time=2020, the second for concentration_mass_log10, containing only the data for size_nominal='all', time=2020, and depth='0 - <5m'.

  3. Load (or generate) the coast mask file from the selected ocean model.

  4. Load the Natural Earth country boundaries shapefile at 1:50m resolution @NaturalEarth, and extract the coordinates of the vertices of every country border.

  5. For every coastal model cell, identify the closest (lon_beach, lat_beach) within a 50km radius from the concentration_beach_mass_log10 dataset, and the closest country boundary vertex from the Natural Earth shapefile.

  6. Create an array with the coastal model cell, the plastic concentration amount from the concentration_beach_mass_log10 dataset (converting it into a mass instead of a log10 mass), and the continent name, region name, subregion name, country name, and country flag from the Natural Earth shapefile.

  7. Load (or generate) the land mask file from the selected ocean model.

  8. Interpolate the concentration_mass_log10 to the ocean-grid cells, using an RegularGridInterpolator function from scipy.interpolate, with the grid and data being (lon, lat) and concentration_mass_log10 from the concentration_mass_log10 dataset.

  9. For all valid concentrations identified in Step 8., identify the closest country boundary vertex from the Natural Earth shapefile.

  10. Create an array with the ocean model cell, the interpolated plastic concentration amount (converting it into a mass insteaf of a log10 mass), and the continent name, region name, subregion name, country name, and country flag from the Natural Earth shapefile.

  11. Combine the arrays generated in Steps 6. and 10., and save the data as a .csv file, to be read and processed plasticparcels.