أكثر

كيف يمكن جعل netcdf مع مجموعات فرعية أصغر؟

كيف يمكن جعل netcdf مع مجموعات فرعية أصغر؟


أحاول كتابة اختبار للرمز الذي يعمل مع بيانات دوران المحيطات العالمية hycom netcdf. مجموعات البيانات الفرعية للملف المصدر 2:

gdalinfo hycom_glb_911_2015110200_t000_uv3z.nc | grep _NAME SUBDATASET_1_NAME = NETCDF: "hycom_glb_911_2015110200_t000_uv3z.nc": water_u SUBDATASET_2_NAME = NETCDF: "hycom_glb_911_2015110200_t000_uv3z.nc": water_v

مع 40 نطاق عمق:

gdalinfo NETCDF: hycom_glb_911_2015110200_t000_uv3z.nc: water_u | grep '^ Band' | head -3 Band 1 Block = 4500x1 Type = Int16، ColorInterp = مجموعة غير محددة 2 Block = 4500x1 Type = Int16، ColorInterp = كتلة 3 Band غير محددة = 4500x1 النوع = Int16، ColorInterp = غير معرف

لقد قمت بكتابة بعض التعليمات البرمجية التي تقوم بأشياء مثل حساب السرعة بوحدة m / s من الأشعة فوق البنفسجية وإنشاء تصنيف جغرافي ، وما إلى ذلك. الملفات الأصلية كبيرة جدًا لاستخدامها في اختبارات unittests. هل هناك طريقة سهلة مع gdal، nco or؟ للحفاظ على الهيكل والبيانات الوصفية ، ولكن إنشاء ملف أصغر بكثير؟ أنا منفتح على إسقاط الكل باستثناء أول شريطين وكتابة قيمة ثابتة في كل نطاق + تشغيل ضغط الانكماش.

محاولة مع GDAL:

gdal_translate --version # At head -> r31584 GDAL 2.1.0dev ، تم إصداره في 2015/99/99 gdal_translate hycom_glb_911_2015110200_t000_uv3z.nc hycom_glb_911_2015110200_t000_uv3z-try2.nc - من ملف netcdf-Inco المضغوط. من فضلك ، اختر واحد منهم للقراءة.

النسخ الأصلية كبيرة جدًا للاختبارات:

wget ftp://ftp.hycom.org/datasets/GLBu0.08/expt_91.1/data/hindcasts/2015/hycom_glb_911_2015110200_t000_uv3z.nc ls -lh hycom_glb_911_2015110200_t000_uv3z.nc -rw-group ---- 1.4- 19 تشرين الثاني (نوفمبر) 09:13 hycom_glb_911_2015110200_t000_uv3z.nc

تفاصيل ملف netcdf المصدر:

ncdump -h hycom_glb_911_2015110200_t000_uv3z.nc netcdf hycom_glb_911_2015110200_t000_uv3z {أبعاد: lat = 2001 ؛ lon = 4500 ؛ العمق = 40 ؛ الوقت = غير محدود ؛ // (1 حاليًا) المتغيرات: الوقت المزدوج (الوقت) ؛ الوقت: long_name = "وقت صالح" ؛ الوقت: الوحدات = "عدد الساعات منذ 2000-01-01 00:00:00" ؛ الوقت: time_origin = "2000-01-01 00:00:00" ؛ الوقت: التقويم = "ميلادي" ؛ الوقت: المحور = "T" ؛ الوقت: NAVO_code = 13 ؛ مزدوج تاو (الوقت) ؛ تاو: long_name = "تاو" ؛ tau: الوحدات = "الساعات المنقضية منذ التحليل" ؛ tau: time_origin = "2015-11-02 00:00:00" ؛ تاو: NAVO_code = 56 ؛ عمق مزدوج (عمق) ؛ العمق: long_name = "Depth" ؛ العمق: الاسم القياسي = "العمق" ؛ العمق: الوحدات = "م" ؛ العمق: موجب = "أسفل" ؛ العمق: المحور = "Z" ؛ العمق: NAVO_code = 5 ؛ خط العرض المزدوج (خط الطول) ؛ خط العرض: long_name = "Latitude" ؛ خط العرض: اسم_معيار = "خط العرض" ؛ خط العرض: الوحدات = "degrees_north" ؛ خط الطول: point_spacing = "حتى" ؛ خط العرض: المحور = "Y" ؛ خط العرض: NAVO_code = 1 ؛ مزدوج lon (lon) ؛ lon: long_name = "Longitude" ؛ lon: standard_name = "longitude" ؛ lon: الوحدات = "الدرجات_ الشرقية" ؛ lon: modulo = "360 درجة" ؛ lon: المحور = "X" ؛ lon: NAVO_code = 2 ؛ قصير water_u (الوقت ، العمق ، خطوط الطول ، الطول) ؛ water_u: long_name = "سرعة المياه باتجاه الشرق" ؛ water_u: standard_name = "eastward_sea_water_velocity" ؛ water_u: الوحدات = "م / ث" ؛ water_u: _FillValue = -30000 ثانية ؛ water_u: missing_value = -30000s ؛ water_u: scale_factor = 0.001f ؛ water_u: add_offset = 0.f ؛ water_u: NAVO_code = 17 ؛ قصير water_v (الوقت ، العمق ، خط الطول ، الطول) ؛ water_v: long_name = "سرعة المياه باتجاه الشمال" ؛ water_v: standard_name = "northward_sea_water_velocity" ؛ water_v: الوحدات = "م / ث" ؛ water_v: _FillValue = -30000 ثانية ؛ water_v: missing_value = -30000s ؛ water_v: scale_factor = 0.001f ؛ water_v: add_offset = 0.f ؛ water_v: NAVO_code = 18 ؛ // السمات العامة:: rating_level = "UNCLASSIFIED" ؛ : Distribution_statement = "معتمد للنشر العام. توزيع غير محدود." ؛ : downgrade_date = "غير قابل للتطبيق"؛ : Classification_authority = "غير قابل للتطبيق"؛ : مؤسسة = "Naval Oceanographic Office"؛ : المصدر = "ملف أرشيف HYCOM" ؛ : history = "archv2ncdf3z" ؛ : field_type = "لحظي" ؛ : الاصطلاحات = "CF-1.0 NAVO_netcdf_v1.0" ؛

سأستخدم NCO's ncks:

ncks -v water_u ، water_v -d ، العمق ، 1،2،1 hycom_glb_911_2015110200_t000_uv3z.nc out.nc

مع كون "العمق" مهما كان العمق / بعد النطاق.


شاهد الفيديو: How to Open NetCDF Files in QGIS Tutorial