text:
## Overview

ggsoccer provides a handful of functions that make it easy to plot soccer event data in R/ggplot2.

## Installation

ggsoccer is available via CRAN:

install.packages("ggsoccer")

# install.packages("remotes")
remotes::install_github("torvaney/ggsoccer")

## Usage

library(ggplot2)
library(ggsoccer)

ggplot() +
annotate_pitch() +
theme_pitch()

The following example uses ggsoccer to solve a realistic problem: plotting a set of passes onto a soccer pitch.

pass_data <- data.frame(x = c(24, 18, 64, 78, 53),
y = c(43, 55, 88, 18, 44),
x2 = c(34, 44, 81, 85, 64),
y2 = c(40, 62, 89, 44, 28))

ggplot(pass_data) +
annotate_pitch() +
geom_segment(aes(x = x, y = y, xend = x2, yend = y2),
arrow = arrow(length = unit(0.25, "cm"),
type = "closed")) +
theme_pitch() +
direction_label() +
ggtitle("Simple passmap",
"ggsoccer example")

Because ggsoccer is implemented as ggplot layers, it makes customising a plot very easy. Here is a different example, plotting shots on a green pitch.

Note that by default, ggsoccer will display the whole pitch. To display a subsection of the pitch, simply set the plot limits as you would with any other ggplot2 plot. Here, we use the xlim and ylim arguments to coord_flip.

Because of the way coordinates get flipped, we must also reverse the y-axis to ensure that the orientation remains correct.

NOTE: Ordinarily, we would just do this with scale_y_reverse. However, due to a bug in ggplot2, this results in certain elements of the pitch (centre circle and penalty box arcs) failing to render. Instead, we can flip the y coordinates manually (100 - y in this case).

shots <- data.frame(x = c(90, 85, 82, 78, 83, 74, 94, 91),
y = c(43, 40, 52, 56, 44, 71, 60, 54))

ggplot(shots) +
annotate_pitch(colour = "white",
fill   = "springgreen4",
limits = FALSE) +
geom_point(aes(x = x, y = 100 - y),
fill = "yellow",
shape = 21,
size = 4) +
theme_pitch() +
theme(panel.background = element_rect(fill = "springgreen4")) +
coord_flip(xlim = c(49, 101),
ylim = c(-12, 112)) +
ggtitle("Simple shotmap",
"ggsoccer example")

### Data providers

ggsoccer defaults to Opta’s 100x100 coordinate system. However, different data providers may use alternative coordinates.

ggsoccer provides support for a few data providers out of the box, as well as an interface for any custom coordinate system:

• Opta
• Statsbomb
• Wyscout

#### Statsbomb

# ggsoccer enables you to rescale coordinates from one data provider to another, too
to_statsbomb <- rescale_coordinates(from = pitch_opta, to = pitch_statsbomb)

passes_rescaled <- data.frame(x  = to_statsbomb$x(pass_data$x),
y  = to_statsbomb$y(pass_data$y),
x2 = to_statsbomb$x(pass_data$x2),
y2 = to_statsbomb$y(pass_data$y2))

ggplot(passes_rescaled) +
annotate_pitch(dimensions = pitch_statsbomb) +
geom_segment(aes(x = x, y = y, xend = x2, yend = y2),
colour = "coral",
arrow = arrow(length = unit(0.25, "cm"),
type = "closed")) +
theme_pitch() +
direction_label(x_label = 60) +
ggtitle("Simple passmap",
"Statsbomb co-ordinates")

#### Custom data

To plot data for a dataset not provided, ggsoccer just requires a pitch specification. This is a list containing the required pitch dimensions like so:

pitch_custom <- list(
length = 150,
width = 100,
penalty_box_length = 25,
penalty_box_width = 50,
six_yard_box_length = 8,
six_yard_box_width = 26,
penalty_spot_distance = 16,
goal_width = 12,
origin_x = 0,
origin_y = 0
)

ggplot() +
annotate_pitch(dimensions = pitch_custom) +
theme_pitch()

### Goals

The standard “box” goals may not be perfectly suited to your use-case. ggsoccer allows you to customise your goals markings by supplying a function to the goals argument of annotate_pitch:

ggplot() +
annotate_pitch(fill = "steelblue4", colour = "white", goals = goals_line) +
theme_pitch() +
theme(panel.background = element_rect(fill = "steelblue4"))

ggplot() +
annotate_pitch(goals = goals_strip, fill = "lightgray") +
theme_pitch()

Since this argument just requires a function (or a one-sided formula), you can modify the supplied functions, or create your own goal markings function. Additionally, the goals argument supports using one-sided formulas as lambda functions (see rlang::as_function).

ggplot() +
annotate_pitch(
goals = ~ goals_strip(..., lineend = "square", size = 3.5),
fill = "lightgray"
) +
theme_pitch()

See help(goals_box) for the full list of available functions.

The idea for having multiple goal markings was taken and adapted from the fc.rstats package.

## Other options

There are other packages that offer alternative pitch plotting options. Depending on your use case, you may want to check these out too:

### Python

There are a couple of pitch plotting options for matplotlib, too:


text:
main-content

## Weitere Artikel dieser Ausgabe durch Wischen aufrufen

Erschienen in:

Open Access 01.12.2021 | Research

# Understanding how retweets influence the behaviors of social networking service users via agent-based simulation

verfasst von: Yizhou Yan, Fujio Toriumi, Toshiharu Sugawara

Erschienen in: Computational Social Networks | Ausgabe 1/2021

print
DRUCKEN
insite
SUCHEN

## Abstract

The retweet is a characteristic mechanism of several social network services/social media, such as Facebook, Twitter, and Weibo. By retweeting tweet, users can share an article with their friends and followers. However, it is not clear how retweets affect the dominant behaviors of users. Therefore, this study investigates the impact of retweets on the behavior of social media users from the perspective of networked game theory, and how the existence of the retweet mechanism in social media promotes or reduces the willingness of users to post and comment on articles. To address these issues, we propose the retweet reward game model and quote tweet reward game model by adding the retweet and quote tweet mechanisms to a relatively simple social networking service model known as the reward game. Subsequently, we conduct simulation-based experiments to understand the influence of retweets on the user behavior on various networks. It is demonstrated that users will be more willing to post new articles with a retweet mechanism, and quote retweets are more beneficial to users, as users can expect to spread their information and their own comments on already posted articles.
Hinweise

## Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Abkürzungen
RT reward game
Retweet reward game
QT reward game
Quote tweet reward game

## Introduction

Twitter, Facebook, Instagram, and many other social network services (SNS) on social media platforms have attracted global attention in recent years. Increasing numbers of people are using these online platforms to post a variety of information, including text, voice, sound, images, and videos, for purposes, such as personal and group communication, education [1], business [2], and political discussions [3]. This informative collection has become a valuable resource and asset generated by numerous social media users. For the further growth of these assets, articles and related comments must be constantly updated by users; thus, it is necessary to identify factors that incentivize and promote people to provide information.
Substantial research has been conducted on this topic by studying these issues from viewpoints including social network analysis [4], social psychology [57], and agent-based simulation using evolutionary game theory [811]. For example, Zhao and Rosson [4] demonstrated the potential influence of microblogging sites, such as Twitter. Several studies have also attempted to identify the reasons that microblogs are used as informal communication tools and the characteristics of the user behavior. Toriumi et al. [8] modeled social media activities according to the public goods game [12], as posted articles are public resources. However, lurkers may exist who simply read articles and provide nothing, because by posting articles, people must incur certain costs and responsibilities, whereas they can obtain benefits by simply reading articles and comments. Toriumi et al. introduced the following aspects: (a) rewards, corresponding to posting comments on existing articles, (b) cooperation, corresponding to posting new articles, and (c) meta-rewards, corresponding to comments on existing comments. They found that meta-rewards help to maintain cooperation [8]. However, the manner in which retweet mechanisms, including quote tweets, influence the user behaviors in social media has not been sufficiently studied to date, although it is understandable that retweets improve the spread of information, and thus, facilitate cooperation; that is, they cause users to post articles more frequently.
The retweet, which is a mechanism that has been implemented in several social media platforms, allows users to view an article posted by a stranger (within the social network connections of the user) and to express their opinions in a reply to the article contributor. The quote tweet is a type of retweet, which also enables retweeters to add their opinions or comments. As a result, the article contributor may have quite a large number of potential readers/commenters. Furthermore, retweets can increase the influence of microblogs/tweets at a small cost. However, situations in which many articles are posted may be advantageous for lurkers. Thus, understanding the effects of retweets can aid in identifying the conditions that are necessary for sustained social media influence.
We experimentally investigated the impact of retweets and quote tweets on communication among users by varying the values of the variables that limit the diffusion of retweeted information. Although we previously reported the results of an extended reward game, known as the RT reward game, by introducing only the retweeting mechanism to reveal the effect of retweets on user behavior [13], we further extended the RT reward game by adding the quote tweet mechanism. This extension enables us to understand the effect of different types of retweet mechanisms on user behaviors by comparing the results derived from the mechanisms of retweets with and without quote tweets. Furthermore, we conducted experimental analyses with more extensive experiments based on these models.
For our experimental analysis, we conducted multi-agent simulations using genetic algorithms on a complete graph, networks that were generated based on the connecting nearest neighbor model [14], and real-world social networks observed on Facebook and Twitter [15]. The results of this experiment indicated that, as demonstrated in existing research, a reward game without the retweet mechanism could not maintain cooperation (posting of articles) owing to the lack of a meta-reward, but a moderately high probability of retweets enhanced the cooperation of users. Furthermore, when quote tweets were available, the same tendency was observed, but closer inspection revealed that agents had a slightly lower posting rate and a generally higher commenting rate in all networks. Nevertheless, we think that quote tweets are quite beneficial to users, as they are expected to spread users’ comments as well as the posted information.
Numerous studies have been conducted to understand the role of retweeting. However, the majority of works aimed to predict the retweeting behavior. Kupavskii et al. [16] attempted to understand the reasons why a tweet becomes popular and trained an algorithm that could predict the number of retweets during a certain interval length from the initial moment. Peng et al. [17] aimed to determine the factors that motivate users to retweet and whether the retweeting decisions were predictable, based on the tweeting history and social relationships of users. They subsequently modeled the retweet patterns using conditional random fields. Macskassy and Michelson [18] investigated what information was spread and why it was spread in tweets or microblogs. They presented and evaluated several retweet behavior models and found that most people did not retweet information on topics that they themselves tweeted about or from people who were “like them.” Tang et al. [19] adopted a “microeconomics” approach to anticipate the retweeting behavior of each individual and investigated how a particular retweeting behavior affects both the originator (sender) and receiver of the retweeting behavior. However, the majority of studies have focused on the factors that would influence retweeting behaviors, and few studies have investigated how the existence of the retweeting mechanism influences the posting and commenting behaviors of users.
In addition to the work of Toriumi et al. [8], many researchers further proposed models that were also attempts to extend the public goods game to investigate the mechanisms and conditions for maintaining the influence on social media activities. Osaka et al. [11] attempted to investigate the influence of the direct reciprocity and network structure on the lasting prosperity of social networking services. Hirahara et al. [9, 10] extended the model by adding feedback mechanisms with almost no cost, such as the “Like!” option/button and “read marks” feature, and investigated their effects on the user activities using Facebook data as well as on other artificial complex networks. They found that such mechanisms considerably encouraged cooperation. Furthermore, Toriumi et al. [20] investigated the types of incentive systems consisting of rewards and negative rewards (punishments) to foster and sustain cooperation in an example groupware. Thereafter, Toriumi et al. [21, 22] modified the meta-reward model for more realistic situations that could achieve cooperation in consumer-generated media and analyzed the influence on the informative behavior. However, these studies did not discuss how the retweeting mechanism affects the user strategies. Therefore, to study the manner in which the retweet and quote tweet mechanisms affect the willingness of social media users to post and comment on articles, we propose a novel evolutionary model based on a conventional reward game to express these mechanisms.

