انگلیسیفرانسویاسپانیایی

فاویکون OnWorks

ncgen3 - آنلاین در ابر

ncgen3 را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور ncgen3 است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


ncgen3 - از یک فایل CDL یک فایل کلاسیک netCDF یا کلاسیک 64 بیتی، یک برنامه C یا
یک برنامه فرترن

خلاصه


ncgen3 [-b] [-c] [-f] [-k نوع_فایل] [-x] [-n] [-o netcdf_name] فایل ورودی

شرح


ncgen3 یک فایل netCDF یا کد منبع C یا Fortran را برای ایجاد یک netCDF تولید می کند
فایل. ورودی به ncgen3 شرح یک فایل netCDF به زبان کوچکی است که به نام
CDL (زبان فرم داده مشترک شبکه)، که در زیر توضیح داده شده است. اگر هیچ گزینه ای در آن مشخص نشده باشد
استناد ncgen3، صرفاً نحو فایل CDL ورودی را بررسی می کند و خطا ایجاد می کند
پیام برای هر گونه نقض نحو CDL. می توان از گزینه های دیگر برای ایجاد استفاده کرد
فایل netCDF مربوطه، برای تولید یک برنامه C که از رابط netCDF C استفاده می کند
فایل netCDF را ایجاد کنید یا یک برنامه فرترن تولید کنید که از netCDF Fortran استفاده می کند
رابط برای ایجاد همان فایل netCDF.

ncgen3 ممکن است با برنامه همراه استفاده شود ncdump برای انجام چند عملیات ساده روی
فایل های netCDF به عنوان مثال، برای تغییر نام یک بعد در یک فایل netCDF، استفاده کنید ncdump برای به دست آوردن
نسخه CDL فایل netCDF، فایل CDL را ویرایش کنید تا نام ابعاد را تغییر دهید.
و استفاده کنید ncgen3 برای تولید فایل netCDF مربوطه از فایل CDL ویرایش شده.

OPTIONS


-b یک فایل netCDF (باینری) ایجاد کنید. اگر -o گزینه وجود ندارد، نام فایل پیش فرض است
از نام netCDF ساخته خواهد شد (مشخص شده بعد از netcdf کلمه کلیدی در
ورودی) با افزودن پسوند «.nc». اگر فایلی از قبل با
نام مشخص شده، رونویسی خواهد شد.

-c تولید C کد منبع که یک فایل netCDF مطابق با netCDF ایجاد می کند
مشخصات. کد منبع C در خروجی استاندارد نوشته شده است.

-f تولید فورتان کد منبع که یک فایل netCDF مطابق با netCDF ایجاد می کند
مشخصات. کد منبع فرترن در خروجی استاندارد نوشته شده است.

-o netcdf_file
نام فایل netCDF باینری ایجاد شده. اگر این گزینه مشخص شده باشد، دلالت دارد
"-bگزینه ". (این گزینه ضروری است زیرا فایل های netCDF را نمی توان نوشت
به طور مستقیم به خروجی استاندارد، زیرا خروجی استاندارد قابل جستجو نیست.)

-k نوع_فایل
با استفاده از -k2 یا -k "offset 64-bit" مشخص می کند که فایل (یا برنامه) تولید شده باید
از نسخه 2 فرمتی استفاده کنید که از افست های فایل 64 بیتی استفاده می کند. پیش فرض استفاده است
فرمت نسخه 1 ("کلاسیک") با آفست فایل 32 بیتی، اگرچه این محدودیت
اندازه فایل netCDF، متغیرها و رکوردها به اندازه های پشتیبانی شده توسط
فرمت کلاسیک (NetCDF-4 انواع دیگری از فایل های netCDF را پشتیبانی می کند،
"netCDF-4" و "netCDF-4 مدل کلاسیک".) توجه: -v نیز پذیرفته شده است به معنای
همان چیزی است که -k برای سازگاری به عقب، اما -k برای مطابقت با آن ترجیح داده می شود
گزینه ncdump مربوطه

-x داده ها را با مقادیر پر مقداردهی اولیه نکنید. این می تواند سرعت ایجاد netCDF بزرگ را افزایش دهد
تا حد زیادی فایل می کند، اما بعداً تلاش می کند تا داده های نانوشته را از فایل تولید شده بخواند
به راحتی قابل تشخیص نخواهد بود.

مثال ها


نحو فایل CDL را بررسی کنیدfoo.cdl':

ncgen3 foo.cdl

