GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

ncmpigen - Trực tuyến trên Đám mây

Chạy ncmpigen trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh ncmpigen có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


ncmpigen - Từ tệp CDL, tạo tệp netCDF, chương trình C hoặc chương trình Fortran

SYNOPSIS


ncmpigen [-b] [-c] [-f] [-n] [-o netcdf_filename] [-v định dạng tệp] tập tin đầu vào

MÔ TẢ


ncmpigen tạo tệp netCDF hoặc mã nguồn C hoặc Fortran để tạo netCDF
tập tin. Đầu vào cho ncmpigen là một mô tả của một tệp netCDF bằng một ngôn ngữ nhỏ được biết đến
dưới dạng CDL (Ngôn ngữ dạng dữ liệu chung của mạng), được mô tả bên dưới. Nếu không có tùy chọn nào được chỉ định
trong việc kêu gọi ncmpigen, nó chỉ kiểm tra cú pháp của tệp CDL đầu vào, tạo ra lỗi
tin nhắn cho bất kỳ vi phạm cú pháp CDL. Các tùy chọn khác có thể được sử dụng để tạo
tệp netCDF tương ứng, để tạo chương trình C sử dụng giao diện netCDF C để
tạo tệp netCDF hoặc tạo chương trình Fortran sử dụng netCDF Fortran
để tạo cùng một tập tin netCDF.

ncmpigen có thể được sử dụng với chương trình đồng hành ncmpidump để thực hiện một số đơn giản
hoạt động trên tệp netCDF. Ví dụ: để đổi tên một thứ nguyên trong tệp netCDF, hãy sử dụng
ncmpidump để có phiên bản CDL của tệp netCDF, hãy chỉnh sửa tệp CDL để thay đổi tên của
kích thước và sử dụng ncmpigen để tạo tệp netCDF tương ứng từ tệp đã chỉnh sửa
Tệp CDL.

LỰA CHỌN


-b Tạo tệp netCDF (nhị phân). Nếu -o không có tùy chọn, tên tệp mặc định
sẽ được xây dựng từ tên netCDF (được chỉ định sau netcdf từ khóa trong
đầu vào) bằng cách thêm phần mở rộng `.nc '. Nếu một tệp đã tồn tại với
tên được chỉ định, nó sẽ bị ghi đè.

-c Tạo ra C mã nguồn sẽ tạo tệp netCDF khớp với netCDF
sự chỉ rõ. Mã nguồn C được ghi vào đầu ra tiêu chuẩn.

-f Tạo ra Fortran mã nguồn sẽ tạo tệp netCDF khớp với netCDF
sự chỉ rõ. Mã nguồn Fortran được viết ở đầu ra tiêu chuẩn.

-o netcdf_file
Tên cho tệp netCDF nhị phân được tạo. Nếu tùy chọn này được chỉ định, nó ngụ ý
các "-b"tùy chọn. (Tùy chọn này là cần thiết vì không thể ghi tệp netCDF
trực tiếp đến đầu ra tiêu chuẩn, vì không thể tìm kiếm đầu ra tiêu chuẩn.)

-n Như -b tùy chọn, ngoại trừ việc tạo tệp netCDF với phần mở rộng `.cdf 'đã lỗi thời
thay vì phần mở rộng `.nc ', trong trường hợp không có tên tệp đầu ra được chỉ định bởi
các -o Lựa chọn. Tùy chọn này chỉ được hỗ trợ để tương thích ngược.

-v định dạng tệp
Định dạng tệp của tệp netCDF đầu ra. Giá trị của file_format có thể là: 1 hoặc
cổ điển cho định dạng CDF-1. 2 hoặc 64-bit-offset là CDF-2. 5 hoặc 64-bit-biến cho
CDF-5. Mặc định (nếu tùy chọn này không được cung cấp) là CDF-1, định dạng cổ điển.

VÍ DỤ


Kiểm tra cú pháp của tệp CDL `foo.cdl':

ncmpigen foo.cdl

Từ tệp CDL `foo.cdl', tạo một tệp netCDF nhị phân tương đương có tên là `x.nc':

ncmpigen -o x.nc foo.cdl

Từ tệp CDL `foo.cdl', tạo một chương trình C có chứa hàm netCDF
các lệnh gọi cần thiết để tạo tệp netCDF nhị phân tương đương có tên là `x.nc':

ncmpigen -c -o x.nc foo.cdl

SỬ DỤNG


