I'm looking to download a small geographic area of the CMIP5 models part of NASA-NEX dataset. Previously I relied on the Planet OS OpenNEX GDDP website which had a great tool for selecting geographic areas, models and time periods, saving in this way a large amount of downloading time and disk space. The problem is that OpenNEX is gone and I haven't been able to find a similar tool.

Is there another tool/website/script that can be used similarly?

up vote 0 down vote accepted

Google Earth Engine's NASA NEX dataset (or this) might be of interest to you. It is an online repository, where you can do your analysis using the GEE platform without having the need to download to local machine.

New contributor
shahryar is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Besides the Google Earth application suggested by shahryar I'm not aware of an online tool that could do the job you are looking for.

What I would do is to download the files and operate with a NCO or CDO to select the domain you are after (so that you can get rid of the "big" file immediately after and save disk space).

If you are working on a windows machine and cannot use NCO or CDO, a way to automatize at least the downloading procedure would be a script in R. Something like this:

library(RCurl)
opts = curlOptions(proxy='my_proxy', userpwd = "mypassword", netrc = TRUE) ##you need to get the credentials beforehand

var = c("pr","tasmax","tasmin") # put variables here
rcp = c("rcp45", "rcp85") #put the Climate scenarios here
mod= c("CCSM4", "GFDL-CM3", "IPSL-CM5A-MR", "MIROC5",  "inmcm4") #put the GCM models you want here
year=c(seq(2036,2050,1), seq(2086,2100,1)) ##here you can select the years you are looking for

for (v in var) {
  for (r in rcp) {
    url<- paste0( 'ftp://ftp.nccs.nasa.gov/BCSD/', r, '/day/atmos/', v, '/r1i1p1/v1.0/', sep='')
    for (m in mod) {
      for (y in year) {
        nfile<- paste0(v,'_day_BCSD_',r,"_r1i1p1_",m,'_',y,'.nc', sep='')
        url1<- paste0(url,nfile, sep='')
        destfile<-paste0('your_destination_path_NASA_NEX/',r,'/',v,'/',nfile, sep='')
        bin <- getBinaryURL(url1, .opts = opts)
        writeBin(bin, destfile)
        Sys.sleep(1)
        gc()
      }
    }
  }
}

In the middle of the loop, using ncdf4 (give a look here) you can nest few lines to pick the portion of the data covering your domain, store it, and get rid of the original file you just downloaded. This is time consuming though. Surely it would be more efficient to use a combination of wget (as explained here by NASA) and then NCO or CDO.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.