Thanks to:
Christopher Milesky (for Mango Data),
Matthew and Maria M. (Mango group) for asking the initial questions,
and
Maria R. and Rachel for working through the Mathematica ideas with me.

Data Entry

maxtemp=Flatten[{35.6,36.4,38.6,36.7,35.7,32.0,29.3,29.1,30.6,35.1,36.9,35.6,
35.5,37.7,39.2,36.9,35.0,30.6,29.9,29.2,30.5,32.8,34.9,35.7,
37.0,38.2,37.8,36.5,33.9,32.9,30.5,29.4,31.3,32.8,35.9,36.5,
35.7,38.5,38.3,36.6,35.2,32.7,30.7,28.8,30.2,34.0,35.8,35.3,
35.4,38.0,39.0,37.4,34.2,31.2,30.7,29.8,30.5,34.2,36.9,35.2,
36.7,37.7,39.2,37.5,35.4,31.7,31.3,30.0,30.6,33.7,36.7,36.3,
35.1,38.2,37.6,36.2,35.2,31.5,30.3,29.1,30.6,34.2,36.5,35.3,
35.1,37.6,38.0,34.9,35.0,31.4,30.7,30.6,30.6,34.0,35.7,36.3,
36.2,39.3,39.7,36.4,35.6,33.1,30.6,29.9,30.8,33.1,35.4,36.8,
37.2,38.0,39.3,38.9,34.3,33.5,30.3,29.1,30.0,34.7,36.3,35.0,
35.1,37.2,38.3,37.3,34.0,32.1,29.8,29.4,30.7,34.1,36.9,35.0,
35.9,38.3,38.9,36.4,34.6,33.0,31.0,30.1,31.3,33.8,36.2,35.2,
35.9,38.8,38.8,38.6,36.4,32.8,31.4,30.6,31.0,34.8,36.4,35.9,
33.8,37.1,39.2,37.8,34.9,33.2,30.5,30.2,30.5,34.0,36.0,34.7,
34.5,37.4,38.7,36.6,34.5,33.0,29.9,30.6,30.3,33.9,36.3,35.9,
35.2,37.0,38.7,37.5,33.9,30.9,30.5,30.3,32.1,32.5,35.5,35.8,
36.6,37.7,38.2,38.9,35.3,33.0,31.4,30.3,31.6,34.0,36.8,34.2,
36.3,38.9,38.0,35.2,33.5,32.7,30.0,30.7,31.5,34.3,35.6,36.3,
37.0,38.1,38.7,38.5,34.7,31.8,30.9,31.1,31.4,34.2,35.8,34.6,
36.7,38.0,39.5,39.2,35.5,32.0,31.7,30.3,32.0,33.6,36.0,33.7,
34.6,38.2,38.4,36.2,33.9,33.3,30.9,30.4,32.3,35.9,36.4,36.6,
35.0,36.5,37.6,37.1,34.5,32.3,31.1,30.7,32.1,33.8,35.6,35.0,
31.9,38.4,39.3,38.8,36.2,31.9,30.8,31.0,31.7,35.8,37.0,36.0,
35.0,37.1,37.5,35.8,34.0,33.3,32.5,32.3,31.8,34.1,36.5,34.0,
35.9,36.3,38.8,37.3,35.7,33.0,30.5,30.3,31.1,35.1,37.0,33.5,
34.9,38.7,39.1,38.1,36.9,33.6,30.5,30.9,31.2,34.4,34.9,33.6,
36.2,38.8,38.8,40.3,38.3,33.1,31.8,31.5,32.4,34.7,37.6,35.5,
34.6,38.0,39.9,37.6,36.7,31.9,30.5,29.8,31.2,35.6,37.1,33.9,
33.8,36.0,38.0,39.6,37.4,32.3,31.2,30.4,31.8,33.9,37.3,35.0,
35.0,36.7,39.3,38.4,35.6,33.3,30.9,31.3,32.4,35.4,37.4,36.5,
36.7,38.8,38.8,37.2,33.6,33.1,30.7,31.0,32.8,34.4,36.4,35.0,
33.7,37.9,39.5,37.5,34.2,32.4,30.9,30.6,31.9,35.2,35.1,35.7,
35.3,38.0,38.8,39.6,36.9,33.9,30.8,31.4,32.0,35.1,37.4,35.7,
34.9,37.6,40.0,39.0,35.9,32.7,30.8,30.9,31.9,33.9,36.1,34.7,
34.3,37.2,39.7,38.6,36.5,34.1,32.0,30.7,33.0,34.7,36.7,36.5,
37.7,39.2,40.2,37.5,35.0,32.6,32.0,30.8,31.8,34.1,36.4,37.0,
37.0,36.5,38.3,36.7,34.0,30.2,31.5,32.0,33.8,35.6,37.2,36.6,
36.2,39.4,40.0,40.4,36.5,33.0,32.2,31.1,32.1,35.5,37.9,36.1,
36.7,37.1,40.6,38.1,36.8,34.5,31.3,30.5,31.3,34.3,37.6,35.9,
36.9,35.8,39.6,39.7,36.5,33.3,31.5,31.4,32.6,35.5,37.8,36.1,
36.5,37.4,40.5,39.4,36.5,34.1,31.9,30.4,31.5,34.4,36.4,35.5,
35.6,37.7,38.9,38.1,35.3,32.6,30.9,31.5,33.2,34.6,37.7,36.5,
36.7,40.0,39.7,37.3,37.8,32.7,32.0,31.8,32.6,36.3,38.1,36.4,
36.4,39.4,39.1,37.2,35.1,32.8,31.7,31.9,32.7,36.5,37.5,37.9,
34.4,38.9,40.5,39.2,36.4,33.6,31.9,31.6,32.9,35.7,38.4,37.6,
37.9,39.2,40.7,40.3,35.9,34.7,32.9,31.7,31.9,35.2,37.3,36.3,
35.0,39.2,40.7,38.3,35.6,33.8,32.0,30.6,32.4,36.4,37.9,36.2,
33.4,37.6,39.5,39.0,35.8,33.3,31.6,31.2,32.3,35.5,38.3,37.0,
35.4,39.7,40.6,37.5,35.8,34.5,31.6,31.6,32.4,34.7,36.8,37.7,
37.6,40.1,40.8,35.2,35.9,33.6,31.3,31.1,31.5,33.9,36.8,36.7,
35.7,38.3,40.3,39.2,36.9,34.1,32.4,31.4,32.5,34.7,37.8,35.8,
35.3,38.1,39.9,37.6,33.9,32.6,31.2,30.5,31.8,34.6,37.4,37.8,
36.0,38.7,40.0,36.8,34.6,32.9,32.0,30.8,32.3,35.0,37.7,35.6,
36.4,38.1,39.2,37.5,36.0,34.6,32.7,30.7,31.4,35.0,37.3,35.9,
34.5,38.1,38.6,38.6,37.9,35.3,32.1,30.8,32.0,34.4,36.9,33.8
}];

