سؤال

أنا أستخدم R للعمل مع بيانات الأرصاد الجوية. أتابع خطوتين:

  1. تحويل GRIB إلى Netcdf باستخدام وظيفة سطر الأوامر NCL_Convert2NC من لغة أمر NCAR
  2. استخدم حزمة NCDF في R لاستيراد بيانات NetCDF.

لا يزال لدي مشكلة واحدة:

2- بالنسبة لبعض ملفات GRIB معينة ، لا يعمل التحويل باستخدام أداة NCAR. هل هناك طرق أو خدعة أخرى (بخلاف النسخ إلى NetCDF) إلى اقرأ ملفات GRIB في R ?

تم الرد على المشكلة بواسطة Dirk: 1- أود القيام بمعالجة تلقائية للعديد من الملفات داخل R. هل يمكنني الاتصال بـ NCL_Convert2NC داخل R؟ (أجابها ديرك إيدلبويتيل أدناه)

هل كانت مفيدة؟

المحلول

بخصوص السؤال 1 ، الجواب هو "نعم" - انظر help(system) و ال internal=TRUE الخيار إذا كنت تريد التقاط النتائج.

نصائح أخرى

يمكن لـ RGDAL أيضًا القيام بذلك ، ولكنه أقل مرونة ويتطلب المزيد من العناية والتفاصيل من NCDF أو RNETCDF - ويعتمد على GDAL/RGDAL بما في ذلك برنامج تشغيل GRIB.

يبدو أن ncl_convert2nc هو الحل الأفضل. ومع ذلك ، إذا كان بنية البيانات أكثر تعقيدًا قليلاً ، فأنا أستخدم الخريجين لتحويل ملف GRIB إلى ASCII (على سبيل المثال .CSV) ومن ثم ، من الممكن إنشاء ملف NetCDF باستخدام حزمة NCDF4 المخصصة لـ R. Grads يوفر أيضًا دعمًا لإعادة كتابة GRIB إلى netcdf ، ولكن هناك قيود على متغير واحد فقط.

حل آخر هو استخدام برنامج WGRIB/WGRIB2 (http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/) وتفريغ ملف GRIB-1/GRIB-2 مباشرة إلى تنسيق CSV ، على سبيل المثال:

/path/to/your/wgrib2 input_file.grb -csv output_file.csv

ثم قد تتم قراءتها مباشرة في R ...

حل سطر أوامر سريع وسهل آخر هو استخدام CDO لإجراء التحويل:

cdo -f nc copy file.grb file.nc

إذا كنت ترغب في إخراج ملف NetCDF4 ، فإنك تحدد "-f NC4".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top