## Proposed model

### Reward game with retweets and quote tweets

To model the user behaviors, we propose a retweet (RT) reward game and a quote tweet (QT) reward game, which are evolutionary games on networked agents. The games are extensions of the reward game proposed by Toriumi et al. [8]. For the RT reward game, we extend the reward game by introducing several rounds of retweets for a posted article. The QT reward game is obtained by implementing quote tweets in the RT reward game.
Intuitively, retweeting is the action of reposting an article or a tweet of a user or forwarding it to her/his followers. Quote tweets refer to retweeting articles with comments that can be read by the followers, and unlike retweets, quote tweets produce new tweets/articles of the quote tweeters. Posting an article is often represented as cooperating, whereas commenting on an article is often represented as rewarding. Let A be a set of n agents, where an agent indicates a user in a social networking service. The graph G = (A, E) denotes the agent network, where E is the set of undirected edges expressing the followee/follower (thus, usually friendly) relationships. The edge between agents i and j is denoted by $$e_{ij}\in E$$. For simplicity, we assume that the edges are undirected, meaning that users automatically follow their followers. The set of neighbors of agent i is denoted by $$N_{i}$$ ($$\subset G$$); that is, $$\forall i\in A$$
\begin{aligned} N_i = \{j\in A | e_{ij}\in E\}. \end{aligned}
Four learning parameters exist for agent i that can decide his/her behavior: the cooperation rate (that is, posting rate) $$B_i$$, comment rate $$L_i$$, retweet rate $$RT_i$$, and quote tweet rate $$QT_i$$; their values are the probabilities with which the corresponding behavior will be performed and thus take a number between 0 and 1. Note that we generally use the term cooperation rate instead of posting rate, because reward and meta-reward games are variants of the prisoner’s dilemma game.
The procedure of the RT reward game is depicted in Fig. 1. The parameter $$S_{it}$$ ( 0 $$\le S_{it} \le$$ 1), which is the viewing probability, provides an indication of how attractive the article of agent i is at time t and is set randomly every time the game starts. A higher $$S_{it}$$ value indicates greater probability that the article of i will be read. For agent i at time t, if $$S_{it} < B_{i}$$, agent i cooperates with $$B_i$$ (by posting an article or a tweet). If agent i cooperates, all agents in $$N_{i}$$ receive a positive reward M, and agent i receives a negative reward F (corresponding to a cost) for posting the article. Agent $$j\in N_i$$ reads the article posted by i with $$S_{it}$$. If j reads the article, j may comment on the article with probability $$L_j$$. If j comments on the article, it receives a reward C ($$<0$$) as the cost of posting a comment, and i receives a positive reward R. Provided that agent j views the article posted by i, j may retweet the article to its neighbors with probability $$RT_{j}$$. If agent j retweets this article, j receives 0.5C and i receives 0.5R. Agent $$\forall k\in N_j$$ has the opportunity to read the article posted by i with probability $$S_{it}$$. If agent k reads the retweeted article of agent i and has not commented on it previously, k can comment on the article with probability $$L_k$$. If agent k comments on the article, agent k receives a negative reward C, and agent i receives a positive reward R. Moreover, if agent k is yet to retweet the article, agent k can also retweet it with probability $$RT_k$$. If agent k retweets the article, agent k receives 0.5C, and agent i receives 0.5R. This ends one period of the RT reward game for agent i.
The procedure of the QT reward game, which is similar to that of the RT reward game, is illustrated in Fig. 2. In this case, if agent j decides to retweet article T, it retweets it with a comment (that is, a quote tweet) with probability $$QT_j$$, which means that it will simply retweet it with $$(1-QT_j)$$. If j quote tweets the article instead of simply retweeting the article, j will receive a negative reward C, and the article poster will receive a positive reward R. In this situation, j will post a new article $$T'$$. Agent $$\forall k\in N_j$$ will have access to not only T, but also $$T'$$, so that k may comment on, retweet, or quote tweet T or $$T'$$ with probabilities $$L_k$$, $$RT_k$$, or $$QT_k$$, respectively. Note that we can also define RT and QT meta-reward games by introducing meta-rewards [8] in the same manner.
The reward and cost of simple retweets are set to half of the values of reward R and cost C, because retweets only forward articles without posting any comments. Clicking the retweet button should cost less than commenting, resulting in relatively lower rewards for the article poster. The cost and reward of a quote retweet are set to C and R, because, unlike retweeting, quote tweeting does not expect as many replies as tweeting, thereby reducing the costs and sharing the costs slightly more. Once all agents have completed their own periods of the RT/QT reward game, one game round is completed. Table 1 lists the aforementioned parameters.
Table 1
Parameter values in experiments
Description
Parameter
Value in exp.
Viewing probability of agent i at t
$$0<S_{it}<1$$
Random
Cost of posting article
$$F<0$$
− 3.0
Reward upon reading article
$$M>0$$
1.0
Cost of comment
$$C<0$$
− 2.0
Reward from posting comment
$$R>0$$
9.0
We present an example of a RT reward game in which seven users, denoted by $$\{a,b,c,d,e,f,g\}$$, are connected, as illustrated in Fig. 3. First, if user a posts a tweet or an article T (see (1) in Fig. 3), her/his friends, namely, db, and e, can read T. Second, as shown in (2), in Fig. 3, a friend of a; for example, d, reads the tweet and decides to retweet the tweet, and another friend b also reads T and is willing to retweet it; however, e reads T, but does nothing. Because b retweets T, his/her friends, fc, and g (including a, d, and e) may be able to read T. As d has previously commented on T, d does not comment on it, but it has the opportunity to retweet it again. Agent e, who has not commented on the tweet thus far, may comment on the article of a. This indicates that agents who are not friends of the tweet poster will be able to comment on the tweet if a neighbor of the agent retweets it. Third (see (3) in Fig. 3), a friend of b; for example, f, reads T and comments on it, and c retweets T. It is worth noting that users can comment on and retweet the same article at the same time.
For the QT reward game, as illustrated in Fig. 4, at the second step mentioned above, the friends of a may quote tweet the tweet T. For example, agent h quote tweets T, posting a new tweet $$T'$$. The friends of h, namely, n, m, and o, may view $$T'$$, and at the same time, they will also have access to the original tweet T. Among these, n comments on tweet $$T'$$, and m retweets $$T'$$, bringing a reward to the quote tweeter h. User o comments on the original tweet T and gives a reward to the original poster a.

### Process of evolution in agent networks

A generation consists of four rounds of the game described above, following which each agent calculates the payoff, which corresponds to the total reward earned in one generation and is used as its fitness value for the evolution. Note that the fitness value is initialized to 0 at the start of each generation. The parameters $$B_i$$, $$L_i$$, $$RT_i$$, and $$QT_i$$ that specify the behavior of agent i are encoded into three bits, representing positive integers from 0 to 7. Therefore, we assume that each of these values corresponds to one of $$0/7, 1/7, \dots , 7/7$$, because they are probabilities. Thus, the agents individually have 12-bit genes in total.
The genetic algorithm used in our experiments comprises three phases: parent selection, crossover, and mutation. In the parent selection phase, agent $$i\in A$$ selects two agents from $$N_{i} \cup \{i\}$$ as parents for the next generation. The probability of agent j ( $$\in N_{i} \cup \{i\}$$ ) being selected is as follows:
\begin{aligned} \Pi _j = \frac{(v_j-v_{min})^2}{\sum _{k\in N_i\cup \left\{ i\right\} }(v_k-v_\textit{min})^2}, \end{aligned}
(1)
where $$v_{\textit{min}}$$ is the minimum fitness value among those of $$N_i \cup \{i\}$$, and $$v_j$$ is the fitness value of j; therefore, agents with higher fitness values are likely to be selected as parents by the agents adjacent to them.
Subsequently, the next generation of genes for agent i is produced by uniform crossover; that is, each bit of its new gene is selected with equal probability from one of the two parent agents. After producing the 12-bit gene, each bit is inverted with the probability, which is known as the mutation rate. The mutation rate was set to 0.01 in our experiment. The genes obtained in this manner are used as the next generation of agents; therefore, the behavior of i is determined by the obtained gene.

## Experimental analysis

### Experimental setting