از فایل CDL `foo.cdl'، یک فایل netCDF باینری معادل با نام ' ایجاد کنیدx.nc':

ncgen3 -o x.nc foo.cdl

از فایل CDL `foo.cdlیک برنامه C حاوی تابع netCDF تولید کنید
فراخوان های لازم برای ایجاد یک فایل netCDF باینری معادل با نام `x.nc':

ncgen3 -c -o x.nc foo.cdl

طریقه استفاده


CDL نحو خلاصه
در زیر نمونه ای از سینتکس CDL آمده است که یک فایل netCDF را با چندین بعد نامگذاری شده توصیف می کند.
(lat، lon، و زمان)، متغیرها (Z، t، p، rh، lat، lon، زمان)، ویژگی های متغیر (واحدها،
long_name، valid_range، _FillValue)، و برخی داده ها. کلمات کلیدی CDL به صورت پررنگ هستند. (این
مثال برای نشان دادن نحو در نظر گرفته شده است. یک فایل CDL واقعی یک فایل کامل تر خواهد داشت
مجموعه ای از ویژگی ها به طوری که داده ها کاملاً خود توصیف شوند.)

netcdf foo { // نمونه ای از مشخصات netCDF در CDL

ابعاد:
lat = 10، lon = 5، زمان = نا محدود ;

متغیرها:
طولانی lat(lat), lon(lon), time(time);
شناور Z(زمان،لات،لون)، t(زمان،لات،لون)؛
دو برابر p (زمان، لات، لون)؛
طولانی rh (زمان، لات، lon)؛

// ویژگی های متغیر
lat:long_name = " عرض جغرافیایی ";
lat:unit = "درجات_شمال";
lon:long_name = "طول جغرافیایی";
lon:unit = "درجه_شرق";
time:unit = "secons from 1992-1-1 00:00:00";
Z:units = "متر پتانسیل ژئوپتانسیل";
Z:valid_range = 0., 5000.;
p:_FillValue = -9999.;
rh:_FillValue = -1;

داده ها:
لات = 0، 10، 20، 30، 40، 50، 60، 70، 80، 90؛
lon = -140، -118، -96، -84، -52;
}

تمام عبارات CDL با نقطه ویرگول خاتمه می یابند. می توان از فضاها، برگه ها و خطوط جدید استفاده کرد
آزادانه برای خوانایی نظرات ممکن است از نویسه های '//' در هر خط پیروی کنند.

شرح CDL از سه بخش اختیاری تشکیل شده است: ابعاد, متغیرهاو داده ها,
با کلمه کلیدی شروع می شود ابعاد:, متغیرها:و داده ها، به ترتیب. متغیر
بخشی ممکن است حاوی متغیر اعلامیه ها و صفت تکالیف.

یک netCDF بعد برای تعریف شکل یک یا چند مورد چند بعدی استفاده می شود
متغیرهای موجود در فایل netCDF یک بعد netCDF یک نام و یک اندازه دارد. در
بیشتر یک بعد در یک فایل netCDF می تواند این را داشته باشد نا محدود اندازه که به معنای متغیر است
استفاده از این بعد می تواند به هر طولی افزایش یابد (مانند یک عدد رکورد در یک فایل).

A متغیر یک آرایه چند بعدی از مقادیر یکسان را نشان می دهد. یک متغیر دارد
یک نام، یک نوع داده، و شکلی که با لیست ابعاد آن توصیف شده است. هر متغیر ممکن است
نیز مرتبط کرده اند خواص (به پایین مراجعه کنید) و همچنین مقادیر داده ها. نام، نوع داده،
و شکل یک متغیر با اعلان آن در عبارت مشخص می شود متغیر بخش CDL
شرح. یک متغیر ممکن است همنام یک بعد باشد. طبق کنوانسیون چنین است
متغیر یک بعدی است و شامل مختصات ابعادی است که نام می برد.
ابعاد نیازی به داشتن متغیرهای متناظر ندارند.

یک netCDF صفت حاوی اطلاعاتی در مورد یک متغیر netCDF یا در مورد کل netCDF است
مجموعه داده از ویژگی ها برای تعیین ویژگی هایی مانند واحدها، مقادیر ویژه، حداکثر استفاده می شود
و حداقل مقادیر معتبر، فاکتورهای مقیاس، افست ها و پارامترها. اطلاعات صفت
با مقادیر منفرد یا آرایه های مقادیر نشان داده می شود. به عنوان مثال، "واحدها" یک ویژگی است
با یک آرایه کاراکتری مانند "سلسیوس" نشان داده می شود. یک ویژگی دارای یک مرتبط است
متغیر، نام، نوع داده، طول و مقدار. در مقابل متغیرهایی که هستند
در نظر گرفته شده برای داده، ویژگی ها برای ابرداده (داده در مورد داده) در نظر گرفته شده است.

در CDL، یک ویژگی با یک متغیر و نام ویژگی مشخص می شود که با «:» از هم جدا می شود. آی تی
امکان واگذاری وجود دارد جهانی ویژگی هایی که با هیچ متغیری به netCDF as مرتبط نیستند
یک کل با استفاده از «:» قبل از نام ویژگی. نوع داده یک ویژگی در CDL است
برگرفته از نوع مقداری که به آن اختصاص داده شده است. طول یک صفت برابر است با
تعداد مقادیر داده اختصاص داده شده به آن یا تعداد کاراکترهای رشته کاراکتر
به آن اختصاص داده شده است. با جداسازی مقادیر متعددی به ویژگی های غیر کاراکتری اختصاص داده می شود
مقادیر با کاما تمام مقادیر اختصاص داده شده به یک ویژگی باید از یک نوع باشند.

نام ابعاد، متغیرها و ویژگی های CDL باید با حروف الفبا شروع شود
کاراکتر یا «_»، و کاراکترهای بعدی ممکن است حروف عددی یا «_» یا «-» باشند.

اختیاری داده ها بخشی از مشخصات CDL جایی است که متغیرهای netCDF ممکن است در آن قرار گیرند
اولیه شد. نحو یک مقداردهی اولیه ساده است: نام متغیر، علامت تساوی،
و یک لیست ثابت با کاما (احتمالاً با فاصله، برگه ها و خطوط جدید از هم جدا شده اند)
با نقطه ویرگول خاتمه می یابد. برای آرایه های چند بعدی، آخرین بعد متفاوت است
سریع ترین بنابراین از ترتیب ردیف به جای ترتیب ستون برای ماتریس ها استفاده می شود. اگر مقادیر کمتر
از آنچه برای پر کردن یک متغیر نیاز است، عرضه می‌شوند، آن را با یک وابسته به نوع توسعه می‌دهیم
«fill value»، که می‌تواند با ارائه یک مقدار برای یک متغیر متمایز لغو شود
ویژگی با نام "_FillValue". انواع ثابت ها نباید با نوع اعلام شده مطابقت داشته باشند
یک متغیر؛ برای مثال، اجبار برای تبدیل اعداد صحیح به ممیز شناور انجام می شود. در
ثابت '_' را می توان برای تعیین مقدار fill برای یک متغیر استفاده کرد.

بدوی داده ها انواع
ارابه کاراکتر
بایت اطلاعات 8 بیتی
کوتاه اعداد صحیح امضا شده 16 بیتی
طولانی اعداد صحیح امضا شده 32 بیتی
INT (مترادف با طولانی)
شناور نقطه شناور تک دقیق IEEE (32 بیت)
واقعی (مترادف با شناور)
دو برابر نقطه شناور با دقت دوگانه IEEE (64 بیت)

به جز نوع داده اضافه شده بایت و فقدان بدون امضا، CDL از همان پشتیبانی می کند
انواع داده های ابتدایی به عنوان C. نام انواع داده های اولیه کلمات رزرو شده در هستند
CDL، بنابراین نام متغیرها، ابعاد و ویژگی ها نباید نام نوع باشد. که در
در اعلان ها، نام نوع ممکن است با حروف بزرگ یا کوچک مشخص شود.

بایت ها از این جهت با کاراکترها متفاوت هستند که برای نگهداری هشت بیت کامل داده در نظر گرفته شده اند.
و بایت صفر اهمیت خاصی ندارد، همانطور که برای داده های کاراکتر این کار را انجام می دهد. ncgen3
تبدیل بایت اعلامیه ها به ارابه اعلان ها در خروجی کد C و به
غیر استاندارد BYTE اعلامیه در خروجی کد فرترن

شورت ها می توانند مقادیری بین -32768 و 32767 داشته باشند. ncgen3 تبدیل کوتاه اعلامیه ها به
کوتاه اعلان ها در کد خروجی C و غیر استاندارد عدد صحیح*2 اعلامیه در
خروجی کد فرترن

Long ها می توانند مقادیری بین -2147483648 و 2147483647 داشته باشند. ncgen3 تبدیل طولانی
اعلامیه ها به طولانی اعلان ها در خروجی کد C و به فکر کنید اعلامیه ها در
خروجی کد فرترن INT و عدد صحیح به عنوان مترادف برای پذیرفته شده است طولانی در CDL
اعلامیه ها اکنون که پلتفرم هایی با نمایش های 64 بیتی برای لانگ های C وجود دارد، آن را
شاید بهتر باشد از INT مترادف برای جلوگیری از سردرگمی

شناورها می توانند مقادیری بین -3.4+38 و 3.4+38 نگه دارند. نمایندگی خارجی آنها است
همانطور که IEEE 32 بیتی اعداد ممیز شناور تک دقیق را عادی کرده است. ncgen3 تبدیل شناور
اعلامیه ها به شناور اعلان ها در خروجی کد C و به REAL اعلامیه ها در خروجی
کد فرترن واقعی به عنوان مترادف پذیرفته شده است شناور در اعلامیه های CDL

دوبل ها می توانند مقادیری بین 1.7+308 و 1.7+308 داشته باشند. نمایندگی خارجی آنها
مانند اعداد ممیز شناور با دقت دوگانه نرمال شده استاندارد ۶۴ بیتی IEEE است. ncgen3
تبدیل دو برابر اعلامیه ها به دو برابر اعلان ها در خروجی کد C و به دو برابر
دقیق اعلان ها در کد خروجی فرترن

CDL ثابت
ثابت های اختصاص داده شده به ویژگی ها یا متغیرها ممکن است از هر یک از انواع اصلی netCDF باشند.
نحو برای ثابت ها مشابه نحو C است، با این تفاوت که پسوندهای نوع باید باشند
به شورت و شناور اضافه می شود تا آنها را از بلند و دوبل متمایز کند.

A بایت ثابت با یک کاراکتر منفرد یا توالی فرار چند کاراکتری نشان داده می شود
محصور در نقل قول تک مثلا،
'a' // ASCII 'a'
'\0' // یک بایت صفر
'\n' // نویسه خط جدید ASCII
'\33' // نویسه فرار ASCII (33 اکتال)
'\x2b' // ASCII plus (2b hex)
'\377' // 377 octal = 255 اعشاری، غیر ASCII

ثابت های کاراکتر در گیومه های دوتایی محصور می شوند. ممکن است یک آرایه کاراکتر نشان داده شود
به عنوان یک رشته محصور شده در دو گیومه. کنوانسیون های معمول فرار رشته C مورد احترام قرار می گیرند.
مثلا
"a" // ASCII `a'
"Two\nline\n" // یک رشته 10 کاراکتری با دو خط جدید جاسازی شده
"a bell:\007" // رشته ای حاوی زنگ ASCII
توجه داشته باشید که آرایه کاراکتر netCDF "a" در یک متغیر تک عنصری قرار می گیرد، زیرا نه
پایان کاراکتر NULL فرض می شود. با این حال، یک بایت صفر در یک آرایه کاراکتری است
تعبیر به پایان شخصیت های مهم توسط ncdump برنامه، به دنبال
کنوانسیون C بنابراین، یک بایت NULL نباید در یک رشته کاراکتر جاسازی شود مگر اینکه
در پایان: از بایت در عوض برای آرایه های بایتی که حاوی صفر بایت هستند، نوع داده.
NetCDF و CDL هیچ نوع رشته ای ندارند، بلکه فقط آرایه های کاراکتری با طول ثابت دارند که ممکن است
چند بعدی

