2017-04-20 2 views
0

Ich habe eine netcdf Datei ein solcher:nco - wie „cut“ Werte aus einem bestimmten Gebiet entfernen

dimensions: 
    time = 8760 ; 
    lon_lat = 35047 ; 
    temperature = 8760 ; 
variables: 
    float temp(temperature, lon_lat) ; 
     temp:units = "C" ; 
    float time(time) ; 
    float longitude(lon_lat) ; 
     longitude:units = "degrees east" ; 
    float latitude(lon_lat) ; 
     latitude:units = "degrees north" ; 

Die netcdf deckt alle Vereinigten Staaten. Was ich mit nco machen möchte, ist einen bestimmten Bereich zu löschen, etwa ein Quadrat.

Also durch bestimmte Koordinaten für einen bestimmten Bereich würde ich "ausgeschnitten" diesen Bereich entfernen.

Was ich dann bekommen würde, ist ein netcdf für die Staaten mit den drei Variablen, aber ohne Daten für diesen bestimmten Bereich. Sag, ich würde die Staaten mit einem Loch bekommen.

habe ich versucht, es mit Hyperslabs (http://nco.sourceforge.net/nco.html#hyp):

ncks -d lon,-106.,-102. -d lat, 20.,30. in.nc out.nc 

Allerdings heißt es, dass:

ncks: ERROR dimension longitude is not in input file 

Rechts, weil die Dimension (lon_lat). Gibt es eine Möglichkeit, es durch die Variablen zu schneiden?

+0

Diese Datei sieht nicht richtig aus, warum ist 'temperature' ein Abmessungen? Und warum gibt es eine einzelne Raumdimension 'lat_lon'? Die Datei sollte wahrscheinlich 3D, 'time' x' lat' x 'lon' sein und' temperatur' als Variable haben, nicht als Dimension. Sobald Sie die Datei geglättet haben, können Sie mit hyperslabs ein Rechteck zwischen "lat" und "lon" extrahieren. – N1B4

Antwort

0

Ich habe die gleiche Frage wie N1B4 über die temperature Dimension. Die lat_lon Dimension weist wahrscheinlich auf ein unstrukturiertes Raster hin.

Probieren Sie NCOs Hilfskoordinaten feature. Zuerst diese standard_name Attribute hinzufügen:

ncatted -a standard_name,latitude,o,c,latitude -a standard_name,longitude,o,c,longitude in.nc 

Dann -X verwenden Sie die Region, die Sie wollen, das heißt, alles, aber das Loch hyperslab:

ncks -X 10,180,10,90 -X -180,0,-90,0 in.nc out.nc 
+0

Das ist ordentlich, ich hatte keine Ahnung von diesen Funktionen. – N1B4

Verwandte Themen