2016-04-30 19 views
1

Mein Ziel Extrahieren Extrakt Temperatur, Datum von jedem Breiten- und Längen von dieser ERA-Zwischendatendatei (siehe Link https://www.dropbox.com/s/lnxetoy1911q5sg/_grib2netcdf-atls17-95e2cf679cd58ee9b4db4dd119a05a8d-vMTGKo.nc?dl=0)Ära Zwischendaten eine Variable aus RNetCDF

Ich verwende RNetCDF Paket in R, aber wenn ich das verwendete var.get.nc Funktion Meine Werte sind alle negativ. Ich stecke bei diesem Schritt fest. Ich weiß, dass im netcdf Daten vorhanden sind, als ich ArcMap geöffnet habe. Meine Codes sind unter

require(RNetCDF) 
nc_in1 = open.nc("_grib2netcdf-atls17-95e2cf679cd58ee9b4db4dd119a05a8d-vMTGKo.nc") 
# get all Air temperature data data: 
temp  <- var.get.nc(nc_in1, "t2m") 
head(temp) 

-8355 -8399 -8444 -8487 -8531 -8576

#Data Struktur sind als

print.nc(nc_in1) 
    dimensions: 
    longitude = 561 ; 
    latitude = 321 ; 
    time = UNLIMITED ; // (8 currently) 
    variables: 
    float longitude(longitude) ; 
      longitude:units = "degrees_east" ; 
      longitude:long_name = "longitude" ; 
    float latitude(latitude) ; 
      latitude:units = "degrees_north" ; 
      latitude:long_name = "latitude" ; 
    int time(time) ; 
      time:units = "hours since 1900-01-01 00:00:0.0" ; 
      time:long_name = "time" ; 
      time:calendar = "gregorian" ; 
    short t2m(longitude, latitude, time) ; 
      t2m:scale_factor = 0.001140245 ; 
      t2m:add_offset = 264.0577 ; 
      t2m:_FillValue = -32767 ; 
      t2m:missing_value = -32767 ; 
      t2m:units = "K" ; 
      t2m:long_name = "2 metre temperature" ; 

      // global attributes: 
      :Conventions = "CF-1.6" ; 
      :history = "2016-04-30 18:18:33 GMT by grib_to_netcdf-1.14.5: grib_to_netcdf /data/data01/scratch/_mars-atls02-95e2cf679cd58ee9b4db4dd119a05a8d-E36dti.grib -o /data/data01/scratch/_grib2netcdf-atls17-95e2cf679cd58ee9b4db4dd119a05a8d-vMTGKo.nc -uti 

folgt ich das gleiche Paket und Codes nutzen konnte um dasselbe mithilfe von MERRA-Daten zu erreichen, aber ich kann meinen Fehler in diesem vorläufigen Datenbestand der ERA nicht finden. Jede Hilfe, um dieses Problem in RNetCDF zu lösen, wäre hilfreich, da ich mit diesem Paket wenig vertraut bin und immer noch über .NC-Dateien lerne.

+0

Nur einen schnellen Kommentar entpacken müssen: für mit gerasterten Daten in R handelt, empfehle ich das 'raster' Paket. – AF7

+0

Danke für deinen Kommentar meine Fähigkeiten in R ist nicht scharf. Aber würde Raster-Paket erlauben mir, die Daten in einen Datenrahmen zu konvertieren extrahieren Sie das Datum und die entsprechende Breite und Länge in der gleichen Zeile? .. – nee

+0

Ich bin mir nicht sicher, ob ich verstehe. Das Raster-Paket ist definitiv der Weg für R gerasterte Daten, es ist sehr vielseitig und einfach zu bedienen. Wenn Sie jedoch nur sehr einfache Aufgaben ausführen müssen, sind Sie möglicherweise besser mit ncdf4 oder RNetCDF wie bereits getan. – AF7

Antwort

2

Die Lösung Ihr Problem ist, dass Sie die Daten

temp  <- var.get.nc(nc_in1, "t2m", unpack= TRUE) 
+0

danke es funktionierte! – nee