From a4502814871a08943c4fdaa9dc82322a0cfd0acc Mon Sep 17 00:00:00 2001 From: 702-Tony Date: Mon, 24 Jul 2017 15:37:42 -0700 Subject: [PATCH 1/7] implemented output types added option to change output to csv file and made serverpath reflect drive length if not on server drive --- file_length_script.py | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/file_length_script.py b/file_length_script.py index 1ee0c0b..666aad2 100644 --- a/file_length_script.py +++ b/file_length_script.py @@ -1,17 +1,28 @@ import os - -#Runs on Windows only +import sys +#tested on Windows only print 'Welcome! this program will find files with pathnames that are too long'.center(80, '+') +if len(sys.argv) > 1: + if sys.argv[1] == '--csv': + filename = raw_input('Name output file(file output in .csv format): ') + if filename[-4:] != '.csv': filename += '.csv' + csv = True + elif sys.argv[1] == '--txt' : + filename = raw_input('Name output file(file output in .txt format): ') + if filename[-4:] != '.txt': filename += '.txt' + csv = False + else : + filename = raw_input('Name output file(file output in .txt format): ') + if filename[-4:] != '.txt': filename += '.txt' + csv = False -filename = raw_input('Name output file: ') - -if filename[-4:] != '.txt': filename += '.txt' outputfile = open(filename,'w')# opens file matching name, otherwise creates file if not found dir = str(raw_input('Which directory? ')) +#below, serverpath adds length to file path to represent server path since running remotely if dir[0] == 'J': serverpath = 11 elif dir[0] == 'K': @@ -25,22 +36,27 @@ print 'working...' +if csv == True: outputfile.write('File Path Length,Filepath 1, Filepath 2\n') + for root, dirs, files in os.walk('.'): for i in files: - + if serverpath == 0: serverpath = len(dir)#changes serverpath to length reflected on current drive if not server drive J or K x = (root +'\\' + i )[2:] #removes ./ from filename and assigns full filepath to directory if (len(x)+serverpath) > 255: #print 'Files written: ' + str(count +1) #print (dir + '\\' + x + '\n') #print len(x) - outputfile.write(dir + '\\' + x + '\n') + if csv == True: + outputfile.write(str(len(x)+serverpath)+','+ dir + ',' + x + '\n') + else: outputfile.write(dir + '//' + x + '\n') + count +=1 -print 'Done: total lines written: ' + str(count) +print 'Done: total files found: ' + str(count) outputfile.close() From 2e5f9bdeb9108e2917903cf38eeb2b5e99d324c1 Mon Sep 17 00:00:00 2001 From: Anthony Adams Date: Wed, 23 Sep 2020 11:28:34 -0700 Subject: [PATCH 2/7] Add new script to rename emails Script extracts subject line and date sent from .msg files and renames the file as Date Subj (up to 30 characters) then a unique number padded with zeroes --- rename_emails.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 rename_emails.py diff --git a/rename_emails.py b/rename_emails.py new file mode 100644 index 0000000..e76a4a2 --- /dev/null +++ b/rename_emails.py @@ -0,0 +1,30 @@ +import extract_msg # this will need to be installed using pip. More info here: https://pypi.org/project/extract-msg/ +import os +from datetime import datetime + +# Folder that contains the emails to be renamed +filepath = "C:/Users/aadams/desktop/New Folder (7)/Exprt001" + +# count to keep the emails +count = 0 + +for file in os.listdir(filepath): + new_filepath = filepath + "/" + file + # open message + msg = extract_msg.openMsg(filepath + "/" + file) + # store message + _subject = msg.subject + # create datetime obj from string extracted from message + # pulled from message as : Wed, 29 Aug 2018 11:06:22 -0700 + _date = datetime.strptime(msg.date, '%a, %d %b %Y %H:%M:%S %z') + # close message to allow rename + msg.close() + # increment counter to ensure messages are unique + count += 1 + # create new name string with sent date, shortened subject, then count with padded zeroes + new_name = _date.strftime('%Y-%m-%d %H%M%S') + "-" + _subject[:30] + str(count).zfill(4) + # some subjects had ":"'s which cannot be saved to windows filenames + # replace those with underscore + new_name = new_name.replace(":","_") + # perform rename. Something to add in future iterations would be a try except clause, but was not necessary for my purposes + os.rename(new_filepath, filepath + "/" + new_name + ".msg") From 598a9b6ddd3f55fa1453aed30dd56ab5eaff2739 Mon Sep 17 00:00:00 2001 From: 702-Tony Date: Thu, 31 Dec 2020 08:37:18 -0800 Subject: [PATCH 3/7] new file for media center folder operation --- media_folder_fix.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 media_folder_fix.py diff --git a/media_folder_fix.py b/media_folder_fix.py new file mode 100644 index 0000000..d1f20d9 --- /dev/null +++ b/media_folder_fix.py @@ -0,0 +1,21 @@ +import os +# this script will be used to +for root, dirs, files in os.walk('.'): + + for i in files: + if serverpath == 0: serverpath = len(dir)#changes serverpath to length reflected on current drive if not server drive J or K + x = (root +'\\' + i )[2:] #removes ./ from filename and assigns full filepath to directory + + if (len(x)+serverpath) > 255: + #print 'Files written: ' + str(count +1) + #print (dir + '\\' + x + '\n') + #print len(x) + if csv == True: + outputfile.write(str(len(x)+serverpath)+','+ dir + ',' + x + '\n') + else: outputfile.write(dir + '//' + x + '\n') + + count +=1 + + + +print 'Done: total files found: ' + str(count) From 460b397ce32070173762b0fb4d6555fd255afa8f Mon Sep 17 00:00:00 2001 From: 702-Tony Date: Thu, 31 Dec 2020 09:44:29 -0800 Subject: [PATCH 4/7] finished up media folder fix script --- media_folder_fix.py | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/media_folder_fix.py b/media_folder_fix.py index d1f20d9..4376d6b 100644 --- a/media_folder_fix.py +++ b/media_folder_fix.py @@ -1,21 +1,22 @@ import os -# this script will be used to +import shutil +# this script will be used to nest items within folders of the same name +folder_path = str(input("input folder path")) +folder_path = "C:\\Users\\aadam\\Documents\\py_test" +os.chdir(folder_path) +# iterate through each file within the folder for root, dirs, files in os.walk('.'): - for i in files: - if serverpath == 0: serverpath = len(dir)#changes serverpath to length reflected on current drive if not server drive J or K - x = (root +'\\' + i )[2:] #removes ./ from filename and assigns full filepath to directory - - if (len(x)+serverpath) > 255: - #print 'Files written: ' + str(count +1) - #print (dir + '\\' + x + '\n') - #print len(x) - if csv == True: - outputfile.write(str(len(x)+serverpath)+','+ dir + ',' + x + '\n') - else: outputfile.write(dir + '//' + x + '\n') - - count +=1 - - + # for each file + og_path = os.path.join(root, i) # original path + # step 1 make dirs + # this will strip the extension from the name + # to create the new folder + new_folder = os.path.splitext(og_path)[0] + # create folder if it does not exist + if not (os.path.exists(new_folder)): + os.mkdir(new_folder) -print 'Done: total files found: ' + str(count) + # move file into new folder + shutil.move(og_path,new_folder) + print(i, "successfully moved") From b8f3b5ebc51edcc1cbae7a69667110f775a7f1da Mon Sep 17 00:00:00 2001 From: 702-Tony Date: Thu, 31 Dec 2020 09:49:44 -0800 Subject: [PATCH 5/7] fixed test code in script --- media_folder_fix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media_folder_fix.py b/media_folder_fix.py index 4376d6b..81e1034 100644 --- a/media_folder_fix.py +++ b/media_folder_fix.py @@ -2,7 +2,7 @@ import shutil # this script will be used to nest items within folders of the same name folder_path = str(input("input folder path")) -folder_path = "C:\\Users\\aadam\\Documents\\py_test" + os.chdir(folder_path) # iterate through each file within the folder for root, dirs, files in os.walk('.'): From 775ee4aa3ca6719420cc2295def0280c707bf8ee Mon Sep 17 00:00:00 2001 From: Anthony Adams Date: Tue, 5 Jan 2021 18:40:29 -0800 Subject: [PATCH 6/7] completed csv input function --- csv_test.py | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 csv_test.py diff --git a/csv_test.py b/csv_test.py new file mode 100644 index 0000000..38dd56b --- /dev/null +++ b/csv_test.py @@ -0,0 +1,72 @@ +# csv_test +# i plan on trying to open a csv and iterate through the row like a list + +import csv +# months = ["","1","2","3","4","5","6","7","8","9","10","11","12"] + +# open csv files +# csv = opencsv # for data that will be moved +# col_csv = opencsv # for where the data will be moved to +# iterate through each row + +n_line_yr = -1 +s_line_yr = -1 +output_n = [] +output_s = [] +def build_list(): + new_list = [] + for i in range(13): + new_list.append('') + return new_list + +with open('seaice_avg.csv', newline='') as csvfile: + csv = csv.reader(csvfile, delimiter=' ', quotechar='|') + line_n = build_list() + line_s = build_list() + count = 0 + for row in csv: + count += 1 + rw_ls = row[0].split(',') + year = rw_ls[0] + if count > 1: + mon = int(rw_ls[1]) + + hemisphere = rw_ls[2] + extent_avg = rw_ls[3] + if hemisphere == 'north': + # new_year = new_line + if n_line_yr != year: + # append finished line to output + output_n.append(line_n) + # clear line + line_n = build_list() + # set new line_yr to current + n_line_yr = year + # put your data together + line_n[0] = n_line_yr + line_n[mon] = extent_avg + elif hemisphere == 'south': + if s_line_yr != year: + # append finished line to output + output_s.append(line_s) + # clear line + line_s = build_list() + # set new line_yr to current + s_line_yr = year + line_s[0] = s_line_yr + line_s[mon] = extent_avg + + +print('items done',output_n[1],output_s[1]) + # rw_ls = list(row) + # year = rw_ls[0] + # mon = int(rw_ls[1]) + # hemisphere = rw_ls[2] + # extent_avg = rw_ls[3] + # if line_yr != year: + # # append finished line to output + # output.append(line) + # # clear line + # line = [] + # # set new line_yr to current + # line_yr = year From 4eb34613639c830eafc65430c5b05ae174d64403 Mon Sep 17 00:00:00 2001 From: Anthony Adams Date: Tue, 26 Jan 2021 19:21:49 -0800 Subject: [PATCH 7/7] added new script files --- csv_test.py | 56 +- sea_ice_averages_transformed.csv | 85 +++ seaice_avg.csv | 977 +++++++++++++++++++++++++++++++ 3 files changed, 1092 insertions(+), 26 deletions(-) create mode 100644 sea_ice_averages_transformed.csv create mode 100644 seaice_avg.csv diff --git a/csv_test.py b/csv_test.py index 38dd56b..fa26877 100644 --- a/csv_test.py +++ b/csv_test.py @@ -2,29 +2,26 @@ # i plan on trying to open a csv and iterate through the row like a list import csv -# months = ["","1","2","3","4","5","6","7","8","9","10","11","12"] - -# open csv files -# csv = opencsv # for data that will be moved -# col_csv = opencsv # for where the data will be moved to -# iterate through each row - +# instantiate helper vars n_line_yr = -1 s_line_yr = -1 output_n = [] output_s = [] +# builds a clean list with 14 empty spots def build_list(): new_list = [] - for i in range(13): + for i in range(14): new_list.append('') return new_list - +# open old csv with open('seaice_avg.csv', newline='') as csvfile: - csv = csv.reader(csvfile, delimiter=' ', quotechar='|') + csv_r = csv.reader(csvfile, delimiter=' ', quotechar='|') line_n = build_list() line_s = build_list() count = 0 - for row in csv: + # iterate through the rows and store the data for each month in a list + # that will then be stored inside another list + for row in csv_r: count += 1 rw_ls = row[0].split(',') year = rw_ls[0] @@ -45,6 +42,7 @@ def build_list(): # put your data together line_n[0] = n_line_yr line_n[mon] = extent_avg + line_n[13] = hemisphere elif hemisphere == 'south': if s_line_yr != year: # append finished line to output @@ -55,18 +53,24 @@ def build_list(): s_line_yr = year line_s[0] = s_line_yr line_s[mon] = extent_avg - - -print('items done',output_n[1],output_s[1]) - # rw_ls = list(row) - # year = rw_ls[0] - # mon = int(rw_ls[1]) - # hemisphere = rw_ls[2] - # extent_avg = rw_ls[3] - # if line_yr != year: - # # append finished line to output - # output.append(line) - # # clear line - # line = [] - # # set new line_yr to current - # line_yr = year + line_s[13] = hemisphere +# append final lines to outputs +output_n.append(line_n) +output_s.append(line_s) +# output file +print('csv successfully read') +with open('sea_ice_averages_transformed.csv', 'w', newline='') as csvfile: + csv_w = csv.writer(csvfile, delimiter=',',quotechar='\'', quoting=csv.QUOTE_MINIMAL) + # removes first blank from both lists + output_n.pop(0) + output_s.pop(0) + # # adds hemisphere data from + # for i in output_n: + # i.append('north') + # for i in output_s: + # i.append('south') + header = ['year','jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec','hemisphere'] + csv_w.writerow(header) + csv_w.writerows(output_n) + csv_w.writerows(output_s) +print('csv successfully written') diff --git a/sea_ice_averages_transformed.csv b/sea_ice_averages_transformed.csv new file mode 100644 index 0000000..4f7bc11 --- /dev/null +++ b/sea_ice_averages_transformed.csv @@ -0,0 +1,85 @@ +year,jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec,hemisphere +1978,,,,,,,,,,10.40266667,11.64513333,13.6670625,north +1979,15.414,16.17528571,16.3419375,15.4468,13.85686667,12.53,10.31125,8.041066667,7.051133333,8.7479375,10.94306667,13.33626667,north +1980,14.861875,15.95514286,16.0413125,15.42906667,13.7926,12.2046,10.1000625,7.984266667,7.667066667,9.18275,11.38286667,13.59293333,north +1981,14.9096875,15.60407143,15.63153333,15.00993333,13.801625,12.42973333,10.271,7.8443125,7.138466667,8.856266667,10.929,13.341125,north +1982,15.17673333,15.9735,16.043875,15.466,13.9732,12.47606667,10.3670625,8.139533333,7.301733333,9.4210625,11.62746667,13.6418,north +1983,14.9424375,16.00614286,16.08526667,15.17206667,13.4913125,12.29566667,10.57026667,8.185875,7.3946,9.334066667,11.461,13.2984375,north +1984,14.47326667,15.29893333,15.5842,15.01446667,13.5766875,12.15166667,9.977533333,7.7710625,6.8052,8.5606,10.84153333,12.9894375,north +1985,14.72486667,15.46571429,15.8859375,15.35653333,14.0734,12.21906667,9.7445625,7.401866667,6.697666667,8.5459375,11.02453333,13.04993333,north +1986,14.889625,15.78485714,15.90946667,15.0588,13.3795625,11.97593333,10.14646667,7.9795625,7.410666667,9.483933333,11.45326667,13.2224375,north +1987,14.9698,16.05014286,15.8159375,15.21086667,13.74293333,12.48566667,10.3325625,7.499904762,7.2787,9.048774194,11.22403333,12.5405,north +1988,15.09047368,15.58337931,15.95722581,15.12333333,13.56087097,11.94343333,9.808677419,7.891580645,7.369,9.135032258,11.33083333,13.62554839,north +1989,14.95480645,15.49553571,15.42329032,14.3284,13.04412903,12.24453333,10.12970968,7.881774194,7.008333333,8.828903226,11.11523333,13.38680645,north +1990,14.7826129,15.57821429,15.86674194,14.65006667,13.22583871,11.64056667,9.246612903,6.797483871,6.1428,8.484935484,11.0752,13.10554839,north +1991,14.36380645,15.24939286,15.41612903,14.85973333,13.47312903,12.10803333,9.514032258,7.415354839,6.4729,8.541419355,10.8846,12.94509677,north +1992,14.64267742,15.46210345,15.48112903,14.6769,13.21554839,12.14676667,10.32312903,7.925258065,7.4737,9.319516129,11.37866667,13.4073871,north +1993,14.89606452,15.68564286,15.81316129,15.0772,13.36822581,11.8709,9.476354839,7.335,6.396666667,8.786129032,11.31873333,13.31896774,north +1994,14.72977419,15.56189286,15.5536129,14.88803333,13.6243871,12.0164,9.92516129,7.639290323,7.1376,8.915290323,11.1232,13.27187097,north +1995,14.5863871,15.22567857,15.26016129,14.4486,12.97206452,11.44043333,8.987096774,6.744354839,6.080133333,7.828935484,10.76086667,12.92083871,north +1996,14.18087097,15.15482759,15.12280645,14.21586667,13.09454839,12.08383333,10.16425806,8.180451613,7.582533333,9.160967742,10.4017,12.86125806,north +1997,14.41748387,15.43671429,15.46751613,14.56303333,13.17716129,11.73836667,9.41083871,7.285032258,6.686333333,8.336548387,10.68416667,13.07619355,north +1998,14.72051613,15.74582143,15.59809677,14.89193333,13.58983871,11.7057,9.41516129,7.508870968,6.536033333,8.451870968,10.4406,12.75864516,north +1999,14.3593871,15.30892857,15.39767742,15.0839,13.75096774,11.77916667,9.488290323,7.225580645,6.116866667,8.602806452,10.79646667,12.64119355,north +2000,14.22035484,15.14148276,15.22483871,14.55816667,13.15267742,11.66523333,9.513,7.168322581,6.246066667,8.379419355,10.3211,12.63725806,north +2001,14.2026129,15.21114286,15.51632258,14.85683333,13.5096129,11.45593333,9.070354839,7.460806452,6.732166667,8.298290323,10.65783333,12.49074194,north +2002,14.2726129,15.34235714,15.34890323,14.29943333,12.9706129,11.5834,9.27416129,6.599,5.827133333,8.161903226,10.34186667,12.60845161,north +2003,14.39083871,15.19314286,15.48490323,14.51206667,13.01606452,11.60403333,9.214774194,6.935870968,6.1161,7.848290323,10.12533333,12.58835484,north +2004,14.02641935,14.91437931,14.99258065,13.98733333,12.55841935,11.44706667,9.431354839,6.85483871,5.9845,7.925290323,10.34326667,12.55358065,north +2005,13.66145161,14.37285714,14.6866129,14.08983333,12.91109677,11.16203333,8.648741935,6.301129032,5.503766667,7.351967742,10.21633333,12.2276129,north +2006,13.46558065,14.32496429,14.42096774,13.90586667,12.51735484,10.9195,8.45983871,6.495612903,5.862433333,7.541096774,9.658733333,11.95467742,north +2007,13.70303226,14.51325,14.54209677,13.8452,12.77967742,11.22006667,7.94283871,5.342322581,4.267266667,6.039709677,9.760166667,12.03396774,north +2008,13.88725806,14.95344828,15.17890323,14.35193333,12.974,11.20833333,8.677935484,5.913064516,4.687433333,7.349870968,10.34286667,12.35848387,north +2009,13.91370968,14.81153571,14.9836129,14.49563333,13.18670968,11.32026667,8.465451613,6.135741935,5.261633333,6.920322581,9.771733333,12.19987097,north +2010,13.73906452,14.58142857,15.13670968,14.65873333,12.86609677,10.5851,8.074677419,5.874903226,4.865066667,6.983903226,9.613966667,11.83083871,north +2011,13.46396774,14.36303571,14.54651613,14.1078,12.68077419,10.74866667,7.724387097,5.502451613,4.561333333,6.464548387,9.7718,12.15358065,north +2012,13.72941935,14.55334483,15.19625806,14.62576667,13.01180645,10.67453333,7.671774194,4.723290323,3.5656,5.885870968,9.387966667,12.0063871,north +2013,13.70264516,14.72353571,15.03203226,14.29873333,12.99725806,11.36013333,8.131677419,6.013516129,5.208266667,7.45483871,9.939033333,12.18425806,north +2014,13.64748387,14.41757143,14.75751613,14.08786667,12.70070968,11.0326,8.108451613,6.077870968,5.219933333,7.232451613,10.1146,12.35258065,north +2015,13.60232258,14.40064286,14.37051613,13.89316667,12.46809677,10.8789,8.377870968,5.598741935,4.615766667,6.966225806,9.846166667,12.04477419,north +2016,13.45677419,14.20272414,14.39993548,13.68126667,11.92441935,10.4129,7.937548387,5.370548387,4.5285,6.081645161,8.657833333,11.45941935,north +2017,13.19012903,14.11942857,14.29006452,13.75346667,12.63045161,10.7564,7.939354839,5.480645161,4.8219,6.767129032,9.492833333,11.74267742,north +2018,13.05664516,13.94589286,14.29832258,13.70866667,12.2086129,10.70853333,8.224354839,5.607935484,4.7136,6.063483871,9.8047,11.85651613,north +2019,13.55567742,14.39835714,14.55196774,13.4546,12.16316129,,,,,,,,north +1978,,,,,,,,,,17.699,15.8964,10.39525,south +1979,5.4022,3.141071429,3.9993125,7.485533333,10.82666667,14.187,16.516875,17.69826667,18.19553333,17.8205,15.33706667,9.2358,south +1980,4.562,2.818357143,3.294875,5.405,8.856666667,12.49026667,15.5644375,17.8056,18.81726667,18.567875,16.13313333,10.15586667,south +1981,4.411875,2.8735,3.391533333,5.838466667,9.354625,13.10853333,16.03873333,17.7365,18.59646667,18.29373333,16.11133333,10.8948125,south +1982,5.260066667,3.1285,4.2878125,7.722933333,10.75833333,13.41673333,15.8721875,17.7892,18.35346667,17.788375,15.5366,9.215666667,south +1983,4.7705,3.070285714,4.015666667,6.4704,9.526,12.6426,15.46666667,17.2508125,18.5852,17.91533333,16.0142,10.393875,south +1984,4.778666667,2.677266667,3.612333333,6.422,9.7484375,13.23046667,16.39486667,17.9276875,18.17146667,17.5726,16.134,10.473,south +1985,4.4554,2.836428571,3.7171875,6.4932,10.1528,13.42853333,15.7209375,17.6322,18.7032,18.2044375,16.1402,11.3522,south +1986,5.42225,3.193142857,3.6984,6.385533333,9.295625,12.687,15.3168,16.9988125,17.68313333,17.18373333,15.0066,9.6539375,south +1987,5.126,3.253714286,4.11275,6.796933333,9.694066667,12.68433333,15.7515625,17.66142857,18.24606667,17.67409677,15.5841,13.379,south +1988,3.817157895,2.885689655,3.966193548,6.2874,9.602290323,13.0928,15.74867742,17.561,18.3072,18.36103226,16.14766667,11.0606129,south +1989,4.736806452,2.977607143,3.927290323,6.306266667,10.29716129,13.58043333,15.71058065,17.46564516,18.12106667,17.85609677,15.73343333,9.837516129,south +1990,4.867387097,3.036178571,3.965967742,6.999866667,9.715451613,13.0829,15.57093548,17.56745161,18.193,17.94532258,15.4683,9.953516129,south +1991,5.338258065,3.161107143,3.80683871,7.053466667,10.27945161,13.06566667,15.55041935,17.71896774,18.3126,17.91729032,15.58353333,10.19232258,south +1992,4.748870968,2.83737931,3.573290323,6.7941,9.924774194,12.8085,15.89441935,17.72703226,18.1472,17.93396774,15.8955,10.20574194,south +1993,4.409387097,2.482178571,3.668193548,6.6516,10.10377419,13.14716667,15.85487097,17.49177419,18.5432,18.12754839,16.04206667,9.933354839,south +1994,4.965709677,3.197535714,4.549354839,7.221566667,10.408,13.56013333,16.29596774,17.83958065,18.61263333,18.09006452,15.88043333,10.10051613,south +1995,5.636,3.560785714,4.626419355,7.267633333,10.41548387,13.28986667,15.74387097,17.78019355,18.37273333,18.02964516,15.63393333,10.62190323,south +1996,5.871129032,2.984586207,4.183483871,7.279933333,10.91674194,13.87036667,16.11967742,17.7413871,18.6316,17.96454839,15.7179,9.65316129,south +1997,4.197258065,2.489535714,3.457387097,6.492333333,10.12396774,13.11603333,15.92067742,17.68435484,18.59643333,17.9933871,15.73276667,10.2853871,south +1998,4.464903226,2.989571429,4.107483871,6.853833333,10.32845161,13.31323333,15.96267742,17.88135484,18.9035,18.66045161,16.3004,10.51948387,south +1999,4.815870968,2.966,3.977774194,6.8918,10.26532258,13.64883333,16.2816129,17.95790323,18.69636667,18.35216129,15.9646,10.72203226,south +2000,4.748870968,2.906517241,4.085870968,7.1323,10.92058065,13.8927,16.09774194,18.20612903,18.88783333,18.13051613,15.75763333,9.909709677,south +2001,5.233096774,3.650357143,4.731451613,7.044266667,10.32990323,13.41806667,15.85187097,17.42274194,18.17496667,17.726,15.6103,10.34590323,south +2002,4.739612903,2.960392857,3.748258065,6.327833333,9.511548387,12.37576667,15.41470968,17.06667742,17.88736667,17.86577419,15.40583333,10.78541935,south +2003,5.772709677,3.788571429,4.444354839,7.208266667,10.73580645,13.98536667,16.40196774,17.58248387,18.2983,18.198,16.10953333,10.56358065,south +2004,5.590516129,3.583551724,4.526193548,7.279766667,10.47003226,13.78,16.33251613,18.01006452,18.91923333,18.45693548,16.08483333,10.22890323,south +2005,4.75183871,2.969607143,4.081612903,7.031966667,10.28880645,13.2915,16.15783871,17.92248387,18.8048,18.47680645,16.31616667,9.680258065,south +2006,4.163548387,2.651392857,3.214612903,6.0104,9.456258065,13.34476667,16.11412903,18.09764516,19.0941,18.7326129,16.22983333,9.854129032,south +2007,4.672580645,2.904607143,3.834806452,6.418266667,9.647806452,13.2873,15.95577419,17.68190323,18.86063333,18.50774194,15.89213333,11.98051613,south +2008,6.413709677,3.894517241,5.284451613,8.2423,11.04935484,14.06166667,16.09483871,17.64451613,18.14503333,17.99390323,16.24813333,11.51174194,south +2009,5.707354839,2.990571429,4.441064516,7.7985,10.92574194,13.90746667,16.26132258,18.09780645,18.96046667,18.29822581,15.84783333,10.73854839,south +2010,4.958096774,3.1055,3.846741935,6.715433333,10.63925806,14.4102,16.92132258,18.60706452,18.7986,18.64832258,16.7549,11.27116129,south +2011,4.511709677,2.519071429,3.36783871,6.0966,10.09274194,13.3333,15.75254839,17.80545161,18.73923333,18.21848387,15.75736667,11.19896774,south +2012,5.653870968,3.553241379,4.550258065,7.309233333,10.457,13.54666667,16.298,18.09696774,19.20783333,18.59387097,16.10993333,10.39422581,south +2013,5.543290323,3.836428571,5.017387097,7.622633333,10.91974194,14.15483333,16.80854839,18.66377419,19.38866667,19.01777419,16.87216667,11.85358065,south +2014,6.326806452,3.843,4.901516129,8.343,11.51935484,14.68666667,17.10574194,18.90796774,19.7564,19.00280645,16.38776667,11.92829032,south +2015,6.851870968,3.798928571,4.964258065,8.3732,11.71612903,14.4749,16.77522581,17.74935484,18.444,18.40925806,16.1751,10.65522581,south +2016,4.689129032,2.789517241,4.069032258,7.2216,10.1023871,13.24193333,16.02383871,17.89203226,18.15006667,17.46,14.22266667,8.279387097,south +2017,3.783903226,2.287928571,2.699064516,5.435933333,9.01383871,12.40876667,15.29667742,17.21890323,17.9059,17.77609677,15.11303333,9.482064516,south +2018,4.127419355,2.29425,3.528,6.009666667,9.294225806,12.84573333,15.65716129,17.33951613,17.87893333,17.65548387,15.01013333,9.032806452,south +2019,3.831322581,2.656214286,3.16416129,5.708633333,8.835516129,,,,,,,,south diff --git a/seaice_avg.csv b/seaice_avg.csv new file mode 100644 index 0000000..964cbaf --- /dev/null +++ b/seaice_avg.csv @@ -0,0 +1,977 @@ +year,month,hemisphere,extent_average +1978,10,north,10.40266667 +1978,10,south,17.699 +1978,11,north,11.64513333 +1978,11,south,15.8964 +1978,12,north,13.6670625 +1978,12,south,10.39525 +1979,1,north,15.414 +1979,1,south,5.4022 +1979,2,north,16.17528571 +1979,2,south,3.141071429 +1979,3,north,16.3419375 +1979,3,south,3.9993125 +1979,4,north,15.4468 +1979,4,south,7.485533333 +1979,5,north,13.85686667 +1979,5,south,10.82666667 +1979,6,north,12.53 +1979,6,south,14.187 +1979,7,north,10.31125 +1979,7,south,16.516875 +1979,8,north,8.041066667 +1979,8,south,17.69826667 +1979,9,north,7.051133333 +1979,9,south,18.19553333 +1979,10,north,8.7479375 +1979,10,south,17.8205 +1979,11,north,10.94306667 +1979,11,south,15.33706667 +1979,12,north,13.33626667 +1979,12,south,9.2358 +1980,1,north,14.861875 +1980,1,south,4.562 +1980,2,north,15.95514286 +1980,2,south,2.818357143 +1980,3,north,16.0413125 +1980,3,south,3.294875 +1980,4,north,15.42906667 +1980,4,south,5.405 +1980,5,north,13.7926 +1980,5,south,8.856666667 +1980,6,north,12.2046 +1980,6,south,12.49026667 +1980,7,north,10.1000625 +1980,7,south,15.5644375 +1980,8,north,7.984266667 +1980,8,south,17.8056 +1980,9,north,7.667066667 +1980,9,south,18.81726667 +1980,10,north,9.18275 +1980,10,south,18.567875 +1980,11,north,11.38286667 +1980,11,south,16.13313333 +1980,12,north,13.59293333 +1980,12,south,10.15586667 +1981,1,north,14.9096875 +1981,1,south,4.411875 +1981,2,north,15.60407143 +1981,2,south,2.8735 +1981,3,north,15.63153333 +1981,3,south,3.391533333 +1981,4,north,15.00993333 +1981,4,south,5.838466667 +1981,5,north,13.801625 +1981,5,south,9.354625 +1981,6,north,12.42973333 +1981,6,south,13.10853333 +1981,7,north,10.271 +1981,7,south,16.03873333 +1981,8,north,7.8443125 +1981,8,south,17.7365 +1981,9,north,7.138466667 +1981,9,south,18.59646667 +1981,10,north,8.856266667 +1981,10,south,18.29373333 +1981,11,north,10.929 +1981,11,south,16.11133333 +1981,12,north,13.341125 +1981,12,south,10.8948125 +1982,1,north,15.17673333 +1982,1,south,5.260066667 +1982,2,north,15.9735 +1982,2,south,3.1285 +1982,3,north,16.043875 +1982,3,south,4.2878125 +1982,4,north,15.466 +1982,4,south,7.722933333 +1982,5,north,13.9732 +1982,5,south,10.75833333 +1982,6,north,12.47606667 +1982,6,south,13.41673333 +1982,7,north,10.3670625 +1982,7,south,15.8721875 +1982,8,north,8.139533333 +1982,8,south,17.7892 +1982,9,north,7.301733333 +1982,9,south,18.35346667 +1982,10,north,9.4210625 +1982,10,south,17.788375 +1982,11,north,11.62746667 +1982,11,south,15.5366 +1982,12,north,13.6418 +1982,12,south,9.215666667 +1983,1,north,14.9424375 +1983,1,south,4.7705 +1983,2,north,16.00614286 +1983,2,south,3.070285714 +1983,3,north,16.08526667 +1983,3,south,4.015666667 +1983,4,north,15.17206667 +1983,4,south,6.4704 +1983,5,north,13.4913125 +1983,5,south,9.526 +1983,6,north,12.29566667 +1983,6,south,12.6426 +1983,7,north,10.57026667 +1983,7,south,15.46666667 +1983,8,north,8.185875 +1983,8,south,17.2508125 +1983,9,north,7.3946 +1983,9,south,18.5852 +1983,10,north,9.334066667 +1983,10,south,17.91533333 +1983,11,north,11.461 +1983,11,south,16.0142 +1983,12,north,13.2984375 +1983,12,south,10.393875 +1984,1,north,14.47326667 +1984,1,south,4.778666667 +1984,2,north,15.29893333 +1984,2,south,2.677266667 +1984,3,north,15.5842 +1984,3,south,3.612333333 +1984,4,north,15.01446667 +1984,4,south,6.422 +1984,5,north,13.5766875 +1984,5,south,9.7484375 +1984,6,north,12.15166667 +1984,6,south,13.23046667 +1984,7,north,9.977533333 +1984,7,south,16.39486667 +1984,8,north,7.7710625 +1984,8,south,17.9276875 +1984,9,north,6.8052 +1984,9,south,18.17146667 +1984,10,north,8.5606 +1984,10,south,17.5726 +1984,11,north,10.84153333 +1984,11,south,16.134 +1984,12,north,12.9894375 +1984,12,south,10.473 +1985,1,north,14.72486667 +1985,1,south,4.4554 +1985,2,north,15.46571429 +1985,2,south,2.836428571 +1985,3,north,15.8859375 +1985,3,south,3.7171875 +1985,4,north,15.35653333 +1985,4,south,6.4932 +1985,5,north,14.0734 +1985,5,south,10.1528 +1985,6,north,12.21906667 +1985,6,south,13.42853333 +1985,7,north,9.7445625 +1985,7,south,15.7209375 +1985,8,north,7.401866667 +1985,8,south,17.6322 +1985,9,north,6.697666667 +1985,9,south,18.7032 +1985,10,north,8.5459375 +1985,10,south,18.2044375 +1985,11,north,11.02453333 +1985,11,south,16.1402 +1985,12,north,13.04993333 +1985,12,south,11.3522 +1986,1,north,14.889625 +1986,1,south,5.42225 +1986,2,north,15.78485714 +1986,2,south,3.193142857 +1986,3,north,15.90946667 +1986,3,south,3.6984 +1986,4,north,15.0588 +1986,4,south,6.385533333 +1986,5,north,13.3795625 +1986,5,south,9.295625 +1986,6,north,11.97593333 +1986,6,south,12.687 +1986,7,north,10.14646667 +1986,7,south,15.3168 +1986,8,north,7.9795625 +1986,8,south,16.9988125 +1986,9,north,7.410666667 +1986,9,south,17.68313333 +1986,10,north,9.483933333 +1986,10,south,17.18373333 +1986,11,north,11.45326667 +1986,11,south,15.0066 +1986,12,north,13.2224375 +1986,12,south,9.6539375 +1987,1,north,14.9698 +1987,1,south,5.126 +1987,2,north,16.05014286 +1987,2,south,3.253714286 +1987,3,north,15.8159375 +1987,3,south,4.11275 +1987,4,north,15.21086667 +1987,4,south,6.796933333 +1987,5,north,13.74293333 +1987,5,south,9.694066667 +1987,6,north,12.48566667 +1987,6,south,12.68433333 +1987,7,north,10.3325625 +1987,7,south,15.7515625 +1987,8,north,7.499904762 +1987,8,south,17.66142857 +1987,9,north,7.2787 +1987,9,south,18.24606667 +1987,10,north,9.048774194 +1987,10,south,17.67409677 +1987,11,north,11.22403333 +1987,11,south,15.5841 +1987,12,north,12.5405 +1987,12,south,13.379 +1988,1,north,15.09047368 +1988,1,south,3.817157895 +1988,2,north,15.58337931 +1988,2,south,2.885689655 +1988,3,north,15.95722581 +1988,3,south,3.966193548 +1988,4,north,15.12333333 +1988,4,south,6.2874 +1988,5,north,13.56087097 +1988,5,south,9.602290323 +1988,6,north,11.94343333 +1988,6,south,13.0928 +1988,7,north,9.808677419 +1988,7,south,15.74867742 +1988,8,north,7.891580645 +1988,8,south,17.561 +1988,9,north,7.369 +1988,9,south,18.3072 +1988,10,north,9.135032258 +1988,10,south,18.36103226 +1988,11,north,11.33083333 +1988,11,south,16.14766667 +1988,12,north,13.62554839 +1988,12,south,11.0606129 +1989,1,north,14.95480645 +1989,1,south,4.736806452 +1989,2,north,15.49553571 +1989,2,south,2.977607143 +1989,3,north,15.42329032 +1989,3,south,3.927290323 +1989,4,north,14.3284 +1989,4,south,6.306266667 +1989,5,north,13.04412903 +1989,5,south,10.29716129 +1989,6,north,12.24453333 +1989,6,south,13.58043333 +1989,7,north,10.12970968 +1989,7,south,15.71058065 +1989,8,north,7.881774194 +1989,8,south,17.46564516 +1989,9,north,7.008333333 +1989,9,south,18.12106667 +1989,10,north,8.828903226 +1989,10,south,17.85609677 +1989,11,north,11.11523333 +1989,11,south,15.73343333 +1989,12,north,13.38680645 +1989,12,south,9.837516129 +1990,1,north,14.7826129 +1990,1,south,4.867387097 +1990,2,north,15.57821429 +1990,2,south,3.036178571 +1990,3,north,15.86674194 +1990,3,south,3.965967742 +1990,4,north,14.65006667 +1990,4,south,6.999866667 +1990,5,north,13.22583871 +1990,5,south,9.715451613 +1990,6,north,11.64056667 +1990,6,south,13.0829 +1990,7,north,9.246612903 +1990,7,south,15.57093548 +1990,8,north,6.797483871 +1990,8,south,17.56745161 +1990,9,north,6.1428 +1990,9,south,18.193 +1990,10,north,8.484935484 +1990,10,south,17.94532258 +1990,11,north,11.0752 +1990,11,south,15.4683 +1990,12,north,13.10554839 +1990,12,south,9.953516129 +1991,1,north,14.36380645 +1991,1,south,5.338258065 +1991,2,north,15.24939286 +1991,2,south,3.161107143 +1991,3,north,15.41612903 +1991,3,south,3.80683871 +1991,4,north,14.85973333 +1991,4,south,7.053466667 +1991,5,north,13.47312903 +1991,5,south,10.27945161 +1991,6,north,12.10803333 +1991,6,south,13.06566667 +1991,7,north,9.514032258 +1991,7,south,15.55041935 +1991,8,north,7.415354839 +1991,8,south,17.71896774 +1991,9,north,6.4729 +1991,9,south,18.3126 +1991,10,north,8.541419355 +1991,10,south,17.91729032 +1991,11,north,10.8846 +1991,11,south,15.58353333 +1991,12,north,12.94509677 +1991,12,south,10.19232258 +1992,1,north,14.64267742 +1992,1,south,4.748870968 +1992,2,north,15.46210345 +1992,2,south,2.83737931 +1992,3,north,15.48112903 +1992,3,south,3.573290323 +1992,4,north,14.6769 +1992,4,south,6.7941 +1992,5,north,13.21554839 +1992,5,south,9.924774194 +1992,6,north,12.14676667 +1992,6,south,12.8085 +1992,7,north,10.32312903 +1992,7,south,15.89441935 +1992,8,north,7.925258065 +1992,8,south,17.72703226 +1992,9,north,7.4737 +1992,9,south,18.1472 +1992,10,north,9.319516129 +1992,10,south,17.93396774 +1992,11,north,11.37866667 +1992,11,south,15.8955 +1992,12,north,13.4073871 +1992,12,south,10.20574194 +1993,1,north,14.89606452 +1993,1,south,4.409387097 +1993,2,north,15.68564286 +1993,2,south,2.482178571 +1993,3,north,15.81316129 +1993,3,south,3.668193548 +1993,4,north,15.0772 +1993,4,south,6.6516 +1993,5,north,13.36822581 +1993,5,south,10.10377419 +1993,6,north,11.8709 +1993,6,south,13.14716667 +1993,7,north,9.476354839 +1993,7,south,15.85487097 +1993,8,north,7.335 +1993,8,south,17.49177419 +1993,9,north,6.396666667 +1993,9,south,18.5432 +1993,10,north,8.786129032 +1993,10,south,18.12754839 +1993,11,north,11.31873333 +1993,11,south,16.04206667 +1993,12,north,13.31896774 +1993,12,south,9.933354839 +1994,1,north,14.72977419 +1994,1,south,4.965709677 +1994,2,north,15.56189286 +1994,2,south,3.197535714 +1994,3,north,15.5536129 +1994,3,south,4.549354839 +1994,4,north,14.88803333 +1994,4,south,7.221566667 +1994,5,north,13.6243871 +1994,5,south,10.408 +1994,6,north,12.0164 +1994,6,south,13.56013333 +1994,7,north,9.92516129 +1994,7,south,16.29596774 +1994,8,north,7.639290323 +1994,8,south,17.83958065 +1994,9,north,7.1376 +1994,9,south,18.61263333 +1994,10,north,8.915290323 +1994,10,south,18.09006452 +1994,11,north,11.1232 +1994,11,south,15.88043333 +1994,12,north,13.27187097 +1994,12,south,10.10051613 +1995,1,north,14.5863871 +1995,1,south,5.636 +1995,2,north,15.22567857 +1995,2,south,3.560785714 +1995,3,north,15.26016129 +1995,3,south,4.626419355 +1995,4,north,14.4486 +1995,4,south,7.267633333 +1995,5,north,12.97206452 +1995,5,south,10.41548387 +1995,6,north,11.44043333 +1995,6,south,13.28986667 +1995,7,north,8.987096774 +1995,7,south,15.74387097 +1995,8,north,6.744354839 +1995,8,south,17.78019355 +1995,9,north,6.080133333 +1995,9,south,18.37273333 +1995,10,north,7.828935484 +1995,10,south,18.02964516 +1995,11,north,10.76086667 +1995,11,south,15.63393333 +1995,12,north,12.92083871 +1995,12,south,10.62190323 +1996,1,north,14.18087097 +1996,1,south,5.871129032 +1996,2,north,15.15482759 +1996,2,south,2.984586207 +1996,3,north,15.12280645 +1996,3,south,4.183483871 +1996,4,north,14.21586667 +1996,4,south,7.279933333 +1996,5,north,13.09454839 +1996,5,south,10.91674194 +1996,6,north,12.08383333 +1996,6,south,13.87036667 +1996,7,north,10.16425806 +1996,7,south,16.11967742 +1996,8,north,8.180451613 +1996,8,south,17.7413871 +1996,9,north,7.582533333 +1996,9,south,18.6316 +1996,10,north,9.160967742 +1996,10,south,17.96454839 +1996,11,north,10.4017 +1996,11,south,15.7179 +1996,12,north,12.86125806 +1996,12,south,9.65316129 +1997,1,north,14.41748387 +1997,1,south,4.197258065 +1997,2,north,15.43671429 +1997,2,south,2.489535714 +1997,3,north,15.46751613 +1997,3,south,3.457387097 +1997,4,north,14.56303333 +1997,4,south,6.492333333 +1997,5,north,13.17716129 +1997,5,south,10.12396774 +1997,6,north,11.73836667 +1997,6,south,13.11603333 +1997,7,north,9.41083871 +1997,7,south,15.92067742 +1997,8,north,7.285032258 +1997,8,south,17.68435484 +1997,9,north,6.686333333 +1997,9,south,18.59643333 +1997,10,north,8.336548387 +1997,10,south,17.9933871 +1997,11,north,10.68416667 +1997,11,south,15.73276667 +1997,12,north,13.07619355 +1997,12,south,10.2853871 +1998,1,north,14.72051613 +1998,1,south,4.464903226 +1998,2,north,15.74582143 +1998,2,south,2.989571429 +1998,3,north,15.59809677 +1998,3,south,4.107483871 +1998,4,north,14.89193333 +1998,4,south,6.853833333 +1998,5,north,13.58983871 +1998,5,south,10.32845161 +1998,6,north,11.7057 +1998,6,south,13.31323333 +1998,7,north,9.41516129 +1998,7,south,15.96267742 +1998,8,north,7.508870968 +1998,8,south,17.88135484 +1998,9,north,6.536033333 +1998,9,south,18.9035 +1998,10,north,8.451870968 +1998,10,south,18.66045161 +1998,11,north,10.4406 +1998,11,south,16.3004 +1998,12,north,12.75864516 +1998,12,south,10.51948387 +1999,1,north,14.3593871 +1999,1,south,4.815870968 +1999,2,north,15.30892857 +1999,2,south,2.966 +1999,3,north,15.39767742 +1999,3,south,3.977774194 +1999,4,north,15.0839 +1999,4,south,6.8918 +1999,5,north,13.75096774 +1999,5,south,10.26532258 +1999,6,north,11.77916667 +1999,6,south,13.64883333 +1999,7,north,9.488290323 +1999,7,south,16.2816129 +1999,8,north,7.225580645 +1999,8,south,17.95790323 +1999,9,north,6.116866667 +1999,9,south,18.69636667 +1999,10,north,8.602806452 +1999,10,south,18.35216129 +1999,11,north,10.79646667 +1999,11,south,15.9646 +1999,12,north,12.64119355 +1999,12,south,10.72203226 +2000,1,north,14.22035484 +2000,1,south,4.748870968 +2000,2,north,15.14148276 +2000,2,south,2.906517241 +2000,3,north,15.22483871 +2000,3,south,4.085870968 +2000,4,north,14.55816667 +2000,4,south,7.1323 +2000,5,north,13.15267742 +2000,5,south,10.92058065 +2000,6,north,11.66523333 +2000,6,south,13.8927 +2000,7,north,9.513 +2000,7,south,16.09774194 +2000,8,north,7.168322581 +2000,8,south,18.20612903 +2000,9,north,6.246066667 +2000,9,south,18.88783333 +2000,10,north,8.379419355 +2000,10,south,18.13051613 +2000,11,north,10.3211 +2000,11,south,15.75763333 +2000,12,north,12.63725806 +2000,12,south,9.909709677 +2001,1,north,14.2026129 +2001,1,south,5.233096774 +2001,2,north,15.21114286 +2001,2,south,3.650357143 +2001,3,north,15.51632258 +2001,3,south,4.731451613 +2001,4,north,14.85683333 +2001,4,south,7.044266667 +2001,5,north,13.5096129 +2001,5,south,10.32990323 +2001,6,north,11.45593333 +2001,6,south,13.41806667 +2001,7,north,9.070354839 +2001,7,south,15.85187097 +2001,8,north,7.460806452 +2001,8,south,17.42274194 +2001,9,north,6.732166667 +2001,9,south,18.17496667 +2001,10,north,8.298290323 +2001,10,south,17.726 +2001,11,north,10.65783333 +2001,11,south,15.6103 +2001,12,north,12.49074194 +2001,12,south,10.34590323 +2002,1,north,14.2726129 +2002,1,south,4.739612903 +2002,2,north,15.34235714 +2002,2,south,2.960392857 +2002,3,north,15.34890323 +2002,3,south,3.748258065 +2002,4,north,14.29943333 +2002,4,south,6.327833333 +2002,5,north,12.9706129 +2002,5,south,9.511548387 +2002,6,north,11.5834 +2002,6,south,12.37576667 +2002,7,north,9.27416129 +2002,7,south,15.41470968 +2002,8,north,6.599 +2002,8,south,17.06667742 +2002,9,north,5.827133333 +2002,9,south,17.88736667 +2002,10,north,8.161903226 +2002,10,south,17.86577419 +2002,11,north,10.34186667 +2002,11,south,15.40583333 +2002,12,north,12.60845161 +2002,12,south,10.78541935 +2003,1,north,14.39083871 +2003,1,south,5.772709677 +2003,2,north,15.19314286 +2003,2,south,3.788571429 +2003,3,north,15.48490323 +2003,3,south,4.444354839 +2003,4,north,14.51206667 +2003,4,south,7.208266667 +2003,5,north,13.01606452 +2003,5,south,10.73580645 +2003,6,north,11.60403333 +2003,6,south,13.98536667 +2003,7,north,9.214774194 +2003,7,south,16.40196774 +2003,8,north,6.935870968 +2003,8,south,17.58248387 +2003,9,north,6.1161 +2003,9,south,18.2983 +2003,10,north,7.848290323 +2003,10,south,18.198 +2003,11,north,10.12533333 +2003,11,south,16.10953333 +2003,12,north,12.58835484 +2003,12,south,10.56358065 +2004,1,north,14.02641935 +2004,1,south,5.590516129 +2004,2,north,14.91437931 +2004,2,south,3.583551724 +2004,3,north,14.99258065 +2004,3,south,4.526193548 +2004,4,north,13.98733333 +2004,4,south,7.279766667 +2004,5,north,12.55841935 +2004,5,south,10.47003226 +2004,6,north,11.44706667 +2004,6,south,13.78 +2004,7,north,9.431354839 +2004,7,south,16.33251613 +2004,8,north,6.85483871 +2004,8,south,18.01006452 +2004,9,north,5.9845 +2004,9,south,18.91923333 +2004,10,north,7.925290323 +2004,10,south,18.45693548 +2004,11,north,10.34326667 +2004,11,south,16.08483333 +2004,12,north,12.55358065 +2004,12,south,10.22890323 +2005,1,north,13.66145161 +2005,1,south,4.75183871 +2005,2,north,14.37285714 +2005,2,south,2.969607143 +2005,3,north,14.6866129 +2005,3,south,4.081612903 +2005,4,north,14.08983333 +2005,4,south,7.031966667 +2005,5,north,12.91109677 +2005,5,south,10.28880645 +2005,6,north,11.16203333 +2005,6,south,13.2915 +2005,7,north,8.648741935 +2005,7,south,16.15783871 +2005,8,north,6.301129032 +2005,8,south,17.92248387 +2005,9,north,5.503766667 +2005,9,south,18.8048 +2005,10,north,7.351967742 +2005,10,south,18.47680645 +2005,11,north,10.21633333 +2005,11,south,16.31616667 +2005,12,north,12.2276129 +2005,12,south,9.680258065 +2006,1,north,13.46558065 +2006,1,south,4.163548387 +2006,2,north,14.32496429 +2006,2,south,2.651392857 +2006,3,north,14.42096774 +2006,3,south,3.214612903 +2006,4,north,13.90586667 +2006,4,south,6.0104 +2006,5,north,12.51735484 +2006,5,south,9.456258065 +2006,6,north,10.9195 +2006,6,south,13.34476667 +2006,7,north,8.45983871 +2006,7,south,16.11412903 +2006,8,north,6.495612903 +2006,8,south,18.09764516 +2006,9,north,5.862433333 +2006,9,south,19.0941 +2006,10,north,7.541096774 +2006,10,south,18.7326129 +2006,11,north,9.658733333 +2006,11,south,16.22983333 +2006,12,north,11.95467742 +2006,12,south,9.854129032 +2007,1,north,13.70303226 +2007,1,south,4.672580645 +2007,2,north,14.51325 +2007,2,south,2.904607143 +2007,3,north,14.54209677 +2007,3,south,3.834806452 +2007,4,north,13.8452 +2007,4,south,6.418266667 +2007,5,north,12.77967742 +2007,5,south,9.647806452 +2007,6,north,11.22006667 +2007,6,south,13.2873 +2007,7,north,7.94283871 +2007,7,south,15.95577419 +2007,8,north,5.342322581 +2007,8,south,17.68190323 +2007,9,north,4.267266667 +2007,9,south,18.86063333 +2007,10,north,6.039709677 +2007,10,south,18.50774194 +2007,11,north,9.760166667 +2007,11,south,15.89213333 +2007,12,north,12.03396774 +2007,12,south,11.98051613 +2008,1,north,13.88725806 +2008,1,south,6.413709677 +2008,2,north,14.95344828 +2008,2,south,3.894517241 +2008,3,north,15.17890323 +2008,3,south,5.284451613 +2008,4,north,14.35193333 +2008,4,south,8.2423 +2008,5,north,12.974 +2008,5,south,11.04935484 +2008,6,north,11.20833333 +2008,6,south,14.06166667 +2008,7,north,8.677935484 +2008,7,south,16.09483871 +2008,8,north,5.913064516 +2008,8,south,17.64451613 +2008,9,north,4.687433333 +2008,9,south,18.14503333 +2008,10,north,7.349870968 +2008,10,south,17.99390323 +2008,11,north,10.34286667 +2008,11,south,16.24813333 +2008,12,north,12.35848387 +2008,12,south,11.51174194 +2009,1,north,13.91370968 +2009,1,south,5.707354839 +2009,2,north,14.81153571 +2009,2,south,2.990571429 +2009,3,north,14.9836129 +2009,3,south,4.441064516 +2009,4,north,14.49563333 +2009,4,south,7.7985 +2009,5,north,13.18670968 +2009,5,south,10.92574194 +2009,6,north,11.32026667 +2009,6,south,13.90746667 +2009,7,north,8.465451613 +2009,7,south,16.26132258 +2009,8,north,6.135741935 +2009,8,south,18.09780645 +2009,9,north,5.261633333 +2009,9,south,18.96046667 +2009,10,north,6.920322581 +2009,10,south,18.29822581 +2009,11,north,9.771733333 +2009,11,south,15.84783333 +2009,12,north,12.19987097 +2009,12,south,10.73854839 +2010,1,north,13.73906452 +2010,1,south,4.958096774 +2010,2,north,14.58142857 +2010,2,south,3.1055 +2010,3,north,15.13670968 +2010,3,south,3.846741935 +2010,4,north,14.65873333 +2010,4,south,6.715433333 +2010,5,north,12.86609677 +2010,5,south,10.63925806 +2010,6,north,10.5851 +2010,6,south,14.4102 +2010,7,north,8.074677419 +2010,7,south,16.92132258 +2010,8,north,5.874903226 +2010,8,south,18.60706452 +2010,9,north,4.865066667 +2010,9,south,18.7986 +2010,10,north,6.983903226 +2010,10,south,18.64832258 +2010,11,north,9.613966667 +2010,11,south,16.7549 +2010,12,north,11.83083871 +2010,12,south,11.27116129 +2011,1,north,13.46396774 +2011,1,south,4.511709677 +2011,2,north,14.36303571 +2011,2,south,2.519071429 +2011,3,north,14.54651613 +2011,3,south,3.36783871 +2011,4,north,14.1078 +2011,4,south,6.0966 +2011,5,north,12.68077419 +2011,5,south,10.09274194 +2011,6,north,10.74866667 +2011,6,south,13.3333 +2011,7,north,7.724387097 +2011,7,south,15.75254839 +2011,8,north,5.502451613 +2011,8,south,17.80545161 +2011,9,north,4.561333333 +2011,9,south,18.73923333 +2011,10,north,6.464548387 +2011,10,south,18.21848387 +2011,11,north,9.7718 +2011,11,south,15.75736667 +2011,12,north,12.15358065 +2011,12,south,11.19896774 +2012,1,north,13.72941935 +2012,1,south,5.653870968 +2012,2,north,14.55334483 +2012,2,south,3.553241379 +2012,3,north,15.19625806 +2012,3,south,4.550258065 +2012,4,north,14.62576667 +2012,4,south,7.309233333 +2012,5,north,13.01180645 +2012,5,south,10.457 +2012,6,north,10.67453333 +2012,6,south,13.54666667 +2012,7,north,7.671774194 +2012,7,south,16.298 +2012,8,north,4.723290323 +2012,8,south,18.09696774 +2012,9,north,3.5656 +2012,9,south,19.20783333 +2012,10,north,5.885870968 +2012,10,south,18.59387097 +2012,11,north,9.387966667 +2012,11,south,16.10993333 +2012,12,north,12.0063871 +2012,12,south,10.39422581 +2013,1,north,13.70264516 +2013,1,south,5.543290323 +2013,2,north,14.72353571 +2013,2,south,3.836428571 +2013,3,north,15.03203226 +2013,3,south,5.017387097 +2013,4,north,14.29873333 +2013,4,south,7.622633333 +2013,5,north,12.99725806 +2013,5,south,10.91974194 +2013,6,north,11.36013333 +2013,6,south,14.15483333 +2013,7,north,8.131677419 +2013,7,south,16.80854839 +2013,8,north,6.013516129 +2013,8,south,18.66377419 +2013,9,north,5.208266667 +2013,9,south,19.38866667 +2013,10,north,7.45483871 +2013,10,south,19.01777419 +2013,11,north,9.939033333 +2013,11,south,16.87216667 +2013,12,north,12.18425806 +2013,12,south,11.85358065 +2014,1,north,13.64748387 +2014,1,south,6.326806452 +2014,2,north,14.41757143 +2014,2,south,3.843 +2014,3,north,14.75751613 +2014,3,south,4.901516129 +2014,4,north,14.08786667 +2014,4,south,8.343 +2014,5,north,12.70070968 +2014,5,south,11.51935484 +2014,6,north,11.0326 +2014,6,south,14.68666667 +2014,7,north,8.108451613 +2014,7,south,17.10574194 +2014,8,north,6.077870968 +2014,8,south,18.90796774 +2014,9,north,5.219933333 +2014,9,south,19.7564 +2014,10,north,7.232451613 +2014,10,south,19.00280645 +2014,11,north,10.1146 +2014,11,south,16.38776667 +2014,12,north,12.35258065 +2014,12,south,11.92829032 +2015,1,north,13.60232258 +2015,1,south,6.851870968 +2015,2,north,14.40064286 +2015,2,south,3.798928571 +2015,3,north,14.37051613 +2015,3,south,4.964258065 +2015,4,north,13.89316667 +2015,4,south,8.3732 +2015,5,north,12.46809677 +2015,5,south,11.71612903 +2015,6,north,10.8789 +2015,6,south,14.4749 +2015,7,north,8.377870968 +2015,7,south,16.77522581 +2015,8,north,5.598741935 +2015,8,south,17.74935484 +2015,9,north,4.615766667 +2015,9,south,18.444 +2015,10,north,6.966225806 +2015,10,south,18.40925806 +2015,11,north,9.846166667 +2015,11,south,16.1751 +2015,12,north,12.04477419 +2015,12,south,10.65522581 +2016,1,north,13.45677419 +2016,1,south,4.689129032 +2016,2,north,14.20272414 +2016,2,south,2.789517241 +2016,3,north,14.39993548 +2016,3,south,4.069032258 +2016,4,north,13.68126667 +2016,4,south,7.2216 +2016,5,north,11.92441935 +2016,5,south,10.1023871 +2016,6,north,10.4129 +2016,6,south,13.24193333 +2016,7,north,7.937548387 +2016,7,south,16.02383871 +2016,8,north,5.370548387 +2016,8,south,17.89203226 +2016,9,north,4.5285 +2016,9,south,18.15006667 +2016,10,north,6.081645161 +2016,10,south,17.46 +2016,11,north,8.657833333 +2016,11,south,14.22266667 +2016,12,north,11.45941935 +2016,12,south,8.279387097 +2017,1,north,13.19012903 +2017,1,south,3.783903226 +2017,2,north,14.11942857 +2017,2,south,2.287928571 +2017,3,north,14.29006452 +2017,3,south,2.699064516 +2017,4,north,13.75346667 +2017,4,south,5.435933333 +2017,5,north,12.63045161 +2017,5,south,9.01383871 +2017,6,north,10.7564 +2017,6,south,12.40876667 +2017,7,north,7.939354839 +2017,7,south,15.29667742 +2017,8,north,5.480645161 +2017,8,south,17.21890323 +2017,9,north,4.8219 +2017,9,south,17.9059 +2017,10,north,6.767129032 +2017,10,south,17.77609677 +2017,11,north,9.492833333 +2017,11,south,15.11303333 +2017,12,north,11.74267742 +2017,12,south,9.482064516 +2018,1,north,13.05664516 +2018,1,south,4.127419355 +2018,2,north,13.94589286 +2018,2,south,2.29425 +2018,3,north,14.29832258 +2018,3,south,3.528 +2018,4,north,13.70866667 +2018,4,south,6.009666667 +2018,5,north,12.2086129 +2018,5,south,9.294225806 +2018,6,north,10.70853333 +2018,6,south,12.84573333 +2018,7,north,8.224354839 +2018,7,south,15.65716129 +2018,8,north,5.607935484 +2018,8,south,17.33951613 +2018,9,north,4.7136 +2018,9,south,17.87893333 +2018,10,north,6.063483871 +2018,10,south,17.65548387 +2018,11,north,9.8047 +2018,11,south,15.01013333 +2018,12,north,11.85651613 +2018,12,south,9.032806452 +2019,1,north,13.55567742 +2019,1,south,3.831322581 +2019,2,north,14.39835714 +2019,2,south,2.656214286 +2019,3,north,14.55196774 +2019,3,south,3.16416129 +2019,4,north,13.4546 +2019,4,south,5.708633333 +2019,5,north,12.16316129 +2019,5,south,8.835516129