BACKGROUND

Guyanese politics in a modern sense can be seen to start following the Second World War, where colonial power began to be challenged and British rule over Guyana started to weaken. Guyana is a country dominated by two ethnic groups: Indo-Guyanese at the time were descendents of indentured workers, mainly working in rural areas and in agricultural professions (such as the sugar industry), making up approximately half of the population. Afro-Guyanese, making up approximately a third of the population, were predominantly based in urban, coastal settings and worked often in more industrial professions. Afro-Guyanese were mostly Christian, whereas Indo-Guyanese had a variety of faiths. On this backdrop, we encounter the three main contenders for Father of the Nation.

CHEDDI JAGAN.

A charming, Indo-Guyanese lower class man who had been educated in America as a Dentist, Cheddi was from the humblest rural background of the three and would be approximately one third communist, one third marxist and one third socialist. This man was incorruptible, an idealist with no further objective than the independence of Guyana and the improvement in the wellbeing of its citizens. However, he was idealistic to the point of fault and would abuse people who disagreed with his opinions.

FORBES BURNHAM

A mainpulative, ambitious man who cared only about his own personal power, the Afro-Guyanese Burnham came from a middle-class urban background and had been educated as a lawyer in London. This pragmatistic man was also left-wing, but more authoritarian and softer left economically.

JANET ROSENBURG

This American Jewish lady shared her views and her life with Cheddi Jagan, and married him in 1943. She was the one who first exposed Cheddi to marxist political ideas, and pushed him towards politics. As a politician, she did not have the charm of Jagan nor the naked ambition of Burnham.

So, let’s look at the facts. All three were founders of the PPP, the most important political party in Guyana by most accounts. The three would compose three of the four first presidents of Guyana.

Anyway, the drama begins in 1953. Up until this point, the three were sitting quietly in the PPP, independence beckoned and the British were quiet. They won the first election in British Guiana, and then the three founders started causing trouble; or, more specifically, Cheddi started causing trouble. The policies proposed were too left-wing for the UK, and Cheddi and Janet were basically communists, so Churchill himself intervened and shut their government down after less than 6 months. This is where the trouble all started; this intervention would change Guyanese politics forever.

First, Burnham split, creating a racial divide between African and Indian which continues to dominate Guyana to this day. He was actively encouraged and spurred on by horrible US and UK governments who wanted Guyana to be as not-communist as possible. The racial violence got very bad, very quickly. With a majority of ethnic population, the Indians predictably won the elections until the fateful meeting between Cheddi and JFK in 1961.

What was said at that meeting, I do not know. By all accounts, nothing untoward happened. However, immediately afterwards JFK took a very strong interest in stopping Jagan from ever coming to power. There is a famous photo of Jagan pointing at Kennedy in an accusatory fashion. If I were to guess, Jagan did not treat Kennedy with any degree of respect, him being the firebrand American-educated hothead who is sure that his political views are correct. He didn’t like Kennedy because of his political views, and for his part Kennedy did not like Jagan because he was not treating Kennedy with deference and because he was clearly very, very left-wing. This would then culminate with some words being spoken which neither of them would reveal, and Kennedy being deeply insulted in a way that no other foreign leader had done. This is why Kennedy took a special interest. His adviser Schlesinger would later say the report of the meeting was “incomplete”. Interesting indeed.

Anyway, Jagan sealed his country’s fate, as JFK shoehorned Burnham into power and started a Burnham dictatorship (predictably) that would last for 21 years. What a mess.

Anyway, Here are the points as I understand them. The true decisions that made Guyana were the following.

-Jagan deciding to be an idealist and a leftist, which would then lead to international intervention

-Janet Rosenburg bringing Jagan into politics and Marxism in the first place

-Burnham deciding to be selfish and accept american assistance against Jagan.

-Burnham and Jagan deciding to put their own political goals first instead of calming racial division between the two main ethnic groups.

So. Who was the father of the nation? All three. Without any one of them, I do not see Guyana becoming the country it is today. But of the three, I think Jagan has to be the most important. I think without that left-wing attitude, Guyana would have received independence earlier and without the racial tensions precipitated by the British and by Burnham and Jagan.

But, who could blame him? Jagan is just a man, and his vision was not something he was willing to comprimise. He was not born with the ability to look into the future, and therefore he would never realise (until it was too late) what his views would do, what they would lead to- intervention rather than independence, and leader of the opposition rather than leader of the country.

But if, in 1953, you were to show Jagan what his actions would lead to in the future, I think things would be very different. No matter what Jagan’s political views were, I believe that he would put Guyana first, and make significant changes to his attitudes.

]]>

Analysis was completed to some degree! graphs were calculated but no significant impact.

