Hot answers tagged

17

You can use raster package to download WorldClim data, see ?getdata to know about resolution, variables and coordinates. As example: library(raster) library(sp) r <- getData("worldclim",var="bio",res=10) Bio 1 and Bio12 are mean anual temperature and anual precipitation: r <- r[[c(1,12)]] names(r) <- c("Temp","Prec") I create random points as ...


11

You may take the elevation-temperature relationship into account, especially in mountainous areas. Co-kriging or splines interpolation (e.g., 3D splines as supported by GRASS GIS) can be used for this. For larger areas further variables may play a role: distance from the sea, latitude, etc. Update: a reasonable method may also be multiple regression, for ...


9

A respected source of global climate classification information can be found here: http://koeppen-geiger.vu-wien.ac.at/present.htm. The data are in KMZ rather than shapefile format, but should be easy to convert. The value of using these is that the methodology for their creation is well documented (see citations here).


8

There are a number of sites which provide varying ranges of climatic data at a broad range of spatial scales. I often use WorldClim for global data and if I need higher resolution data for the USA I use data from the PRISM group. You could also look at MODIS data, which is very detailed, with many derivative datasets generated for ease of use. I am not ...


8

Weather Underground users can now access daily weather conditions dating back six years in most cities around the world. Historical weather information such as maximum and minimum temperatures, precipitation, humidity and winds are available for use by researchers, travelers, event planners and weather buffs free of charge. The databank was ...


6

I doubt that you'll find a free database for climatic data, which contains literately every point in the world. I assume that even the most exact climate data is usually computed from models and already interpolated. For instance: How do you plan to get exact climate information for locations somewhere in central Africa? In places where there has never ...


6

You can likely get a reasonable interpolation using a linear regression (assuming your 30 weather stations are a representative sample) using elevation, latitude and distance from the coast as independent variables with the day as a factor. I've done this using ArcGIS and R previously. Daily 9am and 3pm temperatures over 10 days in 2003 from weather ...


6

An approach would be creating a style for each raster, ranging from -40°C to +20°C (or whatever you want). Firstly, right-click on the layer and, from Properties >> Style, try to set it following these steps: Then, save the style (as a .qml file) going to Style >> Save Style... from the same dialog above, but remember to save it with the same ...


5

I have written an R function that performs a robust regression (least absolute deviation method) against a DEM to up-sample climate variables. It works quite well for smaller areas where the gradient in the [X,Y] domain does not effect the estimates and is quite superior to resampling and interpolation techniques. It is a loose implementation of Nick ...


5

The PRISM Climate Group's precipitation raster below is at an 800 m scale. They also have 2 km and 4 km climate products. Climate source uses both 400 m and 2 km grids for their precipitation products. A description of the PRISM methods can be found here. A study area, for example, in the Rocky Mountains would benefit from a greater resolution, while a ...


5

A very simple approach which springs to mind is to export the tiff to an ascii grid format such as ESRI's .asc file. You will then have a space delimited plain text file. It will have a few header lines which describe the origin, resolution and NoData values etc and you can easily skip over these for the sake of you calculations. You can do the ...


5

I would write an R script that worked as a client, but will run on the database server. This will save the complication of trying to hook into PostGIS's backend and using PL/R (as I said in comments). The script will look something like this (which is practically pseudo-code here): > con = dbConnect(PG,"localhost","weather") # connect to local DB >...


5

