[R] find number of consecutive days in NC files by R

ahmet varlı v@r||61 @end|ng |rom w|ndow@||ve@com
Thu Aug 6 17:58:09 CEST 2020


Hi all,


There are 365 days of soil moisture NC files and I am trying to find out how many days the values are below and above this certain threshold are repeated by R. However, I couldn't reach exactly what I wanted. For example, Daily soil moisture is below 0.3 without interrupting how many days in 365 days. NC file contains annual soil moisture values daily

nctoarray <- function(ncfname, varid = NA) {   nc <- nc_open(ncfname)

a <- aperm(ncvar_get(nc), c(2,1,3))   nc_close(nc)   a }



function(x, threshold = 0.28, below = TRUE) {

    if (below) {

        y <- ifelse(x < threshold,1,0)

    } else y <- ifelse(x > threshold,1,0)



    y2 <- rle(y)

    sel <- which(y2$values == 1)

    max(y2$lengths[sel])

}



m1 <- suppressWarnings(apply(a,c(1,2), consechours, 0.3, TRUE))



m2 <- suppressWarnings(apply(a,c(1,2), consechours, 0.4, FALSE))




	[[alternative HTML version deleted]]



More information about the R-help mailing list