mintemp=Flatten[{16.9,17.5,21.7,23.8,22.9,21.1,20.6,19.9,19.5,19.8,16.8,14.8,
15.0,17.9,23.0,23.8,22.0,20.4,20.3,20.1,20.5,20.4,20.7,15.7,
16.3,21.7,22.4,23.1,22.0,20.7,19.9,19.8,19.9,19.9,15.8,15.4,
17.6,19.0,24.0,24.5,23.8,21.8,21.9,21.7,21.5,21.9,20.3,19.7,
19.5,22.1,23.7,24.8,23.3,21.9,22.0,21.5,21.2,21.5,17.7,16.7,
17.2,19.1,24.4,25.1,24.3,22.5,22.2,22.2,21.8,21.4,19.7,17.6,
17.0,21.7,23.6,24.5,23.8,22.1,22.1,21.7,21.6,21.5,19.5,20.1,
17.2,21.4,24.7,23.9,23.6,22.3,22.1,22.1,21.6,21.8,20.1,19.4,
17.3,22.7,26.1,25.1,23.3,22.2,21.4,21.5,21.3,21.3,17.9,16.1,
17.7,20.2,24.3,26.0,22.9,22.3,21.1,21.2,20.5,21.0,18.1,16.5,
15.5,21.1,24.5,24.0,22.5,21.3,20.1,20.5,20.4,20.6,18.5,19.6,
18.1,21.3,25.1,25.0,24.4,22.9,22.1,21.9,22.0,22.1,18.8,19.2,
19.0,22.5,24.7,25.8,24.8,23.1,22.4,22.3,21.4,22.4,18.9,17.9,
18.2,20.1,25.1,25.8,24.4,23.1,22.2,22.3,21.4,21.9,18.7,16.7,
16.1,20.1,24.0,24.7,23.9,22.4,21.9,22.1,21.6,21.6,19.3,18.2,
18.0,22.3,23.7,24.0,23.4,21.8,22.0,21.4,21.9,21.6,20.1,17.0,
18.6,20.3,23.2,26.4,24.9,23.4,22.7,22.3,22.4,21.3,18.2,17.8,
18.4,21.8,25.0,24.9,23.9,22.9,21.9,21.8,21.6,22.0,19.3,18.1,
19.3,19.7,25.1,26.1,24.4,23.3,22.1,23.1,21.7,22.4,20.4,17.8,
20.2,22.4,24.7,26.8,24.9,23.7,22.4,22.1,22.1,21.9,20.4,17.4,
16.8,21.5,24.9,26.0,23.8,23.1,22.5,22.0,22.0,22.2,19.4,18.5,
17.4,21.8,24.2,25.1,24.0,22.8,22.3,21.9,21.6,21.5,18.7,18.1,
17.5,21.8,23.9,26.4,24.9,23.0,22.2,22.5,21.5,21.4,19.4,19.7,
19.0,20.4,24.4,25.3,24.1,23.0,22.3,22.2,21.9,22.3,21.5,18.6,
20.3,21.4,26.4,26.1,25.2,23.3,21.8,22.2,21.8,22.0,20.8,18.3,
18.3,22.7,25.6,26.1,25.4,23.4,22.3,22.4,22.1,22.3,19.4,17.8,
20.0,22.4,24.6,26.9,26.6,23.7,23.0,22.8,22.9,22.4,20.2,20.2,
20.5,22.4,26.6,26.0,25.3,22.8,22.4,22.3,22.6,21.9,20.2,19.0,
17.7,20.5,23.7,26.5,25.1,22.8,22.5,22.5,22.1,21.6,19.4,19.3,
20.7,21.3,23.2,26.4,24.9,23.2,22.5,22.8,22.4,22.7,22.7,21.3,
20.6,23.7,26.3,25.8,24.5,23.9,22.6,22.7,22.5,22.1,19.7,18.7,
19.3,21.4,25.2,25.9,24.2,22.7,22.4,22.4,22.2,22.2,20.3,18.7,
18.1,21.9,25.0,26.9,25.6,23.3,22.3,22.6,22.6,22.4,22.9,19.6,
20.1,21.6,26.1,26.5,24.4,23.2,22.9,22.7,22.8,22.2,18.9,17.6,
17.8,20.5,25.4,26.4,24.8,24.2,22.9,22.4,22.7,22.5,20.0,19.8,
19.4,23.4,26.3,25.7,24.8,23.1,22.8,22.6,22.2,21.7,18.1,18.6,
19.9,20.9,24.6,25.0,24.8,22.9,22.5,22.5,22.8,23.2,20.7,19.4,
19.9,23.5,24.9,24.9,24.8,23.5,23.3,22.7,22.6,23.0,20.0,19.9,
20.1,21.9,26.5,25.8,24.8,23.9,22.9,22.9,22.0,22.1,20.2,18.3,
21.4,19.6,23.9,26.6,24.8,22.3,22.8,22.4,22.1,22.3,20.0,18.1,
18.7,20.6,25.3,27.1,24.8,23.8,22.8,22.0,21.8,21.8,19.5,20.0,
18.5,21.2,24.6,25.6,24.8,23.0,22.1,22.6,23.1,22.6,20.6,18.8,
20.2,24.3,25.1,25.9,24.8,23.5,23.1,23.1,22.8,23.4,21.3,19.1,
20.5,24.5,25.2,25.7,24.8,22.9,22.7,22.9,22.2,23.0,22.3,20.6,
19.6,25.2,27.7,27.6,24.8,23.9,23.2,23.0,22.7,22.5,20.8,20.2,
21.9,22.8,26.9,27.7,24.8,23.8,23.6,23.1,22.2,23.2,19.6,19.4,
19.2,22.5,25.7,26.3,24.8,23.7,23.1,22.6,22.4,23.2,22.6,20.2,
18.0,21.2,25.4,26.2,24.8,23.3,22.9,22.6,22.7,22.7,19.6,21.0,
19.5,24.3,27,25.8,24.8,23.9,22.8,23.2,22.9,23.2,21.4,20.2,
19.9,24.4,27.4,24.9,24.8,24.6,23.6,23.1,23.2,23.1,21.4,18.1,
19.2,24.4,26.7,25.8,24.8,24.1,23.1,22.9,22.8,22.9,20.3,18.9,
19.0,23.2,26.4,25.8,24.8,23.1,22.7,22.2,23.1,22.8,22.2,20.8,
19.6,21.9,27.2,25.3,24.8,23.2,23.0,23.0,22.6,22.9,22.2,19.4,
20.9,23.0,26.3,26.2,24.8,23.8,23.9,23.0,22.3,23.2,22.6,19.5,
19.3,23.4,25.6,26.2,24.8,24.9,23.8,23.4,24.6,23.1,21.3,18.6
}];