These data are not in a netcdf format but, rather a space delimited ASCII format. This data is a bit difficult to deal with because of the lack of headers and any type of unique station identifier. Returns a vector of file names on disk and pulls associate years from file name. f <- list.files(getwd()) y <- as.numeric(unlist(lapply(strsplit(f, "[.]")...


4

Take a look at: http://www.cgiar-csi.org/data/uea-cru-ts-v3-10-01-historic-climate-database Quote: "In January 2010, the University of East Anglia officially released the CRU-TS 3.0 Climate Database (See the official data release at http://badc.nerc.ac.uk/data/cru). This new version of database covers from 1901 to 2006*, globally at 0.5 degree spatial ...


4

The PRISM Climate Group's data is exceptional. Their raster products include precipitation, max temp, min temp, dewpoint and historic data. NASA's MODIS site has a wealth of data as does this USGS site. You will find a wide range of products there from vegetation indices to emissivity and burn data.


4

The WorldClim dataset has a lot of the data you want. It is free for non-commercial use and has interpolated 1 km resolution data on: average monthly mean temperature (°C * 10) average monthly minimum temperature (°C * 10) average monthly maximum temperature (°C * 10) average monthly precipitation (mm)


4

for rainfall you can download the TRMM datasets: http://trmm.gsfc.nasa.gov/


4

Interpolating climate data, you have two options (i see you need ready to use tutorials, I will give reference, but also some theoretical aspects you have here): simple interpolation using a kriging approach is the best option, cause you will have a statistical sounding relation. You can use this tutorial: In Romanian, but you can use Google Translate (use ...


4

The available free gridded global data mostly relates to near-surface wind speed and direction over global oceans. Free global land surface wind speed datasets are few. None that I know come in GIS format, as each cell has two data values, one for speed and one for vector - but more digging might provide disaggregation and the possibility of mapping at ...


4

NetCDF is incredibly general and writing slow code is easy. I routinely deal with tens of thousands of NetCDF files in R, using some combination of packages raster, ncdf, ncdf4, RNetCDF, or rgdal. The key is to leverage the cell index tools in raster so that the "cell-in-polygon" test occurs only once, then you can apply the extraction across all files. Many ...


4

The short answer is that the docker-based command doesn't output any netCDF data into the shell pipeline. It does launch local docker instance with the configuration you've created via the Web UI. Here is stdout actually looks like https://gist.github.com/dobrych/2cf416d05608c30851f9f7d325d3de19 Since most of the users were interested in getting data as ...


4

Following your question on reading and formatting this specific climate data: First, add libraries and country boundaries. library(sp) library(raster) library(maptools) data(wrld_simpl) germany<- wrld_simpl[wrld_simpl@data$NAME =="Germany",] Now, assuming we have the data.frame "stations" created in your previous question (at this point, not sure ...


4

I did some reading around and came across obscure CDO documentation for the collgrid function. With that, I was able to finally perform this series of merges in python by walking through files and performing a subprocess call to CDO using something similar to the following: #!/bin/python3 import os import subprocess source = "/path/to/source" destination =...


4

Here is some example code for R. I think there are many examples out there. library(raster) b <- brick("climfile.nc") points <- shapefile("ptsfile.shp") d <- extract(b, points) write.csv(d, "file.csv", rownames=FALSE)


4

The file is just a zipped text file without headers. First you need to unzip the file, I would suggest 7-zip if on Windows. If you open it up in notepad you would see: -179.750 89.750 -32.2 -34.6 -32.4 -27.2 -12.5 -1.9 -0.5 -1.4 -9.9 -18.9 -27.0 -33.2 -19.3 -179.750 89.250 -32.4 -34.8 -32.3 -27.1 -12.4 -1.9 -0.6 -1.5 -9.9 -...


4

The error does not occur in the part of the code you present here. Later, you try to retrieve the system:time_start property with getNumber(), while you have set it as an ee.Date() in line 12. Probably, setting it to the standard GEE long number format (using millis() on an ee.Date()) will help you: .set({year: year, 'system:time_start':date_start....


3

Kurt, you can group the temperature values in your raster to classes and export the results to a new raster using v.reclass from the Sextante toolbox. I guess the minimum value of your interpolated raster might be (say) -5 and the maximum value (say) 30. Using GRASS v.reclass from the Sextante toolbox would allow the values to be grouped into seven ...


3

Are you atmospherically correcting the temperature data? That would account for surface elevation above sea-level and atmosphere. NCEP provides an abundance of atmospheric data for North America. Also, a linear interpolation wouldn't be that good because temperature has diurnal variation throughout each day.


3

Perhaps this website would be useful for future climate data to meet your specific needs: http://www.ccafs-climate.org/ I haven't downloaded data from here yet, but it does appear to have the very latest available data.


3

Yes, it is appropriate. Prediction by kriging can theoretically only get better when you bring in more correlated information, and that is what you do when moving from kriging to co-kriging. In practice, the gain can be disappointing, considering the effort it takes. There can also be other reasons to favor co-kriging. An example is when you need the ...


Only top voted, non community-wiki answers of a minimum length are eligible