Giter VIP home page Giter VIP logo

rfmerge's People

Contributors

hzambran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rfmerge's Issues

Rfmerge Error

Respected Sir,

I created a zoo object from my precipitation file of 11 station and projected as utm zone 42, but following the instruction when i want to create a spatial object of the precipitation data i got the NA projection.

all other layers have the same utm zone 42 projection. but after running the Rfmerge i am getting this error.
setwd("D:\Time Series\chirps\station data and precipitation data")
ValparaisoPPts<-read.csv(file="data_ALLLL_copy.csv",header=TRUE, stringsAsFactors = FALSE)

dd<-seq(as.Date("2008-05-01"), as.Date("2019-12-31"), by = "day")

####################################################################
ldates <- hydroTSM::dip("2008-05-01", "2019-12-31")
ldates <- seq(from=as.Date("2008-05-01"), to=as.Date("2019-12-31"), by="day")

class(ValparaisoPPts)
names(CHIRPS5km) <- ldates
names(PERSIANNcdr5km) <- ldates
head(ValparaisoPPgis)
main <- paste("Daily precipitation for the station", ValparaisoPPgis$Code[1])
ylab <- "Precipitation [mm]"
x.ts <- ValparaisoPPts[,1]
hydroTSM::hydroplot(x.ts, pfreq="o", main=main, ylab= ylab)
plot(x.ts, main=main, ylab= ylab, col="blue")
grid()
chirps.total <- sum(CHIRPS5km, na.rm= FALSE)
persiann.total <- sum(PERSIANNcdr5km, na.rm= FALSE)
plot(chirps.total, main = "CHIRPSv2 [May - Aug] ", xlab = "Longitude", ylab = "Latitude")
plot(ValparaisoSHP[1], add=TRUE, col="transparent")
plot(persiann.total, main = "PERSIANN-CDR [May - Dec]", xlab = "Longitude", ylab = "Latitude")
plot(ValparaisoSHP[1], add=TRUE, col="transparent")
#################reading as zoo object
K101111<- zoo(x=ValparaisoPPts$K101111, order.by=dd)
K101112<- zoo(x=ValparaisoPPts$K101112, order.by=dd)
K101113<- zoo(x=ValparaisoPPts$K101113, order.by=dd)
K101114<- zoo(x=ValparaisoPPts$K101114, order.by=dd)
K101115<- zoo(x=ValparaisoPPts$K101115, order.by=dd)
K101116<- zoo(x=ValparaisoPPts$K101116, order.by=dd)
K101117<- zoo(x=ValparaisoPPts$K101117, order.by=dd)
K101118<- zoo(x=ValparaisoPPts$K101118, order.by=dd)
K101119<- zoo(x=ValparaisoPPts$K101119, order.by=dd)
K1011110<- zoo(x=ValparaisoPPts$K1011110, order.by=dd)
K1011111<- zoo(x=ValparaisoPPts$K1011111, order.by=dd)
ValparaisoPPts = cbind(K101111, K101112, K101113, K101114, K101115, K101116, K101117, K101118, K101119, K1011110, K1011111)

######################### Station csv which is Station location in studyarea ###
ValparaisoPPgis<-read.csv(file="kunduz_ST4.csv",header=TRUE, stringsAsFactors = FALSE)
names(ValparaisoPPgis)[1]<-c("Code")
str(ValparaisoPPgis)
class(ValparaisoPPgis)
ValparaisoSHP <- sf::st_transform(ValparaisoPPgis, crs=32642)
stations <- ValparaisoPPgis
( stations <- st_as_sf(stations, coords = c('lon', 'lat'), crs = 32642) )
stations.utm <- sf::st_transform(stations, crs=32642)
st.coords <- st_coordinates(stations.utm)
lon <- st.coords[, "X"]
lat <- st.coords[, "Y"]