کوتاه ثابت های عدد صحیح برای نمایش کمیت های امضا شده 16 بیتی در نظر گرفته شده اند. فرم
از کوتاه ثابت یک عدد ثابت است که یک «s» یا «S» به آن اضافه شده است. اگر یک کوتاه
ثابت با "0" شروع می شود، به عنوان هشتی تفسیر می شود، با این تفاوت که اگر با "0x" شروع شود،
به عنوان یک ثابت هگزادسیمال تفسیر می شود. مثلا:
-2s // کوتاه -2
0123s // octal
0x7ffs //هگزادسیمال

طولانی ثابت های عدد صحیح برای نمایش کمیت های امضا شده 32 بیتی در نظر گرفته شده اند. فرم
از طولانی ثابت یک ثابت عدد صحیح معمولی است، اگرچه اضافه کردن یک قابل قبول است
'l' یا 'L' اختیاری. اگر یک طولانی ثابت با "0" شروع می شود، به عنوان هشتی تفسیر می شود،
به جز اینکه اگر با '0x' شروع شود، به عنوان یک ثابت هگزادسیمال تفسیر می شود. مثال ها
معتبر طولانی ثابت ها عبارتند از:
-2
1234567890L
0123 // اکتال
0x7ff // هگزادسیمال

ثابت های نقطه شناور از نوع شناور برای نمایش ممیز شناور مناسب هستند
داده هایی با حدود هفت رقم قابل توجه دقت. شکل الف شناور ثابت است
مانند یک ثابت ممیز شناور C با یک "f" یا "F" اضافه شده است. به عنوان مثال
زیر همه قابل قبول هستند شناور ثابت ها:
-2.0f
3.14159265358979f // با دقت کمتری کوتاه می شود
1. اف

ثابت های نقطه شناور از نوع دو برابر برای نمایش ممیز شناور مناسب هستند
داده هایی با حدود شانزده رقم قابل توجه دقت. شکل الف دو برابر ثابت است
مانند یک ثابت ممیز شناور C. ممکن است یک «d» یا «D» اختیاری اضافه شود. برای
به عنوان مثال موارد زیر همه قابل قبول هستند دو برابر ثابت ها:
-2.0
3.141592653589793
1.0e-20
1. د

با استفاده از خدمات onworks.net از ncgen3 به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad