The COVID-19 pandemic is growing every day across the planet and, apart from its impact on the global economy, it is causing a dramatic loss of lives. Since its first report on December 31st, 2019 in Wuhan, China, it has speedily reached 213 countries. As of today, over 7 million people have been diagnosed positive with over 400.000 casualties [42] . Policymakers and scholars all over the globe are under pressure to make effective decisions with the purpose of controlling and mitigating the outbreak in the short run, and of designing valid actions to contrast future possible Figure 1 : The proposed CoV-ABM framework maps, and the agents. Based on the health and census data, each agent is associated to a health profile, the households are created and placed in vacant houses. Different workplaces are generated based on the buildings' information and census data. Agents are then assigned to professional tasks or scholar activities inside these workplaces, based on their profiles and geographical locations. Afterwards, CoV-ABM proceeds with making social communities as described in Section 2.2. Each of the aforementioned steps is described in detail in the following subsections.
Based on census data, CoV-ABM stochastically generates agents representing citizens living, working, pursuing their needs and travelling inside a geographical environment. To rely on a detailed and realistic simulator, each agent is described in terms of a set of variables, defining its condition at each timestamp. These variables are briefly depicted in Table 1 . It should be emphasized that, to the best of our knowledge, this is the first time that such a detailed agent profile is proposed in the literature. When the agents are created, the model associates one with each other to generate families based on the household size, and set their arrangement so to be proportionate to the census data. As an example, if a family includes a kid there must be at least an adult in the same household. In what follows, each agent will be indicated as a u,v , whereas f i = {a v,u |v = i} will represent the ith family. To reduce unnecessary complexity, the agents do not have a gender. Moreover, their disability values, defined in Table 1 , are stochastically chosen based on a Bernoulli distribution as follows:
where p g d is the percentage of people with severe disabilities within the age-group g, based on the census data. These people seldom do outdoor daily activities, like going for grocery shopping, and mostly rely on someone else for CoV-ABM defines the "health vulnerability" variable for each agent, which determines how vulnerable or strong an agent can persist against the SARS-CoV2. A strong agent has a higher probability to get recovered after inhaling the virus. Despite some health factors seem to play a key role in the pathogenesis of COVID-19 infection, their relative importance is however still unclear [23] . So far, age showed a significant correlation with the fatality rate among infectious people. As of today, more than 70% of death cases involved individuals older than 65, while the share of fatalities for people under 18 is just 0.04%. At the same time, recent research findings showed that Body Mass Index (BMI) impacts on the condition of the patients with SARS-CoV2, since obesity compromises pulmonary function and makes the ventilation more difficult. As a consequence, SARS mortality rate significantly increases among patients with BMI values over than 27 [13, 27] . Moreover, Ashokka et al. [2] demonstrated that, although the risk of severe illness for pregnant patients in the COVID-19 pandemic is less than that of similar cases observed during the H1N1 counterpart, the virus seems to exert significant adverse effects in case of childbearing. Indeed, the data provided in their study showed that roughly 9% of the patients had serious morbidities with respiratory failure or other organs shock. There are also evidences illustrating that the history of smoking is correlated with the deterioration of the patients' conditions [36] . Finally, recent studies showed that, despite acute respiratory failure is associated with higher mortality, lungs are not the only organs involved since kidney and cardiovascular system health conditions play prominent roles as well [8, 45] . In light of these remarks, therefore, we supposed that every agent can have each of these risk factors with a Bernoulli distribution as follows:
where p g f represents the prevalence of having the factor f within the age-group g. Moreover, since correlations might exist among these different determinants, we introduced an upper and a lower health bound for each agent, from which the health vulnerability value is stochastically chosen by using a uniform distribution:
where q f represents the percentage of severe morbidity cases with the risk factor f among SARS-CoV2 patients in the age-group g. People with health vulnerability values lower than a specific threshold were considered as in need of hospital care and treatment. Since they barely perform shopping or similar tasks, we considered them like agents with a serious disability, i.e. a v,u (d) = 1. Notice that, in an unrealistic situation where no correlations exist, so that risk factors can be deemed independent one from each other, based on the Bayes' theorem the probability of their coincidences is the product of the probability of their solely occurrences, which is equal to the lower health bound. At the other extreme, if all the events' probability spaces are subsets of each other, the probability of their coincidences is given by the probability of the rarest event, which in its turn is equal to the upper health bound. Table 2 shows the p g f and q f values for the group composed of people between 25 and 29 years old for a city in the US, based on census data. In the CoV-ABM framework two types of agents are generated: those who have a job, in the form of a working or a school activity, which has been assigned to them with a random job-filler algorithm which considers their profiles, and those who aren't associated to any job. This second group includes job-seekers, whose population size has been set according to the most recent observed unemployment rate, children at preschool (a v,u (ζ) < 7) or people older than x retired , where this last threshold is given by a stochastic number having a normal distribution as follows:
where and represent, respectively, the average and the standard deviation of the retirement age recorded in the geographical area under investigation. Finally, at each timestamp every working agent decides whether to travel to the workplace or not. To rely on a realistic simulator, agents are not always on-time and they might be up to two timestamps late or one timestamp in advance when they go to work or come back home.
In the proposed model, agents belong to different friendship groups or communities of relatives. Friendship groups are composed on average by four individuals, whose membership is not exclusive. This means that agents a v1,u1 and a v2,u2 can be friends in more than one group and can share different sets of common friends. At every timestamp, each friendship group stochastically searches among its members with the aim of finding those willing to organize a meetup, where the probability of this event differs according to the specific day in the week and time in the day. The likelihood of successfully arranging a meeting, for example, is much higher for a weekend evening compared to any other evening during the week. If such a meetup is made possible, the available members decide where to go and the place is chosen randomly either from the members' homes or from open public places in their city, e.g. parks, cafes, shopping centres or stadiums. The model assumes that if an agent attends a meetup it is engaged for a given time interval and, therefore, it is not able to take part to any other meeting for that period. In what follows, W t will denote the set of willing members at time t, and y, the place where they choose to go from timestamp t + 1 to t + l:
∀(v, u) ∈ W t : a v,u ( i |i ∈ {t + 1, . . . , t + l}) = y (8) It is worth mentioning that the friendship groups comply with the following rules:
1. Let a v,u denote the first agent included in a group. The other members are selected so that they are approximately at its own age. Specifically, the age of the other agents is taken from the range a v,u (ζ) ∓ (2 × σ age ), where σ age ∝ a v,u (ζ). As a consequence, in our framework adolescents or young people have only other adolescents or young people as friends. For older individuals friends are chosen similarly but considering a wider range for the age.
2. Agents younger than a certain age do not join any friendship group. The rationale behind this rule is that children are supposed to meet their friends only at school or preschool and aren't able to organize meetups in public places.
Beside friendship groups, the model includes also communities of relatives involving different families. In this case the membership is exclusive so that each family belongs to at most one of these groups. At every timestamp, each community stochastically searches among its families to find those available to organize a meetup. A family is declared available when at least half of its members are willing to attend the meeting. Once a meeting is set up and its location is chosen, the available family members will attend it and won't be free for a certain time.
Notice that, unlike other agent-based models proposed in the literature which resort to random graphs to represent interactions among the agents, our model relies on a more detailed relationship framework to better reflect the real-world interpersonal interactions. This feature plays an important role since it allows to study quarantine scenarios and social distancing impositions with higher realism and precision. For instance, if people are forced to forego the meetups with their friends due to lockdown or other social restrictions, they are still in contact with their own family members, they might still visit some of their relatives, like grandparents, or they might want to limit the meeting locations to their own houses. As far as we know, the models so far proposed lack such representation capabilities.
As the discrete-event model starts, each family is stochastically associated to a variety of needs which have to be fulfilled. These needs can take the form of emergency needs, which are strictly connected to the family members' health conditions, and of daily needs, which are instead referred to every-day activities such as food provisioning, shopping, refueling and so on. The probability of having daily needs depends on the frequency of each need in the real society and it is here assumed to be equal for all families. The likelihood for an emergency need to arise is, instead, dependent on each member's health conditions, a v,u (h) and a v,u (s), as follows:
where p regular emergency is the likelihood of being hospitalized for a "highly strong agent", defined in this study as an agent with a health vulnerability value near to 1, as indicated in Table 1 . Whereas p t i→h represents the likelihood of being hospitalized due to COVID-19. This second term will be explained in more details in Section 2.4. Emergency needs involve a given family member and can be satisfied at a specific hospital located in the county where he/she lives. When an emergency need arises, the affected agent immediately plans to go to the hospital with the aim of fulfilling that need. In case of disability or precarious state, a good health adult belonging to the same family is randomly selected to help the member in need. In our model, the length of staying (LOS) at the hospital for patients affected by COVID-19 is defined as the number of days elapsed between hospitalization and discharge (in case of both recovery and death), while for the other patients it is set to a stochastic number. Notice that, the average LOS value may vary from city to city and for different diseases. However, for the sake of simplicity its value was here set to 4.5 days, which corresponds to the average hospital LOS recorded in the US [39] . Harini et al. observed that non-transformed distributions cannot fit the LOS data appropriately, and suggested to use the gamma-pareto distribution for hospitals LOS fitting purposes [18] . In our model, therefore, each non-COVID patient stays at the hospital for a period of days, which follows a gamma-pareto distribution [1] L ∼ Gamma − P areto(α LOS , c LOS , θ LOS ) (11) with parameter values α LOS = 7, c LOS = 0.2 and θ LOS = 1, as suggested in [18] . Daily needs are by their nature less urgent and can ideally be satisfied by any eligible member of the family. The eligibility is given to not-disabled members showing health vulnerability values greater than a given threshold. In particular, as soon as an eligible member manages to find the time and the right place is open, he/she goes there to fulfill the need. In the event that several places are available, the priority is given to the closer destination. To this aim, we resorted to a graph-based shortest path algorithm proposed in NetworkX [16] . Furthermore, to govern the complexity, we assumed that on average each family daily need requires one hour to be satisfied. The model uses a Bernoulli trial to generate new needs for each family, the probability of which is given by: v n,t daily ∼ Ber(ϑ n dt/24); n ∈ N
where ϑ n is the frequency of expressing the daily need n. dt denotes the timestep and N is the set of different daily needs. When an agent is selected to satisfy a need, either an emergency or a daily one, it won't be free to accomplish other tasks until the need is fulfilled. For a family, if a daily need is not yet satisfied and a new similar need is generated, these two needs are merged into a single one.
In this paper we propose a novel way of disease transmission among the agents. Specifically, we assume that the individual suffering from the disease can infect other agents indirectly by spreading the virus in the environment. As of today, it is believed that COVID-19 is often transmitted through respiratory droplets produced by coughing and sneezing. This virus can however remain suspended in the air for a significant period of time [5] and may also persist on surfaces like metal, plastic or glass for up to 9 days [25] . Developing a model which accounts for such an important characteristic is fundamental to properly represent the spread of SARS-CoV2. Hence, unlike other agent-based models which assume directly contacts as the only mean of transmission, we suppose that the environment itself (the air and/or a surface) can convey the virus from one agent to the other.
In the CoV-ABM framework each location, either indoor or in the form of an outdoor area, can contain a given amount of virus. The volume of the virus persisting in the given location divided by the volume of the location itself determines the probability of infection. The persistence of the virus is not yet exactly known and is estimated to range between two hours and several days, depending on the environmental conditions [25] . However, we can suppose that in a given venue COVID-19 gets inactivated in the environment after k hours on average. Thus, after each timestamp a portion of virus equal to δ = dt/k at each location disappears. Note that the value of k can change by applying different mitigation measures, such as the use of detergents and UV lamps. According to this model, an agent is be able to transmit the virus to any other agent residing or visiting the locations it stayed or passed by. To the best of our knowledge, none of the existent agent-based models in the literature relies on such an assumption. In this study an extension of the SEIR model, called SEIHRD, is used to shape the epidemiological phases of the disease. As discussed earlier in Section 1., some SEIR extensions have been proposed in the literature addressing the spread of COVID-19 [21, 44] and [26] . As it is shown in Figure 2 , our SEIHRD model comprises 6 states: Susceptible (S), Exposed or Asymptomatic Infectious (E), (Symptomatic) Infectious (I), Hospitalized (H), Recovered (R) and Dead (D). For the sake of simplicity, unlike some recent works [30] , we do not separate ICU beds and regular beds. By default, all the agents are susceptible except for the initial spreaders, called seeds:
At each timestamp, exposed and infectious agents spread the virus in the locations where they resided or passed by. For each location y, the infection is calculated as:
where y(∆ t ) is the volume of active viruses inside y, and a v,u (s t ) represents the average quantity of virus being spread in the environment, at a given timestamp, by an agent who is in the epidemiological state s t . A t y is the set of agents located in y at time t. The probability of being infected for any susceptible agent inside the given area is then determined by a Bernoulli trial with transmission probability p t s→e . Specifically, for agent a v,u at time t this probability can be computed as:
where α is the infectiousness rate of the disease, which is a real number between 0 and 1, and y(Ω t ) denotes the volume of location y.
If the agent receives the virus, during the "exposed" phase it won't show any clinical symptom. Therefore, it will work and live like a susceptible agent while spreading the virus over the places it visits or resides in. After a stochastic period, whose average is L e (hours), the agent is either "infectious" or "recovered":
where β = dt/L, and ρ er is the rate of being directly recovered after being asymptomatic infectious for a highly strong agent. Thus, as a v,u (h t ) decreases, the probability of being "infectious" raises. During the "infected" phase the agent shows symptoms; it still spreads the virus but with a different rate inf ectious . The average time length of being infectious for a highly strong agent is given by L i (hours). Let γ = dt/L i be the rate of being "recovered" for a highly strong agent. The probability of becoming "hospitalized", "recovered" or "dead" at each timestamp is:
where ρ ih and ρ id represent the hospitalization and the death rate, respectively, among the strong individuals who are not hospitalized. For hospitalized patients, instead, the probability of being "recovered" is still the same, since there is no evidence illustrating that hospitalized people have shorter period of infection: p t i→r = p t h→r . However, due to the presence of dedicated facilities such as Intensive Care Units and of special medical equipment, hospitalization reduces the death rate. Consequently, we propose to compute this probability as:
where H t q represents the efficiency of hospital q at time t, called "hospital factor". If hospital q has a treatment capacity equal to C t q , the hospital reaches its maximum efficiency if there are less than C t q agents being hospitalized. If the number of hospitalized individuals at q increases, the hospital factor plunges due to the saturation of the structures and the scarcity of available care beds. Let n t be the number of patients in hospital q at time t; we propose a modified pareto curve to calculate the efficiency values as follows: 
In this section we illustrate how the model can simulate the spread of COVID-19 in the State of Delaware, USA, which has a population around one million people. This state is divided into three counties, New Castle, Sussex, and Kent, with populations over 558, 234 and 180 thousand, respectively. Delaware is one of the smallest states in the US and ranked 46th out of the fifty US states in terms of population. However, the virus there has been spreading widely in the recent weeks. As of today, Delaware is ranked 6th in the US in terms of total COVID-19 positive cases per one million population, with near 10,000 approved cases [34] . Figure 4 depicts the network of streets of the three counties, separately.
In order to govern the complexity of the simulator we assumed the environment to be isolated. Consequently, the model doesn't account for incoming or outgoing travels from the region at hand. Notice that, this hypothesis well fits with our simulation environment since the State of Delaware occupies the north-eastern portion of the Delmarva Peninsula, besides some islands and territory within the Delaware River, and is therefore less connected to other states compared to inland states. Further assumptions were then introduced to cope with the lack of complete information, preserving however the compatibility and the adherence to detailed census data. From one side, some buildings in the state were randomly assigned to different uses, being unaware of their actual usage. From the other, the unavailability of census data reporting an exhaustive list of job titles and workplace types, required to synch the environment generator, forced us to simplify jobs, workplaces and the corresponding working staffs. Table 3 shows the different working and living spaces investigated in the present study. The amount of working hours was randomly assigned to each worker, by assuming that no healthy individual works less than 6 hours or more than 10 hours, daily. Moreover, some workplaces such as hospitals, public transportations or police stations were supposed to be always up and running. In our framework, friends and relatives can get together in one of the places comprised in the categories Residential, Amenity, Event or Cultural, with different probabilities, which take into account the specificity of both location and meeting attendees. For example, the likelihood for a reunion to take place in a café is higher than in a museum; at the same time, friends tend to meet in Stadiums, Cafés, Gyms, Parks, while relatives are more inclined to visit each other at their own houses. According to the hypothesis made in [9] , we further assumed that schools and kindergartens admit people from the Apartments, Detached houses, Villas closer districts. Hence, the school located closest to a child's home had a higher probability to be selected. Finally, to limit the computational effort the model was run on each county separately, and the results were then summed together. Notice that, the same framework can be run on the whole country with few minor modifications at the expense of an increase of the simulation time.
With the aim of studying the usefulness of some virus counter-measures and investigate at what extent they can affect the curves of infected people and cause different spread outcomes, two alternative scenarios were defined as follows:
• No interventions: All places remain open and practicable full-time. The probability of visiting friends is 1/14(day −1 ) and relatives is 1/30(day −1 ).
• Quarantine: All the places in the Education, Amenity, Cultural and Event categories are closed with their staff staying at home. The probability of visiting friends and relatives drops to 1/30(day −1 ) and 1/60(day −1 ), respectively. In this case, therefore, people still have contacts with friends and relatives; however, meeting destinations are no longer represented by public places like parks or cafés, closed by the restrictions, but are replaced by the individuals' own houses.
It is worthwhile to observe that the previous scenarios were conceived for the purpose of analyzing the effectiveness on the mitigation of the outbreak of two specific types of interventions, represented by the drastically reduction of social meetings and the closure of non-critical places.
In order to generate the simulated environment and the agents' profiles all the necessary demographic and health information about Delaware's counties were gathered from US census and US health reports. In particular, data on each county's hospitals and relative capacities were collected from the American Hospital Directory website 1 , whereas the Open Street Map tools 2 , e.g. OSMnx, were used to retrieve information about locations, building usage and street graphs.
Once the agents were generated based on the census and health data, their profiles were analysed to verify the validity of the achieved population. Table 4 compares the population of the simulated agents, divided into 5 age-groups, with the real-world census, and shows the close correspondence between the created and the actual population's demography. Figure 5 , instead, illustrates the number of generated agents affected by the different risk factors in each county.
Simulations were performed by using a mid-range personal laptop with an i7 processor and 8GB of memory on an Ubuntu 18 operating system. The simulator was coded in Python 3.8 and the model was run on each scenario 5 times iteratively, to average the results. The runtime of each iteration for the counties Kent, Sussex and New Castle was roughly 2, 2.5 and 7 hours, respectively. 
In order to run the simulator on the State of Delaware, we first set some initial parameters, described in Section 2., as shown in Table 5 .
As it is defined in Section 2.4, the infectiousness rate α determines how easily the virus transmits to a susceptible individual. The exact value of the infectiousness rate is unknown and depends on several factors, such as the virus characteristics, the environment (e.g. humidity, temperature, wind speed) and the personal protective behaviour. As an example, facial masking and careful hand hygiene can reduce the transmission, so that the infectiousness rate in societies with rigorous protective behaviours is usually lower.
In order to figure out how the infectiousness rate affects the viral spread dynamics and to properly set its value, we performed several simulations on the Kent county with different values, ranging from 0 to 0.25 with a step size equal to 0.05. Figures 6 to 10 depict the impact of the infectiousness rate on the SEIHRD phases' surfaces. As it can be seen, high values result in more infected people and more deaths. Moreover, from the same charts it can be inferred that quarantine and lower infectiousness rates make the whole spread process slower and longer, eventually leading to fewer casualties. Figure 11 depicts the infected places in Kent County, with different infectiousness rate values, at the corresponding infection peaks. Notice that, due to the virus inactivation period, the highlighted locations only represent the places where the virus still persists and is not disabled. The blue circles are proportional to the virus densities inside the corresponding areas. Once observed the effect of the infectiousness rate at different intensity levels and compared it with the actual curves derived from the available reports, we consequently set it at α = 0.15 to proceed with the remaining simulations.
As it is shown in Figure 12 and Figure 13 , the quarantine measures can drastically flatten the curves. Notice that, our quarantine scenario doesn't impose extreme restrictions, since people can still interact with their relatives and friends and private offices, factories and crucial workplaces are still open with regular opening hours. Therefore, the results achieved emphasize that even small actions can play a prominent role. Table 6 shows the number of deaths in different age groups after 15 weeks of simulation and demonstrates how The reports from Delaware, Division of Public Health [12] , state that the first positive case has been identified in March 10th, 2020. As of today, after 12 weeks of spread, COVID-19 casualties raised to 149, 126 and 56 cases, for the New Castle, Sussex and Kent counties, respectively. These reports show that Sussex has a higher percentage of deaths, which matches our "no intervention" scenario. It is worth mentioning that, the infection process can be highly path-dependent when the ratio between the number of seeds and the overall population is infinitesimal. In such cases, the number of deaths can significantly vary in each iteration, and relies on the selection of the seed sets and on their actions during their infectious period. For example, if there are only few seeds with too few interactions, or they are in good health conditions to get recovered speedily, the infection won't sprout up and won't last for a long period. Another important issue during the outbreak is the saturation of health facilities. Figure 14 illustrates the number of beds required for the patients in each of the hospitals in the three counties. During the quarantine scenario this demand is less urgent since the speed of the virus spread slows down. The plotted lines are the cumulative of both COVID-related and non-COVID hospitalization needs.
Our simulator has the power to monitor the spread of the virus and identify hazardous places where the probability of transmission rises. To show the phenomenon with a closer lens, we separately ran the model on the city of Dover, the capital of Delaware, with 38,000 agents. Figure 15 and 16 depict the infected places through the time. The plots were taken at the end of every 2 weeks and illustrate the growth and decline of the outbreak in the city. In order to identify the places with higher transmission potential, we extracted the areas where each "exposed" agent received the virus and became exposed. For the "no intervention" scenario, the place types inside which at least 100 incidents occurred are listed in Table 7 . Educational places collectively incubated more than half of all the virus transmissions, with approximately 7500 incidents on average. It must be pointed out that most of these cases involved young and healthy people; therefore, only a small portion of them became symptomatic infectious. On the contrary, these exposed young people conveyed the virus to their houses and made their family members exposed as well. This is one of the reasons why the number of virus transmissions inside the houses was high on average (with almost 3800 cases). For the "quarantine" scenario, on the other hand, the city witnessed a dramatic decrease in the number of transmissions inside the houses due to the lock down of the educational and cultural places. Despite houses remain among the most risky locations, the average number of transmissions therein plunged to one-fifth. According to Table 8 , in the quarantine scenario hospitals were the most hazardous places in terms of virus transmission. It should be emphasized that, an agent with poor health conditions or disabilities needed an eligible family member to accompany it to the hospital. On such occasion, it is very likely that the attendant gets exposed in the hospital, if he/she did not inhale the virus at home or anywhere else. Also public transportation had an important role in the viral spread, since in both scenarios it led to more than 800 incidents, on average, with a small standard deviation.
The comparison between Figure 15 and 16 graphically demonstrates the effectiveness of the quarantine measures in terms of the outbreak mitigation. During the quarantine, indeed, the prevalence and density of the virus inside the city buildings and the outdoor areas are considerably lower with respect to the other scenario. Moreover, both figures show that the buildings in the city downtown (the center of the map) can reach the highest virus densities. In particular, Figure 15 illustrates that the areas with a higher number of churches, colleges and schools (e.g. the downtown), the south-eastern district and the northern district, where Delaware State University and Wilmington University are located, have higher likelihoods to become virus hubs.
ABM is one of the computational approaches which can simulate individuals and their decisions based on the rules and the set of actions that are programmed in it. These rules are configured so that the simulator can better mimic the behaviour of its real-world counterpart. Such simulators can be of great importance when the interactions among the citizens and their decisions profoundly shape the dynamics of the system. Thus, since the intensity of the outbreaks is highly reliant upon the behaviour of the individuals, this paper proposes an ABM framework, named CoV-ABM, considering such actions and decisions in a higher detail compared to other existing frameworks. In addition, due to the unique epidemiological and clinical features of the novel coronavirus SARS-CoV2 [38] , and its remarkable durability and persistence in the environment [25] , the development of a simulator being able to consider these characteristics was needed.
During the past few months, the COVID-19 pandemic heavily affected the lives of billions of people around the world, [20] . In this scenario, CoV-ABM can be used as a decision-support tool for policymakers and researchers to analyse the consequences of different decisions and regulations devoted to halt the outbreak and prevent future potential occurrences. This paper proposes a novel extension of SEIR, called SEIHRD, which formulates the hospitalized cases and the saturation of the facilities and considers both symptomatic and asymptomatic cases. According to a study from China [3] , approximately 80% of SARS-CoV2 cases had no clinical symptoms, even though they could release large amounts of viruses at the early phases of the infection. CoV-ABM was developed to being able of tracking the active viruses existing at every indoor or outdoor areas, and computing the transmission probability based on the virus density at each location. In the proposed model, indeed, a place visited by infectious people remains infectious until all its viruses get inactivated. This novel assumption, unlike that of studies whose diffusion models rely on social networks or agent-agent interactions, is totally compatible with the peculiarity of SARS-CoV2. Former studies assumed that an agent directly transmits the virus to another agent when both are close enough for a certain period or time, or when a graph-edge gets activated. In our model, instead, an agent can infect any other individual indirectly through the environment. As an example, agent a vi,uj releases an amount of virus at location y, where it passes by y at time t. Any susceptible agent a vm,un who visits the same location at time t might get exposed regardless of having a social link with agent a vi,uj , until the viruses in that area are not disabled (i.e. y ∆ t > 0). In graph-based models this can be possible only if the graph is complete. Another novelty of this research is how the agent communities and their interactions were modelled, specifically the interactions among family members, relatives and friends. In our framework, each agent is a member of a family, has a group of relatives and a set of friendship groups. When a group of friends or relatives decide to visit each other, they choose a destination among the possible open locations where they can go together. Even if no open public places exist, they still have the chance to set the destination to one of the available members' houses; this possibility enables the escalation of the virus spread. Hence, an effective mitigating scenario should consider not only limitations of the opening hours of public places but also measures devoted to lowering as possible the probability of interactions among individuals. By defining two scenarios, "no intervention" and "quarantine", this study aims at demonstrating how lock down measures can halt the outbreak and "flatten the curve". In particular, the simulation results for the State of Delaware showed that the restrictions can hugely reduce the number of infected people and, consequently, the number of victims and the hospital bed demand. From this it can be inferred that in the "no intervention" scenario, Delaware hits the peak of outbreak between the 2nd and the 3rd week, and the number of active persons remains relatively high for about 9 more weeks. In the "quarantine" scenario, instead, the outbreak peak happens somewhere between the 6th and the 12th weeks while the number of active agents is relatively low and lasts without any significant change by the end of our simulation period. The results also illustrated that the spread dynamics slightly differ in different counties, maybe due to their different health structures and urban arrangements. This opens up an opportunity for future studies to investigate the impact of urban design and street graphs on the spread of COVID-19. By tracking the locations of all transmission incidents and calculating the virus densities for different areas, CoV-ABM highlighted the high-risk places inside the geographical environment. For the city of Dover, the simulation results showed how educational and cultural places can become hubs of infection that accelerate the outbreak. In the "no intervention" scenario, educational buildings caused roughly 48% of all the transmissions. The same percentage for cultural places, including churches and museums, was just over 8% on average. On the other hand, our results draw attention on the protection policies inside hospitals and public transportation, since the simulations showed that these places, taken together, can cause more than 70% of all the infection incidents during the quarantine. Households achieved a share of 25% and 23% of all the incidents for the "quarantine" and the "no intervention" scenarios, respectively. Notice that, this paper tried to gather and use all the available real-world data to generate a simulation environment as accurate as possible. However, there was still a substantial portion of urban and suburban buildings for which complete information was missing, such as their usage, their indoor volume size and their opening hours. In such cases, CoV-ABM assigned random values to make the environment complete. In order to enhance the precision of the simulator, more comprehensive census and geographical information databases are required.
In this paper we proposed a novel spatiotemporal simulation framework, called CoV-ABM, to mimic the spread of SARS-CoV2 virus in different geographical domains. This framework uses census data and GIS information to generate a realistic geographical environment where people live, work, and interact with each other. CoV-ABM employs a new extension of SEIHRD diffusion model which considers the virus characteristics and its ability to persist in the air and/or on surfaces for long periods of time. Our diffusion model works based on the density of active SARS-CoV2 viruses at each place's volume. Therefore, unlike other simulators proposed in the literature, agents in our framework can inhale the virus in an infectious place, even if there is no other agent around. Moreover, the diffusion model considers also the actual number of infectious people who can have asymptomatic periods of illness, and not only those who have been tested, and some risk factors, such as pregnancy, smoking record, heart diseases and kidney misfunctioning, to generate the health profiles for each population based on the local health information.
CoV-ABM simulates the agents' daily needs and their social interactions with a high resolution, which enabled us to study the consequences of different mitigation policies. Therefore, in this study we examined the impact of two different scenarios on the dynamics of the outbreak in the State of Delaware, with a population of one million. The simulation results illustrated that the number of deaths drastically grew in different age-groups in case of no interventions compared to the quarantine scenario. Our framework assumed that the plethora of agents inside hospitals and the higher number of hospitalizations reduced the hospital efficiency, and compared the difference between the hospitals' bed demands in the two scenarios. Finally, CoV-ABM identified the high risky locations and buildings, in terms of the virus transmission likelihood, in the geographical areas under investigation. According to the simulation results, the top three virus hubs were schools, houses and universities when no restrictions were imposed, while the top-ranked places were hospitals, public transportations and houses in the quarantine scenario. These outcomes can be of great importance for policymakers to understand the consequences of their decisions, in particular of laws and protective regulations focused on limiting the attendance of such locations. The current implementation of CoV-ABM was run by simulating millions of agents at a country-level geography, to control the computational effort and enable its usage on a personal computer. The proposed simulator, however, could be applied on continental domains and/or on a world-wide scale by adding or removing few assumptions. Several research opportunities and working directions are identified and recommended as follows: (1) developing a variety of different scenarios based on the current or future policy responses to COVID-19; (2) extending the SEIHRD model to separate the ICU beds and regular beds for patients with different morbidity conditions at hospitals and considering the effect of self-quarantine; (3) adding airports and harbours to the model and investigating the impact of travellers and tourists on the spread dynamics;(4) investigating the influence of different urban designs on the severity of outbreak.
Algorithm 1: Pseudo-code of the SEIHRD model Data: t, a v,u , locations, parameters Result: a v,u , locations if a v,u (s t ) = inf ectious then infect a v,u ( t ) ; calculate a v,u (φ t+dt ) ; if a v,u ( t ) = a v,u ( t+dt ) then infect a v,u ( t out ) and a v,u ( t+dt out ); if a v,u ( t ) ∈ hospitals then calculate H t q ; if random<p t h→d then set a v,u (s t ) ← dead; set a v,u ( t+dt ) ← a cemetery nearby else if random<p t h→r then set a v,u (s t ) ← recovered; else if random<p t i→d then set a v,u (s t ) ← dead; set a v,u ( t+dt ) ← a cemetery nearby else if random<p t i→r then set a v,u (s t ) ← recovered; else if a v,u (s t ) = exposed then infect a v,u ( t ); if a v,u ( t ) = a v,u ( t+dt ) then infect a v,u ( t out ) and a v,u ( t+dt out ); if random<p t e→r then set a v,u (s t ) ← recovered; else if random<p t e→i then set a v,u (s t ) ← inf ectious; else if a v,u (s t ) = susceptible then if random<p t s→e then set a v,u (s t ) ← exposed; Algorithm 2: Pseudo-code of the CoV-ABM discrete-event model Initialization: set objects to default values; for (v, u) ∈ seeds then set a v,u (s 0 ) ← exposed; Main loop: while t < t max do foreach ∈ locations do update (∆ t ) foreach v ∈ families do foreach n ∈ daily needs do update v t n foreach u ∈ v(members) do update v regular emergency (u) t ; if v regular emergency (u) t = 1 then set a v,u ( t+dt ) ← a related place nearby; set v regular emergency (u)(t 0 ) ← t + dt update a v,u (φ t+dt ); update a v,u , locations ← SEIHRD(t, a v,u , locations, parameters) if a v,u (s t ) = inf ectious & a v,u ( t ) / ∈ hospitals then update p t i→h if random < p t i→h then update v COV ID emergency (u) t ; set a v,u ( t+dt ) ← a related emergency place nearby foreach if v COV ID emergency (u) t = ∅ then if a v,u (s t ) = inf ectious then set v COV ID emergency (u) t ← ∅ else if t − v regular emergency (u)(t 0 ) ≥ L then set v regular emergency (u) t ← ∅
foreach g ∈ f riendgroups do set F ← {(v, u)|a v,u (φ t+dt ) = 1};
if random < p f riends × timef actor(t + dt) and F > 1 then set l ← a random location where they can get together; foreach (v, u) ∈ g do set a v,u ( t+dt ) ← l; set a v,u (φ t+dt ) ← 0
if random < p relatives × timef actor(t + dt) and F g > 1 then set l ← a random location where they can get together;
foreach v ∈ g do foreach u ∈ Φ v do set a v,u ( t+dt ) ← l; set a v,u (φ t+dt ) ← 0
foreach h ∈ hospitals do update H t h set t ← t + dt