Ozone Hole Watch

NASA provides extensive ozone data. I wanted to see what it looks like over time. The following charts describe the following:

The ozone hole area is determined from total ozone satellite measurements. It is defined to be that region of ozone values below 220 Dobson Units (DU) located south of 40°S.

Annual Mean

Note: 1995 and most of 1996 is missing from their data. I delete 1996 entirely for annual average.

Code: ozone.sh

# Zoe Phin
# 2020/12/22

require() { sudo apt-get install curl gnuplot; }

download() { for y in {1979..2020}; do
    curl -o y$y.csv "https://ozonewatch.gsfc.nasa.gov/meteorology/figures/ozone/to3areas_${y}_toms+omi+omps.txt"
done; }

daily() { awk '
    BEGINFILE { d=0 }
    FNR>6 && $2!~/9999/ {
        y=substr($1,1,4); d+=1/366
        printf "%8.3f %s\n", y+d, $2
    }' y*.csv > daily.csv

# Run daily() first
annual() { cut -c 1-4,9- daily.csv | awk '{
        S[$1]+=$2; N[$1]+=1 
    } END {
        for (y in S) print y" "S[y]/N[y]
    }' | sed '/^1996/d' > annual.csv

# Arg 1 - 'daily' or 'annual'
plot() { echo "set term png size 740,370
    set nokey 
    set title 'Ozone Hole Area (mil. km²)'
    set xrange [1979:2021]
    set mxtics 5
    set grid ytics
    plot '$1.csv' u 1:2 w l lw 1 lc rgb 'blue'
    " | gnuplot > $1.png

Run it:

$ source ozone.sh
$ require && download
$ daily && annual
$ plot daily
$ plot annual

Enjoy 🙂 -Zoe

Published by Zoe Phin


7 thoughts on “Ozone Hole Watch

      1. One possibility is that the data from the early years — say, before 1983 — is incomplete. Perhaps the measurement systems were not ironed out or successful?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: