Introduction

Recently, with the increasing effects of global warming, there has been a decrease of sea ice coverage and ice thickness in the Arctic (Serreze and Stroeve 2015; Fedi et al. 2020). The decrease in sea ice, combined with economic drivers such as exploration of Arctic natural resources (Stephenson et al. 2013; Gunnarsson 2021), and the increased shipping and cruise activity (e.g., around the Svalbard archipelago (Stocker et al. 2020), has led to a significant increase in maritime operations in Arctic waters (Hreinsson 2020; Kruke and Auestad 2021; Luo and Liu 2022; Sheehan et al. 2021; Fu et al. 2021).

The increase in Arctic maritime operations has intensified the potential for maritime accidents. There have been 580 reported accidents over 2007–2018 in the Arctic waters (Benz et al. 2021), such as Maxim Gorky cruise liner, which struck an iceberg southwest of Spitzbergen in June 1989 and Northguider trawler that grounded in Hinlopenstretet in December 2018, where all passengers and crew members were successfully rescued in both cases (Kruke and Auestad 2021). The capsizing of “Onega” is one of the most recent maritime accidents in the Barents Sea, where only two out of the nineteen crew members were rescued, and the rest presumed missing and dead (Dhar et al. 2022). In light of this, it is imperative to ensure the high reliability of available SAR infrastructure and strategies to address the increasing maritime activity in the Arctic waters, and particularly, in the Barents Sea, a strategic region with severe environmental conditions hosting a variety of major Arctic maritime operations (Eguíluz et al. 2016). Arctic SAR operations can be extra challenging due to its harsh conditions and remoteness (more on this in “SAR in the Arctic – challenges” Section).

The models used in maritime SAR operations can be classified into two categories based on their emphasis on either “search” or “rescue” aspects of SAR operations. Those models that emphasize the “search” aspect, aim to detect missing objects at sea (Siljander et al. 2015; Dinnbier et al. 2017; Onggo and Karatas 2015; Morin et al. 2023; Abi-Zeid and Frost 2005). Siljander et al. (2015) utilized Geographic Information System (GIS)-based cost-distance techniques to create a spatial database and developed cost-distance maps incorporating sea conditions and obstacles to assess the accessibility of different regions for SAR operations and accordingly proposed appropriate locations for SAR bases considering response time and coverage. Gaussian mixture models (GMMs) and Fourier transforms were used to detect targets using unmanned aerial vehicle (UAV) in maritime SAR operations. GMM was used for background modeling and target detection, while Fourier transforms were applied to extract frequency-based features from the captured image data (Dinnbier et al. 2017). Agent-based modelling for search optimizations were used to represent different entities involved in the search and captures their interactions affecting the decision making processes (Onggo and Karatas 2015).

Those models that focus on the “rescue” aspect (Norrington et al. 2008; Ai et al. 2019; Chen et al. 2023; Karatas 2021; Razi and Karatas 2016) of the SAR operations aims to maximize the coverage of a sea area using an optimized amount of assets (Siljander et al. 2015). Different approaches have been used to model the rescue element of maritime SAR operations. For instance, by analyzing historical data and expert opinions, Norrington et al. (2008) developed a Bayesian belief network to identify key variables influencing the reliability of SAR operations and the probabilistic dependencies between them, and further employed Monte Carlo simulation approaches and probabilistic inference algorithms to estimate success rate of SAR operations under specific conditions. Genetic simulated annealing algorithm has also been used for resource scheduling and task allocation in maritime SAR to generate efficient and tailored maritime SAR emergency response plans by considering the characteristics of accidents and available resources (Ai et al. 2019). Chen et al. (2023) developed a mixed-integer programming model by including factors such as, incident distribution, vessel capabilities, and rescue team availability to optimize the fleet allocation and minimize the rescue operation time.

Despite the significance of SAR operations in Arctic waters, the research conducted in this field is limited. Solberg et al. (2020), focused solely on SAR operations in polar regions by analyzing the response times for various rescue paths and comparing their effectiveness. They suggest that the choice of rescue path can significantly impact the time to rescue individuals and highlighted the importance of implementing effective and efficient rescue strategies.

Yet, the aforementioned studies do not consider the dynamics of harsh conditions of the Arctic waters and the scarcity of the SAR infrastructure, and how they can impact the Arctic SAR operation performance and the total rescue time. By recognizing the significance of the rescue operations in harsh Arctic offshore conditions and the scarcity of SAR infrastructure in Arctic areas, the aim of this paper is to propose a modelling framework for the rescue aspect of the SAR in the Arctic waters by utilizing an agent-based modelling (ABM) approach.

To this aim, the following research questions have been addressed:

  • RQ1: How to develop a modelling framework for rescue operations in the Arctic waters that is scalable and flexible and can accommodate various rescue operation scenarios?

  • RQ2: How does time to rescue for SAR operations change during the year given the dynamics of weather and sea conditions?

  • RQ3: How does different combinations of rescue agents affect the total time to rescue?

To address RQ1, this study employs an ABM approach. ABM has been applied extensively to model complex systems in maritime industry (Crooks and Heppenstall 2011), such as evacuation analysis of ship passenger (Zaman et al. 2021), maritime traffic in piracy-affected waters (Vaněk et al. 2013), maritime traffic analysis (Sirizzotti 2022), and cruise ship evacuation while considering the presence of smart technologies on board (Cotfas et al. 2023).. The choice of ABM, where the system behavior evolves from the interactions of the system agents with one another and with the dynamic environment, can help capture the inherent complexities and uncertainties related to metocean parameters combined with the ease of asset management that ABM offers due to its flexibility and scalability characteristics (Van Dam et al. 2012). In this research, by utilizing ABM, different agents are defined (e.g., rescue agents, evacuee agents), each with their own set of attributes and actions. By simulating the interactions of these agents with each other and the environment, this study aims to model the SAR operations in the Arctic.

To address RQ2, a Monte Carlo simulation approach is utilized for sampling the weather and sea parameters from their probability distributions to capture their dynamic and uncertain nature. Furthermore, using expert judgment, and by introducing severity levels based on the sampled weather and sea parameters, the model links the rescue agent’s attributes (e.g., travel speed and boarding speed) with the dynamic weather and sea parameters.

To address RQ3, various scenarios are used to capture different combinations of rescue agents. The modeling framework is illustrated using a case study in the Norwegian Barents Sea, where different rescue scenarios are simulated and the performance of the SAR infrastructure under different conditions (different number of rescue agents) is assessed.

As an output of this study, a framework for modelling rescue operation is proposed. The proposed modelling framework can assist various stakeholders (e.g., coast guards, rescue coordination centers, and coastal administrations) engaged in the planning and implementation of offshore SAR operations, in particular in Arctic waters where the severe weather and sea conditions should be accounted for.

The rest of this paper is organized as follows. “SAR in the Arctic – challenges” Section dives deeper into the challenges of SAR operations in the Arctic. “Agent-based modelling framework development” Section delves into the development of the ABM framework. “Illustrative case study and discussion” Section illustrates the proposed methodology using a case study in the Norwegian Barents Sea and discusses the study results for different rescue scenarios. “Further Research” Section  discusses future work. Finally, “Conclusions and recommendations” Section concludes the paper.

SAR in the Arctic – challenges

Remoteness of the Arctic offshore environment combined with harsh meteorological and oceanographic conditions, amplifies the severity of maritime accidents (Browne et al. 2022) and presents significant challenges for SAR operations in these regions. In particular, the parameters that could induce challenges for SAR operations may be high waves and strong winds, heavy snow showers, heavy fog, low visibility, polar low-pressure systems, and substantial icing conditions (Naseri and Samuelsen 2019; Kao et al. 2012; Christodoulou et al. 2022; Haagensen et al. 2004; Kruke and Auestad 2021; Albrechtsen and Indreiten 2021). The Arctic offshore environment poses substantial challenges for both helicopter and vessel operations. Strong winds and limited visibility significantly impede helicopter operations (See Fig. 1-A helicopter collided with snow covered mountains in Alaska due to low visibility (NTSB 2016)), affecting both traveling to the distressed ship and the passenger embarking (Naseri and Barabady 2016b). On the other hand, vessel operations encounter difficulties caused by high waves, sea spray icing (which can affect vessel operations, see Fig. 1-B), low visibility caused by seasonal darkness, fog, and polar low pressures (Khan et al. 2018). Furthermore, another challenge that SAR operations in the Arctic faces, is wind chill and its effect on the survival time of the affected civilians or personnel on board the distressed vessel which requires faster rescue times. In addition, the less-developed port infrastructure along the Arctic coastline (Benz et al. 2021), coupled with the vast size of the Arctic region and the considerable distances between the location of an accident and the SAR infrastructure bases (Christodoulou et al. 2022), can potentially have a detrimental impact on the success of SAR operations (Naseri and Barabady 2016a; Benz et al. 2021). As discussed in the introduction part, the research focusing on SAR operations in the Arctic is limited. One noticeable gap that has been identified in the research papers reviewed in this study was that, although response time in the polar SAR operations has been addressed by Solberg et al. (2020), dynamicity of weather and sea conditions and their effect on time to rescue in SAR operations have not been addressed in previous research.

Fig. 1
figure 1

Operational challenges in Arctic regions (e.g., low visibility and wind “A” (NTSB 2016), and sea spray icing “B” (Naseri and Barabady 2016b))

Agent-based modelling framework development

The proposed ABM framework consists in several elements, including, modelling the world (i.e., the geographical region) and its underlying dynamics, modelling the agents and how they interact with one another and with the environment.

Modelling the world

Let a geographical region \(\Omega\) in the Arctic offshore, be divided into \(v\times w\) cells,

$$\Omega =\left[\begin{array}{cccc}{\omega }_{11}& {\omega }_{12}& \cdots & {\omega }_{1w}\\ {\omega }_{21}& {\omega }_{22}& \cdots & {\omega }_{2w}\\ \vdots & \vdots & \ddots & \vdots \\ {\omega }_{v1}& {\omega }_{v2}& \cdots & {\omega }_{vw}\end{array}\right]$$

where cell \({\omega }_{ij}\), \(i=1,\dots ,v\), \(j=1,\dots ,w\), has certain attributes, including latitude \({Lat}^{\left({\omega }_{ij}\right)}\) and longitude \({Lon}^{\left({\omega }_{ij}\right)}\) of its center, and a set of oceanographic and meteorological parameters, denoted by \({x}^{\left({\omega }_{ij},m\right)}\), in which \(m=1,\dots ,12\) is the month index to represent the seasonality of the sea and weather conditions during the year. While different severe metocean parameters may affect the SAR infrastructure performance, this study focuses on wind speed “\(wind\)”, significant wave height “\(wave\)”, air temperature “\(temp\)” and wind chill index “\(wci\)”, as given by Eq. (1).

$${{\varvec{x}}}^{\left({\omega }_{ij},m\right)}=\left\{{wind}^{\left({\omega }_{ij},m\right)}, {wave}^{\left({\omega }_{ij},m\right)}, {temp}^{\left({\omega }_{ij},m\right)},{wci}^{\left({\omega }_{ij},m\right)}\right\}$$
(1)

In Eq. (1), the wind chill index, affecting the performance of passengers and the rescue crew, is a function of wind speed and air temperature, as given by Eq. (2) (Shaykewich et al. 2002):

$$wci=13.12+0.612\left(temp\right)-11.37{\left(wind\right)}^{0.16}+0.3695\left(temp\right){\left(wind\right)}^{0.16}$$
(2)

in which \(temp\) is the air temperature in \(^\circ C\), and \(wind\) is the wind speed at 10 m in \(km/h\). To account for the uncertainties of these oceanographic and meteorological parameters, we assume that they follow a distribution function obtained using available historical data,

$${X}^{\left({\omega }_{ij},m\right)}\sim {F}_{X}\left({x}^{\left({\omega }_{ij},m\right)}\right)$$
(3)

Weather and sea severity modelling

Let us consider three different severity levels for the sea and weather conditions, \(SL\), namely, “normal”, “moderate”, and “severe”, denoted by numerical values \(1\), \(2\), and \(3\). The severity levels for parameter \(x\), denoted by \({L}_{x}\), given by Eqs. (4) and (5), can be expressed using some upper and lower thresholds, respectively denoted by \({x}_{u}\) and \({x}_{l}\) assigned by experts.

$$L_x=\left\{\begin{array}{ccc}3&x\leq x_l&\\2&x_l\leq x\leq x_u,&\mathrm{for}\;x=temp,wci\;\\1&x_u\leq x&\end{array}\right.$$
(4)
$$L_x=\left\{\begin{array}{ccc}1&x\leq x_l&\\2&x_l\leq x\leq x_u,&\mathrm{for}\;x\mathit=wind\mathit,\mathit\;wave\;\\3&x_u\leq x&\end{array}\right.$$
(5)

A linear combination of the severity levels of parameters \(temp\), \(wci\), \(wind\), and \(wave\) is then used to determine the overall weather and sea conditions severity level, \(SL\).

The weather and sea conditions have diverse impacts on the performance of different SAR assets and equipment, and thus different activities undertaken during an SAR operation. This study utilizes two types of agents: rescue agents, \({a}_{R}\), and evacuee agents, \({a}_{E}\). Rescue agents are further comprised of rescue helicopters, denoted by \({a}_{H}\), and rescue vessels, denoted by \({a}_{V}\). In this setting, a generic SAR operation consists of five different tasks as described below:

  1. i.

    Rescue vessels or helicopters depart from the rescue base and arrive at the location of the distressed ship,

  2. ii.

    Once the rescue crew are at the location, the evacuees embark on the rescue vessels or the helicopters,

  3. iii.

    The rescue vessels or the helicopters travel back to the rescue base,

  4. iv.

    The evacuees are disembarked, and

  5. v.

    Rescue vessels or helicopters refueling if needed.

For the modelling purpose, and without loss of generality, the above-mentioned tasks can be categorized into four different activities:

  1. 1.

    Sailing, denoted by \(SAIL\), refers to the sailing operation of the rescue vessel agent, which is mainly affected by the wind speed and wave height. Thus, the impact severity of the sea and weather conditions on sailing activity, denoted by \({SL}_{SAIL}\), can be defined as a function of the severity level of \(wind\) \({L}_{wind}\) and \(wave\) \({L}_{wave}\).

  2. 2.

    Flying, denoted by \(FLY\), refers to the flying operation of the helicopter agent, which is assumed to be only dependent on the wind speed, i.e., the impact severity of the sea and weather conditions on flying activity, \({SL}_{FLY}\), is the same as the wind speed severity level, \({L}_{wind}\)..

  3. 3.

    Embarking/disembarking activities refer to the embarking and disembarking of an evacuee agent rescued by a vessel, denoted by\(EMKV\), or by a helicopter, denoted by\(EMKH\). The severity of the impact of the sea and weather conditions on embarking/disembarking from a vessel, denoted by\({SL}_{EMKV}\), and from a helicopter, denoted by\({SL}_{EMKH}\), is thus defined as a function of the severity level of wind speed\({L}_{wind}\), wave height \({L}_{wave}\) and wind chill index \({L}_{wci}\).

  4. 4.

    Refueling, if rescue vessels or helicopters are needed to perform another set of the activities mentioned, refueling is also added to the set of activities.

Modelling the agents

Rescue Agent

The rescue agents need to complete a set of actions, including moving to the distressed ship and travelling back towards the base (denoted by \(MOVE\)), embarking and disembarking the evacuee agents from the distressed ship and at the rescue base (denoted by \(EMKR\)). This paper defines this set of actions a cycle.

The rescue agent \({a}_{R}\) has a maximum capacity of \({C}_{{a}_{R}}\) passengers, and the number of passengers on the rescue agent \({a}_{R}\) at time \(t\) is denoted by \({p}_{{a}_{R}}^{t}\). Refueling time for rescue agent \({a}_{R}\) is assumed to follow a normal distribution. Rescue agent \({a}_{R}\) is initially located at the rescue base with geographical coordinates \(B=({Z}_{b},{Y}_{b})\), \(Z\) and \(Y\) being the longitude and latitude, respectively. The distressed ship is located at coordinate \(D=({Z}_{d},{Y}_{d})\). The rescue agent coordinate at each point is given by \(({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t})\).

Moving (\(MOVE)\)

This activity is the combined notation of \(SAIL\), and \(FLY\) actions for the two breeds of rescue class (vessels and helicopters, respectively). It includes sailing and flying towards the distressed ship, which is terminated at time \(t\) when \(\left({x}_{{a}_{R}}^{t},{y}_{{a}_{R}}^{t}\right)=({Z}_{d},{Y}_{d})\), and once the evacuees are embarked, travelling back towards the base that is finalized when \(\left({x}_{{a}_{R}}^{t},{y}_{{a}_{R}}^{t}\right)=({Z}_{b},{Y}_{b})\). At each time step \(\Delta t\), the rescue agent \({a}_{R}\) travels a distance of \({d}_{{a}_{R}}\), which lies in the cell \({\omega }_{ij}\). The travelled distance, which depends on the rescue agent speed \({v}_{{a}_{R}}\) is given by Eq. (6):

$${d}_{{a}_{R}}={v}_{{a}_{R}}\Delta t$$
(6)

Metocean conditions have different effects on different types of rescue agents. While vessel speed is affected by wind speed “\(wind\)” and significant wave height “\(wave\)” the helicopter speed is only affected by wind speed “\(wind\)”. Some function \(f\) can be defined to map the severity of the respective metocean parameters to the rescue agent’s speed:

$${v}_{{a}_{R}}=f\left({SL}_{MOVE}^{\left({\omega }_{ij},m\right)}\right)$$
(7)

where \({SL}_{MOVE}^{\left({\omega }_{ij},m\right)}\) is the severity level of the metocean conditions related to activity \(MOVE\) (\(SAIL/FLY\)) in cell \({\omega }_{ij}\) in month \(m\), expressed as,

$${SL}_{MOVE}^{\left(\omega_{ij},m\right)}=\left\{\begin{array}{lll}\alpha_1L_{wind}^{\left(\omega_{ij},m\right)}+\alpha_2L_{wave}^{\left(\omega_{ij},m\right)}&for&MOVE=SAIL\\L_{wind}^{\left(\omega_{ij},m\right)}&for&MOVE=FLY\end{array}\right.$$
(8)

in which \({\alpha }_{1}, {\alpha }_{2}\) are positive normalized weighting factors such that \({\alpha }_{1}+{\alpha }_{2}=1\).

The form of function \(f\) for each breed of rescue agent can be determined using historical data or by eliciting expert data as a stepwise function for each severity level. To account for the uncertainties associated with the expert data, one may use a distribution function for rescue agent speed corresponding to either of the severity levels, given by Eq. (9):

$$f\left({SL}_{MOVE}^{\left(\omega_{ij},m\right)}\right)\sim\left\{\begin{array}{cc}F_{MOVE}^{\left(1\right)}\left(f\right)&{SL}_{MOVE}^{\left(\omega_{ij},m\right)}\leq1\\F_{MOVE}^{(2)}\left(f\right)&1<{SL}_{MOVE}^{\left(\omega_{ij},m\right)}\leq2\\F_{MOVE}^{(3)}\left(f\right)&2<{SL}_{MOVE}^{\left(\omega_{ij},m\right)}\leq3\end{array}\right.$$
(9)

Embarking/Disembarking (\(EMKR\))

Embarking activity starts after rescue agent \({a}_{R}\) reaches the distressed ship at \(D=({Z}_{d},{Y}_{d})\), and disembarking takes place at the base at base \(B=({Z}_{b},{Y}_{b})\). These activities are affected by the severity of wind speed “\(wind\)”, significant wave height “\(wave\)”, and wind chill index “\(wci\)”. Let us define some function \(g\), denoting the amount of time needed to evacuate one person from the distressed ship. Thus, the number of evacuees embarked on rescue agent \({a}_{R}\) during time step \(\Delta t\), denoted by \({e}_{{a}_{R}}\), can be given by,

$${e}_{ {a}_{R}}= \frac{\Delta t}{g\left({SL}_{EMKR}^{\left({\omega }_{D\backslash B},m\right)}\right)}$$
(10)

where, \({SL}_{EMKR}^{\left({\omega }_{D\backslash B},m\right)}\) is the severity level of the metocean conditions affecting the activity \(EMKR\) at the distressed ship location \(D\) or the rescue agent base’s location \(B\), in month \(m\) and is expressed as a linear combination of the severity level of wind speed, \({L}_{wind}\), wave height \({L}_{wave}\), and wind chill index \({L}_{wci}\):

$${SL}_{EMKR}^{\left({\omega }_{D\backslash B},m\right)}={\beta }_{1}^{R}{L}_{wci}^{\left({\omega }_{D\backslash B},m\right)}+{\beta }_{2}^{R}{L}_{wind}^{\left({\omega }_{D\backslash B},m\right)}+{\beta }_{3}^{R}{L}_{wave}^{\left({\omega }_{D\backslash B},m\right)}$$
(11)

In Eq. (11), \({\beta }_{1}^{R}, {\beta }_{2}^{R}\) and \({\beta }_{3}^{R}\) are positive normalized weighting factors that sum to one and take different values if the people are embarked on a vessel (i.e., \(R=V\)), or a on a helicopter (i.e., \(R=H\)).

Similar to \(f\), the form of function \(g\) can be defined as a stepwise function of \({SL}_{EMKR}^{\left({\omega }_{D\backslash B},m\right)}\) using expert data, where the expert opinion uncertainties are expressed using probability distributions corresponding to each severity level, as given by Eq. (12):

$$g\left({SL}_{EMKR}^{\left(\omega_{D\backslash B},m\right)}\right)\sim\left\{\begin{array}{cr}G_{EMKR}^{\left(1\right)}\left(g\right)&{SL}_{EMKR}^{\left(\omega_{D\backslash B},m\right)}\leq1\\G_{EMKR}^{(2)}\left(g\right)&1<{SL}_{EMKR}^{\left(\omega_{D\backslash B},m\right)}\leq2\\G_{EMKR}^{(3)}\left(g\right)&2<{SL}_{EMKR}^{\left(\omega_{D\backslash B},m\right)}\leq3\end{array}\right.$$
(12)

As stated earlier, the \(EMKR\) activity is divided into two parts, i) embark the evacuees from the distressed ship and ii) disembark the evacuees to the rescue base. The condition \({p}_{{a}_{R}}^{t}= {C}_{{a}_{R}}\) marks the end of “embark the evacuees from the distressed ship” activity. The “disembark the evacuees to the rescue base” activity is concluded when \({p}_{{a}_{R}}^{t}=0\). In this study, we assume the same function \(g\) and weighting factors \({\beta }_{1}^{R}, {\beta }_{2}^{R}\) and \({\beta }_{3}^{R}\) for both parts (i.e., embarking and disembarking).

Evacuees

The evacuee agents are all the people to be rescued from the distressed ship. The evacuee agents \({a}_{E}\) can have five different states at each time step \(\Delta t\), as presented in Eq. (13):

$$S_{a_E}^t=\left\{\begin{array}{cr}s_1&waiting\;in\;the\;distressed\;ship\\s_2&embarking\\s_3&waiting\;in\;the\;rescue\;agent\\s_4&disembarking\\s_5&rescued\end{array}\right.$$
(13)

The SAR operation is successfully terminated when all the evacuee agents reach state \({s}_{5}\).

Operationalizing the model

The algorithm used in this ABM model is divided in two different parts, the first part explains the algorithm corresponding to one time step in the model and the second part explains the agents and the interaction between them using Unified Modelling Language (UML).

The process of each time step in this model is shown in Fig. 2. This flowchart is for a given month \(m\), location \({\omega }_{ij}\), and time step (\(t, t+\Delta t\)). This flowchart is divided into two different stages.

  • Stage 1: In the first stage, the metocean parameters are being processed and mapped into the weather and sea state severity level \(SL\), by the following algorithm:

    • Inputs: Vectors of historical weather and sea state data for cell \({\omega }_{ij}\) and month \(m\) (i.e., \({{{t}}{{e}}{{m}}{{p}}}^{\left({{{\omega}}}_{{{i}}{{j}}},{{m}}\right)},{ }{{{w}}{{i}}{{n}}{{d}}}^{\left({{{\omega}}}_{{{i}}{{j}}},{{m}}\right)},{{{w}}{{a}}{{v}}{{e}}}^{\left({{{\omega}}}_{{{i}}{{j}}},{{m}}\right)}\)), and then calculate the vector of \({wci}^{\left({\omega }_{ij},m\right)}\) using Eq. (2).

    • STEP 1-I: For cell \({\omega }_{ij}\) and month \(m\), sample \(X\) from \({F}_{X}\left({x}^{\left({\omega }_{ij},m\right)}\right)\) for \(x=wind, wave, temp,wic\).

    • STEP 1-II: Determine the severity level of each parameter \(x=wind, wave, temp,wic\) using the values sampled in STEP 1-I and using Eq. (4) for \(x=temp\) and \(wci\), and Eq. (5) for \(x=wind\) and \(wave\).

    • STEP 1-III: Determine the weather and sea state severity level \(SL\) for each activity using Eqs. (8), and (11)

    • Output: Weather and sea state severity level \(SL\) for each activity

Fig. 2
figure 2

Flowchart of one time step in the model

In Stage 1, the dynamics of the sea and weather conditions are accounted for by randomly sampling such parameters from their corresponding historical probability distributions, using which the corresponding severity levels are determined, and their impacts on the performance of the rescue agents are then analyzed (see Stage 2). The total rescue time is thus computed as the sum of all the time-steps until the final passenger is rescued.

In the first step of the second stage, the model first identifies the activity being carried out by the rescue agents, followed by estimating the sailing/flying speed and the boarding speed for the rescue agents to update the location of the rescue agents. In case of embarking/disembarking activity, the number of passengers on board the rescue agents should be updated too.

  • Stage 2: The algorithm for the second stage is presented as follows:

    • Input: Weather and sea state severity level \(SL\) for each corresponding to cell \({\omega }_{ij}\) and month \(m\)

    • STEP 2-I: Check the location \(({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t})\), and the number of passengers \({p}_{{a}_{R}}^{t}\) of rescue agent \({a}_{R}\) to identify the activity of the rescue agent at time step (\(t, t+\Delta t\)):

      • If \(({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t})\ne ({Z}_{d},{Y}_{d})\) and \({p}_{{a}_{R}}^{t}=0\), the rescue agents are moving towards the distressed ship (i.e., \(MOVE\) activity). If \(\left({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t}\right)=({Z}_{d},{Y}_{d})\) and \({p}_{{a}_{R}}^{t}\ne {C}_{{a}_{R}}\), the evacuee agents are being embarked on the rescue agent (i.e., \(EMKR\) activity).

      • If \(\left({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t}\right)\ne ({Z}_{b},{Y}_{b})\) and \({p}_{{a}_{R}}^{t}= {C}_{{a}_{R}}\), the rescue agents are moving towards the rescue base (i.e., \(MOVE\) activity).

      • If \(\left({Z}_{{a}_{R}}^{t},{Y}_{{a}_{R}}^{t}\right)=({Z}_{b},{Y}_{b})\) and \({p}_{{a}_{R}}^{t}\ne 0\), the evacuee agents are being disembarked from the rescue agent (i.e., \(EMKR\) activity).

    • STEP 2-II: Based on the identified activity and the severity level \(SL\), sample either from distribution function \(F\) or \(G\) to estimate the rescue agent’s travelling speed or boarding speed, respectively.

    • STEP 2-III: Based on the rescue agent’s travelling speed or boarding speed, estimate the travel distance or the number of boarded passengers in one time step, using Eqs. (6) and (10), respectively.

    • Output: Rescue agent’s updated location and number of passengers on board at time \(t+\Delta t\).

The interactions among agents and their attributes are presented by the class and activity diagrams in Figs. 3 and 4. Figure 3 illustrates the class diagram of the rescue agent \({a}_{R}\), which encompasses six attributes, namely, “type” (indicating whether the rescue agent is a vessel or a helicopter), “capacity”, “speed”, “number of passengers”, “boarding time”, and “refueling time”. Additionally, the agent class encompasses three distinct activities/states: “moving”, “boarding”, “disembarking” and “refueling”.

Fig. 3
figure 3

Rescues class and activity diagram

Fig. 4
figure 4

Evacuees class and state-transition diagram

Considering the “type” attribute of the rescue agent, two sub-classes are defined: “vessel agent”, \({a}_{V}\), and “helicopter agent”, \({a}_{H}\). Both sub-classes possess the same set of attributes as the rescue agent, but with different values. The activity/state of the vessel agent is identical to that of the rescue agent, except for “moving” activity, which changes to “sailing”, \(SAIL\), for rescue vessel agents and “flying”, \(FLY\), for rescue helicopter agents.

The activity diagram depicted in Fig. 3 outlines the sequential steps involved in the activities of the rescue agents. The rescue agents commence their operation from a standby state, transitioning to “moving” only if there are remaining evacuees on board the distressed ship. In such cases, they travel to the distressed ship, board the evacuees, return to their respective bases and disembark the evacuees, refuel, and then check again if there are any evacuees remaining on the distressed ship. This process continues until no evacuees are left aboard the distressed ship.

Figure 4 depicts the class diagram of the evacuee agent, which has no attributes but only five states representing the state of the evacuees at any given time step in the simulation. The state transition diagram shows the interconnections between each state of the evacuee agent and the rescue agent activities. The simulation concludes when all evacuee agents reach the “rescued” state.

Figures 2, 3, and 4 act as reproducibility tools for improving the reliability of the model.

Illustrative case study and discussion

To illustrate the proposed framework, a case study is presented here. The illustrative case can also act as a validation point for the framework, particularly since there has been few to no other studies with actionable data on this subject. The geographical area of the case study is a part of the Barents Sea bounded with latitudes 69–78°N and longitudes 8–36°E (see Fig. 5), divided into some cells using 0.5° meridians and 1° parallels. There are 10 rescue vessels each with a maximum capacity of 50 passengers, evenly distributed among five rescue vessel bases located in Northern Norway, and four rescue helicopters (two helicopters per rescue base) with a maximum capacity of 15 passengers per each rescue helicopter bases, located at Banak and Longyearbyen. The distressed ship with 500 passengers on board, is located 510 km north of Hammerfest, above Bjørnøya island (see Fig. 5 and the coordinates presented in Table 1).

Fig. 5
figure 5

Study area with the location of the distressed ship and rescue bases

Table 1 Geographical coordinates of the rescue bases and the distressed ship

Data collection

The data to represent the metocean conditions (i.e., air temperature, wind speed, and significant wave height) are 3-hourly, 10-km Norwegian reanalysis (NORA10) hindcast data from 1980–2012, collected from the repository of Meteorological Institute of Norway (www.met.no), which has also been used in other applications related to the Arctic offshore (Naseri and Samuelsen 2019).

The data for vessel and helicopter speed, and the number of people that can board the rescue agents per unit of time (i.e., boarding speed) are gathered using expert judgements, by asking some experts about the minimum, average and maximum values of their judgments about the travelling and boarding speed of helicopters and vessels corresponding to each weather and sea state severity level. The average values for each of these variables (rounded up for boarding time and rounded down for traveling speed to run the model for the worst-case scenarios according to experts’ data) can be found in Table 2 (a total of 36 combinations).

Table 2 Experts data values for vessel and helicopter’s speed and boarding time

As stated in “Rescue Agent” Section, the severity level of metocean conditions for each activity is determined by considering the severity levels of the inherent weather and sea parameters. These severity levels are integrated into the model using specific weighting factors (denoted by \(\alpha\) in Eq. (8) and \(\beta\) in Eq. (11), which are presented in Table 3 for each activity.

Table 3 Weighting factors of metocean parameters for each activity

Functions \(f\) and \(g\) in Table 2, are given by Eqs. (9) and (12), respectively. To account for the uncertainties associated with the expert data, this paper utilizes a triangular distribution \(F(f|a,b,c)\) and \(F(g|a,b,c)\) where the parameters \(a,b\), and \(c\) are the minimum, average, and maximum values given by experts (Table 2) for each combination of activity and severity level, resulting in a total of 12 different distributions.

Results

For the modelling of the agent-based framework, NetLogo (version 6.3.0) was used to develop the agent-based model. The required simulation and sampling the realization of metocean parameters using Monte Carlo approach (Raychaudhuri 2008) were performed in Python (version 3.10) that was linked to NetLogo using Python extension in NetLogo.

The proposed agent-based model is used to estimate the total time of rescue operation taking place at different months. For the purpose of illustration, one realization of these runs is presented in Fig. 6, depicting the number of rescued persons as a function of time. For instance, while it takes an average of 59 h and 9 min to rescue all the 500 people in July, the average total rescue time rises to 79 h and 23 min hours in January.

Fig. 6
figure 6

Number of rescued passengers vs time for one realization in July

The results shown in Fig. 6 exhibit a distinct stepwise pattern, revealing the influence of different modes of rescue agents and their corresponding activities. While the horizontal segments of plot illustrate the activities “moving, embarking, and travelling back to the base”, the vertical segments indicate the disembarking activity. Furthermore, as can be seen in Fig. 6, at the beginning of the rescue operation, the rescue cycles appear to take place more frequently, indicating that helicopters play a prominent role in evacuating individuals. However, towards the end of the operation, a prolonged plateau is observed, suggesting that the remaining evacuees are rescued by the vessels, which have larger capacities.

Figure 7 shows the rescued passengers vs time using the aggregated average of a total of 50 simulations for each month. In Fig. 7, it is notable that, given the uncertainties associated with the metocean parameters and their impact on rescue operation, there exists a clear seasonal behavior. In particular, the results can be classified into the following groups based on the total time of rescue:

  • Group A: May, June, July, and August, with the shortest time required to successfully rescue all the passengers,

  • Group B: April, and September

  • Group C: March, October, and November

  • Group D: January, February, and December, with the longest total rescue time among all the groups.

Fig. 7
figure 7

Aggregated average of the number of rescued passenger’s vs time for all months

Such a categorization can help the decision-makers reflect upon similar patterns and seasonal changes of the total rescue time and thus better plan the rescue operations.

Figure 8 shows the boxplots of the total time of rescue for each month, indicating the minimum, maximum and the 25th, 50th, and the 75th quantiles of the values offering valuable insights into the spread and central tendency of the total time of rescue while shedding light on the uncertainties involved with the results of the model. Figure 8 further enhances the classification of months into four groups.

Fig. 8
figure 8

Distribution of total time of rescue for all months

Discussion of framework application on different scenarios for rescue operations in Barents Sea

In a realistic SAR planning phase, there is a need for assessing different types of scenarios including, analyzing the capability of SAR infrastructure while effectively dealing with different locations of distressed ship, different number of passengers on board the distressed ship, different number of rescue agents available, and the dynamics of weather and sea conditions throughout the year. Simulating these scenarios in advance gives the decision makers in SAR planning an edge for the planning process. To illustrate the flexibility and scalability of the proposed ABM framework, and to analyze the relative importance of rescue agents, shedding light on the performance of rescue infrastructure capacity, different scenarios for rescue operations in the Barents Sea are investigated in this section. In particular, this section addresses the third research question by utilizing different combinations of rescue vessels/helicopters and estimating the corresponding total rescue time. The results of such analysis may help decision makers in planning and managing of the rescue operation under different scenarios throughout the whole year given the severity of the sea and weather conditions. Although the proposed framework can be extended to accommodate the likelihood and severity of different search and rescue scenarios (i.e., risk-informed decision-making) enabling more efficient resource allocation and resulting in more reliable decisions, in this section, we only investigate the effect of different number of rescue agents (i.e., number of helicopters and number of vessels) and the sensitivity of the total rescue time to such parameters. This helps the decision-makers better allocate their rescue resources throughout the year with respect to groups A to D.

That said, below scenarios are considered:

  1. I.

    Different number of rescue vessels,

  2. II.

    Different number of rescue helicopters

This paper has chosen constant numbers (See Table 4) for vessel and helicopter speed and boarding for each grouping of months. These constants are based on the sea and weather severity levels for each group, 95th percentile in “normal” severity level for Group A, 75th percentile in “normal” severity level for Group B, 50th percentile in “moderate” severity level for Group C, and 25th percentile in “extreme” severity level for Group D. This section serves as robustness testing for the reliability of the model by conducting a sensitivity analysis.

Table 4 Constant values for all scenarios for each group

Effects of different number of rescue agents on total rescue time

This section explores the sensitivity of the total rescue time to the number of rescue agents by considering two separate cases. In Case I, the number of rescue vessels is set to zero and the model is run with different number of helicopters. Case II considers a scenario, where the number of rescue helicopters is set to zero and only rescue vessels are available.

  • Case I: Different number of helicopters with no rescue vessels available:

In this part, the scenario involves a distressed ship with 500 passengers and no rescue vessels available. The model is run with 2, 4, 6, 8, and 10 rescue helicopters (split evenly between the two rescue helicopter bases) for four groups of months using the constants provided in Table 4.

Figure 9 displays the aggregated average of the number of rescued passengers over time (using 50 simulation runs) and Table 5 presents the minimum, maximum, and average of total rescue time for each of the four groups, considering different number of rescue helicopters. Groups A and D have, respectively, the lowest and highest average rescue times. One noticeable trend across all the groups is that an increase in the number of helicopters leads to shorter total rescue time. However, the rate of such a reduction decreases as the number of helicopters further increases. For instance, for Group A, while increasing the number of helicopters from 2 to 4 reduces the average total rescue time by 37 h and 15 min (45.92%), adding two more helicopters from 8 to 10 helicopters employed in the rescue operation leads to a reduction in average total rescue time by only 4 h 22 min (17.10%) (see Figs. 10a and b). These findings indicate that while the initial increase in the number of helicopters contributes to larger efficiency gains in rescue operations, the incremental benefits diminish as the number of helicopters continues to rise. This suggests that there may be a point of diminishing returns in terms of the decrease in total rescue time achieved by deploying additional helicopters.

Fig. 9
figure 9

Number of the rescued passengers vs time for 500 passengers on board the distressed ship and different number of helicopters

Table 5 Total time of rescue for 500 passengers on the distressed ship with no vessel available
Fig. 10
figure 10

Reduction in average rescue time for increasing number of helicopters

Additionally, the plots in Fig. 9, reveal that as the number of rescue helicopters increases, the steps or increments of the number of rescued passengers during rescue progress become more pronounced. This is because a greater number of passengers are being rescued in each cycle, resulting in a more rapid rescue progress.

  • Case II: Different number of vessels with no rescue helicopters:

We consider a scenario involving a distressed ship with 500 passengers with no rescue helicopter available. In order to assess the performance of the rescue operation with respective to the number of rescue vessels, we further consider scenarios with 5, 10, 15, and 20 rescue vessels split evenly between the five rescue vessel bases. Figure 11 presents the aggregated average of the number of rescued passengers over time using 50 simulation runs. Table 6 displays the minimum, maximum, and average total rescue times for each of the four groups, considering different number of rescue vessels. Similar to Case I, Group A stands out with the lowest average rescue times compared to the other groups. Increasing the number of rescue vessels exhibits a similar diminishing return as observed in Case I. For instance, when the number of vessels increased from 5 to 10 in Group A, the rescue time decreases by 31 h and 26 min (33.34%), while adding 5 more vessels from 15 to 20 vessels reduces the total rescue time by only 3 h (5.23%) (See Figs. 12a and b).

Fig. 11
figure 11

Number of the rescued passengers vs time for 500 passengers on the distressed ship and different number of rescue vessels

Table 6 Total time of rescue for 500 passengers on the distressed ship with no helicopter available
Fig. 12
figure 12

Reduction in average rescue time for increasing number of vessels

Another noteworthy trend in this scenario is that the slower travel speed of the vessels results in larger intervals between steps in the plots. These larger intervals represent the travel time and boarding time of the rescue vessels. For instance, when comparing Group D (lowest traveling and boarding speed) for both Cases I and II, the decrease in average total rescue time from 5 to 10 vessels is amounted to 344 h 24 min (78.50%), while the same decrease in the case I for 2 to 4 helicopters will lead to a 76 h and 41 min (48.59%), which signifies the sensitivity of total travel time to the slower speeds and boarding time of vessels.

Further research

The proposed framework in this study accounts for the dynamics of sea and weather conditions, and their impact on the performance of rescue operations in the Arctic water given the harsh environmental conditions, by considering different scenarios. The application of the framework on the illustrative case highlights the flexibility and scalability of the framework. Owing to the flexibility and the scalability, the framework can be extended to accommodate more accurate data and other parameters of interests. In particular, based on the findings of this paper, the further research can consider the following:

  • Expert data improvement: Expert data can be validated and combined with available historical data. Weighting factors can be introduced in the expert’s data analysis, for instance, by using Cook’s performance-based aggregation method (Naseri et al. 2015).

  • Modelling improvements: Integrating behavioral models, (for instance considering the addition of rules that mimic heuristics identified by cognitive science (De Marchi and Page 2014), considering the psychological and physical factors that cause panic in high stress situations (e.g. evacuations, and rescue scenarios) (Trivedi and Rao 2018)) into the model can help improve the authenticity of the model.

  • Introducing the cost analysis: Improving the framework by a cost analysis for each part of the operation can help improve the real-world applicability of the framework and the long-term planning of rescue operations.

  • Weather parameter prediction: This framework utilizes probability maps based on historical data to simulate the weather conditions for each grid. More advanced models may be used for spatio-temporal weather prediction while considering the dependencies of weather parameters.

  • Model validation and SAR data collection: Figs. 2, 3, and 4 can be used to reproduce the framework. However, relevant data can be collected for SAR to further validate the model.

Conclusions and recommendations

This paper proposes an ABM framework to model the rescue operations in the Barents Sea and estimates the total rescue time, while accounting for the dynamic severe environmental conditions. Owing to the scalability of agent-based models, the proposed framework can be utilized to model an array of different scenarios such as employing different number of rescue agents in different months.

The impact of severe environmental conditions is mostly represented by the yearly seasonality of total rescue time, where the months are categorized into four different groups based on the total rescue time. These results show that July has the lowest rescue time with 59 h and 9 min and January has the longest with 79 h and 23 min. By comparing the performance of rescue operations across different months, decision-makers can have valuable insights and allocate resources accordingly to each category of months. Furthermore, the stepwise behavior of the rescue operation provides significant insights into the dynamics of rescue operations and the role of vessels and helicopters, demonstrating that helicopters are more actively involved in the initial stages, while vessels play a prominent role in the later stages of the rescue operations.

The results of employing different number of rescue agents demonstrate that while an initial increase in the number of helicopters or vessels contributes to performance gains, the incremental benefit decreases as the number of assets continues to increase (i.e., there is a threshold, beyond which additional assets do not improve the performance of rescue operations effectively) helping decision makers optimize the SAR infrastructure capacity. For example, these results indicate that, going from two to four helicopters reduces the average rescue time by 37 h and 15 min, while increasing the number of helicopters from 8 to 10 reduces the average rescue time by only 4 h and 22 min. A similar conclusion can be drawn for vessels (i.e., going from five to 10 vessels reduces the average rescue time by 31 h and 26 min, while going from 15 to 20 vessels reduces this average time by only three hours). It should be noted that such conclusions are specific to the location of distressed ship and the problem described in this study. For other scenarios, the model should be run again to different results and thus different conclusions.

Overall, the proposed ABM framework provides a valuable tool for understanding and assessing the performance of rescue operations in the Barents Sea. By considering the challenging and severe environmental conditions and incorporating their dynamics of SAR operations, the framework can contribute to enhancing preparedness and decision-making in critical situations. The detailed examination of various scenarios, which can easily be performed due to the scalability of agent-based models, can enhance decision-makers understanding of the factors influencing rescue missions, ultimately contributing to the development of more reliable and more effective rescue strategies in the Barents Sea. The proposed framework can be enhanced by including parameters such as validation of expert data, evacuee behavioral models, and the cost of SAR infrastructure development and operations, which can be addressed in further research.