CDL cú pháp Tổng kết
Dưới đây là một ví dụ về cú pháp CDL, mô tả một tệp netCDF với một số kích thước được đặt tên
(vĩ độ, kinh độ và thời gian), các biến (Z, t, p, rh, vĩ độ, kinh độ, thời gian), các thuộc tính biến (đơn vị,
long_name, valid_range, _FillValue) và một số dữ liệu. Từ khóa CDL được in đậm. (Cái này
ví dụ nhằm minh họa cú pháp; một tệp CDL thực sẽ có một tệp hoàn chỉnh hơn
tập hợp các thuộc tính để dữ liệu sẽ tự mô tả hoàn toàn hơn.)

netcdf foo {// một đặc tả netCDF mẫu trong CDL

kích thước:
vĩ độ = 10, vĩ độ = 5, thời gian = vô hạn ;

biến:
Dài lat (vĩ độ), lon (lon), time (thời gian);
phao Z (time, lat, lon), t (time, lat, lon);
tăng gấp đôi p (time, lat, lon);
Dài rh (time, lat, lon);

// thuộc tính biến
lat: long_name = "vĩ độ";
lat: units = "Deg_north";
lon: long_name = "longitude";
lon: units = "Deg_east";
thời gian: đơn vị = "giây kể từ năm 1992-1-1 00:00:00";
Z: units = "máy đo địa thế";
Z: valid_range = 0, 5000 .;
p: _FillValue = -9999;
rh: _FillValue = -1;

dữ liệu:
vĩ độ = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90;
lớn = -140, -118, -96, -84, -52;
}