Also did some work with Ashley clustering some data from SWARM. Elbow plot suggested 4 classes was optimal for k-means clustering. The data involved as parameters was the IMF parameter and the three magnetic field parameters (20 samples of these data for each datapoint on the plot). This builds a picture of the places with a similar magnetic field parameter and relationship with IMF. Longitude is time-adjusted (i.e. degrees away from noon), as the magnetic field is influenced significantly by solar radiation.

]]>

I am currently working on the concept of using the EPIC camera to try to look at SPEs and their immediate effect on cloud cover. At current, it appears that the camera does not have sufficient data so I may have to find a geostationary station instead. The effect of the Forbush Decrease appears to be well studied; I do not know if it is worth doing further reading here.

The first two images here show the effect of k-means clustering on an EPIC image.

The Elbow Plot for the k-means clustering looks like this:

I chose a cluster number of 2, and it seems to reproduce cloud cover well. I think, however, that using simple thresholds for brightness of pixels might be the more efficient method like so:

I would also like to show some problems with DSCOVR’s EPIC; Firstly, the part of the earth most effected by the SPE is quickly moved away from; secondly, I have found a lack of data around certain events (two SPEs in September 2017 have a lack of data to look at:

Finally, data is only available over a small number of SPEs, making statistical analysis difficult.

-S

]]>

It features a wind/elements based approach which acts to smooth the surface, alongside a rivers-based approach which creates the channels. together they create very realistic models of different features!

This is the river model, and the terrain it is acting on;

These are some examples of erosion creating flat:

and the rest are all images with different random seeds. Very happy with it!

def depo_func(J):

##takes an array of terrain heights and returns the deposition rate

J=np.array(J)

x1=[]

X0=[]

for i in range(len(J)):

for j in range(len(J[0])):

x=[]

if i==0:

x.append(0)

if j==0:

x.append(0)

x.append(J[1,0])

x.append(J[0,1])

elif j==len(J)-1:

x.append(0)

x.append(J[0,j-1])

x.append(J[1,j])

else:

x.append(J[0,j-1])

x.append(J[0,j+1])

x.append(J[1,j])

elif i==len(J)-1:

x.append(0)

if j==0:

x.append(0)

x.append(J[i-1,0])

x.append(J[i,1])

elif j==len(J)-1:

x.append(0)

x.append(J[i,j-1])

x.append(J[i-1,j])

else:

x.append(J[i,j-1])

x.append(J[i,j+1])

x.append(J[i-1,j])

elif j==0:

x.append(0)

x.append(J[i-1,0])

x.append(J[i+1,0])

x.append(J[i,1])

elif j==len(J)-1:

x.append(0)

x.append(J[i-1,j])

x.append(J[i+1,j])

x.append(J[i,j-1])

else:

x.append(J[i,j+1])

x.append(J[i+1,j])

x.append(J[i,j-1])

x.append(J[i-1,j])

X=np.mean(x)

X= X-J[i,j]

X0.append(X)

x1.append(X0)

X0=[]

return(x1)

def erosion_func(J,erosion_rate):

##takes an array of terrain heights and returns the eroded landscape

x1=depo_func(J)

x1=np.array(x1)

J=np.array(J)

o=[]

O=[]

for i in range(len(J)):

for j in range(len(J[0])):

o.append(J[i,j]+x1[i,j]*erosion_rate)

O.append(o)

o=[]

return(O)

def whichdirectionislowest(J,coordinate_storage):

###takes in location in array, and calculates coordinates of lowest neighbour

###returns new coordinates

J=np.array(J)

currentheight=J[coordinate_storage[0],coordinate_storage[1]]

if coordinate_storage[0]==0 or coordinate_storage[1]==0 or coordinate_storage[0]==len(J)-1 or coordinate_storage[1]==len(J)-1:

c=0

else:

removal=0#ticker as to whether we are on the bottom edge

##x is coordinate storage 0, y is coordinate storage 1

##choose the lowest number nearby

lowest=[]

#add 100*X1 to make sure it doesn’t refill places already full

row_1=J[coordinate_storage[0]-1]

row_2=J[coordinate_storage[0]]

row_3=J[coordinate_storage[0]+1]

lowest.append(row_1[coordinate_storage[1]])

lowest.append(row_2[coordinate_storage[1]+1])

lowest.append(row_2[coordinate_storage[1]-1])

lowest.append(row_3[coordinate_storage[1]])

if min(lowest)>currentheight:

c=0

elif lowest[0]==min(lowest):

coordinate_storage=[coordinate_storage[0]-1,coordinate_storage[1]]

elif lowest[1]==min(lowest):

coordinate_storage=[coordinate_storage[0],coordinate_storage[1]+1]

elif lowest[2]==min(lowest):

coordinate_storage=[coordinate_storage[0],coordinate_storage[1]-1]

