# Ipas : Interactive Phenomenological Animation of the Sea

Marc Parenthoën, Thomas Jourdan, Jacques Tisseau

► To cite this version:

Marc Parenthoën, Thomas Jourdan, Jacques Tisseau. Ipas : Interactive Phenomenological Animation of the Sea. ISOPE 2004, May 2004, Toulon, France. hal-01170245

HAL Id: hal-01170245

https://hal.science/hal-01170245v1

Submitted on 3 Jul 2015

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# IPAS: Interactive Phenomenological Animation of the Sea

Marc Parenthoën

Thomas Jourdan

Jacques Tisseau

Laboratoire d'Ingénierie Informatique (LI2), Centre Européen de Réalité Virtuelle (CERV)
Technopole Brest Iroise - Parvis Blaise Pascal, CS 73862, F-29238 Brest cedex 3, FRANCE

## ABSTRACT

No current real time animation model of the sea simultaneously holds account of a heterogeneous water plane up to $10 \text{ km}^2$ with the local effects of breakings, winds, currents and shallow waters on wave groups, and this on all the wavelength scales, phenomena however essential so that maritime simulation could have meaning for sailors and remains physically believable for the eyes of oceanographers.

We propose a new approach for the real time simulation of the sea: instead of numerically solving Navier-Stokes equations on a grid of points, we use oceanographical results both from theory and experiments for modeling autonomous entities, interacting in a multi agent system without any predefined grid. Our model IPAS (Interactive Phenomenological Animation of the Sea) includes entities such as wave groups, active and passive breakings, local winds, shallow waters and currents. Some of the whole set of interactions are modeled.

**KEY WORDS:** wave field animation; phenomenological simulation; multi agent system; wave groups; breakings; interactions.

## INTRODUCTION

The interactive animation of the sea in real time constitutes a strategic stake in many application related to various sea trades. Indeed, more and more often, specialists in navigation, shipbuilding, offshore, maritime safety, nautical competition..., have recourse to simulation and virtual reality.

Sailors use specific vocabulary to describe the sea as a heterogeneous water plane on which they observe localized phenomena (figure 1). These phenomena are modeled by oceanographers, who view the sea as a complex system where many models are superimposed (figure 2). A model for interactive animation of the sea,

<table><thead><tr><th>sailor's word</th><th>observable phenomena</th><th>characteristics</th></tr></thead><tbody><tr><td>meteorology</td><td>synoptic wind, fronts, Beaufort's scale (Mayençon, 1992).</td><td>direction, speed, oscillations.</td></tr><tr><td>micro-meteorology</td><td>local wind rise (convective cell, landscape), local sea state (irrisation, breaking, foam, spray).</td><td>position, extent, direction, speed, duration.</td></tr><tr><td>swell</td><td>wave groups generated by synoptic wind far from observation area.</td><td>direction, height, period, crest width, wavelength, number of waves.</td></tr><tr><td>wind sea</td><td>wave group, sea state development, steepness in function of synoptic fetch and duration.</td><td>age, direction, wavelength, height and period of main waves.</td></tr><tr><td>current</td><td>steady breakings, group height and frequency modification, small wave translation, current threads and counter-current, wakes.</td><td>localization, direction, speed, inversion time and rotation orientation.</td></tr><tr><td>bathymetry</td><td>wave steepness, breakings, group refraction, current modification.</td><td>localization, shape, tide dependent water depth.</td></tr></tbody></table>

This table summarizes the main maritime terms for water plane description. Each term corresponds to the designation of a phenomenon taking part in the choices of the strategies of trajectories according to the ship used. A simulator of sea, to be usable by sailors, must represent dynamically, in real time and in an interactive way, the whole of the phenomena described by this specific vocabulary.

<caption>Fig. 1. Sea state sailors' vocabulary</caption>

on the one hand should propose the mediation of a maritime language for the interactive specification of a heterogeneous water plane, and on the other hand should respect oceanographical laws as well as possible, while knowing virtual reality constraints.

However, no current real-time interactive animation model of the sea surface (Gonzato and Saëc, 2000; Thon et al., 2000; Jensen and Golias, 2001; Premoże and Ashikmin, 2001; Tessendorf, 2001; Hinsinger et al., 2002; Cieutat et al., 2003; Loviscach, 2003) simultaneously holds account of a heterogeneous water plane up to $10 \text{ km}^2$ with the local effects of breakings, winds, currents and shallow waters on wave groups, and this for all the wavelength scales, phenomena however essential so that maritime simulation could have meaning for the sailors and remains physically believable for the eyes of oceanographers.

<table><thead><tr><th>phenomenon</th><th>oceanographical modeling</th><th>parameters</th></tr></thead><tbody><tr><td>wave group</td><td>Wave group with a finite extent (Longuet-Higgins, 1957; Sawnhey, 1962; Longuet-Higgins, 1986). They propagate along rays (Komen and Hasselmann, 1994). Wavelet analysis using Morlet 2D (Arneodo et al., 1995; Chapron et al., 1995; Donelan and Drennan, 1996).</td><td>age, spectrum, main number of waves, mean wave-vector, mean position, group velocity, extent.</td></tr><tr><td>breaking</td><td>Active breaking: breaking criterium (Doncan, 1981; Rapp and Melville, 1990; Longuet-Higgins, 1994; Griffin et al., 1996); breaking activity (Phillips, 1985; Melville and Matusov, 2002). Fossil foam: foam field and turbulent patch decay (Monahan and Zietlow, 1969; Banner et al., 1989; Chang and Liu, 1998; Reul and Chapron, 2004).</td><td>wave steepness, velocity at the wave crest, length of breaking front, duration of active breaking, total action, foam-layer thickness, relaxation duration</td></tr><tr><td>group-group interaction</td><td>Resonance: four-wave interaction (Benney and Saffman, 1966; Hasselmann et al., 1973; Janssen, 2003). Kinematics: Interaction through breakings (Banner and Phillips, 1974).</td><td>interacting group wave-numbers, frequencies and amplitudes.</td></tr><tr><td>group-breaking interaction</td><td>Action transfers from group to breaking and dissipation of short waves by turbulences (Longuet-Higgins, 1969; Whitham, 1974). Growth of crest length (Banner and Tian, 1998), increasing number of waves and wavelength (Donelan and Yuan, 1994).</td><td>particle/crest speed, foam-layer thickness, frequency down-shifting.</td></tr><tr><td>group-wind interaction</td><td>Action transfers from wind to sea (Miles, 1957; Phillips, 1958; Janssen, 1994; Liu et al., 1995). Empirical results (Sverdrup and Munk, 1947; Snyder and Cox, 1966; Barnett and Wilkerson, 1967; Mollo-Christensen and Ramamonjiarisoa, 1982; Pierson et al., 1992; Drennan and Donelan, 1996).</td><td>wind field, group wavenumber, steepness, crest advance.</td></tr><tr><td>group-current interaction</td><td>Conservation of wave crests and action (Bretherton and Garrett, 1969; Phillips, 1977). Refraction and enlargement of groups by current gradients.</td><td>current field, group wave-numbers and frequencies, wave local amplitudes and phases.</td></tr><tr><td>group-depth interaction</td><td>Conservation of wave crests and energy. Dispersive refraction and enlargement of groups (Willebrand, 1975; WAMDI-group, 1988).</td><td>depth map, group wave-numbers and frequencies, wave local amplitudes and phases.</td></tr></tbody></table>

This table summarizes the way in which the principal phenomena used by the sailors are modeled in physical oceanography.

<caption>Fig. 2. Physical modeling of sea state phenomena</caption>
We propose a new approach for the real time simulation of the sea: instead of numerically solving Navier-Stokes equations based on a grid of points, we use oceanographical results both from theory and experiments for modeling autonomous entities which interact in a multi agent system, without the need for a grid. This article emphasizes the oceanographical aspects of our model and does not describe either the interactive mediation of a maritime language to specify a heterogeneous water plane, or graphical representation, or computing solutions about the $O(n^2)$ complexity of interactions underlying any multi agent system, where n is the number of interacting agents.

In the next section, we expose the principle of autonomy which guides our approach and give main characteristics of our model IPAS (Interactive Phenomenological Animation of the Sea). Then we follow by specifying the wave group and breaking agents and their interactions with each other and other agents. Finally, we conclude about this multi agent approach for the phenomenological animation of the sea and give some perspectives.

## AUTONOMY REDUCES MODELING COMPLEXITY

Modeling complex system (Waldrop, 1992) like a heterogeneous water plane, with asynchronous information about the state of its different parts, might be observed by the principle of autonomy (Varela, 1979). By applying this principle to sea state modeling, we obtain a multi agent system named IPAS where each agent is considered as an autonomous entity (Brooks, 1991) interacting with its environment *via* interaction mediators.

### Principle of Autonomy