The purpose of our experiments was to explore the dominant (beneficial) strategies that are the most common among users, where the strategy is represented by the agent gene that is the concatenation of $$B_i$$, $$L_i$$, $$RT_i$$, and $$QT_i$$. Furthermore, this dominant strategy suggests the extent to which the presence of a retweet mechanism will improve or inhibit the willingness of users to post articles and comments. The difference in behavior between the strategies with and without the retweet and quote tweet mechanisms can be analyzed by comparing the values of the cooperation rate (or post rate) B, comment rate (or reward rate) L, retweet rate RT, and quote tweet rate QT. In the following experimental analysis, the average values of the parameters of all agents are denoted by B, L, RT, and QT. For example, $$B=\sum _{i\in A} B_i/|A|$$.
The experiments were conducted using a complete graph and nine connecting nearest neighbor networks [14] as these are generally used in these types of experiments. We also conducted the same experiment using a Twitter (ego) network and a Facebook (ego) network to see the effects of retweet and quote tweet in a real-world network and compared them with those obtained using the synthetic networks. We set the numbers of agents to 20 in the complete graph and 1000 in the connecting nearest neighbor networks. The features of the connected nearest neighbor networks used in our experiments are listed in Table 2. Note that, to generate the connecting nearest neighbor networks, the network parameter u, namely, the probability of changing a potential edge to a real edge was varied from 0.1 to 0.9 in 0.1 increments. The Facebook network used in this experiment consists of 4039 agents and its average cluster coefficient is 0.6055. The Twitter network consists of 237 agents and its average cluster coefficient is 0.3688. They were acquired from the Stanford Large Network Data Set Collection [15].
Table 2
Characteristics of connecting nearest neighbor networks (number of agents n = 1000)
Parameter
$$u=$$ 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Average degree
2.20
2.44
2.77
3.19
3.84
4.78
6.40
9.68
17.6
Cluster coefficient
0.39
0.41
0.45
0.44
0.56
0.60
0.68
0.80
0.87
u: the probability of changing a potential edge to a real edge
The values of the other parameters for the RT and QT reward games are presented in Table 1. Note that these values were determined based on previous studies [8, 12]. All of the experimental results were averaged over 10 independent experimental runs with different random seeds, whereas the results on the complete graph, and on the Twitter and the Facebook networks were averaged over 100 runs.

### Experimental results for complete graph

In the first experiments, we selected the reward game, RT reward game, and QT reward game instead of the (RT/QT) meta-reward games to study the impact of retweets on the user behavior because of meta-reward games, in which every agent has to the opportunity for meta-rewards (by commenting on comments), are known to sustain high cooperation and comment rates, and thus, it is difficult to determine how the retweeting mechanism will affect the user behavior. Meanwhile, agents that play the reward game on connecting nearest neighbor networks and complete graphs are relatively less active, making it easier for us to observe the changes. First, we experimented with the reward game, RT reward game, and QT reward game on a complete graph. Figures 5, 6, and 7 plot the average values of the cooperation and comment rates over time.
The average cooperation rate of all generations was 0.1527 (fairly low) in the reward game (see Fig. 5), but it increased to 0.9060 after introducing retweets (the RT reward game; see Fig. 6) and to 0.8940 after introducing quote tweets (the QT reward game; see Fig. 7). Furthermore, the average value of the comment rate increased slightly, from 0.0287 to 0.0841, owing to the retweet mechanism (see Fig. 6), and subsequently, when adding the quote tweet, it decreased to 0.0538 (see Fig. 7). The results indicate that the retweets did not affect the commenting activities substantially but significantly activated cooperation; that is, the posting/tweeting behavior. Meanwhile, a comparison of Figs. (6, 7) and reveals that the quote tweet mechanisms appeared to reduce these two behaviors slightly in the complete graph.
According to the values of RT and QT in Figs.  6, 7, the values of RT were larger than those of the comment rate in both games. Retweeting can spread articles with a low cost and can induce many comments; thus, the actual number of comments increases even if the comment rate is slightly low er. Therefore, retweeting is considered to boost the activity of social media. Furthermore, in the QT reward game, QT was quite high and RT was also slightly higher than that in the RT reward game. Quote tweets are expected to induce even more activity than retweets, because they not only spread information at a low cost but also provide additional opportunities for users to express their opinions.
To measure the degree to which the cooperation rate changed, we used the following definition of the increasing ratios of B, $$Inc _ rt$$ and $$Inc _ qt$$: for example, $$Inc _ rt$$ is defined as
\begin{aligned} Inc _ rt = \frac{B_\textit{rt}-B_\textit{normal}}{B_\textit{normal}}, \end{aligned}
(2)
where $$B_\textit{rt}$$ and $$B_\textit{normal}$$ are the average values of the cooperation rates in the RT reward game and (conventional) reward game, respectively. We can define $$Inc _ qt$$ from $$B_\textit{qt}$$ and $$B_\textit{normal}$$ in the same manner. Subsequently, we found that in the complete graph, $$Inc _ rt = 4.93$$ and $$Inc _ qt =4.85$$.

### Experimental results of connecting nearest neighbor networks

We conducted the same experiments using the reward game, RT reward game, and QT reward game on the connecting nearest neighbor networks by varying the value of u (the probability of changing a potential edge to a real edge) from 0.1 to 0.9. The results are plotted in Figs. 8, 9, and 10 . Moreover, the cooperation rate, comment rate, retweet rate, quote tweet rate, and increasing ratio of B, i.e., increasing ratio of posting rate, are listed in Table 3, where the data are the average values between 300 and 500 generations. Figure 8 indicates that the cooperation and comment rates obtained in the reward game on the connecting nearest neighbor networks were substantially higher than those on the complete graph.
Table 3
List of cooperation rates B, comment rates L, retweet rates RT, quote tweet rate QT, and increasing ratios of B, $$Inc _ rt$$ and $$Inc _ qt$$, on various connecting nearest neighbor networks
u
Game model
B
L
RT
QT
$$Inc _ rt$$ and $$Inc _ qt$$
0.1
Reward game
0.5384
0.3187
RT reward game
0.7237
0.3024
0.4302
0.3442 ($$Inc _ rt$$)
QT reward game
0.6361
0.3929
0.6145
0.6587
0.1815 ($$Inc _ qt$$)
0.2
Reward game
0.5423
0.2711
RT reward game
0.7465
0.2380
0.4140
0.3471
QT reward game
0.6537
0.3630
0.6568
0.6894
0.2053
0.3
Reward game
0.5058
0.2210
RT reward game
0.7701
0.1987
0.4059
0.5224
QT reward game
0.6807
0.3325
0.7003
0.7261
0.3458
0.4
Reward game
0.4862
0.1843
RT reward game
0.7892
0.1640
0.3402
0.6231
QT reward game
0.7089
0.2915
0.7321
0.7508
0.4580
0.5
Reward game
0.4191
0.1471
RT reward game
0.7919
0.1449
0.3688
0.8896
QT reward game
0.7339
0.2374
0.7648
0.7774
0.7512
0.6
Reward game
0.3884
0.1222
RT reward game
0.7982
0.1491
0.4075
1.0547
QT reward game
0.7511
0.1997
0.7857
0.8039
0.9338
0.7
Reward game
0.3908
0.0913
RT reward game
0.8170
0.1407
0.3875
1.0905
QT reward game
0.7692
0.1733
0.7955
0.8303
0.9683
0.8
Reward game
0.5699
0.0796
RT reward game
0.8533
0.1040
0.4572
0.4972
QT reward game
0.7893
0.1335
0.7642
0.8541
0.3850
0.9
Reward game
0.6823
0.0759
RT reward game
0.8950
0.1416
0.4873
0.3117
QT reward game
0.7708
0.1194
0.4053
0.8500
0.1297
u: the probability of changing a potential edge to a real edge
Figure 9 demonstrates that, after the retweet mechanism was implemented, the agents became more proactive in posting new articles, although the comment rates did not differ substantially (these were somewhat lower in the RT reward game); this tendency was similar to that in the complete graph. This finding is also reasonable, because retweets provide articles with more opportunities to be read by other users who are slightly further away from the original article contributor. In the case of the QT reward game (Fig. 10), the tendency differed from that in the complete graph. The value of B was maintained at around 0.8, which was always lower than that in the complete graph (Fig. 7), whereas L was higher than that in the complete graph.
Thereafter, we investigated the manner in which agents learn the parameter values with the value of u. First, we discuss the results of the reward game. Figure 8 shows that the cooperation rate in the reward game was approximately 0.5; therefore, the agents in the connecting nearest neighbor networks were relatively willing to cooperate, as opposed to the agents in the complete graph. Subsequently, the cooperation rate decreased only marginally as u increased from 0.1 to 0.7, and increased rapidly to approximately 0.7 as u increased from 0.7 to 0.9. However, the comment rate L constantly decreased as u increased.
In contrast, as illustrated in Figs. 9 and 10 , the cooperation rates in the RT and QT reward games were fairly higher than that in the reward game and always appeared to increase with the increase in u. As in the reward game results, the comment rate L decreased monotonically in the RT and QT reward games as u increased. The results of this comparison are summarized in Fig. 12. However, no significant change was observed in the retweet rate in the RT reward game (see Table 3 and Fig. 9). In the QT reward game, the cooperation rate, retweet rate, and quote tweet rate exhibited very close values except when $$u = 0.9$$, at which point the retweet rate suddenly decreased from approximately 0.7 to 0.4. Instead, the quote tweet rate gradually increased as u increased.
Finally, the relationships between the increasing ratios of B, $$Inc _ rt$$ and $$Inc _ qt$$, and the value of u are plotted in Fig. 11. This figure clearly indicates that the values of $$Inc _ rt$$ and $$Inc _ qt$$ in the RT reward and QT reward games exhibited the same tendency; that is, they increased as the value of u increased in the range of 0.1 to 0.7, and decreased as the value of u increased in the range of 0.7 to 0.9. However, Table 3 indicates that the comment rate L gradually decreased with the increase in u. Moreover, the retweet rate in the QT reward game was higher than that in the RT reward game, except when $$u=0.9$$. Furthermore, the retweet rate in the retweet game decreased in the range from $$u=0.1$$ to 0.4 and then increased in the range of $$u=0.4$$–0.9.

### Experimental results for Facebook network