We create a PDF (probability density function) of the max/min temperatures, using a “kernel smoother”.
From that, we create a contour plot, giving us some sense of the probability of any particular region of (min,max) temperature combinations.

𝒟=SmoothKernelDistribution[Transpose[{mintemp,maxtemp}]];
contour=ContourPlot[PDF[𝒟,{x,y}]//Evaluate,{x,Min[mintemp],Max[mintemp]},{y,Min[maxtemp],Max[maxtemp]},PlotRange->All,AxesLabel->{"Min","Max"},PlotPoints->50,Contours->15,ColorFunction->"TemperatureMap"]

Bring in the Mango rain data, and measure time in days (I use Julian days for the center of each month, and then subtract the first day of the first year to get “days from beginning of the study”):

rain=Import["http://www.nku.edu/~longa/classes/2018spring/mat375/mini-projects/mini-project-no3/Mango/Mango.rains.txt","List"];
rain=Rest[rain];
days=Import["http://www.nku.edu/~longa/classes/2018spring/mat375/mini-projects/mini-project-no3/Mango/Mango.dates.txt","List"];
days=Rest[days];

We now create a 3-dimensional (surface) plot of the PDF, and a 3-d point plot showing the data (min, max, rainfall):

dens=Plot3D[PDF[𝒟,{x,y}]//Evaluate,{x,Min[mintemp],Max[mintemp]},{y,Min[maxtemp],Max[maxtemp]},PlotRange->All,PlotPoints->50,ColorFunction->"TemperatureMap",AxesLabel->{"Min","Max","PDF"}]
ListPointPlot3D[Transpose[{mintemp,maxtemp,rain}],PlotRange->All,ColorFunction->"TemperatureMap",AxesLabel->{"Min","Max","Rainfall"}]

This next plot is a point plot of (year, month, rainfall):

raintable=Table[{i+1960,j,rain[[12*(i-1)+j]]},{i,1,55,1},{j,1,12,1}];
ListPointPlot3D[raintable,PlotRange->All,ColorFunction->"TemperatureMap",AxesLabel->{"Year","Month of the Year","Rainfall"}]

Let’s scale the rain, so that it can be used as a point size in some manipulate visualizations:

scalerain=rain*.03/Max[rain];
Manipulate[
p1=ListPointPlot3D[{{mintemp[[t]],maxtemp[[t]],scalerain[[t]]}
,{mintemp[[t]],maxtemp[[t]],PDF[𝒟,{mintemp[[t]],maxtemp[[t]]}]+scalerain[[t]]}},PlotRange->All,PlotStyle->{Black,PointSize[0.02+scalerain[[t]]]}];
Show[dens,p1],
{{t,1},1,Length[rain],1}
]

Here are linear models for mintemp, maxtemp, and rainfall. I used my favorite power-of-2 periods: one year, half a year, and a quarter of a year:

minmodel=LinearModelFit[Transpose[{days,mintemp}],{1,x,
Sin[2Pi (1 x/365.25)],Cos[2Pi (1 x/365.25)],
Sin[2Pi (2 x/365.25)],Cos[2Pi (2 x/365.25)],
Sin[2Pi (4 x/365.25)],Cos[4Pi (4x/365.25)]
},x];maxmodel=LinearModelFit[Transpose[{days,maxtemp}],{1,x,
Sin[2Pi (1 x/365.25)],Cos[2Pi (1 x/365.25)],
Sin[2Pi (2 x/365.25)],Cos[2Pi (2 x/365.25)],
Sin[2Pi (4 x/365.25)],Cos[4Pi (4x/365.25)]},x];rainmodel=LinearModelFit[Transpose[{days,rain}],{1,x,
Sin[2Pi (1 x/365.25)],Cos[2Pi (1x/365.25)],
Sin[2Pi (2 x/365.25)],Cos[2Pi (2 x/365.25)],
Sin[2Pi (4 x/365.25)],Cos[2Pi (4 x/365.25)]},x];
minmodel["ParameterTable"]
maxmodel["ParameterTable"]
rainmodel["ParameterTable"]

Now we visualize each of the models, period by period, and compare to the data:

raindataplot=ListPlot[Transpose[{days,rain}]];
Manipulate[
rainmodelplot=Plot[rainmodel[x],{x,t*365.25,(t+n)*365.25},PlotRange->{{t*365.25,(t+n)*365.25},{Min[rain],Max[rain]}},PlotLabel->"Model Versus Rain Data",AxesLabel->{"Days","Rainfall"}];
Show[rainmodelplot,raindataplot],
{{t,0},0,50,1},
{{n,1},1,5,1}]

maxtempdataplot=ListPlot[Transpose[{days,maxtemp}]];
Manipulate[
maxmodelplot=Plot[maxmodel[x],{x,t*365.25,(t+n)*365.25},PlotRange->{{t*365.25,(t+n)*365.25},{Min[maxtemp],Max[maxtemp]}},PlotLabel->"Model Versus Max Temp Data",AxesLabel->{"Days","Max Temp"}];
Show[maxmodelplot,maxtempdataplot],
{{t,0},0,50,1},
{{n,1},1,5,1}]

mintempdataplot=ListPlot[Transpose[{days,mintemp}]];
Manipulate[
minmodelplot=Plot[minmodel[x],{x,t*365.25,(t+n)*365.25},PlotRange->{{t*365.25,(t+n)*365.25},{Min[mintemp],Max[mintemp]}},PlotLabel->"Model Versus Min Temp Data",AxesLabel->{"Days","Min Temp"}];
Show[minmodelplot,mintempdataplot],
{{t,0},0,50,1},
{{n,1},1,5,1}]

For our final trick, we put it all together, and visualize the data (min, max, rainfall) along with our model predictions for each of those three (minmodel(t), maxmodel(t), rainfall(t)):

Manipulate[
p1=ListPlot[{{mintemp[[t]],maxtemp[[t]]}},PlotRange->All,PlotStyle->{Black,PointSize[0.02+scalerain[[t]]]}];
p2=ListPlot[{{minmodel[days[[t]]],maxmodel[days[[t]]]}},PlotRange->All,PlotStyle->{Blue,PointSize[0.02+Max[{0,rainmodel[days[[t]]]}]*.03/Max[rain]]}];
Show[contour,p1,p2],
{{t,1},1,Length[rain],1}
]