...
Create degree/precip week dictionary for a single climate division
Loop through years and weeks
degree week = (Sum(daily averages)/7 -22) + last weeks degree
get list of dates for week from database
average week's temps: (Sum(daily averages)/7 -22)
start creating data for first week > 0
need to include zero weeks
sum weekly averages
if <0, add zero, else: add next week
abnormal week (difference) (df) = degree week - 30 year normal (for geographic region)
precipitation is total not average like degree week
Code Block {2015: {21: {'degree_week': -10.567571140287205, 'degree_week_total_year': -10.567571140287205, 'temp': 0.6865079365079367, 'temps_total_year': 0.6865079365079367}, 22: {'degree_week': -14.67471399743006, 'degree_week_total_year': -25.242285137717268, 'temp': -3.42063492063492, 'temps_total_year': -2.7341269841269833}, 23: {'degree_week': -7.70249177520784, 'degree_week_total_year': -32.94477691292511, 'temp': 3.5515873015873014, 'temps_total_year': 0.8174603174603181}, 24: {'degree_week': -7.555666378382444, 'degree_week_total_year': -40.50044329130755, 'temp': 3.6984126984126973, 'temps_total_year': 4.515873015873016}, 25: {'degree_week': -7.678682251398316, 'degree_week_total_year': -48.17912554270586, 'temp': 3.575396825396826, 'temps_total_year': 8.091269841269842}, 26: {'degree_week': -10.428682251398318, 'degree_week_total_year': -58.607807794104176, 'temp': 0.825396825396825, 'temps_total_year': 8.916666666666666}, 27: {'degree_week': -9.980269552985616, 'degree_week_total_year': -68.5880773470898, 'temp': 1.273809523809525, 'temps_total_year': 10.190476190476192}, 28: {'degree_week': -6.135031457747523, 'degree_week_total_year': -74.72310880483732, 'temp': 5.119047619047619, 'temps_total_year': 15.30952380952381}, 29: {'degree_week': -7.658840981557047, 'degree_week_total_year': -82.38194978639437, 'temp': 3.5952380952380953, 'temps_total_year': 18.904761904761905}, 30: {'degree_week': -6.849317172033236, 'degree_week_total_year': -89.23126695842761, 'temp': 4.404761904761906, 'temps_total_year': 23.30952380952381}, 31: {'degree_week': -8.615190187906252, 'degree_week_total_year': -97.84645714633386, 'temp': 2.638888888888889, 'temps_total_year': 25.9484126984127}, 32: {'degree_week': -9.341380664096729, 'degree_week_total_year': -107.1878378104306, 'temp': 1.9126984126984123, 'temps_total_year': 27.86111111111111}, 33: {'degree_week': -10.369158441874506, 'degree_week_total_year': -117.5569962523051, 'temp': 0.8849206349206362, 'temps_total_year': 28.746031746031747}, 34: {'degree_week': -13.337412410128476, 'degree_week_total_year': -130.89440866243356, 'temp': -2.0833333333333335, 'temps_total_year': 26.662698412698415}, 35: {'degree_week': -8.05169812441419, 'degree_week_total_year': -138.94610678684776, 'temp': 3.2023809523809526, 'temps_total_year': 29.865079365079367}, 36: {'degree_week': -9.24217431489038, 'degree_week_total_year': -148.18828110173814, 'temp': 2.011904761904762, 'temps_total_year': 31.87698412698413}, 37: {'degree_week': -13.96042828314435, 'degree_week_total_year': -162.1487093848825, 'temp': -2.7063492063492065, 'temps_total_year': 29.170634920634924}, 38: {'degree_week': -13.881063203779268, 'degree_week_total_year': -176.02977258866176, 'temp': -2.626984126984127, 'temps_total_year': 26.543650793650798}, 39: {'degree_week': -14.82153939425546, 'degree_week_total_year': -190.85131198291722, 'temp': -3.567460317460317, 'temps_total_year': 22.97619047619048}, 40: {'degree_week': -15.99217431489038, 'degree_week_total_year': -206.8434862978076, 'temp': -4.738095238095239, 'temps_total_year': 18.23809523809524}, 41: {'degree_week': -18.82153939425546, 'degree_week_total_year': -225.66502569206307, 'temp': -7.567460317460316, 'temps_total_year': 10.670634920634924}, 42: {'degree_week': -19.385031457747523, 'degree_week_total_year': -245.05005714981058, 'temp': -8.130952380952381, 'temps_total_year': 2.539682539682543}, 43: {'degree_week': -21.254079076795144, 'degree_week_total_year': -266.30413622660575, 'temp': -10.0, 'temps_total_year': -7.460317460317457}, 44: {'degree_week': -18.58344415616022, 'degree_week_total_year': -284.887580382766, 'temp': -7.329365079365078, 'temps_total_year': -14.789682539682534}, 45: {'degree_week': -24.666777489493555, 'degree_week_total_year': -309.5543578722595, 'temp': -13.412698412698413, 'temps_total_year': -28.20238095238095}, 46: {'degree_week': -23.146936219652282, 'degree_week_total_year': -332.7012940919118, 'temp': -11.892857142857142, 'temps_total_year': -40.09523809523809}, 47: {'degree_week': -25.964396537112602, 'degree_week_total_year': -358.66569062902437, 'temp': -14.71031746031746, 'temps_total_year': -54.80555555555555}, 48: {'degree_week': -29.027888600604662, 'degree_week_total_year': -387.69357922962905, 'temp': -17.773809523809522, 'temps_total_year': -72.57936507936508}, 49: {'degree_week': -24.682650505366567, 'degree_week_total_year': -412.3762297349956, 'temp': -13.428571428571427, 'temps_total_year': -86.0079365079365}, 50: {'degree_week': -24.71836479108085, 'degree_week_total_year': -437.09459452607643, 'temp': -13.464285714285712, 'temps_total_year': -99.47222222222221}, 51: {'degree_week': -24.68265050536657, 'degree_week_total_year': -461.777245031443, 'temp': -13.428571428571429, 'temps_total_year': -112.90079365079364}, 52: {'degree_week': -28.325507648223713, 'degree_week_total_year': -490.1027526796667, 'temp': -17.071428571428573, 'temps_total_year': -129.97222222222223}, 53: {'degree_week': -11.254079076795142, 'degree_week_total_year': -501.3568317564619, 'temp': 0,
Create degree/precip season dictioanary
loop through season weeks
average weeks 13 weeks of each of 5 seasons
Build File
- Create cdc week database
- rules
- first day is sunday
- first week of year has at least 4 days in week
- if january 1 on sunday-wednesday, first week starts on this week
- if january 1 on thursday-saturday, first week start in previous year
- rules