2017-05-21 1 views
0

Je veux sous-représenter une région à partir de données globales de cru. Le paquet "cmsaf", la fonction box_mergetime peut sous-classer les données CMIP5 et CORDEX .nc mais dans les données CRU .nc il donne l'erreur suivante.Comment sous-ensemble Netcdf CRU V4.00 données dans R en utilisant lat-lon?

>library(cmsaf) 
>wd<-getwd() 
>box_mergetime("tmp", wd, "cru_ts4.00.1901.1910", "output", 67,98,8,38) 

get file information 
[1] "vobjtovarid4: error #F: I could not find the requsted var (or dimvar) in the file!" 
[1] "var (or dimvar) name: longitude" 
[1] "file name: C:/Users/Deepak/Documents/eg/ip/cru_ts4.00.1901.1910.tmp.nc" 
Error in vobjtovarid4(nc, varid, verbose = verbose, allowdimvar = TRUE) : 
Variable not found 

lien de fichier de données - https://drive.google.com/open?id=0B9ACBRSUXCjndlFMV05jLVNBbkk

Répondre

0

Il est facile de le faire à partir de la ligne de commande avec CDO avant de lire dans R

Sélectionnez une boîte:

cdo sellonlatbox,lon1,lon2,lat1,lat2 in.nc out.nc 

Faites une temps signifie:

cdo timmean in.nc out.nc 

Est-ce une moyenne de l'espace:

cdo fldmean in.nc out.nc 

Si vous utilisez Ubuntu, vous pouvez installer cdo facilement avec

sudo apt-get install cdo 

et sous Windows, vous pouvez l'installer sous Cygwin.

0

La raison de ce message d'erreur était un nom standard manquant de longitude et de latitude dans les données CRU NetCDF. J'ai corrigé ce problème et avec cmsaf version 1.8.0 cela devrait fonctionner maintenant. Le paquet cmsaf offre des fonctions similaires à cdo (par exemple, sellonlatbox, timmean, fldmean sont inclus).

+0

Erreur d'affichage maintenant Erreur dans l'ordre (time_sorting): objet 'time_sorting' introuvable. –

+0

Cette erreur se produit si vous appliquez la fonction box_mergetime à un seul fichier. Cette fonction a été créée pour couper et fusionner plusieurs fichiers. Pour couper une région à partir d'un seul fichier NetCDF, utilisez la fonction sellonlatbox du package cmsaf. – Steffen