Next, we conducted the experiments using the reward, RT reward, and QT reward games on the Facebook network. The results are plotted in Figs. 13, 14, and 15. In addition, the cooperation rate, comment rate, retweet rate, quote tweet rate, and increasing ratios of B are listed in Table 4, where the data are the average values between 300 and 500 generations. Figure 13 indicates that the cooperation rates obtained in the reward game on the Facebook network were higher than those on the connecting nearest neighbor networks and the complete graph. The tendency was quite similar to that of the connecting nearest neighbor network, especially when $$u=0.9$$ (Fig. 8).
Figure 14 demonstrates that the agents became more willing to post new articles and comments after the retweet mechanism was implemented in the RT reward game (see Table 4). Similarly, the cooperation and comment rates were similar to those in the connecting nearest neighbor network, especially when $$u=0.9$$, but the retweet rate was relatively low (Fig. 9). Table 4 and Fig. 15 show that after the quote tweet was implemented, the posting rate of agents decreased to that obtained in the reward game, and the retweet rate rose to about three times of that in the RT reward game. The quote tweet rate was 0.8845, which means almost all users who pushed the retweet button chosen to share the article with a comment. Again, the tendency was quite similar to that of the connecting nearest neighbor network especially when $$u=0.9$$ (Fig. 10), and so it seems that the retweet and quote tweet have been enhanced. The increasing ratios B in the RT and QT reward games were $$Inc _ rt =0.286$$ and $$Inc _ qt =0.0251$$ in the Facebook network, which is slightly smaller than those of the connecting nearest neighbor networks. However, this does not mean that SNS became less active; we will discuss this topic more in the next section.
Table 4
List of cooperation rates B, comment rates L, retweet rates RT, quote tweet rate QT, and increasing ratio of B, $$Inc _ rt$$ and $$Inc _ qt$$, on a Facebook network
Game model
B
L
RT
QT
$$Inc _ rt$$ and $$Inc _ qt$$
Reward game
0.6922
0.0678
RT Reward game
0.8902
0.2044
0.2141
0.2860 ($$Inc _ rt$$)
QT Reward game
0.7096
0.1253
0.5784
0.8845
0.0251 ($$Inc _ qt$$)

### Experimental results for Twitter network

Finally, we conducted the experiments using the reward, RT reward, and QT reward games on the Twitter network. The results are plotted in Figs. 16, 17, and 18. We also listed the cooperation rate, comment rate, retweet rate, quote tweet rate, and increasing ratio of B in Table 5, where the data are the average values between 300 and 500 generations. By comparing Figs. 16, 17, we can see that the retweet made the cooperation rate (posting articles), comment rate and retweet rate keep higher. Moreover, by introducing quote tweet, i.e., in the QT reward game, Fig. 18 also indicates that comment rate kept high although the cooperate rate and retweet rate slightly decreased (see Table 5). These tendencies are quite similar to those in the Facebook network; we will discuss more on this topic in the following section.
The increasing ratio of B, $$Inc _ rt$$ and $$Inc _ qt$$, in Table 5 shows that retweet and quote tweet raised the cooperation rate on the Twitter network; these results suggest that they were likely to activate article posts (i.e., tweets) on the network. However, quote tweet considerably decreased the comment rate and the retweet rate, but we think that the activities in this network were enhanced, since the quote tweet rate was significantly large.
Table 5
List of cooperation rates B, comment rates L, retweet rates RT, quote tweet rate QT, and increasing ratio of B, $$Inc _ rt$$ and $$Inc _ qt$$, on a Twitter network
Game model
B
L
RT
QT
$$Inc _ rt$$ and $$Inc _ qt$$
Reward game
0.7048
0.0536
RT Reward game
0.9384
0.3535
0.4403
0.3314 ($$Inc _ rt$$)
QT Reward game
0.7428
0.0743
0.1818
0.8850
0.0539 ($$Inc _ qt$$)

### Discussion

First, it has to be pointed out that the increasing ratios of B, $$Inc _ rt$$ and $$Inc _ qt$$, were positive in all networks including Facebook and Twitter networks, thus we can say that the retweet and quote retweet enhanced the cooperation, i.e., posting activities of users. In complete graphs, which correspond to dense sub-communities in SNS networks, a retweet creates opportunities for an agent who missed an article in the original post to read the article. Moreover, for agents who read the article but did not retweet/comment, the retweeting of other agents may cause them to re-read the article and provides another opportunity to react. Every time an agent retweets an article, the neighboring agents know that the agent is interested in the article, which serves as an incentive for them to re-read the article. Thus, they have a new opportunity to perform certain activities relating to the article, such as commenting or retweeting, bringing rewards to the article poster. Therefore, a retweet from an agent connected by a complete graph could significantly increase the likelihood that an article would be read and commented on. Because the quote tweet could produce a new tweet to be rewarded with a relatively low cost, it made the retweets more profitable, increasing the probability of retweets from 0.21 to 0.66.
Furthermore, given the existence of mutual friends of the retweeter and contributor, retweets in the connecting nearest neighbor networks helped to activate friends of the article posters. Moreover, retweets may be able to increase the potential readership of an article by encouraging agents who do not know the poster directly to read and respond to it. All of these effects make it easier for article posters to receive comments, which significantly increases the possibility of article submissions. In the connecting nearest neighbor networks, the increasing ratio of B was the highest when u was approximately 0.7 for both games, because the cooperation rate in the reward game was the smallest. However, the reason for this phenomenon is unknown, and its clarification will be the focus of future work.
It was observed that the comment rates in the RT reward game were larger than those in the reward game in all networks, which implies that agents are more willing to comment on the articles of others. In general, commenting more means losing a greater fitness value due to its cost, but owing to the retweet mechanism, the cooperation rate will subsequently increase; therefore, agents will have additional opportunities to decide whether to comment on the articles of others, and thus, commenters who are less active may have a larger opportunity to benefit.
In the QT reward game, with the implementation of the quote tweet, the cooperation rate decreased slightly compared to the RT reward game. This is interesting, because quote tweets should not influence the reward amount that the article poster may receive. Similar to the results of the complete graph, the quote retweet mechanism increased the probability of retweets from approximately 0.45 to 0.7 in the connecting nearest neighbor networks. However, when $$u = 0.9$$, the probability of retweets decreased to approximately 0.4 as u increased. We believe that this is because the density of the networks reduced the number of close strangers that could bring rewards to the quote tweeters.
Moreover, Figs. 7, 10, 15, and 18 show that the QT value stayed high in all networks and was always higher than the RT value, because the quote tweet mechanism appeared to be more advantageous for users than the simple retweets, and it could spread their comments and opinions of the articles that were already posted. We can also see that the quote retweet mechanism increased the probability of retweets from approximately 0.45 to 0.7 in all networks. However, in the connecting nearest neighbor network with $$u = 0.9$$, the probability of retweets decreased to approximately 0.4. We believe that this is because the density of the networks reduced the number of close strangers that could bring rewards to the quote tweeters, and the quote retweets were more beneficial than the simple retweets. Meanwhile, in a complete graph, because everyone knew each other, the main effect of the quote retweets was to increase the chances of reading and commenting on articles, rather than spreading information.
If we compare the results on the Facebook and Twitter networks, their characteristics look similar, and they have properties similar to those of the connecting nearest neighbor network with $$u=0.9$$. However, there are a few differences when looking at the details. For example, Tables 4 and 5 indicate that in the Facebook network, the retweet rate increased from 0.2141 in the RT reward game to 0.5784 in the QT reward game on the Facebook network but decreased from 0.4404 in the RT reward game to 0.1818 in the QT reward game on the Twitter network. Furthermore, the comment rate L decreased from 0.2044 to 0.1253 on the Facebook network and from 0.3535 to 0.0743 on the Twitter network. Meanwhile, the increasing ratios of B on the Twitter network, which were $$Inc _ rt =0.3314$$ and $$Inc _ qt =0.0,0539$$, were higher than those on the Facebook network, which were $$Inc _ rt =0.2860$$ and $$Inc _ qt =0.0251$$. Thus, it means that the retweet and quote tweet enhanced the cooperation, i.e., tweeting/posting articles, on the Twitter network.
Finally, our experiments indicate that the cooperation and comment rates fell in the QT reward game compared to those in the RT reward game in all networks including the Facebook and the Twitter networks. In general, the retweet rate in the QT reward game increased to that in the RT reward game; the quote tweet rate kept high in all networks, which indicates a large number of quote tweeting. Quote tweeting contains posting a comment to the original poster and posting a new article on someone’s own opinion. In this sense, it can be treated as both posting and comment activities to some degree. In the QT reward game, it cannot be said that information provision became less active, but rather society itself was more active.

## Conclusions

This study investigated the influence of retweets on users in social media networks. We have proposed new models by extending the conventional reward game with the introduction of the retweet and quote tweet mechanisms. In these models, an article experiences two rounds of retweets. We found that the retweet mechanism causes users to read articles posted by others who are close but unknown on the network, thereby expanding the potential readership of the article posters. Thereafter, we investigated the cooperation (article posting) and comment rates of the agents, which would change with the existence of retweet mechanisms. We found that retweets could motivate agents to post new articles, and quote tweets slightly suppressed the posting activities while improving the commenting activities. In the connecting nearest neighbor networks, the cooperation rate appeared to exhibit the most significant increase when u was near 0.7.
In the future, we plan to study the proposed RT and QT reward games by varying the costs and rewards and by implementing meta-rewards and negative rewards in our model. Moreover, we will conduct several experiments using other real-world networks and will apply the multiple world genetic algorithm [23] to analyze the diverse strategies for individual agents.

## Acknowledgements

Not applicable.

### Further information

A preliminary version of this journal paper appeared as an article of proceedings: Benito R.M., Cherifi C., Cherifi H., Moro E., Rocha L.M., Sales-Pardo M. (eds) Complex Networks & Their Applications IX. COMPLEX NETWORKS 2020, Studies in Computational Intelligence, vol 943, Springer. The current paper proposed additional new game models that reflect not only retweets but also quote tweets and conducted experimental analyses based on more extensive experiments.

## Declarations

### Competing interests

The authors declare that they have no competing interests.

## Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
print
DRUCKEN
Literatur
1.
Chugh, R., Ruhi, U.: Social media in higher education: a literature review of Facebook. Educ. Inf. Technol. 23(2), 605–616 (2018) CrossRef
2.
Culnan, M.J., McHugh, P.J., Zubillaga, J.I.: How large us companies can use twitter and other social media to gain business value. MIS Q Exec 9(4),(2010)
3.
Conway, B.A., Kenski, K., Wang, D.: The rise of twitter in the political campaign: searching for intermedia agenda-setting effects in the presidential primary. J. Comput.-Mediat. Commun. 20(4), 363–380 (2015) CrossRef
4.
Zhao, D., Rosson, M.B.: How and why people twitter: the role that micro-blogging plays in informal communication at work. In: Proceedings of the ACM 2009 International Conference on Supporting Group Work, pp. 243–252 (2009)
5.
Yu, A.Y., Tian, S.W., Vogel, D., Kwok, R.C.-W.: Can learning be virtually boosted? An investigation of online social networking impacts. Comput. & Educ. 55(4), 1494–1503 (2010) CrossRef
6.
Ellison, N., Steinfield, C., Lampe, C.: Spatially bounded online social networks and social capital. Int. Commun. Assoc. 36(1–37),(2006)
7.
Burke, M., Marlow, C., Lento, T.: Social network activity and social well-being. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 1909–1912 (2010)
8.
Toriumi, F., Yamamoto, H., Okada, I.: Why do people use social media? agent-based simulation and population dynamics analysis of the evolution of cooperation in social media. In: 2012 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology, vol. 2, pp. 43–50 (2012). IEEE
9.
Hirahara, Y., Toriumi, F., Sugawara, T.: Evolution of cooperation in SNS-norms game on complex networks and real social networks. In: International Conference on Social Informatics, pp. 112–120 (2014). Springer
10.
Hirahara, Y., Toriumi, F., Sugawara, T.: Cooperation-dominant situations in SNS-norms game on complex and Facebook networks. N. Gener. Comput. 34(3), 273–290 (2016) CrossRef
11.
Osaka, K., Toriumi, F., Sugawara, T.: Effect of direct reciprocity and network structure on continuing prosperity of social networking services. Comput. Soc. Netw. 4(1), 2 (2017) CrossRef
12.
Axelrod, R.: An evolutionary approach to norms. Am. Political Sci. Rev. 1095–1111,(1986)
13.
Yan, Y., Toriumi, F., Sugawara, T.: Influence of retweeting on the behaviors of social networking service users. In: International Conference on Complex Networks and Their Applications, pp. 671–682 (2020). Springer
14.
Vázquez, A.: Growing network with local rules: preferential attachment, clustering hierarchy, and degree correlations. Phys. Rev. E 67(5), 056104 (2003) CrossRef
15.
Leskovec, J., Sosič, R.: Snap: a general-purpose network analysis and graph-mining library. ACM Trans. Intell. Syst. Technol. (2016). https://doi.org/10.1145/2898361 CrossRef
16.
Kupavskii, A., Ostroumova, L., Umnov, A., Usachev, S., Serdyukov, P., Gusev, G., Kustarev, A.: Prediction of retweet cascade size over time. In: Proceedings of the 21st ACM International Conference on Information and Knowledge Management, pp. 2335–2338 (2012)
17.
Peng, H.-K., Zhu, J., Piao, D., Yan, R., Zhang, Y.: Retweet modeling using conditional random fields. In: 2011 IEEE 11th International Conference on Data Mining Workshops, pp. 336–343 (2011). IEEE
18.
Macskassy, S., Michelson, M.: Why do people retweet? Anti-homophily wins the day! In: Proceedings of the International AAAI Conference on Web and Social Media, 5 (2011)
19.
Tang, X., Miao, Q., Quan, Y., Tang, J., Deng, K.: Predicting individual retweet behavior by user similarity: a multi-task learning approach. Knowl.-Based Syst. 89, 681–688 (2015) CrossRef
20.
Toriumi, F., Yamamoto, H., Okada, I.: Exploring an effective incentive system on a groupware. J. Artif. Soc. Soc Simul. 19(4), 6 (2016). https://doi.org/10.18564/jasss.3166 CrossRef
21.
Toriumi, F., Yamamoto, H., Okada, I.: A belief in rewards accelerates cooperation on consumer-generated media. J. Comput. Soc. Sci. 3, 19–31 (2019) CrossRef
22.
Toriumi, F., Yamamoto, H., Okada, I.: Rewards visualization system promotes information provision. In: Annual Conference of the Japanese Society for Artificial Intelligence, pp. 55–65. Springer (2019)
23.
Miura, Y., Toriumi, F., Sugawara, T.: Multiple-world genetic algorithm to identify locally reasonable behaviors in complex social networks. In: 2019 IEEE International Conference on Systems, Man and Cybernetics, pp. 3665–3672 (2019)
Titel
Understanding how retweets influence the behaviors of social networking service users via agent-based simulation
verfasst von
Yizhou Yan
Fujio Toriumi
Toshiharu Sugawara
Publikationsdatum
01.12.2021
Verlag
Springer International Publishing
Erschienen in
Computational Social Networks / Ausgabe 1/2021
Elektronische ISSN: 2197-4314
DOI
https://doi.org/10.1186/s40649-021-00099-8

Zur Ausgabe

format: plain


text:
FOCUS

# Nobel Prize—Topological Phases of Matter

Physics 9, 116
The 2016 Nobel Prize in Physics was awarded to theoretical physicists whose work established the role of topology in understanding exotic forms of matter.

Two-dimensional systems such as thin fluid films or single-layer materials can exhibit surprising effects, such as frictionless liquid flows or unconventional electrical behavior, and one-dimensional systems can be equally strange. To explain these phenomena, researchers have turned to vortices, curved surfaces, and other “topological” objects whose properties are stable and independent of the specific material involved. Three pioneers in the development of such models—David Thouless, Duncan Haldane, and Michael Kosterlitz—have been awarded this year’s Nobel Prize in Physics. The topological framework is now used widely in predicting and characterizing new forms of matter, some of which offer stable states that could store information for a quantum computer.

The role of topology in condensed matter physics was established in the early 1970s, when theorists were debating phase transitions in two-dimensional (2D) systems. Early work showed that conventional transitions (like those between water and ice) couldn't happen in two dimensions, but it was clear that some sort of abrupt change was occurring in, for example, liquid films that exhibited superfluidity below a critical temperature.

To settle the debate, Kosterlitz (now at Brown University in Rhode Island) and Thouless (now at the University of Washington, Seattle) imagined a new form of phase transition based on vortices and other so-called topological defects [1]. A vortex is a point in a magnetic film, for example, around which the magnetic spins of the atoms orient in a circular, tornado-like pattern. This object can be quite robust. "Once a vortex forms, it can be hard to get rid of it,” explains condensed matter theorist Steve Simon from Oxford University, UK. A related object, called an antivortex, has a more complicated pattern, with spins pointing inward along two directions—say, east and west—and outward along north and south. When a vortex and an antivortex merge, they annihilate, leaving all spins aligned along a single direction.

At high temperature, vortices and antivortices are plentiful, and the spins are disordered. However, Kosterlitz and Thouless showed that at low temperatures, vortices pair up with antivortices, largely canceling out their effect. As a result, the spins throughout the 2D material are able to align with each other to a certain degree. This alignment is a form of “topological order” that also applies more generally to 2D systems of atoms (or electrons) that align an aspect of their quantum states—their quantum mechanical phases. As such, the Kosterlitz-Thouless (KT) transition explains the emergence of both superfluidity and superconductivity in two dimensions.

A decade later, Thouless and colleagues again turned to topological arguments in explaining the quantum Hall effect (QHE). Discovered in 1980, the QHE is, like the classical Hall effect, an induced voltage in a current-carrying conductor exposed to a magnetic field. In the quantum case, however, the conductor is confined to two dimensions. When current flows longitudinally (north-south, say) through the conductor, a transverse (east-west) voltage is measured. Surprisingly, as the magnetic field increases gradually, the ratio of current to voltage (called the Hall conductance) increases by discrete jumps; the values are integer multiples of a fundamental conductance unit. This quantization does not depend on the type of material, or whether it contains any defects or impurities. “You would expect that throwing ‘dirt’ into the system would make the effect go away, but it doesn’t,” says Marcel den Nijs from the University of Washington, one of Thouless’s co-authors.

To explain this robustness, Thouless’s group considered all of the wave functions that can describe electrons in a 2D material and represented this set of possibilities with a curved surface. The shape of this surface can be classified by a number, called a topological invariant, which has some stability, like the vortices in the KT transition. A common example of a topological invariant is the number of holes in an object, like a donut or a pretzel. You can distort a pretzel quite a bit, but the hole count doesn’t change. With some effort, of course, you can puncture or cut the pretzel to make more or fewer holes, but the hole count always jumps by an integer amount (there are no half holes). Thouless and his colleagues showed that their derived topological invariant was related to the integers that define the Hall conductance steps. This result accounted for the quantization and also explained why the QHE is so robust: small changes to the material can affect the set of electron wave functions, but the topological invariant that describes the set is much harder to change.

The idea that topology could be used to characterize the phase of matter was also used by Haldane (currently at Princeton University in New Jersey) in his work on spin chains—one-dimensional systems of coupled atoms found in magnetic materials. “These works started a trend that is completely dominant now, in which you can classify matter with a topological invariant and not care about the fine details,” Simon says. The most prominent example of this trend is the field of topological insulators—materials that only conduct electricity on their surfaces. These surface currents are said to be “protected” by topology from imperfections along the surface that would normally cause electrons to scatter. This robustness could make these materials useful as highly efficient nanowires or as the basis for storing stable bits in a quantum computer, says den Nijs.

Correction (24 October 2016): The explanation of vortices and antivortices has been corrected.

–Michael Schirber

Michael Schirber is a Corresponding Editor for Physics based in Lyon, France.

## References

1. J. M. Kosterlitz and D. J. Thouless, “Long Range Order and Metastability in Two Dimensional Solids and Superfluids. (Application of Dislocation Theory),” J. Phys. C 5, L124 (1972); “Ordering, Metastability and Phase Transitions in Two-Dimensional Systems,” 6, 1181 (1973).

## Related Articles

Condensed Matter Physics

