Research background

Uncommon seasonal trend of bird flu

Climate affects infectious diseases transmission. Influenza A virus (IAV, aka flu virus) transmission exhibits seasonality in both human and animals.

  • In temperate regions, human seasonal flu peaks in the winter season.
  • In avian species, the transmission of bird flu from wild birds to domestic turkeys always occur in the fall season, when large numbers of migrating birds ‘shmooze’ with domestic turkeys raised on range.
  • The fall introduction of bird flu to turkeys has been documented for more than 30 years in Minnesota.

Since 2007, we have observed an unusual trend of bird flu introductions that occured in the spring season.

CaseID Year Date Subtype County
1 2007 03/22 H7N9 Brown
2 2009 05/06 H7N9 Redwood
3 2011 05/13 H7N9 Wright
4 2012 04/26 H8N4 Kandiyohi
5 2013 05/08 H3/H9N2 Kandiyohi
6 2014 05/09 H4N2 Kandiyohi
7 2015 02/27 H5N2 Pope
8 2015 03/22 H5N2 Lac Qui Parle
## Loading required package: ggplot2

Topology of Minnesota

The topology of Minnesota has provided a unique environment for bird flu transmission from wild waterfowl to domestic birds.

  • Minnesota is known for the land of 100,000 lakes.
  • Minnesota produces 30 million turkeys each year.

Impact of weather in flu transmission

  • Weather affects the behavior and physilogical condition of migrating birds.
  • Weather influences the local micro-environment for flu transmission.
  • Weather impacts the farm practices.

Results

By analyzing climate data during 1960-2015 from these introduction sites, we have characterized the weather pattern associated with these flu cases. The spring weather has revealed part of the mysteries picture about the uncommon seasonality of bird flu in Minnesota.

Data analysis

Data processing

  • Daily climatic variables collected during 1960-2015 were retrieved from the [National Climatic Data Center (NCDC) archives] (https://www.ncdc.noaa.gov).
  • The weather stations selected for data analysis were within 40 miles of the case sites, which were clustered into five regions.
  • Data includes maximum temperature, minimum temperature and snow depths.
  • Daily temperatures were the average of the maximum and the minimum (T = (Tmax + Tmin)/2).
  • Missing temperature data were imputed by kalman smoothing and time structural model implemented in imputeTS package.
  • These missingness values in all XX data set were less than 170 data points.
  • Missing snow depth data were dropped and only years with complete data were analyzed.

Question 1: What was the weather like in spring flu introductions?

Basic weather variables summary
CaseID Year Date Subtype County Weekly_average_temp Weekly_HDD Accumulative_days_above_freezing
1 2007 03/22 H7N9 Brown 1.59 30 28
2 2009 05/06 H7N9 Redwood 11.31 13 70
3 2011 05/13 H7N9 Wright 16.67 5 73
4 2012 04/26 H8N4 Kandiyohi 9.49 16 81
5 2013 05/08 H3/H9N2 Kandiyohi 6.30 22 55
6 2014 05/09 H4N2 Kandiyohi 6.30 22 55
7 2015 02/27 H5N2 Pope -16.38 62 15
8 2015 03/22 H5N2 Lac Qui Parle 5.08 44 39
Temporal relationship between the case time and the yearly lowest temperature day
Temporal relationship

Temporal relationship

Comparison between introduction years and non-introduction years
  • Compare the mean difference of temperature and snow depth between introduction years and non-introduction years.
  • To test the difference, we used a permutation test.
Permutation test

Permutation test

Question 2: Can weather indicators tell us about the timing of the flu introductions?

Weekly indicators calculation
  • We took a subset of the data (the data in the years of interest).
  • A function ‘returnWeekNum’ is used to return the week whose average value is the closest to the indicators we are looking for.
  • We used this function to compute matrices of weeks of interest.
returnWeekNum <- function(value, tag, file, indicator) {
    # return the week number whose avaerage value is the closest to 'value'
    # value: numeric
    # tag: case Id
    # file: file name
    # indicator: the variable (t.ave, TMAX, TMIN, sndp)
    
    dataset <- file[file$tag == tag, ]
    weekNum <- strftime(dataset$date5, format = "%W")
    dataset <- cbind(dataset, weekNum)
    
    curCol <- which(colnames(dataset) == indicator)
    weekMean <- tapply(dataset[, curCol], 
                       INDEX = dataset$weekNum, 
                       FUN = mean, 
                       na.rm = TRUE)
    diff <- abs(weekMean - value)
    result <- order(diff, decreasing = FALSE)
    
    # find the week number < 30
    result.final <- result[1]
    while (result.final > 30) {
        result.final <- result[which(result == result.final) + 1]
    }
    return (result.final)
}
Correlation with the week numbers of the outbreaks
  • Shiny app
  • The timing of the cases significantly correlates with the weeks when weekly average temperature was the closest to 8 – 9 °C (p < 0.05).
How can we make use of the data?
  • Our data suggests that the weather indicators could serve as variables in predicting the next IAV Spring introduction .

  • Moreover, using temperature monitoring could signify the starting point of early detection of IAV in the production system, further preventing barn-to-barn and farm-to-farm spread Liu et al .