Tất cả các câu lệnh CDL được kết thúc bằng dấu chấm phẩy. Có thể sử dụng dấu cách, tab và dòng mới
miễn phí để dễ đọc. Nhận xét có thể theo sau các ký tự `// 'trên bất kỳ dòng nào.

Mô tả CDL bao gồm ba phần tùy chọn: kích thước, biếndữ liệu,
bắt đầu bằng từ khóa kích thước:, biến:dữ liệu, tương ứng. Biến
một phần có thể chứa biến tờ khaithuộc tính bài tập.

Một netCDF kích thước được sử dụng để xác định hình dạng của một hoặc nhiều
các biến có trong tệp netCDF. Thứ nguyên netCDF có tên và kích thước. Tại
hầu hết một thứ nguyên trong tệp netCDF có thể có vô hạn kích thước, có nghĩa là một biến
sử dụng thứ nguyên này có thể tăng lên bất kỳ độ dài nào (như một số bản ghi trong tệp).

A biến đại diện cho một mảng nhiều chiều các giá trị cùng kiểu. Một biến có
tên, kiểu dữ liệu và hình dạng được mô tả bằng danh sách các kích thước của nó. Mỗi biến có thể
cũng có liên quan thuộc tính (xem bên dưới) cũng như các giá trị dữ liệu. Tên, kiểu dữ liệu,
và hình dạng của một biến được chỉ định bởi khai báo của nó trong biến phần của CDL
sự mô tả. Một biến có thể trùng tên với một thứ nguyên; theo quy ước như vậy
biến là một chiều và chứa tọa độ của thứ nguyên mà nó đặt tên.
Thứ nguyên không cần có các biến tương ứng.

Một netCDF thuộc tính chứa thông tin về một biến netCDF hoặc về toàn bộ netCDF
tập dữ liệu. Các thuộc tính được sử dụng để chỉ định các thuộc tính như đơn vị, giá trị đặc biệt, giá trị tối đa
và các giá trị hợp lệ tối thiểu, hệ số tỷ lệ, hiệu số và tham số. Thông tin thuộc tính
được biểu diễn bằng các giá trị đơn lẻ hoặc mảng giá trị. Ví dụ: "đơn vị" là một thuộc tính
được đại diện bởi một mảng ký tự chẳng hạn như "cs". Một thuộc tính có một
biến, tên, kiểu dữ liệu, độ dài và giá trị. Ngược lại với các biến
dành cho dữ liệu, các thuộc tính dành cho siêu dữ liệu (dữ liệu về dữ liệu).

Trong CDL, một thuộc tính được chỉ định bởi một biến và tên thuộc tính, được phân tách bằng dấu `: '. Nó
có thể chỉ định toàn cầu các thuộc tính không được liên kết với bất kỳ biến nào đối với netCDF như
toàn bộ bằng cách sử dụng dấu `: 'trước tên thuộc tính. Kiểu dữ liệu của một thuộc tính trong CDL là
bắt nguồn từ loại giá trị được gán cho nó. Chiều dài của một thuộc tính là
số lượng giá trị dữ liệu được gán cho nó hoặc số ký tự trong chuỗi ký tự
được giao cho nó. Nhiều giá trị được gán cho các thuộc tính không phải ký tự bằng cách tách
các giá trị có dấu phẩy. Tất cả các giá trị được gán cho một thuộc tính phải cùng loại.

Tên cho thứ nguyên, biến và thuộc tính CDL phải bắt đầu bằng bảng chữ cái
ký tự hoặc `_ ', và các ký tự tiếp theo có thể là chữ và số hoặc` _' hoặc `- '.

Tùy chọn dữ liệu phần của thông số kỹ thuật CDL là nơi các biến netCDF có thể
khởi tạo. Cú pháp của khởi tạo rất đơn giản: tên biến, dấu bằng,
và danh sách hằng số được phân tách bằng dấu phẩy (có thể được phân tách bằng dấu cách, tab và dòng mới)
được kết thúc bằng dấu chấm phẩy. Đối với mảng nhiều chiều, kích thước cuối cùng thay đổi
nhanh nhất. Do đó, thứ tự hàng thay vì thứ tự cột được sử dụng cho ma trận. Nếu ít giá trị hơn
được cung cấp nhiều hơn mức cần thiết để điền vào một biến, nó được mở rộng với một kiểu phụ thuộc
`` fill value '', có thể được ghi đè bằng cách cung cấp giá trị cho một biến phân biệt
thuộc tính có tên `_FillValue '. Các loại hằng số không cần phải khớp với loại được khai báo cho
một biến số; các cưỡng chế được thực hiện để chuyển đổi số nguyên sang dấu phẩy động, chẳng hạn. Các
Hằng số `_ 'có thể được sử dụng để chỉ định giá trị lấp đầy cho một biến.

Ban sơ Ngày Các loại
xe tăng nhân vật
byte Dữ liệu 8-bit
ngắn Số nguyên có dấu 16 bit
Dài Số nguyên có dấu 32 bit
int (đồng nghĩa với Dài)
phao Dấu chấm động chính xác đơn IEEE (32 bit)
thực (đồng nghĩa với phao)
tăng gấp đôi Dấu chấm động chính xác kép IEEE (64 bit)

Ngoại trừ kiểu dữ liệu được thêm vào byte và thiếu unsigned, CDL hỗ trợ như nhau
các kiểu dữ liệu nguyên thủy là C. Tên cho các kiểu dữ liệu nguyên thủy là các từ dành riêng trong
CDL, vì vậy tên của các biến, thứ nguyên và thuộc tính không được là tên kiểu. Trong
khai báo, tên loại có thể được chỉ định bằng cả chữ hoa hoặc chữ thường.

Các byte khác với các ký tự ở chỗ chúng được thiết kế để chứa đầy đủ tám bit dữ liệu,
và byte XNUMX không có ý nghĩa đặc biệt, như đối với dữ liệu ký tự. ncmpigen
chuyển đổi byte tuyên bố với xe tăng khai báo trong mã đầu ra C và
không đạt tiêu chuẩn BYTE khai báo trong mã Fortran đầu ra.

Quần short có thể chứa các giá trị từ -32768 đến 32767. ncmpigen chuyển đổi ngắn tuyên bố với
ngắn khai báo trong mã đầu ra C và không chuẩn INTEGER * 2 khai báo trong
xuất mã Fortran.

Độ dài có thể giữ giá trị từ -2147483648 đến 2147483647. ncmpigen chuyển đổi Dài
tuyên bố với Dài khai báo trong mã đầu ra C và số nguyên tuyên bố trong
xuất mã Fortran. intsố nguyên được chấp nhận là từ đồng nghĩa với Dài trong CDL
các bản kê khai. Hiện nay đã có các nền tảng với các biểu diễn 64-bit cho độ dài C, nó
có thể tốt hơn nếu sử dụng int từ đồng nghĩa để tránh nhầm lẫn.

Số nổi có thể giữ các giá trị trong khoảng -3.4 + 38 đến 3.4 + 38. Đại diện bên ngoài của chúng là
dưới dạng số dấu phẩy động chính xác đơn lẻ chuẩn hóa IEEE 32 bit. ncmpigen chuyển đổi
phao tuyên bố với phao khai báo trong mã đầu ra C và CÓ THẬT tuyên bố trong
xuất mã Fortran. thực được chấp nhận như một từ đồng nghĩa với phao trong các khai báo CDL.

Bộ đôi có thể giữ các giá trị trong khoảng -1.7 + 308 đến 1.7 + 308. Đại diện bên ngoài của họ
là số dấu phẩy động chính xác kép chuẩn hóa chuẩn IEEE 64-bit. ncmpigen
chuyển đổi tăng gấp đôi tuyên bố với tăng gấp đôi khai báo trong mã đầu ra C và GẤP ĐÔI
ĐỘ CHÍNH XÁC khai báo trong mã Fortran đầu ra.

CDL Hằng số
Các hằng số được gán cho các thuộc tính hoặc biến có thể thuộc bất kỳ kiểu netCDF cơ bản nào.
Cú pháp cho hằng số tương tự như cú pháp C, ngoại trừ các hậu tố kiểu phải là
được nối vào quần đùi và phao để phân biệt với quần dài và đồ đôi.

A byte hằng số được biểu thị bằng một ký tự đơn hoặc chuỗi thoát nhiều ký tự
được đặt trong dấu ngoặc kép. Ví dụ,
'a' // ASCII `a '
'\ 0' // một byte XNUMX
'\ n' // ký tự dòng mới ASCII
'\ 33' // Ký tự thoát ASCII (33 bát phân)
'\ x2b' // ASCII cộng (2b hex)
'\ 377' // 377 bát phân = 255 thập phân, không phải ASCII

