[R] Help with plotting and date-times for climate data

Kevin Zembower kev|n @end|ng |rom zembower@org
Wed Sep 13 21:25:40 CEST 2023


Hi, Tim,

I actually did see this chart when I was doing some research, but
rejected it because it was difficult to interpolate the graph for the
three week period I was interested it. I didn't discover until just now
that I could click on the labels on the x-axis to expand the graph.
Unfortunately, downloading the data from this site costs $95/month. 

Also, I found the raw data (from the NWS, for free) and decided to
exercise my R skills to see if I could produce the exact graph I
wanted.

Thanks for taking the time to research this.

-Kevin

On Wed, 2023-09-13 at 18:21 +0000, Ebert,Timothy Aaron wrote:
> Hi Kevin,
> 
> https://weatherspark.com/y/11610/Average-Weather-in-Ely-Minnesota-United-States-Year-Round
> Just scroll down. I think what you are looking for is the first
> graph, but there are about a dozen other graphs on various
> meteorological metrics. 
>        
>        Another option would be to use larger cities (Duluth,
> International Falls, Thunder Bay) and take a metal average. There is
> a lake effect for two of these more than the other. 
>        
>        All good?
> Tim
> 
> -----Original Message-----
> From: Kevin Zembower <kevin using zembower.org> 
> Sent: Wednesday, September 13, 2023 2:05 PM
> To: Ebert,Timothy Aaron <tebert using ufl.edu>; Richard O'Keefe
> <raoknz using gmail.com>
> Cc: r-help using r-project.org
> Subject: Re: [R] Help with plotting and date-times for climate data
> 
> [External Email]
> 
> Well, I looked for this, on both the NWS and WeatherUnderground, but
> couldn't find what I was looking for. Didn't check Weather.com, but
> if you can find a chart of the average high and low temperatures in
> Ely, MN between about the middle of September to the middle of
> October, I'll buy you a beer.
> 
> -Kevin
> 
> On Wed, 2023-09-13 at 17:39 +0000, Ebert,Timothy Aaron wrote:
> > I admire the dedication to R and data science, but the Weather
> > Channel 
> > might be a simpler approach. Weather.com. I can search for (city
> > name) 
> > and either weather (current values) or climate. It depends on how
> > far 
> > away the trip will be.
> > 
> > -----Original Message-----
> > From: Kevin Zembower <kevin using zembower.org>
> > Sent: Wednesday, September 13, 2023 1:22 PM
> > To: Richard O'Keefe <raoknz using gmail.com>; Ebert,Timothy Aaron 
> > <tebert using ufl.edu>
> > Cc: r-help using r-project.org
> > Subject: Re: [R] Help with plotting and date-times for climate data
> > 
> > [External Email]
> > 
> > Tim, Richard, y'all are reading too much into this. I believe that 
> > TMAX is the high temperature of the day, and TMIN is the low. I'm 
> > trying to compute the average or median high and low temperatures
> > for 
> > the data I have (2011 to present). I'm going on a trip to this
> > area, 
> > and want to know how to pack.
> > 
> > Thanks for your interest.
> > 
> > -Kevin
> > 
> > On Thu, 2023-09-14 at 03:07 +1200, Richard O'Keefe wrote:
> > > I am well aware of the physiological implications of temperature,
> > > and that is *why* I view recorded TMIN and TMAX at a single point
> > > with an extremely jaundiced eye.  TMAX at shoulder height has
> > > very 
> > > little relevance to an insect living in grass, for example.  And
> > > if 
> > > TMAX is sustained for one second, that has very different 
> > > consequences from if TMAX is sustained for five minutes.  I can
> > > see 
> > > the usefulness of "proportion of day above Thi/below Tlo", but
> > > that 
> > > is quite different.
> > > 
> > > OK, so my interest in weather data was mainly based around water
> > > management: precipitation, evaporation, herd and crop water
> > > needs, 
> > > that kind of thing.  And the first thing you learn from that 
> > > experience is that ANY kind of single-point summary is seriously 
> > > misleading.
> > > 
> > > Let's end this digression.
> > > 
> > > 
> > > On Thu, 14 Sept 2023 at 02:18, Ebert,Timothy Aaron
> > > <tebert using ufl.edu>
> > > wrote:
> > > > I had the same question.
> > > > However, I can partly answer the off-topic question. Min and
> > > > max 
> > > > can be important as lower and upper development thresholds.
> > > > Below 
> > > > the min no growth or development occur because reaction rates
> > > > are 
> > > > too slow to enable such. Above max, temperatures are too hot.
> > > > Protein function is impaired, and systems stop functioning.
> > > > There 
> > > > is a considerable range between where systems shut down (but
> > > > recover) and tissue death.
> > > > In a simple form the growth and physiological stage of plants, 
> > > > insects, and many others, can be modeled as a function of 
> > > > temperature. These are often called growing degree day models
> > > > (or 
> > > > some version of that). This is number of thermal units needed
> > > > for 
> > > > the organism to develop to the next stage (e.g. instar for an 
> > > > insect, or fruit/flower formation for a plant). However, better
> > > > accuracy is obtained if the model includes both min and max 
> > > > thresholds.
> > > > 
> > > > All I have done is provide an example where min and max could
> > > > have 
> > > > a real world use. I use max(temp) over some interval and then 
> > > > update an accumulated thermal units variable based on the
> > > > outcome.
> > > > That detail is not evident in the original request.
> > > > 
> > > > Tim
> > > > 
> > > > -----Original Message-----
> > > > From: R-help <r-help-bounces using r-project.org> On Behalf Of
> > > > Richard
> > > > O'Keefe
> > > > Sent: Wednesday, September 13, 2023 9:58 AM
> > > > To: Kevin Zembower <kevin using zembower.org>
> > > > Cc: r-help using r-project.org
> > > > Subject: Re: [R] Help with plotting and date-times for climate
> > > > data
> > > > 
> > > > [External Email]
> > > > 
> > > > Off-topic, but what is a "mean temperature max"
> > > > and what good would it do you to know you if you did?
> > > > I've been looking at a lot of weather station data and for no
> > > > question I've ever had (except "would the newspapers get
> > > > excited
> > > > about this") was "max" (or min) the answer.  Considering the
> > > > way
> > > > that temperature can change by several degrees in a few
> > > > minutes,
> > > > or
> > > > a few metres -- I meant horizontally when I wrote that, but as
> > > > you
> > > > know your head and feet don't experience the same temperature,
> > > > again
> > > > by more than one degree -- I am at something of a loss to
> > > > ascribe
> > > > much practical significance to TMAX.  Are you sure this is the
> > > > analysis you want to do?  Is this the most informative data you
> > > > can
> > > > get?
> > > > 
> > > > On Wed, 13 Sept 2023 at 08:51, Kevin Zembower via R-help <
> > > > r-help using r-project.org> wrote:
> > > > 
> > > > > Hello,
> > > > > 
> > > > > I'm trying to calculate the mean temperature max from a file
> > > > > of
> > > > > climate date, and plot it over a range of days in the year.
> > > > > I've
> > > > > downloaded the data, and cleaned it up the way I think it
> > > > > should
> > > > > be.
> > > > > However, when I plot it, the geom_smooth line doesn't show
> > > > > up.
> > > > > I
> > > > > think that's because my x axis is characters or factors.
> > > > > Here's
> > > > > what I have so far:
> > > > > ========================================
> > > > > library(tidyverse)
> > > > > 
> > > > > data <- read_csv("Ely_MN_Weather.csv")
> > > > > 
> > > > > start_day = yday(as_date("2023-09-22")) end_day =
> > > > > yday(as_date("2023-10-15"))
> > > > > 
> > > > > d <- as_tibble(data) %>%
> > > > >      select(DATE,TMAX,TMIN) %>%
> > > > >      mutate(DATE = as_date(DATE),
> > > > >             yday = yday(DATE),
> > > > >             md = sprintf("%02d-%02d", month(DATE),
> > > > > mday(DATE))
> > > > >             ) %>%
> > > > >      filter(yday >= start_day & yday <= end_day) %>%
> > > > >      mutate(md = as.factor(md))
> > > > > 
> > > > > d_sum <- d %>%
> > > > >      group_by(md) %>%
> > > > >      summarize(tmax_mean = mean(TMAX, na.rm=TRUE))
> > > > > 
> > > > > ## Here's the filtered data:
> > > > > dput(d_sum)
> > > > > 
> > > > > > structure(list(md = structure(1:25, levels = c("09-21",
> > > > > > "09-
> > > > > > 22",
> > > > > "09-23", "09-24", "09-25", "09-26", "09-27", "09-28", "09-
> > > > > 29",
> > > > > "09-30", "10-01", "10-02", "10-03", "10-04", "10-05", "10-
> > > > > 06",
> > > > > "10-07", "10-08", "10-09", "10-10", "10-11", "10-12", "10-
> > > > > 13",
> > > > > "10-14", "10-15"), class = "factor"), tmax_mean = c(65,
> > > > > 62.2222222222222, 61.3, 63.8888888888889, 64.3,
> > > > > 60.1111111111111,
> > > > > 62.3, 60.5, 61.9, 61.2, 63.6666666666667, 59.5,
> > > > > 59.5555555555556,
> > > > > 61.5555555555556, 59.4444444444444, 58.7777777777778,
> > > > > 55.8888888888889, 58.125, 58, 55.6666666666667, 57,
> > > > > 55.4444444444444, 49.7777777777778, 48.75,
> > > > > 43.6666666666667)),
> > > > > class = c("tbl_df", "tbl", "data.frame"
> > > > > ), row.names = c(NA, -25L))
> > > > > > 
> > > > > ggplot(data = d_sum, aes(x = md)) +
> > > > >      geom_point(aes(y = tmax_mean, color = "blue")) +
> > > > >      geom_smooth(aes(y = tmax_mean, color = "blue"))
> > > > > =====================================
> > > > > My questions are:
> > > > > 1. Why isn't my geom_smooth plotting? How can I fix it?
> > > > > 2. I don't think I'm handling the month and day combination
> > > > > correctly.
> > > > > Is there a way to encode month and day (but not year) as a
> > > > > date?
> > > > > 3. (Minor point) Why does my graph of tmax_mean come out red
> > > > > when
> > > > > I specify "blue"?
> > > > > 
> > > > > Thanks for any advice or guidance you can offer. I really
> > > > > appreciate the expertise of this group.
> > > > > 
> > > > > -Kevin
> > > > > 
> > > > > ______________________________________________
> > > > > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more,
> > > > > see
> > > > > https://stat/
> > > > > .ethz.ch%2Fmailman%2Flistinfo%2Fr-
> > > > > help&data=05%7C01%7Ctebert%40ufl.edu
> > > > > %7C41f002949dac426196de08dbb4619001%7C0d4da0f84a314d76ace60a6
> > > > > 23
> > > > > 31
> > > > > e1b84
> > > > > %7C0%7C0%7C638302103358987487%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> > > > > iM
> > > > > C4
> > > > > wLjAw
> > > > > MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%
> > > > > 7C
> > > > > %7
> > > > > C&sda
> > > > > ta=dfC3W%2F%2BBsZI0EaAx%2FocRgw81PSJH8sVZHPFB4rMyiaM%3D&reser
> > > > > ve
> > > > > d=
> > > > > 0
> > > > > PLEASE do read the posting guide
> > > > > https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw%2F&data=05%7C01%7Ctebert%40ufl.edu%7Ceb3203dbe3604b493e8508dbb483ec04%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638302250923845973%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=XWPxxPOcjINJT48scUUSPmrnIir9fkFC0CR9DDOhNxg%3D&reserved=0
> > > > > ww.r%2F&data=05%7C01%7Ctebert%40ufl.edu%7C7379ecec6a1e42280d1
> > > > > 60
> > > > > 8db
> > > > > b47df5e7%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C6383022
> > > > > 25
> > > > > 313
> > > > > 579978%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2
> > > > > lu
> > > > > MzI
> > > > > iLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=9U5h9tW
> > > > > Ti
> > > > > mMo
> > > > > TGLnHvHCufVzw%2Bptd5m4prhLGwPYzx8%3D&reserved=0
> > > > > -project.org%2Fposting-
> > > > > guide.html&data=05%7C01%7Ctebert%40ufl.edu%7C41
> > > > > f002949dac426196de08dbb4619001%7C0d4da0f84a314d76ace60a62331e
> > > > > 1b
> > > > > 84
> > > > > %7C0%
> > > > > 7C0%7C638302103358987487%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w
> > > > > Lj
> > > > > Aw
> > > > > MDAiL
> > > > > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C
> > > > > &s
> > > > > da
> > > > > ta=zR
> > > > > IyH2os0w%2Bi1M26YCGqRFZyXNN6KnS2ddNrEZ9BvVo%3D&reserved=0
> > > > > and provide commented, minimal, self-contained, reproducible
> > > > > code.
> > > > > 
> > > > 
> > > >         [[alternative HTML version deleted]]
> > > > 
> > > > ______________________________________________
> > > > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more,
> > > > see
> > > > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fst%2F&data=05%7C01%7Ctebert%40ufl.edu%7Ceb3203dbe3604b493e8508dbb483ec04%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638302250923845973%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DXwI7zyC7Q2h1XOy3O6S5j1XLOrfITRXp04zmndRLP4%3D&reserved=0
> > > > at.ethz.ch%2Fmailman%2Flistinfo%2Fr-
> > > > help&data=05%7C01%7Ctebert%40ufl
> > > > .edu%7C7379ecec6a1e42280d1608dbb47df5e7%7C0d4da0f84a314d76ace60
> > > > a6
> > > > 233
> > > > 1e1b84%7C0%7C0%7C638302225313579978%7CUnknown%7CTWFpbGZsb3d8eyJ
> > > > WI
> > > > joi
> > > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> > > > 00
> > > > %7C
> > > > %7C%7C&sdata=2Chr1XJ6IqitN92naJMKy%2FTl4QUfxM4hstlQBtr1JUs%3D&r
> > > > es
> > > > erv
> > > > ed=0
> > > > PLEASE do read the posting guide
> > > > https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww%2F&data=05%7C01%7Ctebert%40ufl.edu%7Ceb3203dbe3604b493e8508dbb483ec04%7C0d4da0f84a314d76ace60a62331e1b84%7C0%7C0%7C638302250924002238%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1ptyKs14CpDG7AfSRXTTTPMhKB%2BwxNAIuxDAjbHXreg%3D&reserved=0
> > > > .r-project.org%2Fposting-
> > > > guide.html&data=05%7C01%7Ctebert%40ufl.edu%
> > > > 7C7379ecec6a1e42280d1608dbb47df5e7%7C0d4da0f84a314d76ace60a6233
> > > > 1e
> > > > 1b8
> > > > 4%7C0%7C0%7C638302225313579978%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> > > > MC
> > > > 4wL
> > > > jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> > > > %7
> > > > C%7
> > > > C&sdata=e3eVmipjkORF5tGjzkla9AcvQ7c6VJR1nrSJYxFJaAM%3D&reserved
> > > > =0
> > > > and provide commented, minimal, self-contained, reproducible
> > > > code.
> > 
> > 
> 
> 





More information about the R-help mailing list