elif lowest[3]==min(lowest):

coordinate_storage=[coordinate_storage[0]+1,coordinate_storage[1]]

lowest.append(currentheight)

currentheight=min(lowest)

return(coordinate_storage)

def rivertracer1(J,coordinate_storage,addition=0,steepness=True):

#traces the line of a river from coordinate in 2D array. Addition is for accumulation (later in river path is stronger)

J=np.array(J)

accumulator=0

size=len(J)

currentheight=J[coordinate_storage[0],coordinate_storage[1]]

X1=np.zeros((size,size))

X1=np.array(X1)

multiplier=1

while multiplier>0 and currentheight>0:

accumulator+=addition

currentheight=J[coordinate_storage[0],coordinate_storage[1]]

coordinate_storage2=whichdirectionislowest(J,coordinate_storage)

newheight=J[coordinate_storage2[0],coordinate_storage2[1]]

if steepness:

multiplier=currentheight-newheight

X1[coordinate_storage[0],coordinate_storage[1]]=(1+accumulator)*(multiplier+1)

else:

X1[coordinate_storage[0],coordinate_storage[1]]=(1+accumulator)

coordinate_storage=coordinate_storage2

##stops erosion at end of river path

X1[coordinate_storage[0],coordinate_storage[1]]=0

return(X1)

def rivererosion(J,rivererosionrate,addition1=0):

###returns a completed, RIVER eroded version of J with erosion rate. addition parameter means more erosion

##’further down’; might not be needed, set to 0

J=np.array(J)

X=np.zeros((100,100))

for i in range(len(J)):

for j in range(len(J[i])):

XD=rivertracer1(J,[i,j],addition=addition1)

X+=XD

D=J-X*rivererosionrate

return(D)

###

##Seed creation

J=np.random.randint (0,10000,(100,100))

J=np.array(J)

J=np.array(J)

##execution

for i in range(100):

print(i)

J=erosion_func(J,0.2)

J=rivererosion(J,0.02)

plt.imshow(J)

plt.contourf(J)

from mpl_toolkits.mplot3d import Axes3D

xx,yy=np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))

fig = plt.figure(figsize=(30, 20))

ax = plt.axes(projection = ‘3d’)

ax.contourf(xx,yy,J,levels=np.linspace(0,6000,1000))

]]>First of all, it is clear that ap data is not continuous, and appears in seperate bins (as expected). Highest values around 400. x axis is time (in hours since 1 1 1991).

The Ap index increases as frequency decreases (sorted version of above; x axis is the sample number from smallest to largest).

This next plot shows the time since the last storm. This has the y axis in hours. Longest time between storms (ap >40) was 6000 hours (250 days!)

When setting the cap at 200hrs for the time since the last storm, you can see an even split (i.e around half of the sample took place more than 200hrs since the last storm, with the other half taking place less than 200hrs since the last storm). This is good for classification (label of 1 means a storm has taken place in last 200hrs, label of 2 means a storm has not!)

This next plot is the other way around- time until the next storm. very similar.

This plot shows the frequency of how long until the next storm (i.e. y axis is sample size, x axis is time until the next storm.) using this we find this plot:

and combining the two we find this plot.

Clear peak at ~600 hours can be attributed to the fact that the solar rotation is around 600hours long.

Similar plots for the other way around (time since last storm) are pretty much identical.

]]>

1D CNN:

Input example:

Outputs:

Training Loss figure:

Clearly better than the MTF method in my opinion- more decisive and more accurate.

]]>The training datasets were clouds. Optics was used to cluster, for example:

Clusters seemed to default to -1 (No cluster) and were not productive. There were only two parameters (min cluster size and Xi), so I made a parameter space and set up a comprehensive search, with the following results for the number of clusters and the size of largest cluster:

You can see that the algorithm may be productive if Xi values are negative.

In addition, on the cryosphere I generated a map of glacier velocities (and edited some wikipedia articles; it would appear that there are two gargoyle ridges in Antarctica! Very strange.)

Everyone else did it as well, but I am pleased by it regardless. Using SNAP.

That’s about it for training so far- looking forward to getting back.

Sam

]]>This content is password protected. To view it please enter your password below:

]]>

The x-axis is in terms of months (like I said, it is a work in progress) and the y-axis is the number of sunspots. The red on the right hand side displays some forecasts.

Sam

]]>It is clear that accurate measurements show that average sea level rises by one centimetre a year, which is slightly concerning. At one station (Newlyn, UK), the following graph comes up based on tidal gauge:

Sea level is approximately 20cm higher than 0. The trend appears to be accelerating. I am glad that I am not engaged in this area of research- I believe that I would soon become very pessimistic!

We also did some bloom analysis of the coast of Kenya- here is another map!

]]>