ValparaisoPPgis.utm <- data.frame(Id=stations.utm[["Code"]], lon=lon, lat=lat)
ValparaisoPPgis<-ValparaisoPPgis.utm
crs(ValparaisoPPgis)
class(ValparaisoPPgis)
ValparaisoPPgis <- st_set_crs(ValparaisoPPgis, crs = +proj=longlat +datum=WGS84 +no_defs )
#################################################################
##################################Study area Border#############
setwd("D:\Time Series\chirps\studyarea")
ValparaisoSHP = st_read(dsn = "kunduz_WGS.shp",layer="kunduz_WGS")
ValparaisoSHP = st_read(dsn = ("kunduz_WGS.shp"))
ValparaisoSHP <- sf::st_transform(ValparaisoSHP, crs=32642)
ValparaisoSHP.utm <- sf::st_transform(ValparaisoSHP, crs=32642)
crs(ValparaisoSHP)
ValparaisoSHP<-ValparaisoSHP.utm
plot(ValparaisoSHP)
#######################################Chirps_v2_monthly data
setwd("D:\Time Series\chirps\chirsps2")
chirps<-list.files(path=getwd(), pattern="tif$") # 140 files
ch<-raster(chirps[1])
#crs(ch)<- +proj=utm +zone=42 +datum=WGS84 +units=m +no_defs
ch <- st_set_crs(ch, "+proj=utm +zone=42 +datum=WGS84 +units=m +no_defs")
crs(ch) <- CRS('+init=EPSG:32642')
crs(ch)
crs(CHIRPS5km)<- CRS('+init=EPSG:32642')
crs(CHIRPS5km)
######################################################
############### ersion Data set #############
setwd("D:\Time Series\chirps\cdr")
prsnncdr.fname<-list.files(path=getwd(), pattern=".tif$") # 140 files
cdr<-raster(prsnncdr.fname[1])
crs(cdr) <- CRS('+init=EPSG:32642')
crs(cdr)<- CRS('+init=EPSG:32642')
crs(cdr)
crs(PERSIANNcdr5km)<- CRS('+init=EPSG:32642')
crs(PERSIANNcdr5km)
#########################################################
############# Dem of study area ####################
setwd("D:\Time Series\chirps\dem")
dem.fname<-raster("Kunduz_Dem.tif")
dem<-raster(dem.fname)
crs(dem) <- CRS('+init=EPSG:32642')
crs(dem)
crs(ValparaisoDEM5km)<- CRS('+init=EPSG:32642')
crs(ValparaisoDEM5km)
plot(ValparaisoDEM5km, main="SRTM-v4", xlab="Longitude", ylab="Latitude", col=terrain.colors(255))
plot(ValparaisoSHP[1], add=TRUE, col="transparent")
plot(stations[1], add=TRUE, pch = 16, col="black")

#########################################################3
CHIRPS5km <- brick(ch)
PERSIANNcdr5km <- brick(cdr)
ValparaisoDEM5km <- raster(dem)
######################### resampling of all same spatial resolution ###
rsch<-resample(PERSIANNcdr5km,CHIRPS5km, method='bilinear')
rsdem<-resample(ValparaisoDEM5km ,CHIRPS5km,method='bilinear')

CHIRPS5km <- brick(CHIRPS5km)
ValparaisoDEM5km <- raster(rsdem)
PERSIANNcdr5km<-brick(rsch)
############################################################3

CHIRPS5km <- brick(CHIRPS5km)
PERSIANNcdr5km <- brick(rsch)
ValparaisoDEM5km <- raster(rsdem)
#####################################################projections####
################################################################
extent(ValparaisoDEM5km)
#crs(cdr)<- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +to wgs84=0,0,0"
extent(rsch)
##########################################################

covariates <- list(chirps=CHIRPS5km, persianncdr=PERSIANNcdr5km,
dem=ValparaisoDEM5km)
################################################################
onWin <- ( (R.version$os=="mingw32") | (R.version$os=="mingw64") )
ifelse(onWin, parallel <- "parallelWin", parallel <- "parallel")
par.nnodes <- min(parallel::detectCores()-1,5)
###################### RfMerge ###############################

