باستخدام R لفتح ملفات GRIB
-
27-09-2019 - |
سؤال
أنا أستخدم R للعمل مع بيانات الأرصاد الجوية. أتابع خطوتين:
- تحويل GRIB إلى Netcdf باستخدام وظيفة سطر الأوامر NCL_Convert2NC من لغة أمر NCAR
- استخدم حزمة 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".