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
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.
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.
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.
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 notevents
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.