Introducere
Date climatologice
Aplicații software
Concluzii
Seminariile geo-spatial.org Timișoara 2016
Introducere
Date climatologice
Aplicații software
Concluzii
Climatologia - totalitatea stărilor de vreme cunoscute de un anumit teritoriu pe o perioadă lungă
În domeniul studierii climei și evaluării impactului asupra sistemelor naturale și umane se utilizează șiruri de date neîntrerupte, mai lungi de 30 de ani
Tipuri de date climatologice
Măsurători meteorologice de suprafață (stațiile meteo)
Date gridate
Rezultatele experimentelor numerice (date de reanaliză, modele climatice)
Produse obținute din prelucrarea imaginilor satelitare
Stația meteorologică: un ansamblu de echipamente cu ajutorul cărora se efectuează observații directe asupra fenomenelor meteorologice, climatice și hidrologice de bază și o prelucrare primară a datelor
Programul de măsurători sinoptice: 00h00, 06h00, 12h00, 18h00 (UTC), ore intermediare sinoptice 03h00, 09h00, 15h00, 21h00 (UTC), sau orare
Datele obținute în urma efectuării observațiilor sunt codificate utilizându-se codul synop, procedură care facilitează transmiterea datelor de la locațiile stațiilor către centrele regionale meteo
WMO Resolution 40 Cover Letter, GENEVA, 26 October 1995: international data exchanged under the World Meteorological Organization http://www.nws.noaa.gov/im/wmocovr.htm
Arhive de date meteorologice libere:
Integrated Surface Database - Hourly (ISD: https://www.ncdc.noaa.gov/isd)
Global Historical Climatology Network - Daily (GHCN-Daily: https://www.ncdc.noaa.gov/oa/climate/ghcn-daily/)
Global Summary of the Month (GSOM: http://gis.ncdc.noaa.gov/all-records/catalog/search/resource/details.page?id=gov.noaa.ncdc:C00946)
Observații globale orare și sinoptice compilate din diverse surse (synop, metar, buoys, etc) în format ASCII
Integrează date din peste 100 de surse (35000 de stații)
Baza de date actualizată zilnic cu date furnizate de aproximativ 14000 de stații active
library(worldmet) stations.ro <- getMeta(country = "RO", plot = F) as.data.frame(stations.ro)
library(worldmet) stations.ro <- getMeta(country = "RO", plot = F) # Darabani dat <- importNOAA(code = "150000-99999", year = 2016:2016) dat <- dat[!is.na(dat$lon),] as.data.frame(tail(dat[,c(1,5:20)]))
Conține informații obținute de la peste 80000 stații din 180 de țări și teritorii
Archived at the NOAA/National Climatic Data Center in perpetuity for future retrieval (Menne et al. 2012)
library(rnoaa) library(data.table) library(dplyr) setwd("/Users/alexdum/Documents/prezentari/2016/icub") stations <- fread("tabele/stations_ghcn_d.csv") dat <- stations %>% filter(grepl("BUCURESTI-BANEASA", name)) baneasa <- ghcnd(stationid = dat$id[1]) alldat <- ghcnd_splitvars(baneasa) snwd <- alldat$snwd snwd$year <- as.integer(format(snwd$date, "%Y")) # compute annual maximum values snwd.max <- aggregate(snwd~year, data = snwd, FUN = max) # mm to cm snwd.max$snwd <- snwd.max$snwd/10 summary(snwd.max)
## year snwd ## Min. :1973 Min. : 5.10 ## 1st Qu.:1984 1st Qu.: 17.05 ## Median :1995 Median : 26.90 ## Mean :1995 Mean : 36.52 ## 3rd Qu.:2006 3rd Qu.: 40.40 ## Max. :2016 Max. :122.90
Sursa de date primare: Global Historical Climatology Network (GHCN)-Daily Data set
Conține sinteze lunare ale următorilor parametri: - monthly mean maximum, mean minimum and mean temperatures; monthly total precipitation and snowfal - extreme daily temperature and precipitation amounts.
Actualizată săptămânal
library(rnoaa) library(sp) stations <- ncdc_stations(datasetid='GSOM', extent = c(43.3,20,48.5,30), limit = 1000)$data # read stations metadata tmax <- ncdc(datasetid='GSOM', stationid=stations$id,datatypeid = "TMAX", startdate = '2007-07-01', enddate = '2007-07-31', limit = 1000) # read monthly maximum temperature summary(tmax$data)
## date datatype station value ## Length:27 Length:27 Length:27 Min. :12.96 ## Class :character Class :character Class :character 1st Qu.:29.59 ## Mode :character Mode :character Mode :character Median :32.03 ## Mean :30.76 ## 3rd Qu.:34.26 ## Max. :35.35
tmax.co <- merge(stations[,c("id", "name", "elevation", "longitude","latitude")], tmax$data, by.x = "id", by.y = "station") # join with metadata coordinates(tmax.co) <- ~ longitude+latitude # spplot(tmax.co,"value", axes = T,scales=list(draw=T))
library(rnoaa) library(openair) tmax.f <- NULL dats <- seq(1921, by = 10, length.out = 10) for (i in 1:length(dats)) { tmax <- ncdc(datasetid='GSOM', stationid="GHCND:ROE00108895",datatypeid = "EMXT", startdate = paste0(dats[i],"-01-01"), enddate = paste0(dats[i]+9,"-12-31"), limit = 1000) # read monthly maximum temperature tmax.f <- rbind(tmax.f, tmax$data) } tmax.f$year <- substr(tmax.f$date,1, 4) tmax.f$month <- substr(tmax.f$date,6, 7) tmax.july <- tmax.f[tmax.f$month =="07",] # select month July tmax.july$mydate<-as.POSIXct(tmax.july$date, tz="UTC") # scatterPlot(tmax.july, x = "year", y = "value", linear = T, # ylab = "degree Celsius", xlab = "Years", # title = "Galati - July maximum temperature ")
Furnizarea informației în regiunile unde nu există măsurători meteorologice:
Set de date zilnice gridate realizat la scară europeană
Variabile:precipitații, temperatură medie, minimă și maximă, disponibile din 1950-prezent (Haylock et al. 2008)
Rezultatul unei proceduri de interpolare în trei etape:
Acces date: http://eca.knmi.nl/download/ensembles/download.php
library(raster) pp <- brick("~/Downloads/rr_0.25deg_reg_v14.0.nc") spplot(pp[[(nlayers(pp)-1):(nlayers(pp))]], scales=list(draw=T), xlim = c(-10,50), ylim = c(30,74), col.regions = (rainbow(n=100,start = 0.1,end=0.8)), at = c(0,5,10,15,20,25,30,35,40,45))
library(raster) library(lattice) pp <- brick("~/Downloads/rr_0.25deg_reg_v14.0.nc") pp_1950_2016 <- extract(pp, cbind(25,46)) histogram(pp_1950_2016, main = "Histrogram of precipitation (long = 25; lat = 46)")
library(raster);library(lattice);library(rgdal) judete <- readOGR("shp","judete", stringsAsFactors = F, verbose = F) tt <- brick("~/Downloads/tg_0.25deg_reg_v14.0.nc") tt <- tt[[nlayers(tt)]] judete.tt <- extract(tt, judete, sp = T, fun = mean,na.rm = T) # average by counties spplot(judete.tt,"X2016.08.31", scales=list(draw=T), main = "Air temperature - 31 August 2016")
Obținute în cadrul proiectului CARPATCLIM (www.carpatclim-eu.org)
Metodă: meteorological interpolation based on surface homogenized database (MISH)
Variabile climatice: air pressure; minimum, maximum, and average air temperature; wind speed; precipitation; sunshine hours; cloud cover; relative humidity
Extindere: 44°N și 50°N lat și 17°E și 27°E long
Rezoluție temporală: zilnice, perioada 1961-2010; Rezoluție spațială: 0.1˚ x 0.1˚
Acces date: http://www.carpatclim-eu.org/pages/atlas/
library(raster) library(dismo) tmax <- brick("/Volumes/D/Alex/Clima/2016/hotspots/grids/tmax_1961_2010.grd") tmin <- brick("/Volumes/D/Alex/Clima/2016/hotspots/grids/tmin_1961_2010.grd") prec <- brick("/Volumes/D/Alex/Clima/2016/hotspots/grids/prec_1961_2010.grd") biovar <- biovars(prec, tmin, tmax) #plot(biovars, "Vaibile bioclimatice")
–>
Open source
Commercial Software Applications
Aplicații software libere furnizează soluții pentru accesare și manipularea datelor meteorologice și climatice
R language: automatizarea tuturor procedurilor specifice unui SIG (import date, procesare, realizare layout, export harta finala ca imagine);
Mulțumesc!
Cheval, S., M. Birsan, and A. Dumitrescu, 2014: Climate variability in the carpathian mountains region over 1961–2010. Global and Planetary Change, 118, 85–96.
Haylock, M., N. Hofstra, A. Klein Tank, E. Klok, P. Jones, and M. New, 2008: A european daily high-resolution gridded data set of surface temperature and precipitation for 1950–2006. Journal of Geophysical Research: Atmospheres, 113.
Menne, M. J., I. Durre, R. S. Vose, B. E. Gleason, and T. G. Houston, 2012: An overview of the global historical climatology network-daily database. Journal of Atmospheric and Oceanic Technology, 29, 897–910.
Tveito, O. E., M. Wegehenkel, F. van der Wel, and others, 2008: The use of geographic information systems in climatology and meteorology.