5  Particle release

In the present section, the different release processes that are implemented within Ichthyop are described. The parameters that are associated with the release processes must be included within release blocks (cf. Section 2.1).

5.1 Stain release

The release stain (StainRelease.java) consits of releasing particles within a given circle. The user provides the longitude and latitudes of the release stain, the radius of the release stain (in \(m\)) and the number of particles to release.

For a 3D simulation, the user also provides the depth and the thickness of the release stains (both in \(m\)).

An example of a stain release is provided in Figure 5.1

Figure 5.1: Example of a stain release.

5.2 Zone release

The zone release method (ZoneRelease.java) allows to release particles in different areas, which are defined in an XML zone file (zone_file parameter).

By default, the number of particles released in each zone (\(N_k\)) is equal to

\[ N_k = N_{tot} \times \dfrac{S_{k}}{\sum_{i=1}^{N}S_i} \]

with \(N_{tot}\) the total number of released particles, \(S_k\) the surface of the \(k^{th}\) release area and \(N\) the number of release areas.

However, if the user_defined_nparticles parameter is set equal to true, then the proportion of the particles to release in each zone is defined by the user.

An example of zone release is provided below.

Figure 5.2: Example of a zone release.

5.3 Text release

If the user wants to simulate some specific trajectories, for instance DCPs or buoys, particles can be relased by providing a text file containing the release coordinates (TxtFileRelease.java). The name of the text file is given by the txtfile parameter.

The file must be formatted as follows:

# 3D simulations
# longitude latitude depth
-5.45 48.30 -5
-5.45 48.30 -10
-5.45 48.30 -15
-5.45 48.30 -20

Each line is a drifter. Each character starting with # is considered as a comment. If the depth column is not provided, depth will be set equal to 0.

For 2D simulations, the depth column will be ignored.


Note that the columns must be separated by spaces.

5.4 Patchy release

The patchy release method (PatchyRelease.java) can be viewed as an extension of the release stain method, where several stains are randomly created.

The number of stains is given by the number_patches parameter. The number of particles per stain is given by the number_agregated parameter. The radius and thickness (if 3D simulation) for each patch is given by the radius_patch and thickness_patch parameters, respectively.

Additionnally, there is the possibility to release patches in each release zone. This is achieved by setting the per_zone parameter to true. An example is provided in Figure 5.3.

If this parameter is set to false, the bounding box around the defined release zones (if any) or the full domain is used to release the patches, as shown in Figure 5.4.

Figure 5.3: Example of a patchy zone release.
Figure 5.4: Example of a patchy uniform release.

5.5 Surface and bottom releases

The surface and bottom release methods (SurfaceRelease.java and BottonRelease.java) allow to randomly release particles over the entire domain, either on the surface or at the bottom (for 3D simulations only).

The only parameter required by these methods is the number of particles (number_particles parameter). There is no control over the area where the particles are released.

An example of a surface release is shown in Figure 5.5.

Figure 5.5: Example of a surface release.

5.6 Netcdf release

Ichthyop also offers the possibility to use an Ichthyop output file as a simulation starting point (NcFileRelease.java). This initialization method only takes a ncfile parameter, which provides the location of the NetCDF to use as a restart.

6 Release schedule

In Ichthyop, there is the possibility to schedule release events. These events are parameterized in the release.schedule option block.

It mainly contains two parameters:

  • is_enabled specifies whether release events schedule is activated or not
  • events is list of release date strings, which are formatted as the beginning simulation parameter (year YYYY month MM day DD at YY:MM).

The resulting output file will contain the same number of time-steps as in the case of a simple release, but the number of particles will be multiplied by the number of release events.


The output time array will be consistent with the beginning simulation time (initial_time parameter), not with the release schedule dates.