Hằng số ký tự được đặt trong dấu ngoặc kép. Một mảng ký tự có thể được biểu diễn
dưới dạng một chuỗi được đặt trong dấu ngoặc kép. Các quy ước thoát chuỗi C thông thường được tôn trọng.
Ví dụ
"a" // ASCII `a '
"Hai \ n dòng \ n" // một chuỗi 10 ký tự với hai dòng mới được nhúng
"a bell: \ 007" // một chuỗi chứa chuông ASCII
Lưu ý rằng mảng ký tự netCDF "a" sẽ phù hợp với biến một phần tử, vì không
kết thúc ký tự NULL được giả định. Tuy nhiên, một byte XNUMX trong một mảng ký tự là
được giải thích là phần cuối của các ký tự quan trọng bởi ncmpidump chương trình, sau
quy ước C. Do đó, một byte NULL không nên được nhúng vào một chuỗi ký tự
trừ khi ở cuối: sử dụng byte kiểu dữ liệu thay thế cho mảng byte có chứa số XNUMX
byte. NetCDF và CDL không có kiểu chuỗi mà chỉ có các mảng ký tự có độ dài cố định,
có thể đa chiều.

ngắn hằng số nguyên được dùng để biểu diễn các đại lượng có dấu 16 bit. Hình thức
của một ngắn hằng số là một hằng số nguyên có thêm chữ `s 'hoặc` S'. Nếu một ngắn
hằng số bắt đầu bằng `0 ', nó được hiểu là hệ bát phân, ngoại trừ việc nếu nó bắt đầu bằng` 0x',
nó được hiểu là một hằng số thập lục phân. Ví dụ:
-2s // một đoạn ngắn -2
0123s // bát phân
0x7ffs // thập lục phân

dài hằng số nguyên được dùng để biểu diễn các đại lượng có dấu 32 bit. Hình thức
của một Dài hằng số là một hằng số nguyên bình thường, mặc dù có thể chấp nhận thêm một
tùy chọn `l 'hoặc` L'. Nếu một Dài hằng số bắt đầu bằng `0 ', nó được hiểu là hệ bát phân,
ngoại trừ việc nếu nó bắt đầu bằng `0x ', nó được hiểu là một hằng số thập lục phân. Các ví dụ
hợp lệ Dài hằng số bao gồm:
-2
1234567890L
0123 // bát phân
0x7ff // thập lục phân

Hằng số dấu chấm động của kiểu phao thích hợp để biểu diễn dấu phẩy động
dữ liệu có độ chính xác khoảng bảy chữ số có nghĩa. Hình thức của một phao hằng số là
giống như hằng số dấu phẩy động C với một chữ `` f '' hoặc `` F '' được thêm vào. Ví dụ
sau đây đều có thể chấp nhận được phao hằng số:
-2.0f
3.14159265358979f // sẽ bị cắt bớt độ chính xác
1.f

Hằng số dấu chấm động của kiểu tăng gấp đôi thích hợp để biểu diễn dấu phẩy động
dữ liệu có độ chính xác khoảng mười sáu chữ số có nghĩa. Hình thức của một tăng gấp đôi hằng số là
giống như một hằng số dấu phẩy động C. Có thể thêm chữ `d 'hoặc` D' tùy chọn. Vì
ví dụ sau đây đều có thể chấp nhận được tăng gấp đôi hằng số:
-2.0
3.141592653589793
1.0e-20
1d

NGÀY


$ Ngày: 2014-04-16 13:38:34 -0500 (Thứ 16, ngày 2014 tháng XNUMX năm XNUMX) $

Sử dụng ncmpigen trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.