The model autonomisation *by need* relates to the instantaneous holding account of changes in environment, by the organizations as by the mechanisms (Tisseau and Harrouet, 2003). The physical modeling of mechanisms generally goes through the resolution of differential equation systems; as is the case for the sea with the Navier-Stokes equations (Chen et al., 1999; Grilli et al., 2001). This resolution requires the knowledge of boundary conditions (Liakos, 1999) which force the movement but, in reality, these conditions continuously change, and their causes could be known or not (interactions, disturbances, environment modifications). The model must thus be able to perceive these changes to adapt its behavior during its execution. This is all the more true when a human is in the loop because, *via* his *avatar*, he can cause initially unforeseeable modifications. For example, how to predict the trajectory followed by such or such sailing ship controlled by a human operator on the virtual water plane? The autonomisation *by need* of a model contributes to reinforce the feeling of reality. The sea surface model retained consists of a whole of autonomous reactive entities interacting in a Multi Agent System (MAS) (Ferber, 1997). An agent is an autonomous reactive entity, having sensorimotor capacities, and communicating with the environment (Ferber, 1995). These agents are located in the environment where they evolve/move according to their behavioral model which defines their capacities of perception, action and decision according to internal characteristics and interactions with the environment. We use oceanographical results both from theory and experiments for modeling interacting agents. Like any modeling, the MAS approach simplifies the studied phenomenon. But, by distributing control on the level of each agent, it allows to mainly respect its complexity, while authorizing a diversity of the components, a diversity of the structures and a diversity of the interactions brought into play.

### IPAS: a Multi Agent System

Our model IPAS (Interactive Phenomenological Animation of the Sea) includes primitive physical agents such as wave groups, active and passive breakings, synoptic and local winds, bathymetry and currents. These agents assume the physical believability of the virtual environment and their modeling is inspired by the oceanographical description of entities responsible for sea states (figure 2). Other agents realize the mediation of maritime language, for friendly interactive water plane specification (figure 1); these high level agents are for example: swell, wind-sea or rogue wave for wave generators, convective cell or cumulus road for winds, currents and bathymetry editors.

Physical agents are situated at the surface of the environment and can perceive properties of the environment *via* interaction mediators. An interaction mediator is any position $\vec{x}_0$ on the water plane (altitude $z=0$) associated with specific attributes.

Every cycle, each agent records its interaction mediators where it needs information according to its behavior and can act on its environment by updating some attributes of mediators situated in its neighborhood, depending on its abilities. For example, wind, current and bathymetry agents are able to update respectively wind speed vector $\vec{W}_{alt.10m}$, current vector $\vec{U}$, depth $p$ and depth gradient $\vec{\nabla}(p)$ of a mediator at any position $\vec{x}_0$ of the water plane. To date, physical agent models in IPAS are declined in an oceanographical model for wave groups and breakings, and a descriptive model for winds, currents and bathymetry. Some of the whole of interactions are modeled in IPAS (figure 3): action towards wave groups from other groups, breakings, winds, bathymetry and currents, and action toward breakings from wave groups, winds and currents.

<table><thead><tr><th>y</th><th>x</th><th>Group</th><th>Breaking</th><th>Winds</th><th>Current</th><th>Depth</th></tr></thead><tbody><tr><td></td><td></td><td>Group</td><td>action.</td><td>wave,<br>action.</td><td>creation,<br>energy.</td><td>wave,<br>action,<br>transport.</td></tr><tr><td></td><td></td><td>Breaking</td><td>creation,<br>action.</td><td>action.</td><td>action.</td><td>indirect<br>via<br>transport.</td></tr><tr><td></td><td></td><td>Winds<br>Current<br>Depth</td><td colspan="4">These agents are modeled by a descriptive way.<br>We choose not to model the reactions of these agents.</td></tr></tbody></table>

In a multi agent system, the modeling of an interaction between agent A and agent B, unlike the physical notion of interaction, needs to specify both directions (Ferber and Müller, 1996): what does A do to B (action) and what does B do to A (reaction). The upper table, where “x type agents act on y type agents” should be read, presents interactions modeled in IPAS. Their nature is specified: by *wave* we mean the modification of wave group parameters, by *action* an energy transfer mechanism from groups and winds to breakings or from groups, breakings and current to groups implying the modification of wave frequency and amplitude for groups, or an energy transfer mechanism from passive breaking to active breaking for turbulence accumulation, by *energy* an energy transfer without frequency modification, by *transport* any phenomenon of position modification other than wave group propagation, and by *creation* the x type agent ability to generate y type agents.

<caption>Fig. 3. Interactions modeled in IPAS</caption>

Thus, by distributing the sea state complexity at the level of quite simple autonomous entities interacting in a multi agent system, our model for the animation of the sea offers physical believability for the animation up to 50 000 particles, anywhere on a heterogeneous 10 km² water plane at 10 fps, with a normal PC.

The next two sections describe physical agents in IPAS and their interactions between each other and other agents.

## PHYSICAL AGENTS

IPAS is peopled by two types of agent, whose modeling is inspired from oceanographical work: wave group agent and breaking agent. This section details the characteristics of these two agents.

### Wave Group Agent

The wave group agent is our main primitive for the phenomenological simulation of the sea. It includes physical notions like finite extent envelope, mean position $\vec{X}$, mean wave-vector $\vec{K}$ and mean pulsation $\Omega$ governed by eikonal equations (Komen and Hasselmann, 1994):

$$ \frac{d\vec{X}}{dt} = \nabla_k \Omega \quad \text{and} \quad \frac{d\vec{K}}{dt} = -\nabla_x \Omega \quad (1) $$

Inspired by the use of 2D Morlet's wavelet for fractal analysis of sea states (figure 4), we have reified this wavelet in a dynamical wavelet that we call a *wave train*. This *wave train* is related to these mean characteristics and extent. We enrich this model by adding local disturbances in phase and amplitude, then use it to animate water particles in a Gerstner way (Gerstner, 1804), presenting high nonlinear behavior even for a single wave group.

<figure><img src="image_2.png" /></figure>

Graph of 2D Morlet's wavelet (Grossmann and Morlet, 1984): a sinusoid enveloped by Gaussian. The non isotropic aspect of this wavelet makes it possible to apprehend wave orientation (Arneodo et al., 1995). It is the wavelet used in oceanography for the fractal analysis of the sea surface (Chapron et al., 1995; Peng et al., 1995; Donelan and Drennan, 1996).

2D Morlet's wavelet is described by the following equation:

$$ \Psi(x) = e^{i\vec{k}_0 \cdot \vec{x}} e^{-\vec{x}' \cdot A \cdot \vec{x}} + \text{Corr} \quad (2) $$

Parameter $\vec{k}_0$ characterizes wavenumber and orientation of the sinusoidal wave. A is a positive definite matrix specifying the elliptic shape of the Gaussian envelope. Corr assumes energetic finitude: $\overline{\Psi(0)=0}$.

<caption>Fig. 4. 2D Morlet's wavelet</caption>
The behavior of a wave group is characterized by a *wave train* which controls it, by disturbances in phase and amplitude attached to crests and by competences on interaction mediators. We will see in the next section how it modifies its behavioral parameters according to interaction with other agents.

### Wave Train

We do not consider the 2D Morlet's wavelet as a mathematical tool, but as a reification of the physical wave group notion, whose envelope moves at the group speed and whose phase progresses at the phase speed (figure 5).

<figure><img src="image_3.png" /></figure>

A wave group agent is controlled by a dynamical 2D Morlet's wavelet whose envelope moves at the group speed and whose phase progresses at the phase speed: it is a reification of the physical concept of wave group. We call this dynamical wavelet: a *wave train*. Waves move in open sea twice as quickly as the group. When a wave enters the train, its amplitude is weak bus very attenuated by the envelope. On the first half of the train, it gains energy and its amplitude increases. On the second half, it loses some energy and its amplitude decreases. Top view (a): the *wave train* is seen as a rhombus Γ (the Gaussian envelope is truncated when amplitude becomes very low). Side view (b): the wave amplitude evolves in a Gaussian envelope. Fig. 5. The *wave train* controlling a wave group agent

A *wave train* (or dynamical wavelet) is characterized by its size $(L, l)$, its wave-vector $\vec{K}$, its pulsation $\Omega$, its phase $\chi$, its number $N$ of waves with the positions of their crests: $\chi=\pi \mathrm{mod}(2\pi)$, its crest profile $P^{\mathrm{crests}}$, its phase speed $c=\Omega/K$, its center position $\vec{x}$ on the sea, its group speed $\vec{c}_g$, its amplitude $H/2$ at the center and its age $\alpha=(t-t_0)+\alpha_0$. All these characteristics are functions of the history of the group which it controls, according to its interactions with the environment and their initial values given in infinite depth without current: $((L_0,l_0), \vec{K}_\infty, \Omega_0, N_0, \chi_0, P_0^{\mathrm{crests}}, c_0, \vec{X}_0, \vec{C}_0, H_0, \alpha_0)$.
To respect the finite extent of the envelope, we truncate the dynamical wavelet by a rhombus $\Gamma$ (figure 5(a)). The size of a *wave train* depends on its mean wave-vector $\vec{K}$ and its number $N$ of waves; the length $L$ of the envelope is equal to $N$ times the mean wavelength $\lambda = 2\pi/K$ so that it could contain $N$ waves and its width $l$ must be higher than $N-1$ times the wavelength $\lambda$, in order to observe the concept of crest:

$$l \ge (N-1)\lambda = \frac{2(\vec{N}-1)\pi}{K} \quad \text{and} \quad L = N\lambda = \frac{2N\pi}{K} \quad (3)$$

The axes of the Gaussian lens envelope are defined by the eigenvectors of the matrix $A$ [equation (2)]. The positive definite matrix $A$ characterizing the distribution of the amplitudes in the envelope is related to the width $l$ and the length $L$ of the wave train. The first(resp. second) eigenvector of $A$ is collinear(resp. orthogonal) to $\vec{K}$ and is inversely proportional with $L^2(\mathrm{resp. } l^2)$:

$$A = \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix} \cdot \begin{pmatrix} \left(\frac{4}{L}\right)^2 & 0 \\ 0 & \left(\frac{4}{l}\right)^2 \end{pmatrix} \cdot \begin{pmatrix} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{pmatrix} \quad (4)$$