### A Quantum Tango between Magnons and Phonons

A nanopatterned magnetic structure features an unprecedently strong coupling between lattice vibrations and quantized spin waves, which could lead to novel ways of manipulating quantum information. Read More »

Nanophysics

### Imaging Molecular Structure and Charge Simultaneously

A new technique determines both the charge distribution and the structural distortions that result from the addition of a single charge to a molecule. Read More »

Condensed Matter Physics

### Phonons Are Key in Strained Superconductors

Substrate-induced strain in ${\text{RuO}}_{2}$ thin films generates the kind of phonons that promote superconductivity. Read More »


text:
# simobserve¶

simobserve(project='sim', skymodel='', inbright='', indirection='', incell='', incenter='', inwidth='', complist='', compwidth='"8GHz"', comp_nchan=1, setpointings=True, ptgfile='$project.ptg.txt', integration='10s', direction='', mapsize=['', ''], maptype='hexagonal', pointingspacing='', caldirection='', calflux='1Jy', obsmode='int', refdate='2014/01/01', hourangle='transit', totaltime='7200s', antennalist='', sdantlist='aca.tp.cfg', sdant=0, outframe='LSRK', thermalnoise='tsys-atm', user_pwv=0.5, t_ground=270.0, t_sky=260.0, tau0=0.1, seed=11111, leakage=0.0, graphics='both', verbose=False, overwrite=True)[source] visibility simulation task [Description] [Examples] [Development] [Details] Parameters • project (string=’sim’) - Root prefix for output file names • skymodel (string=’’) - model image to observe skymodel != '' • inbright (string=’’) - Peak brightness to scale the image to in Jy/pixel • indirection (string=’’) - Set new direction, e.g. J2000 19h00m00 -40d00m00 • incell (string=’’) - Set new cell/pixel size, e.g. 0.1arcsec • incenter (string=’’) - Set new frequency of center channel e.g. 89GHz (required even for 2D model) • inwidth (string=’’) - Set new channel width, e.g. “10MHz” (required even for 2D model) • complist (string=’’) - Componentlist to observe complist != '' • compwidth (string=‘“8GHz”’) - Bandwidth of components • comp_nchan (int=1) - Channelization of components • setpointings (bool=True) - Calculate a map of pointings? setpointings = True • integration (string=’10s’) - Integration (sampling) time • direction (stringVec=’’) - Mosaic center direction, e.g J2000 19h00m00 -40d00m00 • mapsize (stringVec=[‘’, ‘’]) - Angular size of mosaic map to simulate. • maptype (string=’hexagonal’) - how to calculate the pointings for the mosaic observation: hexagonal, square (raster), ALMA, etc. • pointingspacing (string=’’) - Spacing in between pointings e.g. 0.25PB. ALMA default: INT=lambda/D/sqrt(3), SD=lambda/D/3 setpointings = False • ptgfile (string=’$project.ptg.txt’) - List of pointing positions

• integration (string=’10s’) - Integration (sampling) time

• obsmode (string=’int’) - Observation mode to simulate [int(interferometer)|sd(singledish)|(none)]

obsmode = int
• antennalist (string=’’) - Interferometer antenna position file

• refdate (string=’2014/01/01’) - Date of observation. Not critical unless concatting simulations

• hourangle (string=’transit’) - Hour angle of observation center, e.g. -3:00:00, 5h

• totaltime (string=’7200s’) - Total time of observation or number of repetitions

• caldirection (string=’’) - pt source calibrator [experimental]

• calflux (string=’1Jy’) - pt source calibrator flux [experimental]

obsmode = sd
• sdantlist (string=’aca.tp.cfg’) - Single dish antenna position file

• sdant (int=0) - Single dish antenna index in file

• refdate (string=’2014/01/01’) - Date of observation. Not critical unless concatting simulations

• hourangle (string=’transit’) - Hour angle of observation center, e.g. -3:00:00, 5h

• totaltime (string=’7200s’) - Total time of observation or number of repetitions

obsmode = ''
• antennalist (string=’’) - Interferometer antenna position file

• sdantlist (string=’aca.tp.cfg’) - Single dish antenna position file

• sdant (int=0) - Single dish antenna index in file

• outframe (string=’LSRK’) - Spectral frame of MS to create

• thermalnoise (string=’tsys-atm’) - add thermal noise: [tsys-atm|tsys-manual|(none)]

thermalnoise = tsys-atm
• user_pwv (double=0.5) - Precipitable Water Vapor in mm

• t_ground (double=270.) - Ground/spillover ambient temperature in K

• seed (int=11111) - Random number seed

thermalnoise = tsys-manual
• t_ground (double=270.) - Ground/spillover ambient temperature in K

• t_sky (double=260.) - Atmospheric temperatur in K

• tau0 (double=0.1) - Zenith opacity

• seed (int=11111) - Random number seed

• leakage (double=0.0) - Cross polarization (interferometer only)

• graphics (string=’both’) - Display graphics at each stage to [screen|file|both|none]

• verbose (bool=False) - Print extra information to the logger and terminal

• overwrite (bool=True) - Overwrite existing files in the project subdirectory

Description

This task simulates interferometric or total power MeasurementSets. The general steps for simulation in CASA are described on the top Simulation page. We describe the first two steps in more detail here.

1. Make a model image or componentlist representation of the sky brightness distribution.

2. Use the simobserve task to create a MeasurementSet (uv data).

Generating a Model Image

A “model image” is a CASA image or FITS file that contains a representation of the sky brightness distribution, and it represents the object to be “observed” in the simulation. There are several ways to generate a model image.

Starting from an existing FITS image

The simplest option is to begin with an existing FITS image. The image can be either a single plane (i.e., one observed frequency channel) or a cube. A common simulation exercise is to begin with a FITS file representing an observation of a target, then scale the spatial axes and the flux to shift the data to what would be observed for a similar target at a different distance. The simobserve task has parameters to set the peak flux density, coordinates on the sky, pixel size, frequency of the center channel, and channel width.

Starting from a component list

Warning

WARNING: simobserve does not currently handle component lists correctly for single-dish-only simulations. It is advised to convert the component list to an image or FITS file.

It may be useful to simulate observations of an idealized model image consisting, for example, of point sources and Gaussians. The CASA component list tool (cl) allows the user to specify a set of point sources, Gaussians, disks, and limb-darkened disks. One can then either use that component list directly in simobserve, or create a CASA image from the components, or both. Details can be found in this CASA guide.

Starting from a GIF or JPG image

A user may wish to convert a GIF or JPG image to a FITS file for simulation in CASA. The image should be converted to a 32-bit FITS image for use with the CASA sim tools. See this page for an example of using gimp to convert a JPG image to a FITS file. Alternatively, you could use ImageMagik from the command line, like so:

convert myfile.jpg myfile.fits

Then proceed to trim and convert the file in CASA like so:

importfits(fitsimage='myfile.fits',imagename='testimage',overwrite=T)

default 'immath'
imagename = 'testimage'
expr = 'IM0'
box = '0,0,299,299'
outfile = 'testimage2'
immath()

You can use imhead to modify the header parameters of the new image, or you can use the parameters in the simobserve task to modify the peak flux density, coordinates on the sky, pixel size, frequency of the center channel, and channel width. See the discussion below.

Generating visibilities with simobserve

The task simobserve takes several steps to generate observed visibilities. The major steps are:

• Modify Model: If desired, you can modify the header parameters in your data model to mimic different observing targets. For example, if you start with a model of M100 you might wish to scale the axes to simulate an observation of an M100-like galaxy that is 4X more distant.

• Set Pointings: If the angular size of your model image is comparable or larger than the 12-m primary beam, you can simulate observing the target as a mosaic. In this step, the individual pointings are determined and saved in a text file. You can also generate such a text file yourself.

• Generate visibilities: The visibilities are determined based on the telescope and configuration specified, and the length in time of the observation.

• Finally, noise can be added to the visibilities. The simobserve task uses the aatm atmospheric model (based on Juan Pardo’s ATM library) to simulate real observing conditions. It can corrupt the data with thermal noise and atmospheric attenuation. Corruption with an atmospheric phase screen, or adding gain fluctuations or drift, can be added subsequently using the simulator tool sm as described in this CASA guide.

For details, please see the descriptions of the individual parameters below.

Warning

WARNING: It is currently not possible to generate a MS in a frame other than J2000 e.g., if you set indirection to “ICRS 19h00m00 -40d00m00” it will silently assume that to actually be “J2000 19h00m00 -40d00m00”. The reference frame can be set to ICRS during the imaging or simanalyze process.

Warning

WARNING: when using a simulated MS in tclean, it should be considered best practice to declare the phasecenter parameter using the ‘J2000 xx:xx:xx.xxx +xxx.xx.xx.xxx’ notation to account for possible rounding errors that can create an offset in the simulated image.

Note

NOTE: simobserve calls sm.predict with sm.setvp (dovp=True). This means that the vpmanager will be queried, and a primary beam pattern will be applied, according to the telescope name. One can set the primary beam for the given telescope using the vpmanager. In most circumstances, simobserve will use synthesis gridding (image-plane primary beam application), unless 1) there are more than 1 pointing, AND 2) there are more than one antenna diameter in the configuration file. In that case it will sm.setoptions (ftmachine=”mosaic”) which enables heterogenous array simulation for ALMA, ACA, and OVRO telescopes.

Treatment of the primary beam depends critically on parameters set in sm.setvp() and sm.setoptions(ftmachine) - see help sm.setvp for details. For componentlists, if sm.setvp() is run prior to predict, then the spectral variation of each component in the componentlist will include the multiplicative term of the beam value for each channel frequency. So a flat spectrum component will show the frequency variation of the beam in the predicted visibilities.

Below is a list of the products produced by the simobserve task. Not all of these will necessarily be produced, depending on input parameters selected.

Note

NOTE: To support different runs with different arrays, the names have the configuration name from antenna list appended.

• [project].[cfg].skymodel = 4D input sky model image (optionally) scaled

• [project].[cfg].skymodel.flat.regrid.conv = input sky regridded to match the output image, and convolved with the output clean beam

• [project].[cfg].skymodel.png = diagnostic figure of sky model with pointings