rfmep <- RFmerge(x=ValparaisoPPts, metadata=ValparaisoPPgis, cov=covariates,
id="Id", lon="lon", lat = "lat", mask=ValparaisoSHP,
training=0.8, parallel=parallel, par.nnodes=par.nnodes)

Error in sapply(x, fromDisk) & sapply(x, inMemory) :
operations are possible only for numeric, logical or complex types
In addition: Warning message:
In RFmerge.zoo(x = ValparaisoPPts, metadata = ValparaisoPPgis, cov = covariates, :
Invalid argument: 'cov' and 'mask' have different CRS. Please ensure they actually have the same CRS !

Also when i run this part of the code i get this error.

names(CHIRPS5km) <- ldates
Error in names<-(*tmp*, value = c(14000, 14001, 14002, 14003, 14004, :
incorrect number of layer names
i have daily precipitation data and monthly chirps data.
could you please instruct me how to resolve this part.
the code i run is attached .

Regards

Error run RFmerge with my data

I followed the tutorial and tried to run with my own data. Everything seems to run well but the RFmerge function gave this error.
Please i need help to fix this error.

Error in if (!sf::st_is(mask, c("POLYGON", "MULTIPOLYGON"))) { :
the condition has length > 1

problem

station data and precipitation data.zip
Respected sir
i run the code and i got this error.
every thing is projected as utm.

data(ValparaisoPPts)
data(ValparaisoPPgis)
data(ValparaisoSHP)

rfmep <- RFmerge(x=pcp, metadata=ValparaisoPPgis, cov=covariates,
id="Code", lat="lat", lon="lon", mask=shp,
training=0.8, parallel=parallel, par.nnodes=par.nnodes)

Error in RFmerge.zoo(x = pcp, metadata = ValparaisoPPgis, cov = covariates, :
Invalid argument: 'metadata' must have 'id' (identifier), 'lon' (longitude) and 'lat' (latitude) fields !
metadata' must have 'id' (identifier), 'lon' (longitude) and 'lat' (latitude) fields !
x=pcp is the xts object of rainfaill from stations

About missing data "NA" or "X" in observation

Excuse me sir, I am interested in using this rfmerge package, if there is missing data (no observations) in the gauge data, how can I keep run this rfmerge library ? Thank you, please give some advice

Error: replacement has length zero

Hi, while running the RFmerge function I am getting this error quoted below.
"Error in obs.values[i] <- train.ts[day, grep(metadata[, id], names(train.ts))] : replacement has length zero".
Any help would be much appreciated. Also, I would like to have the output as NetCDF, so bring an option to specify output file format. Thanks in advance.

Extent and resolution of the DEM is different & does not match with CHIRPS in the example data

Hi,
I am trying to run the RF-Merge using the trial data provided along with the package, by following the steps in the tutorial (https://cran.r-project.org/web/packages/RFmerge/vignettes/RFmerge-RainfallExample-minimal.pdf). However, when I am in the verification of covariates (section 6.2), the extent and resolution of the CHIRPS data do not match with DEM.

> nlayers(CHIRPS5km)
[1] 243
> ( nlayers(CHIRPS5km) == nlayers(PERSIANNcdr5km) )
[1] TRUE
> ( nlayers(CHIRPS5km) == nrow(ValparaisoPPts) )
[1] TRUE
> extent(CHIRPS5km)
class      : Extent 
xmin       : -71.85 
xmax       : -69.95 
ymin       : -34 
ymax       : -32 
> ( extent(CHIRPS5km) == extent(PERSIANNcdr5km) )
[1] TRUE
> ( extent(CHIRPS5km) == extent(ValparaisoDEM5km) )
[1] FALSE
> res(CHIRPS5km)
[1] 0.05 0.05
> ( res(CHIRPS5km) == res(PERSIANNcdr5km) )
[1] TRUE TRUE
> ( res(CHIRPS5km) == res(ValparaisoDEM5km) )
[1] FALSE FALSE

I am following the exact steps mentioned in the example tutorial. What is the solution for this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.