where $\theta$ is the direction of the mean wave-vector $\vec{K}$. Then, for a wave group situated in $\vec{x}$, the local amplitude follows:

$$a(\vec{u}, t) = \begin{cases} \frac{H(\vec{u}, t)}{2} \cdot e^{-\vec{u}' \cdot A \cdot \vec{u}} & \text{if } \vec{x}_0 = \vec{u} + \vec{X} \in \Gamma \\ 0 & \text{if } \vec{x}_0 = \vec{u} + \vec{X} \notin \Gamma \end{cases} \quad (5)$$

where $H$ is the height without envelope and $\vec{u} = \vec{x}_0 - \vec{X}$ the mediator position relative to the *wave train* center position. The envelope of the wave train moves at the group speed. In deep water without currents, the eikonal equation (1) with the dispersion relation for gravity waves: $\Omega^2=gK$, gives the following expression for the group speed:

$$\vec{C}_g = \frac{d\vec{X}}{dt} = \nabla_k \Omega = \frac{\Omega \vec{K}}{2\|K\|^2} = \frac{\vec{c}}{2} \quad (6)$$

where $\vec{c}$ is phase speed (the mean speed of crests). In open sea without currents, group speed is half crest speed. The wave profile of a 2D Morlet's wavelet is a straight line, but sea wave crests can present other types of profile. We consider that a single profile can be used to characterize all the crests of one group (figure 6). This profile is defined by a spline $P^{\mathrm{crests}}$:

$$\begin{bmatrix} -\frac{l}{2}, \frac{l}{2} \\ v \end{bmatrix} \rightarrow P^{\mathrm{crests}}(v) \quad \text{with} \quad \int_{-\frac{l}{2}}^{\frac{l}{2}} P^{\mathrm{crests}}(v) \, dv = 0 \quad (7)$$

<figure><img src="image_4.png" /><figcaption>Fig. 6. Wave crest horizontal profile</figcaption></figure>

Here, a wave train is such that $K=2\pi$, the wavelength is $1m$. Its envelope $\Gamma$ is in dash line. The wave train has 5 waves in dash-dot lines (1 to 5). Their crests, in solid lines (1' to 5') have all the same horizontal profile $P^{\mathrm{crests}}$. This profile $P^{\mathrm{crests}}$ is generated here by a fractional Brownian motion with a Holder exponent 0.9.

Such a profile is used to compute the phase $\chi$, by translating the reference position $\vec{x}_0$ along the wave-vector $\vec{K}$ with the algebraic distance defined by $P^{\mathrm{crests}}(v)$, $v$ being the distance from $x_0$ to the line passing by $\vec{x}$ with direction $\vec{K}$:

$$\begin{gathered} \forall x_0 \in \Gamma, \chi(x_0, t) = \vec{K} \cdot \left( \vec{x}_0 - P^{\mathrm{crests}}(v) \frac{\vec{K}}{K} \right) - \Omega t + \chi_0 \quad (8) \\ \text{with } v = (\vec{x}_0 - \vec{X}) \cdot \frac{\vec{K} \wedge \vec{z}}{K} \end{gathered}$$

where $\vec{z}$ pointing to zenith and $\|\vec{z}\| = 1$.

Such a *wave train* mainly characterizes the influence zone and the crest positions of the wave group attached to it. This influence zone bringing mean wave parameters, propagates on the water plane at the group speed. Added to this, we use local phase and amplitude disturbances attached to crests.

### Phase and Amplitude Disturbances

To be attached to crest, both phase and amplitude local disturbances are functions of $\chi(x_0, t)$ [equation (8)]. They are used to specify local effects such as those of winds, breakings, currents and bathymetry on a group, but also unknown previous history aspects of a group.

* **Amplitude Disturbance $\delta H$**. In the envelope equation (5) of a *wave train*, the local height $H(\vec{u}, t)$ is the sum of two terms: a global one $H$ and a local disturbance attached to the crests $\delta H(\chi(x_0, t))$:

$$H(\vec{u}, t) = H + \delta H(\chi(\vec{u} + \vec{X}, t)) \quad (9)$$

with $\|\delta H\|<H$, so that $H(\vec{u}, t)$ is always positive. $\delta H$ is linearly interpolated between control points situated at the crests of the waves. Each crest is bringing a set of control points defining a spline $\delta H(\chi=\pi \mathrm{mod}(2\pi))$. Each time a new wave enters the wave train, a set of random positive values in $[0, H]$ for control points is associated to this new crest. Then, $\delta H$ evolves through time, depending on group interactions with other agents.

* **Phase Disturbance $\phi$**. Phase disturbance can be viewed as the notion of instantaneous phase (Meyers et al., 1993). It is a modulation of the phase $\chi$ depending on relative position to crests and troughs. This modulation models crest advance, trough delay, the local shape of waves and the speed of particles. Each position at a crest (resp. trough) is associated with $\phi_{\mathrm{max}}$, $0 \le \phi_{\mathrm{max}} \le \pi/3$ (resp. $\phi_{\mathrm{min}}$, $-\pi/3 \le \phi_{\mathrm{min}} \le 0$). The interpolation between crest and trough follows a power function whose exponent $\rho > 1$ depends on the front ($\rho_{\mathrm{front}}$) or back ($\rho_{\mathrm{back}}$) of the crest.

When animating particles in a Gerstner way (next sub-subsection), the value of exponents modifies wave shape and particle speed. We choose $\rho_{\mathrm{back}} \in \{1, 3\}$ and $\rho_{\mathrm{front}} \in \{1, 9\}$. The effect of the exponents is illustrated by the figure 7: bigger $\rho_{\mathrm{back}}$ increases amount of water in the back; bigger $\rho_{\mathrm{front}}$ increases vertical acceleration and horizontal speed in the front, and shapes the wave until the beginning of a plunging breaking shape. More precisely, interpolation between crests $n,n+1$ and trough $n+1/2$ follows equation:

$$\begin{align} & \text{if } -\pi + \phi_{\mathrm{max}}^{[n]} \le \xi < \phi_{\mathrm{min}}^{[n+1/2]} \nonumber \\ & \text{if } \phi_{\mathrm{min}}^{[n+1/2]} \le \xi < \pi + \phi_{\mathrm{max}}^{[n+1]} \nonumber \\ & \text{if } \phi_{\mathrm{max}}^{[n+1]} - \phi_{\mathrm{min}}^{[n+1/2]} \left( \frac{\xi - \phi_{\mathrm{min}}^{[n+1/2]}}{\pi + \phi_{\mathrm{max}}^{[n+1]} - \phi_{\mathrm{min}}^{[n+1/2]}} \right)^{\rho_{\mathrm{back}}^{[n+1/2]}} + \phi_{\mathrm{min}}^{[n+1/2]} \tag{10} \end{align}$$

where $\xi=\chi \mathrm{mod}(2\pi)$ is between crest $\chi_{\mathrm{crest}}=\pi+\phi_{\mathrm{max}} \mathrm{mod}(2\pi)$ and trough $\chi_{\mathrm{trough}}=\phi_{\mathrm{min}} \mathrm{mod}(2\pi)$. Front is characterized by $-\pi+\phi_{\mathrm{max}} \le \xi < \phi_{\mathrm{min}}$, while back verifies $\phi_{\mathrm{min}} \le \xi < \pi+\phi_{\mathrm{max}}$. This definition of $\phi$ assumes continuity of the phase disturbance at every $\pi+\phi_{\mathrm{max}}$ and $\phi_{\mathrm{min}}$. The choice of exponents $\rho > 1$ assumes that $\phi$ is differentiable in
<figure><img src="image_5.png" /><figcaption>Fig. 7. Front and back nonlinear interpolation effects on waves</figcaption></figure>

This wave is 1 m long and 18 cm height. Crest advance is $\phi_{max} = \pi/4$, and $\phi_{min} = 0$ [graph (a)]. In solid line, no phase disturbance is used for particle animation using phase $\chi$ in a Gerstner model with circular orbits. Two other lines represent the subtraction of the phase disturbance $\phi$ [equation (10)] to $\chi$ in the same Gerstner model. In dash-dot, back exponent is 1.5 while front is 2.25. In dash-dot-dot, back exponent is 3 while front is 9. Higher exponent increases particle speed near crests [graph (b)], then the probability of plunging breakings goes closer to one [graph (c)].

each $\phi_{min}$, but not at $\pi + \phi_{max}$. Then, we artificially modify $\phi'$ in each $[\pi, \pi + \phi_{max}]_{\text{mod}(2\pi)}$ following definition:

$$ \phi'(\xi) = \left| \frac{d\phi}{d\xi} \right. , \quad \text{if} \quad -\pi + \phi_{\text{max}}^{[n-1]} < \xi < \pi \\ \left. \frac{d\phi}{d\xi} + (\phi'_{\text{front}} - \phi'_{\text{back}}) \sin^2\left(\frac{\pi}{2} \cdot \frac{\xi - \pi}{\phi_{\text{max}}^{[n]}}\right) \right. , \quad \text{if} \quad \pi \le \xi \le \pi + \phi_{\text{max}}^{[n]} $$

$$ \text{where } \phi'_{\text{front}} = \frac{\rho_{\text{front}}^{[n]} (\phi_{\text{max}}^{[n]} - \phi_{\text{min}}^{[n+1/2]})}{\phi_{\text{max}}^{[n]} - \phi_{\text{min}}^{[n+1/2]} - \pi} \quad \text{and} \quad \phi'_{\text{back}} = \frac{\rho_{\text{back}}^{[n]} (\phi_{\text{max}}^{[n]} - \phi_{\text{min}}^{[n-1/2]})}{\phi_{\text{max}}^{[n]} - \phi_{\text{min}}^{[n-1/2]} + \pi} \quad (11) $$

This modification illustrated by figure 8 makes model more robust for the detection of breaking events based on particle speed, such as the duration of high horizontal speed near crests, linked to this definition of $\phi'$, is longer.

<figure><img src="image_6.png" /><figcaption>Fig. 8. Correction applied to the calculus of $\frac{d\phi}{d\xi}$</figcaption></figure>

Here, phase disturbance with $\phi_{max} = \pi/3$, $\phi_{min} = -\pi/4$, $\rho_{back} = 2$ and $\rho_{front} = 4$ is plotted in solid line (relatively to a 1 m wavelength wave whose height percentage is in dot line). Dash line represents the exact $\phi$ differential calculus, while dash-dot line shows the correction applied to $\phi'$.

When a new crest appears at the back of a group, random phase disturbance values are selected for control points defining a spline along this crest and along next trough; for crests $\phi_{\text{max}}^{\text{rnd}} \in [0, \pi/8]$ and for troughs $\phi_{\text{min}}^{\text{rnd}} \in [-\pi/8, 0]$. Then, $\phi$ evolves through time, depending on group interactions with other agents.

This phase disturbance corresponds to a maximum. Then, it is dotted by the Gaussian lens to obtain the modified phase $\chi^{[\phi]}$:

$$ \chi^{[\phi]}(\vec{x}_0, t) = \chi(\vec{x}_0, t) - \phi(\chi(\vec{x}_0, t)) \cdot e^{-(\vec{x}_0 - \vec{X})' A(\vec{x}_0 - \vec{X})} \quad (12) $$

with $\chi(\vec{x}_0, t)$ given by equation (8) and $\phi$ by equation (10). When progressing into the group, a wave wins crest advance until it reaches the middle of the group, then loses this advance as it is progressing into the front part of the group (figure 9).

Thus, these amplitude and phase local disturbances control each wave of a group adding nonlinear behaviors and can be used for integrating wave history through its travel into the group.

## Competences on Interaction Mediators

If an interaction mediator situated in the environment at $\vec{x}_0$ is influenced by a group ($\vec{x}_0 \in \Gamma$), such groups add their contributions to four attributes of this mediator. These attributes are called: dynamic position $\vec{\Delta}\vec{z}$, particle speed $\vec{s}$, normal $\vec{n}$ and influencing group list $C$. These competences are inspired from the Gerstner model, imagining water particles as moving around circular orbits in function of their phase. For a single infinite group without disturbance in the Gerstner model of sea without any currents or shallow water, $\vec{\Delta}\vec{x}$ corresponds to particle position relatively to its rest position $\vec{x}_0$, $\vec{s}$ is particle speed, $\vec{n}$ is the normal of sea surface and $C$ contains the name of this group. We assume that when some group agents influence the same mediator, each contribution $\vec{\Delta}\vec{x}^+, \vec{s}^+, \vec{n}^+$ is added linearly to $\vec{\Delta}\vec{x}^+, \vec{s}^+, \vec{n}^+$.

For a given group ($\vec{K}, \Omega, \chi, \phi, \vec{X}, H, \delta H$), its competences $\vec{\Delta}\vec{x}^+, \vec{s}^+$ and $\vec{n}^+$ on an interaction mediator at $\vec{x}_0$ follow equations:

$$ \vec{\Delta}\vec{x}^+ = a \cdot \left[ e^{i\chi^{[\phi]}(\vec{x}_0, t)} \right]_{(-\vec{z}, \vec{K})} \quad (13) $$

$$ \vec{s}^+ = -a\Omega \cdot \left(1 - \frac{2a}{H}\phi'(\chi(\vec{x}_0, t))\right) \cdot \left[ ie^{i\chi^{[\phi]}(\vec{x}_0, t)} \right]_{(-\vec{z}, \vec{K})} \quad (14) $$

<figure><img src="image_7.png" /></figure>

Group characteristic view in a vertical plane containing wave-vector $\vec{K}$ and position $\vec{X}$. Here, $K=2\pi rad m^{-1}$, $\Omega=7.85 rad s^{-1}$, $N=5$, $X=2.5 m$ and $H=0.12 m$ (for a wavelength $\lambda=1 m$).
**Top graph** $\phi$: phase disturbance dot the envelope, with $0 \le \phi_{max} < \pi/3$, $-\pi/6 < \phi_{min} \le 0$, $\rho_{front} = 4$ and $\rho_{back} = 2$.
**Middle graph** $hs$: horizontal speed of particles only due to this group using Gerstner model for the animation of particles (particle is positioned on an elliptic orbit using the disturbed phase $\chi^{[\phi]}$; the dash line indicates the phase speed $c = \Omega/K$, as a possible criterium for breaking activity when $hs > c$.
**Down graph** $z$: particle position using Gerstner model; when a wave enters the group, its phase disturbance and amplitude grow until their maximum in the middle of the group, then decrease in the second part of the group.
Fig. 9. A wave group with its enveloped phase disturbance

$$ \vec{n}^+ = \mathbb{I} \left[ 1 + aK \cdot \left( 1 - \frac{2a}{H} \frac{d\phi(\xi)}{d\xi} \right)_{[\chi(\vec{x}_0, t)]} \cdot ie^{i\chi^{[\phi]}(\vec{x}_0, t)} \right]_{(\vec{K}, \vec{z})} \quad (15) $$

where $a = a(\vec{x}_0 - \vec{X}, t)$ is the local wave amplitude with its disturbance as defined by equations (5) and (9), $\chi$ the phase respecting equation (8), $\chi^{[\phi]}$ the local modified phase [equation (12)], $\phi'$ the modified phase derivate [equation (11)] and $\vec{z}$ the normed vector pointing to zenith. Notation $[A](\vec{v}, \vec{w})$ represents, in the complex plane associated to $(\vec{v}, \vec{w})$, the vector $\vec{u}$ whose complex affix is $A \in \mathbb{C}$: $\vec{u} = \Re(A)\vec{v} + \Im(A)\vec{w}$. Notation $\mathbb{I}_{\vec{K}}$ represents $\vec{N} \parallel \vec{N}$.

* Dynamic position [equation (13)] is the application of Gerstner model using disturbed phase for animating water particle resting at $\vec{x}_0$; crests are defined by $\chi^{[\phi]}(\vec{x}_0, t) = \pi$ mod($2\pi$). When more than one group influences this mediator: $\vec{\Delta}\vec{x} = \sum \vec{\Delta}\vec{x}^+$.

* Speed particle [equation (14)] results from weak $\partial a(\vec{u}, t)/\partial t$ hypothesis: $\vec{s}^+ = d\vec{\Delta}\vec{x}^+/dt \approx a(\vec{u}, t) \cdot \left[ i \frac{\partial \chi^{[\phi]}(\vec{x}_0, t)}{\partial t} e^{i\chi^{[\phi]}(\vec{x}_0, t)} \right]_{(-\vec{z}, \vec{K})}$, with $\partial \chi^{[\phi]}(\vec{x}_0, t)/\partial t \approx -\Omega \cdot (1 - (2a/H)\phi'(\chi(\vec{x}_0, t)))$. When more than one group influences this mediator: $\vec{s} = \sum \vec{s}^+$.

* Normal [equation (15)] results from weak $\partial a(\vec{u}, t)/\partial x$ hypothesis: the normal $\vec{n}^+$ due to a single group is then in the plane containing vertical $\vec{z}$ and wave-vector $\vec{K}$, and makes an angle of $+\pi/2$ in the complex plane ($-\vec{z}, \vec{K}$) with the vector of affix $1+a\partial e^{i\chi^{[\phi]}(\vec{x}_0, t)}/\partial x_0 \approx 1+aK(1-(2a/H)\phi'(\chi(\vec{x}_0, t)))e^{i\chi^{[\phi]}(\vec{x}_0, t)}$. When more than one group influences this mediator, we can not just vectorially add each 3D normals $\vec{n}_{1...N}^+$; we have to respect the following equation resulting from linear considerations: if $\forall j \in [1, N]$, $\vec{n}_j^+ \cdot \vec{z} \neq 0$ (i.e: there is no horizontal normal),

$$ \vec{n} = \mathbb{I} \left| \sum_{\{j \in [1, N]\}, \vec{n}_j^+ \cdot \vec{z} = 0} \vec{n}_j^+ \right| \quad (16) $$

else, $\vec{n} = \mathbb{I} \left| \sum_{\{j \in [1, N]\}, \vec{n}_j^+ \cdot \vec{z} = 0} \vec{n}_j^+ \right|$ is the mean horizontal normal.

These group agent abilities are illustrated by figures 7, 9 and 10.

<figure><img src="image_8.png" /></figure>

Water particle animation results from the application of a Gerstner model using disturbed phase. Here, 100 particles with $\vec{x}_0 \in [0, 1] \times \{0\} \times \{0\}$ are animated [equation (13)] by a single group propagating in the direction of the first co-ordinate. This group is shaping a crest (zoomed on right) with wavelength $\lambda=1 m$, local amplitude $a=8 cm$, phase disturbances $\phi_{\text{max}}^{[n]}$ and $\phi_{\text{min}}^{[n+1/2]}=0$ and exponents $(\rho_{\text{back}}=1.5, \rho_{\text{front}}=2.25)$ for (a) and (b), $(\rho_{\text{back}}=2, \rho_{\text{front}}=4)$ for (c) and (d). In (a) and (b), wave shape shows a nearly breaking crest, confirmed by the comparison between phase speed $c = \Omega/K$ and particle speed [equation (14)] represented by arrows. In (c) and (d), wave shape shows an active breaking crest, confirmed by the down orientation of normals [equation (15)] on the front of the wave.

<caption>Fig. 10. Particle animation inspired by a Gerstner model</caption>
Thus, we have shown the wave group agent used in IPAS. A group is controlled by a *wave train* carrying mean properties of the group and transporting the envelope. Amplitude and phase disturbances give control at the level of each wave and their parameters modify local wave shape. Particle animation relies on the application of a Gerstner inspired model. Each group influencing an interaction mediator can update dynamic position, particle speed, surface normal and can add its name to the list of groups having a crest near this mediator.

## Breaking Agent

Oceanographers view two phenomena in breaking: one, active breaking following the propagation of breaking fronts and the other, passive breaking explaining foam and turbulence relaxation. Breaking agents are responsible for the representation of both these phenomena. A breaking agent is a set of particles gathered in representatives by neighbourhood. Each representative deals with an area element for simplifying calculus. A representative has one or two particles including one known as principal. Particles are associated to three specific states: **active**, **passive** or **unknown**. These states correspond respectively to belonging to active front, relaxing foam and turbulences or waiting for more information to decide its role in breaking.

We first describe how active breaking fronts are propagating by recording interaction mediators. Then we specify the foam and turbulence relaxation.

### Active Breaking

Active breaking modelling needs to take into account breaking activity and front propagation. The breaking agent decides its activity in function of the information given by recorded mediators positioned at the **active** or **unknown** particles of representatives. The front propagation results from an exploration of the neighborhood of **active** particles, by creating **unknown** particles. Let's specify activity and propagation calculus.

* **Breaking activity.** The breaking agent estimates its activity rate $\beta$ for a particle potentially belonging to the front, as defined by the following (Reul and Chapron, 2004) inspired equations if there is at least one crest close to this mediator, i.e. $C \neq \emptyset$:

$$ \forall j \in C, \left| \begin{array}{l} \vec{C}_j = (1 - \alpha(\vec{W}, \vec{c}_j)) \cdot \vec{c}_j + \alpha(\vec{W}, \vec{c}_j) \cdot (\vec{C}_{g_j} - \vec{c}_j) \\ \text{with } \alpha(\vec{W}, \vec{c}_j) = \begin{cases} 0 & , \text{ if } (\vec{W} - \vec{c}_j) \cdot \vec{c}_j \le 0 \\ 0 & , \text{ if } (\vec{W} - \vec{c}_j) \cdot \vec{n} \le 0 \\ \frac{|\vec{W} - \vec{c}_j|}{\|\vec{W} - \vec{c}_j\|} & , \text{ otherwise.} \end{cases} \end{array} \right. \quad (17) $$

$$ \lambda = \left| \frac{\left( \sum_{j \in C, \vec{s} \cdot \vec{C}_j > C_j^2 } (\vec{s} \cdot \vec{C}_j - C_j^2) \lambda_j \right)}{\left( \sum_{j \in C, \vec{s} \cdot \vec{C}_j > C_j^2 } (\vec{s} \cdot \vec{C}_j - C_j^2) \right)} \right|, \quad \text{otherwise.} \quad (18) $$

$$ \beta = 9.9 \times 10^{-2} \lambda^{1/2} \quad (19) $$

where $\vec{W}$ is wind speed, $\vec{s}$ particle speed, $\vec{n}$ surface normal, $C$ the indices of groups having a crest near this mediator, and for a group $j$: $\vec{c}_j$ its phase speed, $\vec{C}_{g_j}$ its group speed and $\lambda_j$ its wavelength. The function $\alpha(\vec{W}, \vec{c}_j)$ taking values in $[0, 1]$ reflects the risk of air separation close to the crest, supporting an early surge (Liu et al., 1995). The speed $\vec{C}_j$ [equation (17)] is then between group speed ($\alpha = 1$) and phase speed ($\alpha = 0$). The wavelength $\lambda$ [equation (18)] could be imagined as an activity weighted average wavelengths of the groups transferring activity to this breaking (Duncan, 1981). The activity rate $\beta$ [equation (19)] corresponds to foam thickness increasing rate but also to the growth of breaking intensity (Melville and Matusov, 2002).

If no group has a crest close to this mediator ($C = \emptyset$) or if activity rate $\beta$ given by equation (19) is null, the particle changes to **passive** breaking mode if it was **active** or is destroyed if it was **unknown**. If activity rate $\beta$ is not null and if the particle was **unknown**, it changes to **active** state and destroys the possible second particle, keeping the foam thickness if the destroyed particle was **passive**; then becomes the principal particle of the representative.

The breaking agent can update the breaking activity aspects of interaction mediators. Any mediator situated inside the area of a representative possessing an **active** particle has its **activity** attribute set to **true** and the different group contributions $(\vec{s} \cdot \vec{C}_j -

$c_j^2)>0$ are memorized in a special attribute: the list of active groups for this part of the breaking front:

$$ \mathcal{L} = \{j \in C / \vec{s} \cdot \vec{C}_j - C_j^2 > 0\} \quad (20) $$

* **Active front propagation.** The set of **active** representatives (i.e: having one **active** particle) form the active front of the breaking. At each end of its life cycle, the breaking agent records interaction mediators as **unknown** particles, close to active front in order to determine front propagation. For each **active** representative and for each group $j \in C$ transferring activity to this representative, three interaction mediators are recorded. These three points are generated at the estimated position of the crest of this group $\Delta t$ seconds later, where $\Delta t$ is the current duration of one life cycle. The first point is the position of the active particle of the representative translated by $\Delta t \cdot (\vec{c}_j + \vec{v})$, where $\vec{c}_j$ is the phase speed of the group $j$ and $\vec{v}$ the local current given by the **active** particle of this representative. The two others are on both sides of this first point which is their middle and equidistant with distance $\tan 75^\circ \cdot \Delta t \cdot c_j \approx 4\Delta t \cdot c_j$, assuming an exploration with an aperture of $150^\circ$. Also, each **active** representative records a mediator positioned at its **active** particle position with the list of active groups and their contributions, in order to be able to determine the end of breaking activity and the effect on active groups. Before recording this list of particles, it is simplified by keeping only one **unknown** or **active** particle for each representative. Thus, a breaking agent is constituted by a whole of representatives. Some of them belong to active front. At the same time as active breaking is propagating autonomously by following active front thanks to information given by recorded mediators, the passive phase settles.

### Passive Breaking

Each representative initially receives during its active phase a certain foam thickness depending on the activity and age of the breaking front, inspired by (Reul and Chapron, 2004):

$$ \delta(t) = \int_{t_0}^{t} \beta(u) du, \quad \text{for } t_0 \le t \le t_0 + \tau \quad (21) $$

where $t_0$ is the beginning of active breaking and $\tau$ its duration. If breaking begins at the moment $t_0$ for an initial representative $a$ leaving the active front at the moment $t_1$, it receives a foam thickness $\delta_a(t) = \int_{t_0}^{t_1} \beta(u) du$, for $t < t_1$. If the front remains active at $t > t_1$, a nearby representative $b$ then enters the front at the moment $t_1$ and will leave it at the moment $t_2$, it receives a foam thickness $\delta_b(t) = \delta_a(t_1) + \int_{t_1}^{t_2} \beta(u) du$, for $t_1 < t < t_2$; and so on until the breaking front activity stops, knowing that it is always the **active** representatives which choose their neighbors, in order to avoid conflicts.

As soon as a representative leaves the active front, it enters an exponential relieving phase. Its foam thickness checks then, according to (Reul and Chapron, 2004), the equation of relieving:

$$ \delta(t) = \delta_{\max} e^{-\frac{t(t_0 + \tau)}{\tau}}, \quad \text{for } t \ge t_0 + \tau \quad (22) $$

with $t_0 + \tau$ the moment at which the representative leaves active front with a foam thickness $\delta_{\max}$ (for the representative $a$: $\tau = t_1 - t_0$ and $\delta_{\max} = \delta_a(t_1)$), taking $\tau' \approx 3.8$ s for the lifespan of the salted water bubbles (Monahan and Zietlow, 1969).

The breaking agent can update the foam and turbulence thickness of interaction mediators. Any mediator situated inside the area of a representative has its foam and turbulence thickness attribute set to $\delta$. When the foam thickness of a representative became lower than a certain threshold, this representative destroys itself. When a breaking agent is empty, it disappears.

Thus, a breaking agent is made up of representatives, which, after an active phase based on particle speed observation relative to crest speeds, gradually release their foam and turbulences, by respecting oceanographical hypothesis like breaking activity is a function of the wavelength, influenced by wind stress over wave group and like foam and turbulences are exponentially released.

## INTERACTIONS

In IPAS, physical agents interact *via* interaction mediators, respecting oceanographical laws associated to maritime phenomena and summarized in figure 2. We detail in this section interactions presented in figure 3. We first view interactions towards breaking agents, then interactions towards wave group agents.
## Interactions Towards Breaking Agent

Breaking are propagating in an autonomous way in interaction with groups and winds via recorded mediators, as specified by the equations (17), (18) and (19) characterizing the quantity of action provided to a breaking agent by groups and winds. We specify here some of the other interactions defined in the table of figure 3; they are related to their creation and their transport.

The breaking birth is not spontaneous: it is decided by groups. The current transports the particles of the representatives.

### Creation by Groups

At each agent life cycle, a group creates new breaking in two manners: either according to the Stokes' limiting criterion (Longuet-Higgins, 1969) according to its parameters, or on a slope criterion (Bonmarin, 1989) according to normals provided by the mediators recorded by the group.

* Stokes' criterion. A group can create autonomously a breaking if its mean steepness is too high. The Stokes' criterion at group center obeys the following equation (considering this group alone):

$$ (H + \delta H_{\max}) \Omega^2 \geq g \quad (23) $$

where $H + \delta H_{\max}$ is the wave height maximum of the group at moment $t$, without the Gaussian lens. If this criterion is checked, a position $\vec{x}_0$ at a crest of the rear part of the group is drawn by chance. If the local steepness $\delta_{local}$ is higher than 6% (Rapp and Melville, 1990), a breaking agent is generated with one representative containing a unique unknown particle: the interaction mediator positioned in $\vec{x}_0 + \Delta t \cdot \vec{c}$, for anticipating crest movement until the next cycle.

* Slope criterion. When a group reads the attributes of its recorded mediators, it checks the slope using the surface normal $\vec{n}$. We decide to define the slope criterion by the equation:

$$ \vec{n} \cdot \vec{z} < 0.97 \approx \cos(14^{\circ}) \quad (24) $$

where $\vec{z}$ is the unitary vector pointing to zenith. This criterion assumes slopes greater than 14°, according to experimental observations (Bonmarin, 1989; Rapp and Melville, 1990). If the slope criterion is checked for a given mediator, the group agent creates a breaking agent with one representative containing a unique unknown particle: this mediator with the same position. Indeed, when the slope criterion is checked, there is greater chance to be on the front part of the wave than on its back part.

Whatever the criterion checked, such a generated breaking agent will then evolve autonomously according to its own behavior, in particular, its manner of becoming indeed active or not.

### Transport by Currents

The representatives are positioned by co-ordinates in a reference mark related to the ground; the current effect is then onto particles belonging to representatives. Each representative records an interaction mediator situated at its main particle position. This mediator gives the local current value $\vec{u}$. The particles of a representative are then translated by $\Delta t \cdot \vec{u}$. If such a translation puts a particle outside the representative area, a new representative is added and deals with this particle. If the breaking agent has already a representative at this position, this particle may become one of the particles of this representative. In this last case, the choice for main and second particle depends on the states of particles in competition: active, passive or unknown. When there is only one active particle, it becomes the main one. When there are two active particles, only one is kept: the one with the higher activity; the other is destroyed.

## Interactions Towards Wave Group Agent

The effects on the waves of phenomena related on winds, breakings, currents and depth are of capital importance for sailors. It is thus advisable to represent them as correctly as possible, respecting real time constraints. We start by quickly presenting the effects of bathymetry and current, then we will describe action transfers with winds, breakings and other groups. In IPAS, these effects are superimposed.

All these interactions depend on the attribute values of five recorded mediators LFRB and C, $L_{left}F_{front}R_{right}B_{back}$ being a rhombus included inside the group envelope Γ, with C as center. The position of these mediators structure relative to the group center X evolve randomly at each life cycle of the group agent.

## Interactions with Bathymetry and Currents

The general idea is to modify the mean characteristics of the wave train controlling a group, by respecting usual oceanographical modeling of wave-depth and wave-current interactions: crest conservation, dispersion relation in shallow water and action conservation related to the corresponding sine wave specified by its wavenumber $\vec{K}$, pulsation $\Omega$, phase $\chi$ and amplitude $H/2$ (Bretherton and Garrett, 1969; Phillips, 1977; Komen and Hasselmann, 1994), using short time windows and space average current and depth given by mediators LFRB and C.

Differences between these mean characteristics and local values of depth and currents will then modify the direction of propagation using lateral variations of depth and current which causes an envelope and wave-vector rotation by analogy with the operations of a tank (group refraction), the envelope width using divergence or convergence of depth gradients and currents viewed by the group while respecting action conservation, the crest profile and the local distribution of phase and amplitude disturbances; in particular, shallow water increases local trough delays until phase disturbance has reached the minimum $-\pi/3$ and increases local amplitude, while deep water does the opposite; for currents, a current opposite to group propagation (resp. having the same direction) increases (resp. decreases) phase disturbance exponents.

### Action From Wind

Our modeling is based on (Sverdrup and Munk, 1947)'s measurements (figure 11). Winds can create new groups randomly on the water plane. The characteristics of these new groups are those of the minimal one minute wind duration, and it takes one minute for the height of such a group to reach $H_0$ from 0. The number of such generated groups at each cycle is such that every minute, the whole surface of the water plane is covered by these new groups. Once they are one minute old, these groups evolve autonomously. Winds can also increase wave train height and modify crest advance or phase disturbance exponents, depending on wave train position in the Sverdrup and Munk's diagram relative to its age and average wind speed (figure 11). Wind speed reference is the projection of the wind vector $\vec{w}$ onto the group wave-vector $\vec{K}$: $\vec{w} = \vec{w} \cdot \vec{K}/K$. For such wind speed $\vec{w}$, when $\vec{w} > 2.5 \text{ ms}^{-1}$ (else there is no interaction), the diagram gives a significant height $H_{max}$ and a significant pulsation $\Omega_{min} = 2\pi/P_{max}$ in function of group age $\alpha$. We distinguish two cases $\Omega > \Omega_{min}$ or $\Omega < \Omega_{min}$:

* If $\Omega > \Omega_{min}$, group height $H$ is increased by $\Delta H$, calculated proportionally with cycle duration $\Delta t$ and $\max(H_{max} - H; 0)$. We also add to phase disturbance parameters $\phi_{max}$, $\rho_{front}$, $\rho_{back}$ local extra advances $\delta\phi_{max}^{wind}$ of each crests and extra exponents $\delta\rho_{front}^{wind}$, $\delta\rho_{back}^{wind}$. These modifications of phase disturbances are calculated proportionally with $P_{\infty}(\vec{w}) - 2\pi/\Omega$, where $P_{\infty}(\vec{w})$ is the maximum period reachable by waves stressed by a wind blowing at speed $\vec{w}$, while respecting constrains:

$$ 0 < \phi_{max} + \delta\phi_{max}^{wind} \leq \pi/3, 1 < \rho_{front} + \delta\rho_{front}^{wind} \leq 9, 1 < \rho_{back} + \delta\rho_{back}^{wind} \leq 3 $$

* If $\Omega \leq \Omega_{min}$, possible height increase $\Delta H$ is computed proportionally with $\Delta t$ and $H_{max} \cdot e^{-\gamma(1/\Omega - 1/\Omega_{min})^2} - H$, where $\gamma$ defines Gaussian repartition of long wave heights around significant waves, while respecting $\Delta H \geq 0$.

<figure><img src="image_9.png" /><figcaption>Fig. 11. Significant heights and periods of wind sea waves</figcaption></figure>

Thus, a group receives from wind an increase of action translated in terms of height increase and phase disturbance modifications. When a group is far from balance with wind, its height all the more grows and phase disturbance modifications all the more increase breaking probability.
## Action From Breakings and Other Groups

In spite of the complexity of physical phenomena brought into play for the genesis and the evolution of sea states (Miles, 1957), be it by breaking cinematic mechanisms (Banner and Phillips, 1974) or by resonant coupling (Hasselmann, 1962; Benney and Saffman, 1966), all the models explain the progressive lengthening of waves (Donelan and Yuan, 1994; Drennan and Donelan, 1996) and the organization of groups (Banner and Tian, 1998) according to the age of the wind sea (Janssen, 1994), in agreement with the sea observation by the sailors.

In IPAS, we have not implemented four wave interactions, as it can be neglected for a water plane having a radius lower than 10 km; we use a simple merge mechanism. The lengthening of waves will be modeled by interaction between groups and breakings. We deal with two types of action from a breaking towards groups, the first is associated with active breaking and the second with passive breaking; both of them propose lengthening and organization of groups.

* **Group merge.** When a group *i* reads the *C* attributes of its five recorded mediators, it computes the intersection of these five lists. If it is not empty, for each group *j* belonging to this intersection, if $\vec{K}_i \approx \vec{K}_j$, then group *i* and *j* are merged into a new group *k* progressively replacing both groups *i* and *j*, in $N_i + N_j$ periods duration: during the same time, groups *i* and *j* decrease their heights, while group *k* increases its height. The merge respects action conservation, crest positions and envelope extent as best as possible.

* **Active breaking and groups.** When a breaking agent is active, it records interaction mediators at the position of active particles, with activity attribute set to true and the list of groups $\mathcal{L}$ [equation (20)] having activity for this breaking associated with their contributions $(\vec{s} \cdot \vec{C}_j - C_j^2)$. When a group updates such an interaction mediator $n$, it checks if it is one of the groups $j \in \mathcal{L}_n$. If so, it modifies its parameters taking into account its action transfer to this breaking and possibly to other groups. This modification process depends on the position of the crest $p$ to which belongs this particle $n$, relative to the center of the group $j$, according to whether $p$ is located in the front or back part of the group. If the breaking crest $p$ is in the front part, $p$ progressively loses its local positive random phase and amplitude disturbances, at a speed proportional to its activity rate: $r_n^j = (\vec{s}_n \cdot \vec{C}_j - C_j^2)$. If the breaking crest $p$ is in the back part, the group $j$ progressively decreases its mean height $H^j$ and its mean wavenumber $K^j$. The $H^j$ decrease speed $\tau_{Hj} < 0$ and the $K^j$ decrease speed $\tau_{Kj} < 0$, for the whole crests $p \in \text{group}_j$ respect equations:

$$ \tau_{Hjp} = -\frac{\Lambda(c_j)}{N} \sum_{\text{particle}_n \in p} r_n^j (H_n^{0p} - H_n^j), \quad \tau_{Hj} = \sum_{p \in \text{group}_j} \tau_{Hjp} \quad (25) $$

$$ \tau_{Kjp} = \frac{2}{N} \frac{\tau_{Hjp}}{\tau'_{Hj}} \cdot \frac{g}{c_j^3} \cdot \text{mean}(r_n^j/c_j), \quad \tau_{Kj} = \sum_{p \in \text{group}_j} \tau_{Kjp} \quad (26) $$

where $c_j$ is phase speed, $H^j$ the height of the wave at particle $n$ position at the beginning of breaking activity, $H_n^{0p} > H_n^j$ the maximum height of this wave when it will reach the middle of the group, $N$ the number of waves in the group, $\Lambda$ [$m^{-2}s$] the distribution of the average length of breaking fronts per unit area per unit speed interval (Phillips, 1985), empirically modeled by: $\Lambda(c) = 3.3 \times 10^{-4} (W/10)^3 e^{-0.64c}$ (Melville and Matusov, 2002), and $\tau'_{Hj}$ an inner coefficient of the group regularly updated to follow Sverdrup and Munk's measurements, by increasing (resp. decreasing) it if group wavelength is too small (resp. long) compared to the significative wavelength of such a group (figure 11). Equation (26) comes from the dispersion relation $\Omega^2=gK$ and phase speed definition $c=\Omega/K$ giving: $\partial K/\partial c \approx -2g/c^3$, while wanting to modify $K$ for bringing phase speed $c$ closer to particle speed $s$, resulting formula being parameterized by wind separation notion.

Applying equation (25) decreases group height $H^j$. If that leads to $H^j \approx 0$, breaking is so intensive, that this group is destroyed. Applying then equation (26) modifies indirectly group length $L^j$ and corresponds to a certain amount of action. Group height $H^j$ is then corrected by action conservation. This action could also be separated for each active particle $n$ and for each active group $j \in \mathcal{L}_n$. For a given particle $n$, all of its active groups are concerned with a certain amount of action, but the group $i$ with the smallest

$K$ influencing this mediator (even if $i \notin \mathcal{L}_n$) receives the totality of this action in the form of a wavelength increase, then updates its mean height $H^i$ to respect action conservation, $H^i$ possibly has been already updated by equation (25) and indirectly (26).

* **Passive breaking.** When a group reads its mediators LFRB and C, attributes concerning passive breakings give foam and turbulence thickness and whose passive breakings are under it. It can then estimate passive breaking area $S$ with an average foam and turbulence thickness $\delta$. Two types of modification occur: the first is addressed to the local phase and amplitude disturbances by decreasing their random part at a speed proportional with local thickness $\delta_{LFRB}$ or C, for modeling the absorption of high frequencies (WAMDI-group, 1988); the second is addressed to group width $l$ by increasing $l$ at a speed proportional with foam and turbulences average thickness $\delta$ times the quotient of breaking area $S$ by group area $L \times l$, for modeling width group increase (Banner and Tian, 1998). Then, for a given group, when $l$ exceeds 5L, its number of waves $N$ is incremented following a process of one period duration. New length $L_{N+1}$ is given by equation (3) and new width $l_{N+1}$ is $l_N$ times $N/(N+1)$. These modifications are such that the total action of the group is conserved. The matrix $A$ characterizing the group envelope is modified progressively during this period from its current value to its target value $A_{N+1}$ given by equation (4).

Thus, an active or passive breaking takes a certain quantity of action to groups and modifies their wavelengths and widths with the profit of sub-harmonics, while taking as a starting point experimental and theoretical work.

## CONCLUSION & FORWARDS

We have proposed a multi agent approach for the real time simulation of the sea, while respecting as best as possible oceanographical knowledge. Our model IPAS includes agents in interaction such as wave groups, active and passive breakings, local winds, shallow waters and currents. We have modeled action towards wave groups from breakings, winds, shallow waters and currents, and action toward breakings from wave groups, winds and currents. These interactions are computed in term of action or energy, transfer, wave parameters, breaking activity, transport, refraction and creation. IPAS can compute water particle movement at any position on a $10 \, \text{km}^2$ water plane, up to fifty thousands particles in real time ($> 10 \, \text{fps}$)$^1$. Thus, IPAS can help those who have recourse to simulation and virtual reality.

A lot of work has to be done for the oceanographical validation of IPAS, using usual tools for sea states analysis. The simulation method is very flexible, and to some extent, it seems that adequate tuning might bring the results close to any theoretical model or actual measurements at sea, without a great amount of dedicated tuning. An extension of the model to the underwater phenomena could be of great interest, as well as the addition of the not yet modeled interactions.

IPAS may be the first prototype of rising generation models for real time animation of the sea; they will have to be able to manage this complexity related to the diversity of the phenomena (wave groups, active breakings, foam, winds, currents, shallow waters...), on the diversity of the interactions between these entities, and on the diversity of the mechanical, visual and sound effects associated.

## REFERENCES

* Arneodo, A., Argoul, F., Bracy, E., Elezgaray, J., and Muzy, J. (1995). *Ondelettes, multifractales et turbulences*. Diderot, Art et Sciences, Paris.

* Banner, M., Jones, I., and Trinder, J. (1989). Wavenumber spectra of short gravity waves. *Fluid. Mech.*, 198:321–344.

* Banner, M. and Phillips, O. (1974). On the incipient breaking of small scale waves. *Fluid Mech.*, 65:647–656.

* Banner, M. and Tian, X. (1998). On the determination of the onset of breaking for modulating surface gravity water waves. *Fluid Mech.*, 367:107–137.

* Barnett, T. and Wilkerson, J. (1967). On the generation of ocean wind waves as inferred from airborne radar measurements of fetch-limited spectra. *Marine Res.*, 25(3):292–328.

* Benney, D. and Saffman, P. (1966). Nonlinear interactions of random waves in a dispersive medium. *Proc. Roy. Soc. Lond. A*, 289:301–380.

<footnote>$^1$Some video samples generated by IPAS are available in divx format on our web site http://www.enib.fr/~parenthoen/recherche/FilmsMer/index.html</footnote>
Bonmarin, P. (1989). Geometric properties of deep water breaking waves. *J. Fluid Mech.*, 209:405-433.

Bretherton, F. and Garrett, C. (1969). Wave trains in inhomogeneous moving media. *Proc. Roy. Soc. London, Ser. A*, 302:529-554.

Brooks, R. (1991). Intelligence without representation. *Artificial Intelligence*, 47:139-159.

Chang, K.-A. and Liu, P. (1998). Velocity, acceleration and vorticity under a breaking wave. *Phys. Fluid.*, 10(1):327-329.

Chapron, B., Liu, A., Peng, C., and Mollo-Christensen, E. (1995). Higher order spectral and scale analysis of surface height fluctuations. *Global Atmosphere and Ocean System*, 3:151-173.

Chen, G., Kharif, C., Zaleski, S., and Li, J. (1999). Two-dimensional Navier-Stokes simulation of breaking waves. *Physic of Fluids*, 11(1):121-134.

Cieutat, J., Gonzato, J., and Guitton, P. (2003). A general ocean waves model for ship design. In *Virtual Concept*, pages 187-194, Biarritz, France. ESTIA.

Donelan, M. and Drennan, W. (1996). Nonstationary analysis of the directional properties of propagating waves. *Journal of Physical Oceanography*, 26(9):1901-1914.

Donelan, M. and Yuan, Y. (1994). *Dynamics and modelling of ocean waves*, chapter Physical description of wave evolution; wave dissipation by surface processes, pages 143-155. Cambridge University Press.

Drennan, W. and Donelan, M. (1996). Nonlinear coalescing wave groups. In Donelan, M., Hui, W., and Plant, W., editors, *Symposium on The Air Sea Interface*, pages 127-132.

Duncan, J. (1981). An experimental investigation of breaking waves produced by a towed hydrofoil. *Proc. Roy. Soc. London*, 337:331-348.

Ferber, J. (1995). *Les systemes multi-agents, vers une intelligence collective*. InterEditions, Paris.

Ferber, J. (1997). Les systèmes multi-agents: un aperçu général. *Technique et Science Informatique*, 16(8):979-1012.

Ferber, J. and Müller, J. (1996). Influences and reaction: a model of situated multiagent systems. In *International Conference on Multi-Agent Systems (ICMAS)*, pages 72-79, Kyoto.

Gerstner, F. (1804). *Theorie der wellen*. Abhandlungen der koniglichen bomsinchen. Gesellschaft der Wissenschafte, Prague.

Gonzato, J. and Saëc, B. (2000). On modelling and rendering ocean scenes. *Computeur Animation*, 11(1):27-37.

Griffin, O., Peltzer, R., Wang, H., and Schultz, W. (1996). Kinematic and dynamic evolution of deep water breaking waves. *Journal of Geophysical Research*, 101(C7):16515-16531.

Grilli, S., Guyenne, P., and Dias, F. (2001). A fully non-linear model for the three-dimensional overtuning waves over arbitrary bottom. *International Journal for Numerical Methods in Fluids*, 35:829-867.

Grossmann, A. and Morlet, J. (1984). Decomposition of Hardy functions into square integrable wavelets of constant shape. *SIAM Journal of Mathematical Analysis*, 15(4):723-736.

Hasselmann, K. (1962). On the nonlinear energy transfer in a gravity-wave spectrum, part 1: general theory. *Fluid. Mech.*, 12:481-501.

Hasselmann, K., Barnett, T., Bouws, E., Carlson, H., Cartwright, D., Enke, K., Ewing, J., Gienapp, H., Hasselmann, D., Kruseman, P., Meerburg, A., Müller, P., Olbers, D., Richter, K., Sell, W., and Walden, H. (1973). Measurements of wind-wave growth and swell decay during the Joint North Sea Wave Project (JONSWAP). *Dtsch. Hydrogr. Z. Suppl.*, A8(12):1-95.

Hinsinger, D., Neyret, F., and Cani, M.-P. (2002). Interactive animation of ocean waves. In *Symposium on Computer Animation (SCA)*, pages 161-166.

Janssen, P. (1994). *Dynamics and modelling of ocean waves*, chapter Physical description of wave evolution; wave growth by wind, pages 71-112. Cambridge University Press.

Janssen, P. (2003). Nonlinear four wave interactions and freak waves. In Abstract, G. R., editor, *EGS-AGU-EUG Joint Assembly*, volume 5, page 02768, Nice, France.

Jensen, L. and Golias, R. (2001). Deep-water animation and rendering. In *Game Developer's Conference (Gamasutra)*.

Komen, G. and Hasselmann, K. (1994). *Dynamics and modelling of ocean waves*, chapter The action balance equation and the statistical description of wave evolution, pages 5-48. Cambridge University Press.

Liakos, T. (1999). *Weak imposition of boundary conditions in the Stokes problem*. PhD thesis, University of Pittsburg, PA.

Liu, A., Peng, C., Chapron, B., and Mollo-Christensen, E. (1995). Direction and magnitude of wind stress over wave groups observed during SWADE. *Global Atmosphere and Ocean System*, 3:175-194.

Longuet-Higgins, M. (1957). The statistical analysis of a random moving surface. *Philosophical Transactions of The Royal Society of London: Series A - Mathematical Physical and Engineering Sciences*, 249:321-387.

Longuet-Higgins, M. (1969). On wave breaking and the equilibrium spectrum of wind-generated waves. *Proc. Roy. Soc. London*, A310:151-159.

Longuet-Higgins, M. (1986). Wave group statistics. In Monahan, E. and Mac Niocail, G., editors, *Oceanic Whitecaps*, pages 15-35. Reidel, D. Publishing Compagny.

Longuet-Higgins, M. (1994). A fractal approach to breaking waves. *Journal of Physical Oceanography*, 24:1834-1838.

Loviscach, J. (2003). Complex water effects at interactive frame rates. *Computer Graphics (WSCG)*, 11(1).

Mayençon, R. (1992). *Météorologie marine*. EMOM, Edilarge.

Melville, W. and Matusov, P. (2002). Distribution of breaking waves at the ocean surface. *Nature*, 417:58-63.

Meyers, S., Kelly, B., and O'Brien, J. (1993). An introduction to wavelet analysis in oceanography and meteorology: with application to the dispersion of Yanai waves. *Monthly Weather Review*, 121(10):28-58.

Miles, J. (1957). On the generation of surface waves by shear flows. *Fluid Mechanics*, 3:185-204.

Mollo-Christensen, E. and Ramamonjiarisoa, A. (1982). Subharmonic transitions and group formation in a wind wave field. *Journal of Geophysical Research*, 87(C8):5699-5717.

Monahan, E. and Zietlow, C. (1969). Laboratory comparisons of freshwater and salt-water whitecaps. *Geophys. Res.*, 74:6961-6966.

Peng, C., Liu, A., Chapron, B., and Mollo-Christensen, E. (1995). Wavelet analysis of sea surface flux and wave by swell. *Global Atmosphere and Ocean System*, 3:195-208.

Phillips, O. (1958). The equilibrium range in the spectrum of wind-generated water waves. *Fluid Mechanics*, 4:426-434.

Phillips, O. (1977). *The dynamics of the upper ocean*. Cambridge University Press.

Phillips, O. (1985). Spectral and statistical properties of the equilibrium range in wind-generated gravity waves. *Fluid Mechanics*, 156:505-531.

Pierson, W., Donelan, M., and Hui, W. (1992). Linear and nonlinear propagation of water wave groups. *Journal of Geophysical Research*, 97(C4):5607-5621.

Premože, S. and Ashikmin, M. (2001). Rendering natural waters. *Computer Graphics*, 20(4):189-199.

Rapp, R. and Melville, W. (1990). Laboratory measurements of deep water breaking waves. *Philos. Trans. R. Soc. London*, A331:735-780.

Reul, N. and Chapron, B. (2004). A model of sea-foam thickness distribution for passive microwave remote sensing applications. *Journal of Geophysical Research*, to appear.

Sawnhey, M. (1962). A study of ocean wave amplitudes in terms of the theory of runs of a Markov train process. Technical report, New York University.

Snyder, R. and Cox, C. (1966). A field study of the wind generation of ocean waves. *Mar. Res.*, 24(2):141-178.

Sverdrup, H. and Munk, W. (1947). Wind, sea, and swell: theory of relations for forecasting. Technical Report H.O. Pub. 601, U.S. Navy Hydrographic Office.

Tessendorf, J. (2001). Simulating ocean water. In *SIGGRAPH, Courses Notes*, pages 3-1-3-18-45,62.

Thon, S., Dischler, J., and Ghazanfarpour, D. (2000). Ocean waves synthesis using a spectrum-based turbulence function. In *IEEE-Computer Graphics International (CGI)*, pages 65-74, Suisse. IEEE Computer Society.

Tisseau, J. and Harrouet, F. (2003). *Le traité de la réalité virtuelle*, volume 2, chapter Autonomie des entités virtuelles. Presses de l'Ecole des Mines, Paris.

Varela, F. (1979). *Principles of biological autonomy*. Elsevier, New York.

Waldrop, M. (1992). *Complexity: The emerging science at the edge of order and chaos*. Touchstone, New York.

WAMDI-group: Hasselmann, S., Hasselmann, K., Bauer, E., Janssen, P., Komen, G., Bertotti, L., Lionello, P., Guillaume, A., Cardone, V., Greenwood, J., Reistad, M., Zambresky, L., and Ewing, J. (1988). The WAM model - a third generation ocean wave prediction model. *Phys. Oceanogr.*, 18:1775-1810.

Whitham, G. (1974). *Linear and nonlinear waves*. Wiley, New York.

Willebrand, J. (1975). Energy transport in a nonlinear and inhomogeneous random gravity wave field. *J. Fluid Mech.*, 22:113-126.