• [project].[cfg].ptg.txt = list of mosaic pointings

• [project].[cfg].quick.psf = psf calculated from uv coverage

• [project].[cfg].ms = noise-free MeasurementSet

• [project].[cfg].noisy.ms = corrupted MeasurementSet

• [project].[cfg].observe.png = diagnostic figure of uv coverage and visibilities

• [project].[cfg].simobserve.last = saved input parameters for simobserve task

Parameter descriptions

project

The root filename for all output files. This parameter should be set to the same name as used when running simanalyze or simalma for the directory of results generated.

skymodel

The input image (used as a model of the sky). simobserve uses a CASA or FITS image. If you merely have a grid of numbers, you will need to write them out as FITS or write a CASA script to read them in and use the ia tool to create an image and insert the data. simobserve does NOT require a coordinate system in the header. If the coordinate information is incomplete, missing, or you would like to override it, set the appropriate “in” parameters.

Note

NOTE: Setting those parameters simply changes the header values, ignoring any values already in the image. No regridding is performed.

You can also manipulate an image header manually with the imhead task. If you have a proper Coordinate System, simobserve will do its best to generate visibilities from that.

skymodel expandable parameters

inbright

Scales the model flux densities by setting the peak brightness of the britest pixel in Jy/pixel, or ‘’ for unchanged.

Warning

WARNING: ‘unchanged’ will take the numerical values in your image and assume they are in Jy/pixel, even if it says some other unit in the header.

indirection

The central direction to place the sky model image, or ‘’ to use whatever is in the image already.

incell

The spatial pixel size to scale the skymodel image, or ‘’ to use whatever is in the image already.

incenter

The frequency to use for the center channel (or only channel, if the skymodel is 2D). Examples: incenter=’89GHz’, or ‘’ to use what is in the header. This will also become the default rest frequency, e.g. when imaging with tclean.

inwidth

The width of the channels to use, or ‘’ to use what is in the image should be a string representing a quantity with units. Examples: inwidth=’10MHz’

Note

NOTE: inwidth only works reliably with frequencies, not velocities.

Note

NOTE 2: It is not possible to change the number of spectral planes of the sky model, only to relabel them with different frequencies. That kind of regridding can be accomplished with the CASA toolkit.

complist

A component list model of the sky, added to or instead of skymodel.

Warning

WARNING: simobserve does not currently handle component lists correctly for single-dish-only simulations. It is advised to convert the component list to an image or FITS file.

complist expandable parameters

compwidth

The bandwidth of components; if simulating from components only, this defines the bandwidth of the MS and output images.

comp_nchan

The number of channels in the output MS. Validated only for a positive integer number of channels, this parameter assumes a flat spectrum and equal spacing when setting the channel width in the output MS. Since variation in channel width as a function of frequency is not currently supported, it is not advised to use this parameter to simulate observations with spectral index or large fractional bandwidth (use a skymodel image instead).

setpointings

If True, simobserve calculates a map of pointings based on a set of sub-parameters and generates a pointing file. If False, it will read the pointings from the parameter ptgfile.

setpointings=True expandable parameters

integration

Sets the time interval for each integration. Also used with setpointings=False. Examples: integration=’10s’

Note

NOTE: To simulate a ‘scan’ longer than one integration, use setpointings to generate a pointing file, and then edit the file to increase the time at each point to be larger than the parameter integration time.

direction

The mosaic center direction. If left unset, simobserve will use the center of the skymodel image. Examples: direction= ‘J2000 19h00m00 -40d00m00’; can optionally be a list of pointings, otherwise simobserve will cover a region of size mapsize according to maptype.

mapsize

The angular size of mosaic map to simulate. Set to ‘’ to cover the model image.

maptype

How to calculate the pointings for the mosaic observation. ‘hexagonal’, ‘square’ (rectangular raster), ‘ALMA’ for the same hex algorithm as the ALMA Cycle 1 OT or ‘ALMA2012’ for the algorithm used in the Cycle 0 OT.

pointingspacing

Spacing in between primary beams. “0.25PB” to use 1/4 of the primary beam FWHM, “nyquist” will use $$\lambda/d/2$$, ‘’ will use $$\lambda/d/\sqrt(3)$$ for INT, $$\lambda/d/3$$ for SD.

setpointings=False expandable parameters

ptgfile

A text file specifying directions in the following format, with optional integration times, e.g.,

#Epoch     RA          DEC      TIME(optional)
J2000 23h59m28.10 -019d52m12.35 10.0

If the time column is not present in the file, it will use ‘integration’ for all pointings.

Note

NOTE: At this time the file should contain only science pointings: simobserve will observe these, then optionally the calibrator, then the list of science pointings again, etc, until totaltime is used up.

obsmode

Sets the observation mode to calculate visibilities from a skymodel image (which may have been modified above), an optional component list, and a pointing file (which also may have been generated above). This parameter takes two possible values:

• interferometer (or int)

• singledish (or sd)

If simulating from a component list, you should specify compwidth, the desired bandwidth. There is not currently a way to specify the spectrum of a component, so simulations from a componentlist only will be continuum (1 chan).

obsmode expandable parameters (‘int’ or ‘sd’)

refdate

The date of simulated observation. Examples: refdate=’2014/05/21’

hourangle

The hour angle of observation, given as a string of various possible formats. E.g., “-3:00:00”, or “5h”. The default setting for this parameter is hourangle=’transit’, which is equivalent to 0h.

totaltime

The total time of an observation. Examples: totaltime=’7200s’ or if a number without units, interpreted as the number of times to repeat the mosaic.

obsmode=’int’ expandable parameters

antennalist

ASCII file containing antenna positions. Each row has x, y, and z coordinates and antenna diameter and name; header lines are required to specify the observatory name and coordinate system. If the configuration file does not include antenna names, the station name will be used instead.

#observatory=ALMA
#COFA=-67.75,-23.02
#coordsys=LOC (local tangent plane)
# uid___A002_Xdb6217_X55ec_target.ms
# x             y               z             diam  station  ant
-5.850273514   -125.9985379    -1.590364043   12.   A058     DA41
-19.90369337    52.82680653    -1.892119601   12.   A023     DA42
13.45860758    -5.790196849    -2.087805181   12.   A035     DA43
5.606192499     7.646657746    -2.087775605   12.   A001     DA44
24.10057423    -25.95933768    -2.08466565    12.   A036     DA45

Standard array configuration files are found in your CASA data repository, os.getenv(“CASAPATH”).split()[0]+”/data/alma/simmos/”. A string of the form “alma;0.5arcsec” will be parsed into a full 12m ALMA configuration. If antennalist=’ ‘, simobserve will not produce an interferometric MS. If simulating total power observations, be sure to accurately set the parameter sdantlist.

caldirection

An unresolved calibrator can be observed interleaved with the science pointings. The calibrator is implemented as a point source clean component with this specified direction and flux= calflux.

calflux

Sets the flux density for the calibrator. Default is set to calflux=’1Jy’.

obsmode=’sd’ expandable parameters

sdantlist

Single-dish antenna position file. If simulating total power observations, be sure to accurately set the parameter sdantlist. If this parameter is left unset, simobserve assumes the default configuration file for a single dish simulation (even if the configuration file is explicitly specified in antennalist). Default: sdantlist=’aca.tp.cfg’.

sdant

The index of the antenna in the list to use for total power. Defaults to the first antenna on the list (sdant=0). Heterogeneous total power “arrays” are not currently supported.

thermalnoise

Adds thermal noise to the synthesized data. This parameter takes two possible values (not including unset ‘ ‘):

• tsys-atm: J. Pardo’s ATM library will be used to construct an atmospheric profile for the ALMA site: altitude 5000m, ground pressure 650mbar, relhum=20%, a water layer of user_pwv at altitude of 2km, the sky brightness temperature returned by ATM, and internally tabulated receiver temperatures

• tsys-manual: instead of using the ATM model, specify the zenith sky brightness and opacity manually. Noise is added and then the visibility flux scale is referenced above the atmosphere.

In either mode, noise is calculated using the following assumptions:

• an antenna spillover efficiency of 0.96,

• taper of 0.86,

• surface accuracy of 25 and 300 microns for ALMA and EVLA, respectively, using the Ruze formula for surface efficiency,

• correlator efficiencies of 0.95 and 0.91 for ALMA and EVLA, and

• for ALMA: 25, 30, 40, 42, 50, 50, 72, 135, 105, 230 K interpolated between 35, 75, 110, 145, 185, 230, 345, 409, 675, 867 GHz

• for EVLA: 500, 70, 60, 55, 100, 130, 350 K interpolated between 0.33, 1.47, 4.89, 8.44, 22.5, 33.5, 43.3 GHz

• for SMA: 67, 116, 134, 500 K interpolated between 212, 310, 383, 660 GHz

These are only approximate numbers and do not take into account performance at edges of receiver bands, nor are they guaranteed to reflect the most recent measurements. Caveat emptor. Use the sm tool to add noise if you want more precise control, and use the ALMA exposure time calculator for sensitivity numbers in proposals.

thermalnoise expandable parameters

t_ground

The ambient ground/spillover temperature in K.

seed

Random number seed for noise generation.

thermalnoise=’tsys-atm’ expandable parameters

user_pwv

The precipitable water vapor at zenith if constructing an atmospheric model.

thermalnoise=’tsys-manual’ expandable parameters

t_sky

The atmospheric temperature in K.

tau0

The zenith opacity at observing frequency. See here for more information on noise, in particular how to add a phase screen using the toolkit.

leakage

Adds cross polarization corruption of this fractional magnitude.

graphics

View plots on the screen, saved to file, both, or neither.

verbose

Turns on or off the printing of extra information to the logger and terminal.

overwrite

Overwrites existing files in the project subdirectory. Default: False

Examples

This example was taken from the simulation CASAguide located here.

default("simobserve")
project = "FITS_list"
skymodel = "Gaussian.fits"
inwidth = "1GHz"
complist = 'point.cl'
compwidth = '1GHz'
direction = "J2000 10h00m00.0s -30d00m00.0s"
obsmode = "int"
antennalist = 'alma.cycle5.1.cfg'
totaltime = "28800s"
mapsize = "10arcsec"
thermalnoise = ''
simobserve()

This example demonstrates the use of the comp_nchan parameter to simulate a disk and produce a multi-channel MS (with a flat spectrum).

simobserve(project="test_project",
complist="complist.cl",
compwidth="2000.00MHz",
comp_nchan=128,
integration="6.05s",
mapsize=['11.51arcsec'],
hourangle="1.5h",
totaltime="677.6s",
antennalist="antennalist.cfg2",
sdantlist="aca.tp.cfg",
thermalnoise="")

This example shows how to assign a central rest-frequency and channel width to a simulated image cube.

imobserve(project=‘model_cube’, skymodel=‘skymodel.image', inwidth='0.4MHz', antennalist='alma.cycle6.1.cfg', direction="J2000 16h59m41.63s -40d03m43.61s", obsmode="int", mapsize="2arcmin", totaltime="1800s", thermalnoise='', incenter='86.6425GHz')

This produces a data cube with a central rest-frequency of 86.6425 GHz and a channel width of 0.4 MHz. Note the Known Issue for simobserve that inwidth should not be specified in km/s.

Development

Parameter Details

Detailed descriptions of each function parameter

project (string='sim') - root prefix for output file names
skymodel (string='') - Model image to observe
* simobserve uses a CASA or fits image. If you
merely have a grid of numbers, you will need to
write them out as fits or write a CASA script to
read them in and use the ia tool to create an
image and insert the data.
* simobserve does NOT require a coordinate system
in the header. If the coordinate information is
incomplete, missing, or you would like to
override it, set the appropriate “in”
parameters. NOTE that setting those parameters
simply changes the header values, ignoring any
values already in the image. No regridding is
performed.
* You can also manipulate an image header manually
* If you have a proper Coordinate System,
simobserve will do its best to generate
visibilities from that.
inbright (string='') - Peak brightness to scale the image to, in Jy/pixel
Subparameter of skymodel
Default: ‘’ (i.e., unchanged)
Example: inbright=’1.2Jy/pixel’
Note: “unchanged” will take the numerical values
in your image and assume they are in Jy/pixel,
even if it says some other unit in the header.
indirection (string='') - Central direction to place the sky model image
Subparameter of skymodel
Default: ‘’ (use whatever is in the image
Example: indirection=’J2000 19h00m00
-40d00m00’
incell (string='') - set new cell/pixel size
Subparameter of skymodel
Default: ‘’ (use whatever is in the image
Example: incell=’0.1arcsec’
incenter (string='') - Frequency to use for the center channel (or only channel,
if the skymodel is 2D)
Subparameter of skymodel
Default: ‘’ (use whatever is in the image
Example: incenter=’89GHz’
inwidth (string='') - Set new channel width
Subparameter of skymodel
Default: ‘’ (use whatever is in the image

Should be a string representing a quantity with
units e.g. inwidth=’10MHz’
NOTES:
* Only works reliably with frequencies, not
velocities
* It is not possible to change the number of
spectral planes of the sky model, only to relabel
them with different frequencies That kind of
regridding can be accomplished with the CASA
toolkit.
complist (string='') - Component list model of the sky, added to or instead of skymodel. See https://casaguides.nrao.edu/index.php/Simulation_Guide_Component_Lists_(CASA_5.4)
compwidth (string='"8GHz"') - Bandwidth of components
Subparameter of complist
If simulating from components only, this defines
the bandwidth of the MS and output images
Example: compwidth=’8GHz’
comp_nchan (int=1) - Channelization of components
Subparameter of complist
If simulating from components only, this defines
the number of channels of the MeasurementSet
Example: comp_nchan=256
setpointings (bool=True) - If true, calculate a map of pointings and write ptgfile. If false, read pointings from ptgfile.
Default: True
If graphics are on, display the pointings shown
on the model image
ptgfile (string='$project.ptg.txt') - A text file specifying directions Subparameter of setpointings=False The text file should have the following format, with optional integration times: Epoch RA DEC TIME(optional) J2000 23h59m28.10 -019d52m12.35 10.0 If the time column is not present in the file, it will use “integration” for all pointings. NOTE: at this time the file should contain only science pointings: simobserve will observe these, then optionally the calibrator, then the list of science pointings again, etc, until totaltime is used up. integration (string='10s') - Time interval for each integration Subparameter of setpointings=False Example: integration=’10s’ NOTE: to simulate a “scan” longer than one integration, use setpointings to generate a pointing file, and then edit the file to increase the time at each point to be larger than the parameter integration time. direction (stringVec='') - Mosaic center direction. Subparameter of setpointings=True Example: “J2000 19h00m00 -40d00m00” or “” to center on model If unset, will use the center of the skymodel image. * can optionally be a list of pointings, otherwise * simobserve will cover a region of size mapsize according to maptype mapsize (stringVec=['', '']) - Angular size of of mosaic map to simulate. Subparameter of setpointings=True Set to “” to cover model maptype (string='hexagonal') - How to calculate the pointings for the mosaic observation? Subparameter of setpointings=True Options: hexagonal, square (raster), ALMA, etc “ALMA” for the same hex algorithm as the ALMA Cycle 1 OT or “ALMA2012” for the algorithm used in the Cycle 0 OT pointingspacing (string='') - Spacing in between pointings. Subparameter of setpointings=True Examples: pointingspacing=”0.25PB” pointingspacing=”” for ALMA default INT=lambda/D/sqrt(3), SD=lambda/D/3 caldirection (string='') - pt source calibrator [experimental] calflux (string='1Jy') - pt source calibrator flux [experimental] obsmode (string='int') - Observation mode to simulate Options: int(interferometer)|sd(singledish)|””(none) Observation mode to calculate visibilities from a skymodel image (which may have been modified above), an optional component list, and a pointing file (which also may have been generated above). This parameter takes two possible values: - interferometer (or int) - singledish (or sd) * If graphics are on, this observe step will display the array (similar to plotants), the uv coverage, the synthesized (dirty) beam, and ephemeris information * If simulating from a component list, you should specify “compwidth”, the desired bandwidth; and specify “comp_nchan”, the desired channelization if more than one output channel is desired refdate (string='2014/01/01') - Date of simulated observation Subparameter of obsmode=’int|sd’ Not critical unless concatting simulations Example: refdate=”2014/05/21” hourangle (string='transit') - Hour angle of observation center. Subparameter of obsmode=’int|sd’ Examples: hourangle=”-3:00:00”, “5h”, or “transit” totaltime (string='7200s') - Total time of observation or number of repetitions Subparameter of obsmode=’int|sd’ Example: totaltime=’7200s’ If a number without units, interpreted as the number of times to repeat the mosaic. antennalist (string='') - Text file containing antenna positions. Subparameter of obsmode=’int|””’ Each row has x y z coordinates and antenna diameter with optional station name and antenna name. Header lines are required to specify: # observatory=ALMA # coordsys=UTM If the Universal Transverse Mercator projection is specified, then other keywords are required: # datum=WGS84 # zone=19 # hemisphere=S If the observatory keyword is not defined, then the COFA keyword should be, using a coordinate pair: #COFA=-67.75,-23.02 * Standard array configurations are found in your CASA data repository, * If “”, simobserve will not not produce an interferometric MS * A string of the form “alma;0.5arcsec” will be parsed into a full 12m ALMA configuration. sdantlist (string='aca.tp.cfg') - single dish antenna position file Subparameter of obsmode=’sd|””’ sdant (int=0) - Index of the antenna in the list to use for total power. Subparameter of obsmode=’sd|””’ Default: first antenna on the list. outframe (string='LSRK') - spectral frame of MS to create Subparameter of obsmode=’sd|””’ thermalnoise (string='tsys-atm') - add thermal noise. Options: tsys-atm, tsys-manual, “” This parameter accepts two settings: - tsys-atm: J. Pardo’s ATM library will be used to construct an atmospheric profile for the ALMA site: altitude 5000m, ground pressure 650mbar, relhum=20%, a water layer of user_pwv at altitude of 2km, the sky brightness temperature returned by ATM, and internally tabulated receiver temperatures. - tsys-manual: instead of using the ATM model, specify the zenith sky brightness and opacity manually. Noise is added and then the visibility flux scale is referenced above the atmosphere. If left unset (empty string) no thermalnoise corruption is performed. In either mode, noise is calculated using an antenna spillover efficiency of 0.96, taper of 0.86, surface accuracy of 25 and 300 microns for ALMA and EVLA respectively (using the Ruze formula for surface efficiency), correlator efficiencies of 0.95 and 0.91 for ALMA and EVLA, receiver temperatures for ALMA of 17, 30, 37, 51, 65, 83,147,196,175,230 K interpolated between 35, 75,110,145,185,230,345,409,675,867 GHz, for EVLA of 500, 70, 60, 55, 100, 130, 350 K interpolated between 0.33,1.47,4.89,8.44,22.5,33.5,43.3 GHz, for SMA of 67, 116, 134, 500 K interpolated between 212.,310.,383.,660. GHz. Note: These are only approximate numbers and do not take into account performance at edges of receiver bands, neither are they guaranteed to reflect the most recent measurements. Caveat emptor. Use the sm tool to add noise if you want more precise control, and use the ALMA exposure time calculator for sensitivity numbers in proposals. user_pwv (double=0.5) - Precipitable water vapor if constructing an atmospheric model (in mm) Subparameter of thermalnoise=’tsys-atm’ t_ground (double=270.) - Ground/spillover temperature in K Subparameter of thermalnoise=’tsys-atm|tsys-manual’ t_sky (double=260.) - Atmospheric temperature in K Subparameter of thermalnoise=’tsys-manual’ tau0 (double=0.1) - Zenith opacity at observing frequency Subparameter of thermalnoise=’tsys-manual’ for more information on noise, in particular how to add a phase screen using the toolkit seed (int=11111) - Random number seed Subparameter of thermalnoise=’tsys-atm|tsys-manual’ leakage (double=0.0) - add cross polarization corruption of this fractional magnitude (interferometer only) graphics (string='both') - View plots on the screen, saved to file, both, or neither Options: screen|file|both|none verbose (bool=False) - Print extra information to the logger and terminal Default: False Options: True|False overwrite (bool=True) - Overwrite files starting with$project
Default: False
Options: True|False