Message Boards Message Boards


Path of the total 2017 solar eclipse across US

Posted 4 years ago
3 Replies
13 Total Likes

Recently we had a series of posts about the latest solar eclipse:

But that it unseen from the USA territory. While in 2017 there will be a solar eclipse with its 100% visibility (total eclipse) path spanning across USA:

date = SolarEclipse[DateObject[{2017, 1, 1, 0, 0}]]

enter image description here

data = SolarEclipse[date, "TotalPhasePolygon", EclipseType -> "Total"];
GeoGraphics[{GeoStyling[None], Opacity[1], Red, dataT}, 
 GeoRange -> {{0, 55}, {-135, -53}}, GeoProjection -> "Mercator"]

enter image description here

We can get all US states and counties from where the total 2017 eclipse will be visible. Here are the states:

adus = GeoEntities[data, "AdministrativeDivision"];
Cases[adus, Entity[_, {_, _}]]

enter image description here

And here is the visual for the counties:

usco = Cases[adus, Entity[_, {_, _, _}]];

GeoListPlot[usco, ImageSize -> 800, GeoLabels -> (Tooltip[#1, #2] &),
 GeoRange -> {{25, 49}, {-125, -75}}, GeoProjection -> "Mercator"]

enter image description here

Check if your county is in the path:

enter image description here


The headquarters of Wolfram Research will be very close to the total solar eclipse path:

enter image description here

It is also a very curious fact that that the path will link two famous cities in US on the East and West coasts:

enter image description here

We could also color county polygons according to the population, to see where the major urban centers are and where most people will be exposed to the solar eclipse:

GeoRegionValuePlot[usco -> "Population", ImageSize -> 1000, 
 ColorFunction -> (ColorData["Rainbow"][#^.2] &)]

enter image description here

But what I really would like to do is to compute average Cloud Cover for last few years above the counties and color the counties accordingly. That would show the probability of clear visibility of the eclipse. But I am not sure yet how to do that most efficiently. Let me know if you know ;)

3 Replies

I figured out a way to to plot the probability of good visibility of the solar eclipse. Define a function that can get the data for cloudiness over a large time span 2000 - 2015 taking US county name or a geo location as an argument:

ccd[c_] := WeatherData[c, "CloudCoverFraction", {{2000, 1, 1}, {2015, 1, 1}, All}]

I run it over all county names and fine the mean value:

seccd = ParallelMap[ccd, usco];
ccm[ts_] := Mean[DeleteMissing[Normal[ts], 1, Infinity][[All, 2]]];
avcc = ParallelMap[ccm, seccd] /. {_Mean -> .5, 0 -> .5};

Note DeleteMissing needed due to not reliable weather station services. When we did not have any data for a county we substituted 0.5 value for the average, - I bet there are better ways of estimation. Now we again use the same technique:

GeoRegionValuePlot[Thread[usco -> avcc], ColorFunction -> "Rainbow"]

enter image description here

And here trying to see the influence of the Earth surface topology:

GeoRegionValuePlot[Thread[usco -> avcc],  ColorFunction -> "Rainbow", 
GeoBackground -> "ReliefMap",  PlotStyle -> Opacity[.7]]

enter image description here

Posted 1 year ago

That's awesome! Thanks!!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract