netcdf file
netcdf file
Hallo,
ich arbeite gerade für meine Masterarbeit mit einem netcdf file mit täglichen Niederschlagsdaten. Ich habe noch nie mit diesem Format gearbeitet und bin gerade am verzweifeln... In der Datei sind 3 Dimensionen (Longitude, Latitude, Time) vorhanden, aber ich habe Schwierigkeiten die Dimension Time zu extrahieren...
Wenn ich die Datei in ArcMap importiere zeigt es mir aber auch ein falsches Datum an, deswegen habe ich nun zusätzliche Bedenken, dass etwas mit den Daten nicht stimmt. (Habe die Datei nochmals heruntergeladen, um Fehler beim Download ausschließen zu können)
Wenn ich wie untenstehend vorgehe, dann bekomme ich bei time einen Zahlencode und nicht das wirkliche Datum.
Wäre toll, wenn mir jemand helfen könnte
Vielen Dank schon mal!
cpath <- "/E-OBS/scPDSI.cru.3.24.bams.2016.GLOBAL.1901.2015_with.times.nc/"
ncname <- "scPDSI.cru.3.24.bams.2016.GLOBAL.1901.2015_with.times"
ncfname <- paste(ncpath, ncname, ".nc", sep="")
dname <- "rr" # note: rainfall
# open a NetCDF file
ncin <- nc_open(ncfname)
print(ncin)
attributes(ncin$var)
dat <- ncvar_get(ncin, attributes(ncin$var)$names[1])
dat
# get longitude and latitude
lon <- ncvar_get(ncin,"longitude")
nlon <- dim(lon)
head(lon)
lat <- ncvar_get(ncin,"latitude")
nlat <- dim(lat)
head(lat)
print(c(nlon,nlat))
# get time
time <- ncvar_get(ncin,"time")
time
tunits <- ncatt_get(ncin,"time","units")
nt <- dim(time)
nt
ich arbeite gerade für meine Masterarbeit mit einem netcdf file mit täglichen Niederschlagsdaten. Ich habe noch nie mit diesem Format gearbeitet und bin gerade am verzweifeln... In der Datei sind 3 Dimensionen (Longitude, Latitude, Time) vorhanden, aber ich habe Schwierigkeiten die Dimension Time zu extrahieren...
Wenn ich die Datei in ArcMap importiere zeigt es mir aber auch ein falsches Datum an, deswegen habe ich nun zusätzliche Bedenken, dass etwas mit den Daten nicht stimmt. (Habe die Datei nochmals heruntergeladen, um Fehler beim Download ausschließen zu können)
Wenn ich wie untenstehend vorgehe, dann bekomme ich bei time einen Zahlencode und nicht das wirkliche Datum.
Wäre toll, wenn mir jemand helfen könnte
Vielen Dank schon mal!
cpath <- "/E-OBS/scPDSI.cru.3.24.bams.2016.GLOBAL.1901.2015_with.times.nc/"
ncname <- "scPDSI.cru.3.24.bams.2016.GLOBAL.1901.2015_with.times"
ncfname <- paste(ncpath, ncname, ".nc", sep="")
dname <- "rr" # note: rainfall
# open a NetCDF file
ncin <- nc_open(ncfname)
print(ncin)
attributes(ncin$var)
dat <- ncvar_get(ncin, attributes(ncin$var)$names[1])
dat
# get longitude and latitude
lon <- ncvar_get(ncin,"longitude")
nlon <- dim(lon)
head(lon)
lat <- ncvar_get(ncin,"latitude")
nlat <- dim(lat)
head(lat)
print(c(nlon,nlat))
# get time
time <- ncvar_get(ncin,"time")
time
tunits <- ncatt_get(ncin,"time","units")
nt <- dim(time)
nt
Re: netcdf file
Hallo Julia,
willkommen im Forum!
Bitte formatiere den Code in Deiner Nachricht entsprechend viewtopic.php?f=20&t=29
Meine Glaskugel sagt, es könnte so ähnlich sein wie in
https://stackoverflow.com/questions/343 ... -date-in-r
Gruß, Jörg
willkommen im Forum!
kannst Du das bitte zeigen? Schließlich haben wir keinerlei Daten zur Verfügung, um das Problem zu reproduzieren, siehe viewtopic.php?f=20&t=11
Bitte formatiere den Code in Deiner Nachricht entsprechend viewtopic.php?f=20&t=29
Meine Glaskugel sagt, es könnte so ähnlich sein wie in
https://stackoverflow.com/questions/343 ... -date-in-r
Gruß, Jörg
Re: netcdf file
Die angehängte Datei ist jetzt nur für März 2018, da die anderen Dateien zu groß sind.
Obwohl die Datei nur für einen Monat im Jahr 2018 ist, zeigt es diese Information an:
time Size:31 *** is unlimited ***
standard_name: time
long_name: Time in days
units: days since 1950-01-01 00:00:00
calendar: standard
Leider bin ich auch mit deinem Link nicht wirklich weiter gekommen...
Code: Alles auswählen
ncpath <- "E-OBS/rr_day_2018_03_grid_ensmean.nc/"
ncname <- "rr_day_2018_03_grid_ensmean"
ncfname <- paste(ncpath, ncname, ".nc", sep="")
dname <- "rr" # note: rainfall
# open a NetCDF file
ncin <- nc_open(ncfname)
print(ncin)
attributes(ncin$var)
dat = ncvar_get(ncin, attributes(ncin$var)$names[1])
dat
# get longitude and latitude
lon <- ncvar_get(ncin,"longitude")
nlon <- dim(lon)
head(lon)
lat <- ncvar_get(ncin,"latitude")
nlat <- dim(lat)
head(lat)
print(c(nlon,nlat))
# get time
time <- ncvar_get(ncin,"time")
time
tunits <- ncatt_get(ncin,"time","units")
nt <- dim(time)
nt
Re: netcdf file
Hallo Julia,
aus welchem Paket stammt die Funktion nc_open()
https://cran.r-project.org/web/packages ... index.html
Gruß, Jörg
aus welchem Paket stammt die Funktion nc_open()
https://cran.r-project.org/web/packages ... index.html
Gruß, Jörg
Re: netcdf file
Hallo Jörg,
entschuldige, habe vergessen die Pakete noch hinzuzufügen. Ich habe ehrlich gesagt so viele Sachen ausprobiert, dass ich schon ein wenig den Überblick verloren habe...
entschuldige, habe vergessen die Pakete noch hinzuzufügen. Ich habe ehrlich gesagt so viele Sachen ausprobiert, dass ich schon ein wenig den Überblick verloren habe...
Code: Alles auswählen
library(chron)
library(RColorBrewer)
library(lattice)
library(ncdf.tools)
library(ncdf4)
Re: netcdf file
Hallo Julia,
es hat doch etwas mit dem von mir angegebenen Link zu tun - zumindest kam ich beim Lesen der Dokumentation der genannten Funktion auf:
Gruß, Jörg
p.s.: es geht doch nichts über eine gut funktionierende Glaskugel.
es hat doch etwas mit dem von mir angegebenen Link zu tun - zumindest kam ich beim Lesen der Dokumentation der genannten Funktion auf:
Code: Alles auswählen
# get time
time <- ncvar_get(ncin,"time")
time
as.POSIXct(time*86400, origin="1950-01-01")
p.s.: es geht doch nichts über eine gut funktionierende Glaskugel.
Re: netcdf file
Irgendwie komme ich mit diesem Format immer noch nicht weiter
Meine Datei besitzt tägliche Niederschlagsdaten über einige Jahre für Europa, die ich in monatliche Niederschlagssummen umwandeln muss und am besten als .csv abspeichern. Ich brauche das dann nur für Frankreich (shapefile habe ich), aber wenn ich die Datei mit crop ausschneide, dann sind die Daten nur noch für den ersten Tag verfügbar und die anderen hinterlegten Daten sind verschwunden...
Hat damit jemand Erfahrung?
Würde mir sehr helfen, danke!
Meine Datei besitzt tägliche Niederschlagsdaten über einige Jahre für Europa, die ich in monatliche Niederschlagssummen umwandeln muss und am besten als .csv abspeichern. Ich brauche das dann nur für Frankreich (shapefile habe ich), aber wenn ich die Datei mit crop ausschneide, dann sind die Daten nur noch für den ersten Tag verfügbar und die anderen hinterlegten Daten sind verschwunden...
Hat damit jemand Erfahrung?
Würde mir sehr helfen, danke!
Re: netcdf file
Probiere es mal mit brick() aus dem raster paket zu laden. Das sollte dir ein raster mit vielen Bändern geben (ungetestet)
Danach kannst du mit crop() /mask() Frankreich rausziehen und den Mittelwert o.ä. berechnen.
Danach kannst du mit crop() /mask() Frankreich rausziehen und den Mittelwert o.ä. berechnen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.