Englishํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

ncgen - ํด๋ผ์šฐ๋“œ์˜ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ncgen ์‹คํ–‰

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ncgen ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


ncgen - CDL ํŒŒ์ผ์—์„œ netCDF-3 ํŒŒ์ผ, netCDF-4 ํŒŒ์ผ ๋˜๋Š” C ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ

๊ฐœ์š”


ncgen [-b] [-c] [-f] [-k ํ˜•์‹_์ด๋ฆ„] [-ํ˜•์‹ ์ฝ”๋“œ] [-์—˜ ์ถœ๋ ฅ ์–ธ์–ด] [-์•„๋‹ˆ์š”
netcdf_ํŒŒ์ผ ์ด๋ฆ„] [-x] [์ž…๋ ฅ ํŒŒ์ผ]

๊ธฐ์ˆ 


์—”์”จ์   netCDF-3(์˜ˆ: ํด๋ž˜์‹) ๋ฐ”์ด๋„ˆ๋ฆฌ .nc ํŒŒ์ผ, netCDF-4(์˜ˆ:
ํ–ฅ์ƒ๋œ) ๋ฐ”์ด๋„ˆ๋ฆฌ .nc ํŒŒ์ผ ๋˜๋Š” ์‹คํ–‰๋  ๋•Œ ์ผ๋ถ€ ์†Œ์Šค ์–ธ์–ด๋กœ ๋œ ํŒŒ์ผ
ํ•ด๋‹น ๋ฐ”์ด๋„ˆ๋ฆฌ .nc ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์— ๋Œ€ํ•œ ์ž…๋ ฅ ์—”์”จ์   ์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.
CDL(๋„คํŠธ์›Œํฌ ๊ณตํ†ต ๋ฐ์ดํ„ฐ ํ˜•์‹ ์–ธ์–ด)๋กœ ์•Œ๋ ค์ง„ ์ž‘์€ ์–ธ์–ด๋กœ ๋œ netCDF ํŒŒ์ผ,
์•„๋ž˜์—์„œ ๋ฌ˜์‚ฌ ๋˜์–ด์ง„. input_file์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ์˜ค์ธ ๊ฒฝ์šฐ
์˜ต์…˜์€ ํ˜ธ์ถœ ์‹œ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์—”์”จ์  , ์ž…๋ ฅ CDL์˜ ๊ตฌ๋ฌธ๋งŒ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
CDL ๊ตฌ๋ฌธ ์œ„๋ฐ˜์— ๋Œ€ํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ํ•ด๋‹น netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ C ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
netCDF C ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „์˜ ncgen์€ ์›๋ž˜ ncgen4๋ผ๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ncgen ํ”„๋กœ๊ทธ๋žจ์—๋Š”
ncgen3์œผ๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—”์”จ์   ์ปดํŒจ๋‹ˆ์–ธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ncdump ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด
netCDF ํŒŒ์ผ. ์˜ˆ๋ฅผ ๋“ค์–ด, netCDF ํŒŒ์ผ์—์„œ ์ฐจ์›์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ncdump ๋ฅผ ์–ป์„ ์ˆ˜
netCDF ํŒŒ์ผ์˜ CDL ๋ฒ„์ „, CDL ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ์น˜์ˆ˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ,
์‚ฌ์šฉ ์—”์”จ์   ํŽธ์ง‘๋œ CDL ํŒŒ์ผ์—์„œ ํ•ด๋‹น netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜


-b (์ด์ง„) netCDF ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋งŒ์•ฝ -o ์˜ต์…˜์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ ํŒŒ์ผ ์ด๋ฆ„
CDL ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„์—์„œ ๊ตฌ์„ฑ๋˜๋ฉฐ ๋ชจ๋“  ์ ‘๋ฏธ์‚ฌ๋Š” ๋‹ค์Œ์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
`.nc' ํ™•์žฅ์ž. ์ง€์ •๋œ ์ด๋ฆ„์˜ ํŒŒ์ผ์ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
๋ฎ์–ด์ผ๋‹ค.

-c ์ƒ์„ฑ C netCDF์™€ ์ผ์น˜ํ•˜๋Š” netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ
์‚ฌ์–‘. C ์†Œ์Šค ์ฝ”๋“œ๋Š” ํ‘œ์ค€ ์ถœ๋ ฅ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. -lc์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

-f ์ƒ์„ฑ ํฌํŠธ๋ž€ 77 netCDF์™€ ์ผ์น˜ํ•˜๋Š” netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ
์‚ฌ์–‘. ์†Œ์Šค ์ฝ”๋“œ๋Š” ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. -lf77๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

-o netcdf_ํŒŒ์ผ
"nc_create()" ํ˜ธ์ถœ์— ์ „๋‹ฌํ•  ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ฉด
(๋ช…์‹œ์ ์ธ -l ํ”Œ๋ž˜๊ทธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ) "-b" ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€
netCDF ํŒŒ์ผ์€ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์ง์ ‘ ์“ธ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
ํ‘œ์ค€ ์ถœ๋ ฅ์€ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

-k ํ˜•์‹_์ด๋ฆ„

-ํ˜•์‹ ์ฝ”๋“œ
-k ํ”Œ๋ž˜๊ทธ๋Š” ์ƒ์„ฑํ•  ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜๊ณ  ์ถ”๋ก ์— ์˜ํ•ด
ncgen์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ(์˜ˆ: netcdf-3(ํด๋ž˜์‹) ๋Œ€ netcdf-4 ๋Œ€ netcdf-5).
๋ฐ”๋กœ ๊ฐ€๊ธฐ๋กœ ์ˆซ์ž ํ˜•์‹ ์ฝ”๋“œ ๋Œ€์‹  ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ
ํ˜•์‹_์ด๋ฆ„ -k ์˜ต์…˜์˜ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

'classic' ๋˜๋Š” 'nc3' => netCDF ํด๋ž˜์‹ ํ˜•์‹

'64๋น„ํŠธ ์˜คํ”„์…‹' ๋˜๋Š” 'nc6' => netCDF 64๋น„ํŠธ ํ˜•์‹

'64๋น„ํŠธ ๋ฐ์ดํ„ฐ ๋˜๋Š” 'nc5' => netCDF-5(64๋น„ํŠธ ๋ฐ์ดํ„ฐ) ํ˜•์‹

'netCDF-4' 0r 'nc4' => netCDF-4 ํ˜•์‹(ํ–ฅ์ƒ๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ)

'netCDF-4 ํด๋ž˜์‹ ๋ชจ๋ธ' ๋˜๋Š” 'nc7' => netCDF-4 ํด๋ž˜์‹ ๋ชจ๋ธ ํ˜•์‹
๊ฐ€๋Šฅ ํ˜•์‹_๋ฒˆํ˜ธ format_names์˜ ๋ฐ”๋กœ ๊ฐ€๊ธฐ์ธ ์ธ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

3 => netcdf ํด๋ž˜์‹ ํ˜•์‹

5 => netcdf 5 ํ˜•์‹

6 => netCDF 64๋น„ํŠธ ํ˜•์‹

4 => netCDF-4 ํ˜•์‹(ํ–ฅ์ƒ๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ)

7 => netCDF-4 ํด๋ž˜์‹ ๋ชจ๋ธ ํ˜•์‹
์ˆซ์ž ์ฝ”๋“œ "7"์ด ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ๋Š” "7=3+4",
์„ฑ๋Šฅ์„ ์œ„ํ•œ netCDF-3 ์Šคํ† ๋ฆฌ์ง€ ํ˜•์‹๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ netCDF-4 ๋ฐ์ดํ„ฐ ๋ชจ๋ธ.
์ด์ „์˜ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์ˆซ์ž ์ฝ”๋“œ ๋Œ€์‹  ์ด๋Ÿฌํ•œ ์ˆซ์ž ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ NCO ๋•๋ถ„์ž…๋‹ˆ๋‹ค.
ํ˜•์‹ ๋ฒˆํ˜ธ.

์ฐธ๊ณ : ์ด์ „ ๋ฒ„์ „ ํ˜•์‹ ๋ฒˆํ˜ธ '1', '2', '3', '4'๋Š” ํ˜•์‹ ์ด๋ฆ„๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
๊ฐ๊ฐ 'nc3', 'nc6', 'nc4' ๋˜๋Š” 'nc7'๋„ ํ—ˆ์šฉ๋˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ˜•์‹ ๋ฒˆํ˜ธ์™€ ํ˜•์‹ ์ด๋ฆ„ ์‚ฌ์ด์˜ ์‰ฌ์šด ํ˜ผ๋™. ๋‹ค์–‘ํ•œ ์ด์ „ ํ˜•์‹ ์ด๋ฆ„ ๋ณ„์นญ
ํ—ˆ์šฉ๋˜์ง€๋งŒ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์˜ˆ: 'hdf5', 'enhanced-nc3' ๋“ฑ). ๋˜ํ•œ -v๋Š”
์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด -k์™€ ๋™์ผํ•œ ์˜๋ฏธ๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง‘๋‹ˆ๋‹ค.

-x ์ฑ„์šฐ๊ธฐ ๊ฐ’์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋Œ€๊ทœ๋ชจ netCDF ์ƒ์„ฑ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ์„ ํฌ๊ฒŒ ๋งŒ๋“ค์ง€ ๋งŒ ๋‚˜์ค‘์— ์ƒ์„ฑ ๋œ ํŒŒ์ผ์—์„œ ๊ธฐ๋ก๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์œผ๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
์‰ฝ๊ฒŒ ๊ฐ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-l ์ถœ๋ ฅ ์–ธ์–ด
-l ํ”Œ๋ž˜๊ทธ๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ถœ๋ ฅ ์–ธ์–ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
netCDF ์‚ฌ์–‘๊ณผ ์ผ์น˜ํ•˜๋Š” netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ
ํ‘œ์ค€ ์ถœ๋ ฅ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ง€์›๋˜๋Š” ์–ธ์–ด๋Š”
๋‹ค์Œ ํ”Œ๋ž˜๊ทธ.

c|C' => C ์–ธ์–ด ์ถœ๋ ฅ.

f77|fortran77' => FORTRAN 77 ์–ธ์–ด ์ถœ๋ ฅ
; ํ˜„์žฌ ํด๋ž˜์‹ ๋ชจ๋ธ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

j|java' => (์‹คํ—˜์ ) Java ์–ธ์–ด ์ถœ๋ ฅ
; ๊ธฐ์กด Unidata Java ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
ํด๋ž˜์‹ ๋ชจ๋ธ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์„ ํƒ ์ „์—, ์ถœ๋ ฅ ์ฒด์žฌ


์ถœ๋ ฅ ํ˜•์‹์˜ ์„ ํƒ์€ ์„ธ ๊ฐ€์ง€ ํ”Œ๋ž˜๊ทธ๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

-k ๊นƒ๋ฐœ.

_์ฒด์žฌ ์†์„ฑ (์ฐธ์กฐ ์•„๋ž˜).

๋ฐœ์ƒ of CDF-5 (64๋น„ํŠธ ๋ฐ์ดํ„ฐ) or
netcdf-4๋Š” ์ž…๋ ฅ CDL์—์„œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค." ์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” XNUMXยตm ๋ฐ XNUMXยตm ํŒŒ์žฅ์—์„œ ์ตœ๋Œ€ XNUMXW์˜ ํ‰๊ท  ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๊ฐ„ "netCDF-4 ๊ตฌ์กฐ" ๋ฐฉ๋ฒ•
๊ตฌ์„ฑ ์— ์ „์—, ๊ฐ•ํ™” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ์ง€์› ๋‹ค๋งŒ ํŠน๋ณ„ํ•œ ์„ฑ๋Šฅ ๊ด€๋ จ
์†์„ฑ ์ด๋Ÿฌํ•œ as
_์ฒญํฌ ํฌ๊ธฐ, _๋””ํ”Œ๋ ˆ์ดํŠธ๋ ˆ๋ฒจ, _์—”๋””์•ˆ, ๋“ฑ ์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” XNUMXยตm ๋ฐ XNUMXยตm ํŒŒ์žฅ์—์„œ ์ตœ๋Œ€ XNUMXW์˜ ํ‰๊ท  ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๊ฐ„ "CDF-5 ๊ตฌ์กฐ" ๋ฐฉ๋ฒ•
extended ๋ถ€ํ˜ธ ์ •์ˆ˜ ์œ ํ˜• ์ˆ˜ in ์ „์—, 64-bit ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

netCDF-4 ์‚ฌ๋ก€์™€ CDF-5 ์‚ฌ๋ก€ ์‚ฌ์ด์—๋Š” ๋ชจํ˜ธ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ถ€ํ˜ธ ์—†๋Š” ์œ ํ˜•์ด ์ž…๋ ฅ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ทœ์น™์€ ์ ์šฉ ์ˆœ์„œ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. Fortran ๋˜๋Š” Java ์ถœ๋ ฅ์ด ์ง€์ •๋œ ๊ฒฝ์šฐ -k ํ”Œ๋ž˜๊ทธ ๊ฐ’ 1(ํด๋ž˜์‹
๋ชจ๋ธ)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. CDL์—์„œ ํ–ฅ์ƒ๋œ ๊ตฌ์„ฑ ์‚ฌ์šฉ๊ณผ์˜ ์ถฉ๋Œ์€
์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

2. -k ํ”Œ๋ž˜๊ทธ์™€ _Format ์†์„ฑ์ด ๋ชจ๋‘ ์ง€์ •๋œ ๊ฒฝ์šฐ _Format ํ”Œ๋ž˜๊ทธ๋Š”
๋ฌด์‹œํ–ˆ๋‹ค. -k ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š๊ณ  _Format ์†์„ฑ ๊ฐ’์ด ์ง€์ •๋œ ๊ฒฝ์šฐ,
๊ทธ๋Ÿฌ๋ฉด -k ํ”Œ๋ž˜๊ทธ ๊ฐ’์ด _Format ์†์„ฑ์˜ ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด
-k ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

3. -k ์˜ต์…˜์ด ์ •์˜๋˜๊ณ  CDL๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ncgen์€ ๋‹ค์Œ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
์š”์ฒญ๋œ ํ˜•์‹์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

4. -k ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š๊ณ  CDF-5 ๊ตฌ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ CDL์—๋งŒ
-k ํ”Œ๋ž˜๊ทธ ๊ฐ’ 5(64๋น„ํŠธ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ)๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ง„์ •ํ•œ netCDF-4๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
CDL์˜ ๊ตฌ์„ฑ์—์„œ -k ํ”Œ๋ž˜๊ทธ ๊ฐ’ 3(ํ–ฅ์ƒ๋œ ๋ชจ๋ธ)์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

5. ํŠน๋ณ„ํ•œ ์„ฑ๋Šฅ ๊ด€๋ จ ์†์„ฑ์ด CDL์— ์ง€์ •๋œ ๊ฒฝ์šฐ -k ํ”Œ๋ž˜๊ทธ ๊ฐ’
4๊ฐœ ์ค‘(netCDF-4 ํด๋ž˜์‹ ๋ชจ๋ธ)์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

6. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ncgen์ด -k ํ”Œ๋ž˜๊ทธ๋ฅผ 1(ํด๋ž˜์‹ ๋ชจ๋ธ)๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ


CDL ํŒŒ์ผ์˜ ๊ตฌ๋ฌธ ํ™•์ธ `foo.cdl':

ncgen foo.cdl

CDL ํŒŒ์ผ์—์„œ `foo.cdl', `๋ผ๋Š” ์ด๋ฆ„์˜ ๋™๋“ฑํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ netCDF ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.x.nc':

ncgen -o x.nc foo.cdl

CDL ํŒŒ์ผ์—์„œ `foo.cdl', netCDF ํ•จ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” C ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ
`๋ผ๋Š” ๋™๋“ฑํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ netCDF ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ํ˜ธ์ถœx.nc':

ncgen -lc foo.cdl >xc

์‚ฌ์šฉ๋ฒ•


CDL ํ†ต์‚ฌ๋ก  ์‚ดํŽด๋ณด๊ธฐ
๋‹ค์Œ์€ ์—ฌ๋Ÿฌ ๋ช…๋ช…๋œ ์ฐจ์›์ด ์žˆ๋Š” netCDF ํŒŒ์ผ์„ ์„ค๋ช…ํ•˜๋Š” CDL ๊ตฌ๋ฌธ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.
(์œ„๋„, ๊ฒฝ๋„ ๋ฐ ์‹œ๊ฐ„), ๋ณ€์ˆ˜(Z, t, p, rh, ์œ„๋„, ๊ฒฝ๋„, ์‹œ๊ฐ„), ๋ณ€์ˆ˜ ์†์„ฑ(๋‹จ์œ„,
long_name, valid_range, _FillValue) ๋ฐ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ. CDL ํ‚ค์›Œ๋“œ๋Š” ๊ตต๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. (์ด๊ฒƒ
์˜ˆ์ œ๋Š” ๊ตฌ๋ฌธ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ CDL ํŒŒ์ผ์—๋Š” ๋” ์™„์ „ํ•œ
๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์™„๋ฒฝํ•˜๊ฒŒ ์ž์ฒด ์„ค๋ช…๋  ์ˆ˜ ์žˆ๋„๋ก ์†์„ฑ ์ง‘ํ•ฉ).
netcdf foo { // CDL์˜ netCDF ์‚ฌ์–‘ ์˜ˆ์‹œ

์œ ํ˜•:
์œ ๋ฐ”์ดํŠธ ์—ด๊ฑฐ ํ˜• enum_t {ํด๋ฆฌ์–ด = 0, ์ ๋ž€์šด = 1, ์ธต์šด = 2};
๋ถˆํˆฌ๋ช…์ฒด(11) ๋ถˆํˆฌ๋ช…_t;
INT(*) vlen_t;

์น˜์ˆ˜:
์œ„๋„ = 10, ๊ฒฝ๋„ = 5, ์‹œ๊ฐ„ = ๋ฌด์ œํ•œ ;

๋ณ€์ˆ˜:
๊ธด ์œ„๋„(์œ„๋„), ๊ฒฝ๋„(๊ฒฝ๋„), ์‹œ๊ฐ„(์‹œ๊ฐ„);
๋œจ๋‹ค Z(์‹œ๊ฐ„, ์œ„๋„, ๊ฒฝ๋„), t(์‹œ๊ฐ„, ์œ„๋„, ๊ฒฝ๋„);
๋”๋ธ” p(์‹œ๊ฐ„, ์œ„๋„, ๊ฒฝ๋„);
๊ธด rh(์‹œ๊ฐ„, ์œ„๋„, ๊ฒฝ๋„);

ํ˜„ ๊ตญ๊ฐ€(์‹œ๊ฐ„, ์œ„๋„, ๊ฒฝ๋„);
์œ ๋ฐ”์ดํŠธ ๊ผฌ๋ฆฌํ‘œ;

// ๋ณ€์ˆ˜ ์†์„ฑ
lat:long_name = "์œ„๋„";
์œ„๋„:๋‹จ์œ„ = "๋„๋ถ";
lon:long_name = "๊ฒฝ๋„";
lon:units = "degrees_east";
time:units = "1992-1-1 00:00:00 ์ดํ›„ ์ดˆ";

// ์ž…๋ ฅ๋œ ๋ณ€์ˆ˜ ์†์„ฑ
ํ˜„ Z:units = "์ง€๋ฆฌ์ „์œ„ ๋ฏธํ„ฐ";
๋œจ๋‹ค Z: ์œ ํšจ ๋ฒ”์œ„ = 0., 5000.;
๋”๋ธ” p:_FillValue = -9999.;
๊ธด rh:_FillValue = -1;
vlen_t :globalatt = {17, 18, 19};
๋ฐ์ดํ„ฐ:
์œ„๋„ = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90;
๋ก  = -140, -118, -96, -84, -52;
๊ทธ๋ฃน: g {
์œ ํ˜•:
ํ™”ํ•ฉ๋ฌผ cmpd_t { vlen_t f1; enum_t f2;};
} // ๊ทธ๋ฃน g
๊ทธ๋ฃน: ์‹œ๊ฐ„ {
๋ณ€์ˆ˜:
/์ง€/cmpd_t ํ™”ํ•ฉ๋ฌผ๋ฐ”;
๋ฐ์ดํ„ฐ:
compoundvar = {{3,4,5}, enum_t.Stratus } ;
} // ๊ทธ๋ฃน H
}

๋ชจ๋“  CDL ๋ฌธ์€ ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ, ํƒญ ๋ฐ ์ค„ ๋ฐ”๊ฟˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ž์œ ๋กญ๊ฒŒ. ์ฃผ์„์€ '//' ๋ฌธ์ž ๋‹ค์Œ์— ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CDL ์„ค๋ช…์€ XNUMX๊ฐœ์˜ ์„ ํƒ์  ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์œ ํ˜•, ์น˜์ˆ˜, ๋ณ€์ˆ˜, ๋ฐ์ดํ„ฐ,
ํ‚ค์›Œ๋“œ๋กœ ์‹œ์ž‘ `์œ ํ˜•:', `์ฐจ์›:', `๋ณ€์ˆ˜:'๋ฐ `๋ฐ์ดํ„ฐ:',
๊ฐ๊ธฐ. ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. (1) ํ‚ค์›Œ๋“œ์—๋Š” ํ›„ํ–‰ ์ฝœ๋ก ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝœ๋ก  ๋ฌธ์ž ์•ž์—๋Š” ๊ณต๋ฐฑ์ด ์žˆ์–ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ (2) ํ‚ค์›Œ๋“œ๋Š”
์†Œ๋ฌธ์ž.

์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” XNUMXยตm ๋ฐ XNUMXยตm ํŒŒ์žฅ์—์„œ ์ตœ๋Œ€ XNUMXW์˜ ํ‰๊ท  ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ณ€์ˆ˜: ์„น์…˜์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ ๋ณ€์ˆ˜ ์„ ์–ธ and ์†์„ฑ ํ• ๋‹น. ๋ชจ๋“ 
์„น์…˜์—๋Š” ์ „์—ญ ์†์„ฑ ํ• ๋‹น์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ดํ›„ ๋ฐ์ดํ„ฐ : ์„น์…˜์—์„œ ์‚ฌ์šฉ์ž๋Š” ์ผ๋ จ์˜ ๊ทธ๋ฃน์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(
์œ„์˜ ์˜ˆ). ๊ทธ๋ฃน ์ž์ฒด์—๋Š” ์œ ํ˜•, ์ฐจ์›, ๋ณ€์ˆ˜, ๋ฐ์ดํ„ฐ ๋ฐ
๊ธฐํƒ€(์ค‘์ฒฉ๋œ) ๊ทธ๋ฃน.

netCDF ์œ ํ˜• : ์„น์…˜์€ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜: ์—ด๊ฑฐ ํ˜•, ๋ธ”๋ Œ, ๋ถˆํˆฌ๋ช…์ฒด๋ฐ ํ™”ํ•ฉ๋ฌผ.

๋„ทCDF ์น˜์ˆ˜ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹ค์ฐจ์›์˜ ๋ชจ์–‘์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
netCDF ํŒŒ์ผ์— ํฌํ•จ๋œ ๋ณ€์ˆ˜. netCDF ์ฐจ์›์—๋Š” ์ด๋ฆ„๊ณผ ํฌ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ใ…
์น˜์ˆ˜๋Š” ๋ฌด์ œํ•œ ํฌ๊ธฐ, ์ฆ‰ ์ด ์ฐจ์›์„ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋Š”
ํ•ด๋‹น ์ฐจ์›์˜ ๊ธธ์ด๋กœ ์ž๋ž๋‹ˆ๋‹ค.

A ๋ณ€์ˆ˜ ๊ฐ™์€ ์œ ํ˜•์˜ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์—๋Š”
์ฐจ์› ๋ชฉ๋ก์—์„œ ์„ค๋ช…ํ•˜๋Š” ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ๋ชจ์–‘. ๊ฐ ๋ณ€์ˆ˜๋Š”
๋˜ํ•œ ๊ด€๋ จ ์†์„ฑ (์•„๋ž˜ ์ฐธ์กฐ) ๋ฐ ๋ฐ์ดํ„ฐ ๊ฐ’. ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ์œ ํ˜•,
๋ณ€์ˆ˜์˜ ๋ชจ์–‘์€ ์„ ์–ธ์— ์˜ํ•ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ CDL ์„น์…˜
์„ค๋ช…. ๋ณ€์ˆ˜๋Š” ์ฐจ์›๊ณผ ์ด๋ฆ„์ด ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๊ด€์Šต์— ์˜ํ•ด
๋ณ€์ˆ˜๋Š” XNUMX์ฐจ์›์ด๋ฉฐ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ์ฐจ์›์˜ ์ขŒํ‘œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
์ฐจ์›์—๋Š” ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์—†์–ด๋„ ๋ฉ๋‹ˆ๋‹ค.

๋„ทCDF ์†์„ฑ netCDF ๋ณ€์ˆ˜ ๋˜๋Š” ์ „์ฒด netCDF์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ์„ธํŠธ. ์†์„ฑ์€ ๋‹จ์œ„, ํŠน์ˆ˜ ๊ฐ’, ์ตœ๋Œ€๊ฐ’๊ณผ ๊ฐ™์€ ์†์„ฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ฐ ์ตœ์†Œ ์œ ํšจ ๊ฐ’, ์Šค์ผ€์ผ๋ง ๊ณ„์ˆ˜, ์˜คํ”„์…‹ ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜. ์†์„ฑ ์ •๋ณด
๋‹จ์ผ ๊ฐ’ ๋˜๋Š” ๊ฐ’ ๋ฐฐ์—ด๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "๋‹จ์œ„"๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.
"celsius"์™€ ๊ฐ™์€ ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ์†์„ฑ์— ์—ฐ๊ฒฐ๋œ
๋ณ€์ˆ˜, ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๊ธธ์ด ๋ฐ ๊ฐ’. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ€์ˆ˜์™€ ๋Œ€์กฐ์ ์œผ๋กœ
๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ์†์„ฑ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ)๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ™์ง€ ์•Š์€
netCDF-3, ์†์„ฑ ์œ ํ˜•์€ ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ผ๋ฐ˜์ ์ธ ๋‚ด์žฅ ์œ ํ˜•์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์œ ํ˜•.

CDL์—์„œ ์†์„ฑ์€ ์œ ํ˜•, ๋ณ€์ˆ˜, ':', ์†์„ฑ์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„. ์œ ํ˜•์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ ํ• ๋‹น๋œ ๊ฐ’์—์„œ ์œ ์ถ”๋ฉ๋‹ˆ๋‹ค.
์†์„ฑ์—. ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค ๊ธ€๋กœ๋ฒŒ ์–ด๋–ค ๊ฒƒ๊ณผ๋„ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์†์„ฑ
์†์„ฑ์—์„œ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ƒ๋žตํ•˜์—ฌ ์ „์ฒด์ ์œผ๋กœ netCDF์— ๋ณ€์ˆ˜
์„ ์–ธ. ์‚ฌ์–‘์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž ์žฌ์  ๋ชจํ˜ธ์„ฑ์ด ์žˆ์Œ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.
x : ์— = ...
์ด ์ƒํ™ฉ์—์„œ x๋Š” ์ „์—ญ ์†์„ฑ์˜ ์œ ํ˜•์ด๊ฑฐ๋‚˜ ๋ณ€์ˆ˜ ์ด๋ฆ„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์†์„ฑ์— ๋Œ€ํ•ด. x๋ผ๋Š” ์œ ํ˜•๊ณผ x๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋‘ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
๋ชจํ˜ธํ•จ์ด๋‹ค. ๊ทœ์น™์€ ์ด ์ƒํ™ฉ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ x๊ฐ€ ์œ ํ˜•์œผ๋กœ ํ•ด์„๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ฐ€๋Šฅํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ณ€์ˆ˜๋กœ.

์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด CDL์˜ ์†์„ฑ ๋ฐ์ดํ„ฐ ์œ ํ˜•์€
ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์†์„ฑ์˜ ๊ธธ์ด๋Š” ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.
๋˜๋Š” ํ• ๋‹น๋œ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‹ค์ˆ˜์˜
๊ฐ’์€ ์‰ผํ‘œ๋กœ ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋น„๋ฌธ์ž ์†์„ฑ์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘
์†์„ฑ์— ํ• ๋‹น๋œ ๊ฐ’์€ ๋™์ผํ•œ ์œ ํ˜•์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

CDL ์ฐจ์›, ๋ณ€์ˆ˜, ์†์„ฑ, ์œ ํ˜• ๋ฐ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์Šฌ๋ž˜์‹œ ๋ฌธ์ž(`/')๋ฅผ ์ œ์™ธํ•œ ๋น„์ œ์–ด utf-8 ๋ฌธ์ž. ๊ทธ๋Ÿฌ๋‚˜ ํŠน์ •
๋ฌธ์ž๋Š” ์ด๋ฆ„์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋Š”
๋ฐฑ์Šฌ๋ž˜์‹œ `\'. ํŠนํžˆ ์ด๋ฆ„ ์•ž์˜ ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ ๊ฒฝ์šฐ
(0-9)์ธ ๊ฒฝ์šฐ ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๊ฐ€ ์•ž์— ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ '
!"#$%&()*,:;<=>?[]^`ยด{}|~\'๋Š” ์ด๋ฆ„์˜ ์–ด๋””์—์„œ๋‚˜ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฐธ๊ณ 
๋ฐ‘์ค„(`_')๋กœ ์‹œ์ž‘ํ•˜๋Š” ์†์„ฑ ์ด๋ฆ„์€
Unidata๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ์— ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

`variable', `dimension', `data', `group' ๋ฐ `types'๋ผ๋Š” ๋‹จ์–ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
CDL ์ด๋ฆ„, ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฆ„๊ณผ ๋’ค๋”ฐ๋ฅด๋Š” ์ฝœ๋ก  ์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋  ๋•Œ ๋ฌธ์ž. ์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„ ์†์„ฑ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
์„ ์–ธ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

netcdf ... {
...
๋ณ€์ˆ˜:
์ •์ˆ˜ ์ฐจ์›;
์น˜์ˆ˜: ์†์„ฑ=0 ; // ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์น˜์ˆ˜: ์†์„ฑ=0 ; // ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.
...
}

์„ ํƒ์  ๋ฐ์ดํ„ฐ : CDL ์‚ฌ์–‘์˜ ์„น์…˜์€ netCDF ๋ณ€์ˆ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
์ดˆ๊ธฐํ™”. ์ดˆ๊ธฐํ™” ๊ตฌ๋ฌธ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ ์ด๋ฆ„, ๋“ฑํ˜ธ,
๋ฐ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์ƒ์ˆ˜ ๋ชฉ๋ก(๊ณต๋ฐฑ, ํƒญ ๋ฐ ์ค„ ๋ฐ”๊ฟˆ์œผ๋กœ ๊ตฌ๋ถ„๋  ์ˆ˜ ์žˆ์Œ)
์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ์ฐจ์›์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
๊ฐ€์žฅ ๋น ๋ฅธ. ๋”ฐ๋ผ์„œ ํ–‰๋ ฌ์—๋Š” ์—ด ์ˆœ์„œ๊ฐ€ ์•„๋‹Œ ํ–‰ ์ˆœ์„œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด ์ ์„ ๊ฒฝ์šฐ
๋ณ€์ˆ˜๋ฅผ ์ฑ„์šฐ๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ๋งŽ์ด ์ œ๊ณต๋˜๋ฉด ์œ ํ˜• ์ข…์†์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.
๊ณ ์œ  ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ฐ’์„ ์ œ๊ณตํ•˜์—ฌ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” '๊ฐ’ ์ฑ„์šฐ๊ธฐ'
'_FillValue'๋ผ๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ์ƒ์ˆ˜ ์œ ํ˜•์€ ๋‹ค์Œ์— ๋Œ€ํ•ด ์„ ์–ธ๋œ ์œ ํ˜•๊ณผ ์ผ์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋ณ€์ˆ˜; ์˜ˆ๋ฅผ ๋“ค์–ด ์ •์ˆ˜๋ฅผ ๋ถ€๋™ ์†Œ์ˆ˜์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•์ œ ๋ณ€ํ™˜์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. NS
์ƒ์ˆ˜ `_'๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ฑ„์šฐ๊ธฐ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ ์œ ํ˜•์ธ ๊ฒฝ์šฐ
๋ณ€์ˆ˜๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ `๋ฌธ์ž์—ด'์ด๋ฉด ํŠน์ˆ˜ ์ƒ์ˆ˜ `NIL`์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธธ์ด๊ฐ€ XNUMX์ธ ๋ฌธ์ž์—ด๊ณผ ๋‹ค๋ฅธ nil ๋ฌธ์ž์—ด.

์›์‹œ์  ์ธ Data ์œ ํ˜•
์ด๋ฅœ ์ „์ฐจ ๋ฌธ์ž
๋ฐ”์ดํŠธ 8 ๋น„ํŠธ ๋ฐ์ดํ„ฐ
์งง์€ 16๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
INT 32๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
๊ธด (๋™์˜์–ด INT)
int64 64๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
๋œจ๋‹ค IEEE ๋‹จ์ •๋ฐ€๋„ ๋ถ€๋™ ์†Œ์ˆ˜์ (32๋น„ํŠธ)
ํ˜„์‹ค (๋™์˜์–ด ๋œจ๋‹ค)
๋”๋ธ” IEEE ๋ฐฐ์ •๋ฐ€๋„ ๋ถ€๋™ ์†Œ์ˆ˜์ (64๋น„ํŠธ)
์œ ๋ฐ”์ดํŠธ ๋ถ€ํ˜ธ ์—†๋Š” 8๋น„ํŠธ ๋ฐ์ดํ„ฐ
์งง์€ 16๋น„ํŠธ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜
๋‹จ์œ„ 32๋น„ํŠธ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜
uint64 64๋น„ํŠธ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜
ํ˜„ ์ž„์˜ ๊ธธ์ด ๋ฌธ์ž์—ด

CDL์€ C์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ƒ์œ„ ์ง‘ํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•์€ CDL์—์„œ ์˜ˆ์•ฝ์–ด์ด๋ฏ€๋กœ ๋ณ€์ˆ˜ ์ด๋ฆ„, ์ฐจ์› ๋ฐ
์†์„ฑ์€ ๊ธฐ๋ณธ ์œ ํ˜• ์ด๋ฆ„์ด ์•„๋‹ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ์—์„œ ์œ ํ˜• ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Œ€๋ฌธ์ž ๋˜๋Š” ์†Œ๋ฌธ์ž.

๋ฐ”์ดํŠธ๋Š” ์ „์ฒด XNUMX๋น„ํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ฉฐ XNUMX๋ฐ”์ดํŠธ๋Š” ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋ฌธ์ž ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์”จ์   ๋ณ€ํ™˜ ๋ฐ”์ดํŠธ ์„ ์–ธ ์ด๋ฅœ ์ „์ฐจ
์ถœ๋ ฅ C ์ฝ”๋“œ ๋ฐ ๋น„ํ‘œ์ค€ ์„ ์–ธ BYTE ์ถœ๋ ฅ ์„ ์–ธ
ํฌํŠธ๋ž€ ์ฝ”๋“œ.

Shorts๋Š” -32768์—์„œ 32767 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์”จ์   ๋ณ€ํ™˜ ์งง์€ ์„ ์–ธ
์งง์€ ์ถœ๋ ฅ C ์ฝ”๋“œ ๋ฐ ๋น„ํ‘œ์ค€ ์„ ์–ธ ์ •์ˆ˜*2 ์„ ์–ธ
ํฌํŠธ๋ž€ ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ •์ˆ˜๋Š” -2147483648์—์„œ 2147483647 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์”จ์   ๋ณ€ํ™˜ INT ์„ ์–ธ
์— INT ์ถœ๋ ฅ C ์ฝ”๋“œ์˜ ์„ ์–ธ ๋ฐ ์ •์ˆ˜ ์ถœ๋ ฅ Fortran์˜ ์„ ์–ธ
์•”ํ˜ธ. ๊ธด ์˜ ๋™์˜์–ด๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค. INT CDL ์„ ์–ธ์—์„œ ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ดํ›„ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด์ œ C long์— ๋Œ€ํ•œ 64๋น„ํŠธ ํ‘œํ˜„์ด ์žˆ๋Š” ํ”Œ๋žซํผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Int64๋Š” -9223372036854775808์—์„œ 9223372036854775807 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์”จ์  
๋ณ€ํ™˜ int64 ์„ ์–ธ ๋กฑ๋กฑ ์ถœ๋ ฅ C ์ฝ”๋“œ์˜ ์„ ์–ธ.

๋ถ€๋™ ์†Œ์ˆ˜์ ์€ ์•ฝ -3.4+38์—์„œ 3.4+38 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์™ธ๋ถ€ ํ‘œํ˜„์€
32๋น„ํŠธ IEEE ์ •๊ทœํ™”๋œ ๋‹จ์ •๋ฐ€๋„ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋กœ. ์—”์”จ์   ๋ณ€ํ™˜ ๋œจ๋‹ค
์„ ์–ธ ๋œจ๋‹ค ์ถœ๋ ฅ C ์ฝ”๋“œ์˜ ์„ ์–ธ ๋ฐ ๋ ˆ์•Œ ์ถœ๋ ฅ์˜ ์„ ์–ธ
ํฌํŠธ๋ž€ ์ฝ”๋“œ. ํ˜„์‹ค ์˜ ๋™์˜์–ด๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค. ๋œจ๋‹ค CDL ์„ ์–ธ์—์„œ.

Double์€ ์•ฝ -1.7+308์—์„œ 1.7+308 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์™ธ๋ถ€ ํ‘œํ˜„
64๋น„ํŠธ IEEE ํ‘œ์ค€ ์ •๊ทœํ™”๋œ ๋ฐฐ์ •๋ฐ€๋„ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž์ž…๋‹ˆ๋‹ค. ์—”์”จ์  
๋ณ€ํ™˜ ๋”๋ธ” ์„ ์–ธ ๋”๋ธ” ์ถœ๋ ฅ C ์ฝ”๋“œ์˜ ์„ ์–ธ ๋ฐ ๋”๋ธ”
์ •๋„ ์ถœ๋ ฅ ํฌํŠธ๋ž€ ์ฝ”๋“œ์˜ ์„ ์–ธ.

์œ„ ์ •์ˆ˜ ์œ ํ˜•์˜ ๋ฌด๋ถ€ํ˜ธ ๋Œ€์‘ ํ•ญ๋ชฉ์€ ํ•ด๋‹น ์ •์ˆ˜ ์œ ํ˜•์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
๋ถ€ํ˜ธ ์—†๋Š” C ์œ ํ˜•. ํ•ด๋‹น ๋ฒ”์œ„๋Š” XNUMX์—์„œ ์‹œ์ž‘ํ•˜๋„๋ก ์ ์ ˆํ•˜๊ฒŒ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

char ์œ ํ˜•์˜ ๊ธฐ์ˆ ์ ์ธ ํ•ด์„์€ ๋ถ€ํ˜ธ ์—†๋Š” 8๋น„ํŠธ ๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
256๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๊ฐ’์˜ ์ธ์ฝ”๋”ฉ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. char ์œ ํ˜•์˜ ๋ณ€์ˆ˜๋Š”
์‚ฌ์šฉํ•  ๋ฌธ์ž ์„ธํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด "_Encoding" ์†์„ฑ์œผ๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. US-
ASCII, ISO-8859-1 ๋“ฑ UTF-8 ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€
US-ASCII ์ง€์ • ๋ฉ€ํ‹ฐ๋ฐ”์ดํŠธ UTF-8 ๋ฌธ์ž๋Š”
8๋น„ํŠธ ๋ฌธ์ž. ์œ ์ผํ•˜๊ฒŒ ํ•ฉ๋ฒ•์ ์ธ ๋‹จ์ผ ๋ฐ”์ดํŠธ UTF-8 ๊ฐ’์€ ์ •์˜์ƒ 7๋น„ํŠธ US-
์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ XNUMX์œผ๋กœ ์„ค์ •๋œ ASCII ์ธ์ฝ”๋”ฉ.

๋ฌธ์ž์—ด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ UTF-8์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๋ฉ€ํ‹ฐ๋ฐ”์ดํŠธ UTF-8 ์ธ์ฝ”๋”ฉ์ด ๋ฌธ์ž์—ด์— ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ˆซ์ž๊ฐ€
๋ฌธ์ž์—ด์—์„œ ๊ณ ์œ ํ•œ UTF-8 ๋ฌธ์ž์˜ ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” 8๋น„ํŠธ ๋ฐ”์ดํŠธ ์ˆ˜๋ณด๋‹ค ์ž‘์Šต๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

CDL ์ƒ์ˆ˜
์†์„ฑ์ด๋‚˜ ๋ณ€์ˆ˜์— ํ• ๋‹น๋œ ์ƒ์ˆ˜๋Š” ๊ธฐ๋ณธ netCDF ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒ์ˆ˜ ๊ตฌ๋ฌธ์€ ์œ ํ˜• ์ ‘๋ฏธ์‚ฌ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ ๋Š” C ๊ตฌ๋ฌธ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
long ๋ฐ double๊ณผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด short ๋ฐ float์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

A ๋ฐ”์ดํŠธ ์ƒ์ˆ˜๋Š” `b'(๋˜๋Š” `B')๊ฐ€ ์ถ”๊ฐ€๋œ ์ •์ˆ˜ ์ƒ์ˆ˜๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ~ ์•ˆ์—
์ด์ „ netCDF-2 API์—์„œ ๋ฐ”์ดํŠธ ์ƒ์ˆ˜๋Š” ๋‹จ์ผ ๋ฌธ์ž ๋˜๋Š”
`a' ๋˜๋Š” `0'๊ณผ ๊ฐ™์€ ํ‘œ์ค€ C ๋ฌธ์ž ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค. ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ง€์›๋ฉ๋‹ˆ๋‹ค
์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์ˆซ์ž์™€
๋ฐ”์ดํŠธ ์œ ํ˜• ๋ฐ ํ…์ŠคํŠธ ๋ฌธ์ž ์œ ํ˜•. ๋ฐ”์ดํŠธ ์ƒ์ˆ˜์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
0b // XNUMX๋ฐ”์ดํŠธ
-1b // 1๋น„ํŠธ ๋ฐ”์ดํŠธ๋กœ -8
255b // ๋˜ํ•œ ๋ถ€ํ˜ธ ์žˆ๋Š” 1๋น„ํŠธ ๋ฐ”์ดํŠธ๋กœ -8

์งง์€ ์ •์ˆ˜ ์ƒ์ˆ˜๋Š” 16๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ˆ˜๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–‘์‹
์˜ ์งง์€ ์ƒ์ˆ˜๋Š” `s' ๋˜๋Š” `S'๊ฐ€ ์ถ”๊ฐ€๋œ ์ •์ˆ˜ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์งง์€
์ƒ์ˆ˜๋Š” '0'์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ , '0x'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” XNUMX์ง„์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
XNUMX์ง„์ˆ˜ ์ƒ์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
-2s // ์งง์€ -2
0123s // XNUMX์ง„์ˆ˜
0x7ffs //XNUMX์ง„์ˆ˜

INT ์ •์ˆ˜ ์ƒ์ˆ˜๋Š” 32๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์–‘์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ ํ˜•ํƒœ
an INT ์ƒ์ˆ˜๋Š” ์ผ๋ฐ˜ ์ •์ˆ˜ ์ƒ์ˆ˜์ด์ง€๋งŒ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ผ `l' ๋˜๋Š” `L'์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ). ํ•˜์ง€๋งŒ ์ฃผ์˜ํ•˜์„ธ์š”. L ์ ‘๋ฏธ์‚ฌ๋Š”
32๋น„ํŠธ ์ •์ˆ˜๋กœ ํ•ด์„๋˜๋ฉฐ 64๋น„ํŠธ ์ •์ˆ˜๋กœ ํ•ด์„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
C long ์œ ํ˜•์€ ๋ชจํ˜ธํ•˜๊ฒŒ 32๋น„ํŠธ ๋˜๋Š” 64๋น„ํŠธ์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ฒฝ์šฐ INT ์ƒ์ˆ˜๋Š” `0'์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” XNUMX์ง„์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
'0x'๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด XNUMX์ง„์ˆ˜ ์ƒ์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ์•„๋ž˜์˜ ๋ถˆํˆฌ๋ช… ์ƒ์ˆ˜ ์ฐธ์กฐ).
์œ ํšจํ•œ ์˜ˆ INT ์ƒ์ˆ˜์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
-2
1234567890L
0123 // XNUMX์ง„์ˆ˜
0x7ff // XNUMX์ง„์ˆ˜

int64 ์ •์ˆ˜ ์ƒ์ˆ˜๋Š” 64๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ˆ˜๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–‘์‹
์˜ int64 constant๋Š” `ll' ๋˜๋Š” `LL'์ด ์ถ”๊ฐ€๋œ ์ •์ˆ˜ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ int64
์ƒ์ˆ˜๋Š” '0'์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ , '0x'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” XNUMX์ง„์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
XNUMX์ง„์ˆ˜ ์ƒ์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
-2ll // ๋ถ€ํ˜ธ ์—†๋Š” -2
0123LL // XNUMX์ง„์ˆ˜
0x7ffLL //XNUMX์ง„์ˆ˜

์œ ํ˜•์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ƒ์ˆ˜ ๋œจ๋‹ค ๋ถ€๋™ ์†Œ์ˆ˜์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
์•ฝ XNUMX๊ฐœ์˜ ์œ ํšจ ์ž๋ฆฟ์ˆ˜ ์ •๋ฐ€๋„๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ. ์˜ ํ˜•ํƒœ ๋œจ๋‹ค ์ƒ์ˆ˜๋Š”
'f' ๋˜๋Š” 'F'๊ฐ€ ์ถ”๊ฐ€๋œ C ๋ถ€๋™ ์†Œ์ˆ˜์  ์ƒ์ˆ˜์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด
๋‹ค์Œ์€ ๋ชจ๋‘ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋œจ๋‹ค ์ƒ์ˆ˜ :
-2.0 ์ธต
3.14159265358979f // ์ •๋ฐ€๋„๊ฐ€ ๋‚ฎ์•„ ์ž˜๋ฆฝ๋‹ˆ๋‹ค.
1.f

์œ ํ˜•์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ƒ์ˆ˜ ๋”๋ธ” ๋ถ€๋™ ์†Œ์ˆ˜์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
์•ฝ XNUMX๊ฐœ์˜ ์œ ํšจ ์ž๋ฆฟ์ˆ˜ ์ •๋ฐ€๋„๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ. ์˜ ํ˜•ํƒœ ๋”๋ธ” ์ƒ์ˆ˜๋Š”
C ๋ถ€๋™ ์†Œ์ˆ˜์  ์ƒ์ˆ˜์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์  'd' ๋˜๋Š” 'D'๊ฐ€ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„์œ„ํ•œ
์˜ˆ ๋‹ค์Œ์€ ๋ชจ๋‘ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”๋ธ” ์ƒ์ˆ˜ :
-2.0
3.141592653589793
1.0-20
1.d

๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜ ์ƒ์ˆ˜๋Š” ์‚ฌ์ด์— ๋ฌธ์ž 'U' ๋˜๋Š” 'u'๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒ์ˆ˜ ๋ฐ ๋ชจ๋“  ํ›„ํ–‰ ํฌ๊ธฐ ์ง€์ •์ž ๋˜๋Š” ํฌ๊ธฐ์˜ ๋์—์„œ ๋ฐ”๋กœ
์ง€์ •์ž. ๋”ฐ๋ผ์„œ ์˜ˆ๋ฅผ ๋“ค์–ด 10U, 100su, 100000ul ๋˜๋Š” 1000000llu๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ๋ฌธ์ž ์ƒ์ˆ˜๋Š” ์ž‘์€๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜ ์ด์ƒ์˜ ์‹œํ€€์Šค์ธ ๊ฒฝ์šฐ
๋ฌธ์ž๊ฐ€ ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์ธ ๊ฒฝ์šฐ ํ•ด๋‹น ํ•ด์„์€ ๋‹ค์Œ์—์„œ ์œ ์ถ”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ๋งฅ. ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ netCDF ํด๋ž˜์‹ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ƒ์ˆ˜๋Š”
๋ฌธ์ž ๋ฐฐ์—ด๋กœ ํ•ด์„๋˜๋ฏ€๋กœ ์ƒ์ˆ˜์˜ ๊ฐ ๋ฌธ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
๋‹จ์ผ ๋ฌธ์ž๋ผ๋ฉด. ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ netCDF ํ™•์žฅ๋œ ๊ฒฝ์šฐ ์ƒ์ˆ˜๋Š”
์— ๋”ฐ๋ผ ํด๋ž˜์‹ ๋ชจ๋ธ ๋˜๋Š” ์‹ค์ œ ๋ฌธ์ž์—ด(์•„๋ž˜ ์ฐธ์กฐ)๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ์†์„ฑ ๋˜๋Š” ๋ณ€์ˆ˜์˜ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

char ์ƒ์ˆ˜์˜ ํ•ด์„์€ ์ธ์‡„ ๊ฐ€๋Šฅํ•œ ASCII ๋ฒ”์œ„์— ์žˆ๋Š” ์ƒ์ˆ˜๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
(' '..'~')๋Š” UTF-1์˜ 8๋ฐ”์ดํŠธ ํ•˜์œ„ ์ง‘ํ•ฉ์œผ๋กœ ์ธ์ฝ”๋”ฉ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
US-ASCII. ๋ชจ๋“  ๊ฒฝ์šฐ์— ์ผ๋ฐ˜์ ์ธ C ๋ฌธ์ž์—ด ์ด์Šค์ผ€์ดํ”„ ๊ทœ์น™์€
0 ~ 127. 127๋ณด๋‹ค ํฐ ๊ฐ’์ด ํ—ˆ์šฉ๋˜์ง€๋งŒ ํ•ด๋‹น ์ธ์ฝ”๋”ฉ์€ ์ •์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ ์œ„ํ•œ
netCDF ํ™•์žฅ, char ์œ ํ˜•์˜ ์‚ฌ์šฉ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ๋ฌธ์ž์—ด ์œ ํ˜•์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฌธ์ž ์ƒ์ˆ˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
'a' // ASCII 'a'
"a" // 'a'์™€ ๋™์ผ
"Two\nlines\n" // ๋‘ ๊ฐœ์˜ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ 10์ž ๋ฌธ์ž์—ด
"a bell:\007" // ASCII ๋ฒจ์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด
netCDF ๋ฌธ์ž ๋ฐฐ์—ด "a"๋Š” ์š”์†Œ๊ฐ€ ํ•˜๋‚˜์ธ ๋ณ€์ˆ˜์— ๋งž์Šต๋‹ˆ๋‹ค.
์ข…๋ฃŒ NULL ๋ฌธ์ž๊ฐ€ ๊ฐ€์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ž ๋ฐฐ์—ด์˜ XNUMX๋ฐ”์ดํŠธ๋Š”
์— ์˜ํ•ด ์ค‘์š”ํ•œ ๋ฌธ์ž์˜ ๋์œผ๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค. ncdump ํ”„๋กœ๊ทธ๋žจ, ๋‹ค์Œ
C ํ˜‘์•ฝ. ๋”ฐ๋ผ์„œ NULL ๋ฐ”์ดํŠธ๋Š” ๋‹ค์Œ์„ ์ œ์™ธํ•˜๊ณ  ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
๋์—: ์‚ฌ์šฉ ๋ฐ”์ดํŠธ XNUMX ๋ฐ”์ดํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐ”์ดํŠธ ๋ฐฐ์—ด ๋Œ€์‹  ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ˆ ์ƒ์ˆ˜๋Š” ๋ฌธ์ž ์ƒ์ˆ˜์™€ ๊ฐ™์ด ํฐ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
๋‹ค์ค‘ ๋ฌธ์ž ๋ฌธ์ž์—ด์ด ๋‹ค์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ์ž ์žฌ์  ๋ชจํ˜ธ์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์ฐจ์› ๋ฌธ์ž ๊ฐ’. ๋ช…ํ™•์„ฑ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•˜์ง€๋งŒ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ฐ์€ํ˜„ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ๋ฌธ์ž์—ด ์ƒ์ˆ˜๊ฐ€ ๊ฐ€์ •๋ฉ๋‹ˆ๋‹ค.
ํ•ญ์ƒ UTF-8๋กœ ์ธ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ
๋ฉ€ํ‹ฐ๋ฐ”์ดํŠธ UTF-8 ๋ฌธ์ž๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํŠน์ˆ˜ ์ƒ์ˆ˜ `NIL`์€ ๋‹ค์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธธ์ด๊ฐ€ XNUMX์ธ ๋ฌธ์ž์—ด๊ณผ ๋‹ค๋ฅธ nil ๋ฌธ์ž์—ด.

๋ถˆํˆฌ๋ช… ํ•œ ์ƒ์ˆ˜๋Š” ์•ž์— 0X ๋˜๋Š” 0x๊ฐ€ ์˜ค๋Š” XNUMX์ง„์ˆ˜ ์‹œํ€€์Šค๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด 0xaa34ffff. ์ด๋Ÿฌํ•œ ์ƒ์ˆ˜๋Š” ์—ฌ์ „ํžˆ ์ •์ˆ˜ ์ƒ์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ
ํ•„์š”์— ๋”ฐ๋ผ ์ž˜๋ฆฌ๊ฑฐ๋‚˜ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™”ํ•ฉ๋ฌผ ์ƒ์ˆ˜ ์‹
์œ ํ˜•์ด ์‚ฌ์šฉ์ž ์ •์˜ ์œ ํ˜•์ธ ๋ณ€์ˆ˜(๋˜๋Š” ์†์„ฑ)์— ๊ฐ’์„ ์ง€์ •ํ•˜๋ ค๋ฉด
์ƒ์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์€ ๋กœ ๋ฌถ์ธ ์ผ๋ จ์˜ ์ƒ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋„๋ก ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ค‘๊ด„ํ˜ธ(์˜ˆ: "{"..."}"). ์ด๋Ÿฌํ•œ ์ƒ์ˆ˜๋ฅผ ๋ณตํ•ฉ์ƒ์ˆ˜๋ผ๊ณ  ํ•˜๋ฉฐ,
๋ณตํ•ฉ ์ƒ์ˆ˜๋Š” ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ํ˜• "T(*) vlen_t"๊ฐ€ ์ฃผ์–ด์ง€๋ฉด T๋Š” ๋‹ค๋ฅธ ์ž„์˜์˜ ๊ธฐ๋ณธ ์œ ํ˜•์ด๋ฉฐ ์ด์— ๋Œ€ํ•œ ์ƒ์ˆ˜๋Š”
๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
vlen_t var[2] = {t11,t12,...t1N}, {t21,t22,...t2m};
๊ฐ’ tij๋Š” ์œ ํ˜• T์˜ ์ƒ์ˆ˜๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

"compound cmpd_t {T1 f1; T2 f2...Tn fn}" ์œ ํ˜•์ด ์ฃผ์–ด์ง€๋ฉด Ti๋Š” ๋‹ค๋ฅธ ์ž„์˜์ ์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์œ ํ˜•, ์ด์— ๋Œ€ํ•œ ์ƒ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
cmpd_t var[2] = {t11,t12,...t1N}, {t21,t22,...t2n};
๊ฐ’ tij๋Š” Ti ์œ ํ˜•์˜ ์ƒ์ˆ˜๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ํ•„๋“œ๊ฐ€ ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ
ํ•„๋“œ์˜ ๊ธฐ๋ณธ ์œ ํ˜•์— ๋Œ€ํ•ด ์ง€์ •๋œ ๊ฐ’ ๋˜๋Š” ๊ธฐ๋ณธ ์ฑ„์šฐ๊ธฐ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

์ค‘๊ด„ํ˜ธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์€ ๋‹ค์Œ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ • ๋ฐ์ดํ„ฐ ๋ชฉ๋ก ์„น์…˜์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์•„๋ž˜.

๋ฒ”์œ„ ์ง€์ • ๊ทœ์น™
๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ •์˜๋œ ๊ฐœ์ฒด์˜ ์ด๋ฆ„ ๊ณต๊ฐ„์ด ๋” ์ด์ƒ ๋‹จ์ˆœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ชจ๋“  ์œ ํ˜•, ์ฐจ์› ๋˜๋Š” ๋ณ€์ˆ˜์˜ ์ฐธ์กฐ(์ด๋ฆ„)์—๋Š” ์ ˆ๋Œ€ ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŠน์ • ์„ ์–ธ์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ๋กœ. ๋”ฐ๋ผ์„œ ๋ˆ„๊ตฐ๊ฐ€๋Š” ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๋ณ€์ˆ˜:
/g1/g2/t1 v1;
์ฐธ์กฐ๋˜๋Š” ์œ ํ˜•(t1)์€ ๊ทธ๋ฃน g2 ๋‚ด์˜ ์œ ํ˜•์ด๋ฉฐ, ์ด๋Š” ๋‹ค์Œ์— ๋‚ดํฌ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฃน g1. Unix ํŒŒ์ผ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ด ํ‘œ๊ธฐ๋ฒ•์˜ ์œ ์‚ฌ์„ฑ์€ ์˜๋„์ ์ด๋ฉฐ,
๊ทธ๋ฃน์„ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์˜ ํ•œ ํ˜•ํƒœ๋กœ ๊ฐ„์ฃผํ•˜์‹ญ์‹œ์˜ค.

์ด๋ฆ„์ด ์ ‘๋‘์‚ฌ๋กœ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ง€์ •๋œ ์ด๋ฆ„์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฒ”์œ„ ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
์„ ์–ธ. ํ˜„์žฌ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ฐจ์›, ํ•˜๋‚˜๋Š” ์œ ํ˜• ๋ฐ
์—ด๊ฑฐํ˜• ์ƒ์ˆ˜, ๋‹ค๋ฅธ ๋ชจ๋“  ์ƒ์ˆ˜.

์ ‘๋‘์–ด๊ฐ€ ๋ถ™์ง€ ์•Š์€ ์ฐจ์› ์ด๋ฆ„์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ(๋ณ€์ˆ˜ ์„ ์–ธ์—์„œ์™€ ๊ฐ™์ด) ncgen์ด ๋จผ์ €
๋ฐ”๋กœ ์˜†์— ์žˆ๋Š” ๊ทธ๋ฃน์—์„œ ์ฐจ์›์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ๊ทธ๋ฃน์„ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๊ทธ๋ฃน์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ณ„์†ํ•ด์„œ
์ฐจ์›์„ ์ฐพ๊ฑฐ๋‚˜ ๋” ์ด์ƒ ๊ทธ๋ฃน์ด ์—†์„ ๋•Œ๊นŒ์ง€ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ํƒ€์ž…์˜ ์ ‘๋‘์–ด๊ฐ€ ๋ถ™์ง€ ์•Š์€ ์ด๋ฆ„์ด๋‚˜ ์—ด๊ฑฐํ˜• ์ƒ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ ncgen์ด ๊ฒ€์ƒ‰
์‚ฌ์ „ ์ฃผ๋ฌธ ๊นŠ์ด ์šฐ์„  ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•˜๋Š” ๊ทธ๋ฃน ํŠธ๋ฆฌ. ์ด๊ฒƒ์€ ๋ณธ์งˆ์ ์œผ๋กœ
cdl์—์„œ ํ…์ŠคํŠธ๋กœ ์ฐธ์กฐ ์•ž์— ์ผ์น˜ํ•˜๋Š” ์„ ์–ธ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ์ด๋ฉฐ ๊ทธ๋ฃน ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ "๊ฐ€์žฅ ๋†’์€" ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

3. ๋‹ค๋ฅธ ๋ชจ๋“  ์ด๋ฆ„์˜ ๊ฒฝ์šฐ ๋ฐ”๋กœ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๊ทธ๋ฃน๋งŒ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ์ฐธ๊ณ  ์‚ฌํ•ญ. ์ •๋ฐฉํ–ฅ ์ฐธ์กฐ๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด g1 ๋ฐ/๋˜๋Š” g2๊ฐ€ ์ •์˜๋˜๊ธฐ ์ „์— ์ด ์ฐธ์กฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด /g1/g1/t2์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์ง€์ • ์—ด๊ฑฐ ์ƒ์ˆ˜
์—ด๊ฑฐํ˜• ์ƒ์ˆ˜(๋ฐ์ดํ„ฐ ๋ชฉ๋ก์—์„œ)์— ๋Œ€ํ•œ ์ฐธ์กฐ๋Š” ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—ด๊ฑฐ ์ƒ์ˆ˜ ์ด๋ฆ„์€ ๋‘˜ ์ด์ƒ์˜ ์—ด๊ฑฐ์— ์ •์˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. cdl ํŒŒ์ผ์ธ ๊ฒฝ์šฐ
๋ชจํ˜ธํ•œ ์ƒ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉด ncgen์—์„œ ์˜ค๋ฅ˜ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

1. ์—ด๊ฑฐํ˜• ์ƒ์ˆ˜ ์•ž์— ์—ด๊ฑฐํ˜• ์ด๋ฆ„์„ ๋ถ™์ž…๋‹ˆ๋‹ค.
์ : ์—ด๊ฑฐํ˜•.econst์˜ˆ๋ฅผ ๋“ค์–ด.

2. ์‚ฌ๋ก€ XNUMX์ด ์—ด๊ฑฐ ์ƒ์ˆ˜๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฃน ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•ํ•œ ์—ด๊ฑฐ ์œ ํ˜•์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. /g1/g2/enum.econst,
์˜ˆ๋ฅผ ๋“ค์–ด.

์ด๋‹ฌ์˜ ์ŠคํŽ˜์…œ Attributes
์„ฑ๋Šฅ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ˆ˜ํ•œ ๊ฐ€์ƒ ์†์„ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ ํ˜•์‹ ๋ฐ ๋ณ€์ˆ˜ ์†์„ฑ์— ๋Œ€ํ•ด. ํŒŒ์ผ์€ netCDF-4 ํŒŒ์ผ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์ˆ˜ํ•œ ๊ฐ€์ƒ ์†์„ฑ์€ ์‹ค์ œ๋กœ ํŒŒ์ผ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹จ์ง€
CDL์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ธฐํƒ€ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•

ํ˜„์žฌ ์ง€์›๋˜๋Š” ํŠน์ˆ˜ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: `_Format', `_Fletcher32,
`_ChunkSizes', `_Endianness', `_DeflateLevel', `_Shuffle' ๋ฐ `_Storage'.

`_Format'์€ netCDF ํ˜•์‹ ๋ณ€ํ˜•์„ ์ง€์ •ํ•˜๋Š” ์ „์—ญ ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ฐ’์€
`classic', `64-bit offset', `64-bit data', `netCDF-4' ๋˜๋Š”
`netCDF-4 ํด๋ž˜์‹ ๋ชจ๋ธ'.

๋‚˜๋จธ์ง€ ํŠน์ˆ˜ ์†์„ฑ์€ ๋ชจ๋‘ ๋ณ€์ˆ˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ๋ชจ๋“ 
netCDF-4 API์— ์ •์˜๋œ ์ผ๋ถ€ ํ•ด๋‹น `nc_def_var_XXX' ํ•จ์ˆ˜์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์„ ์œ„ํ•œ
๋ณธ์งˆ์ ์œผ๋กœ ๋ถ€์šธ ์†์„ฑ(_Fletcher32, _Shuffle ๋ฐ _NOFILL),
true ๊ฐ’์€ ๋ฌธ์ž์—ด `true' ๋˜๋Š” `1'์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ •์ˆ˜ 1์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
false ๊ฐ’์€ `false', `0' ๋˜๋Š” ์ •์ˆ˜ 0์„ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. `_Fletcher32๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•œ `fletcher32' ์†์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

2. `_Endianness'๋Š” ์–ธ์ œ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š”์ง€์— ๋”ฐ๋ผ `little' ๋˜๋Š” `big'์ž…๋‹ˆ๋‹ค.
์ฒ˜์Œ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

3. `_DeflateLevel'์€ ์••์ถ•์ด ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ 0์—์„œ 9 ์‚ฌ์ด์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

4. `_Shuffle'์€ ์…”ํ”Œ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

5. `_Storage'๋Š” `์ธ์ ‘' ๋˜๋Š” `์ฒญํฌ'์ž…๋‹ˆ๋‹ค.

6. `_ChunkSizes'๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ ์ฐจ์›์— ๋Œ€ํ•œ ์ฒญํฌ ํฌ๊ธฐ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

"add_offset" ๋˜๋Š” "scale_factor"์™€ ๊ฐ™์€ ์†์„ฑ์—๋Š” ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
ncgen.ncgen. ์ด๋Ÿฌํ•œ ์†์„ฑ์€ ํ˜„์žฌ ๊ทœ์น™์ด๋ฉฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณ„์ธต ์œ„์—์„œ ๋‹ค์Œ์„ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด NCO์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํŒจํ‚ค์ง€.

์ง€์ • ๋ฐ์ดํ„ฐ ๋ชฉ๋ก
`data:` ์„น์…˜์—์„œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ncgen์— ์˜ํ•ด.

์ฒซ์งธ, ์ตœ์ƒ์œ„ ์ˆ˜์ค€์€ ์ž๋™์œผ๋กœ ํ•ญ๋ชฉ ๋ชฉ๋ก์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ฏ€๋กœ
๋‚ด๋ถ€์— {...}. ์ฆ‰, ๋ณ€์ˆ˜๊ฐ€ ์Šค์นผ๋ผ์ด๋ฉด ๋‹จ์ผ ์ƒ์œ„-
level ์š”์†Œ์ด๋ฉฐ ๋ณ€์ˆ˜๊ฐ€ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ N๊ฐœ์˜ ์ตœ์ƒ์œ„ ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์œ„ํ•œ
์ตœ์ƒ์œ„ ๋ชฉ๋ก์˜ ๊ฐ ์š”์†Œ์—๋Š” ๋‹ค์Œ ๊ทœ์น™์ด ์ ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. ๋ฌด์ œํ•œ ์ฐจ์›์˜ ์ธ์Šคํ„ด์Šค(์ฒซ ๋ฒˆ์งธ ์ฐจ์› ์ œ์™ธ)๋Š” ๋‘˜๋Ÿฌ์‹ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด {...}๋กœ.

2. ๋ณตํ•ฉ ์ธ์Šคํ„ด์Šค๋Š” {...}์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3. ๋ณตํ•ฉ ์ธ์Šคํ„ด์Šค์˜ ๋น„ ์Šค์นผ๋ผ ํ•„๋“œ๋Š” {...}์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

4. ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด vlens์˜ ์ธ์Šคํ„ด์Šค๋ฅผ {...}๋กœ ๋ฌถ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์€ ์•”์‹œ์ ์œผ๋กœ ๋‹ค์Œ ๊ฐ’์˜ ๋ฒกํ„ฐ(์ฆ‰, ๋ชฉ๋ก)์ž…๋‹ˆ๋‹ค.
์†์„ฑ์˜ ์œ ํ˜•๊ณผ ์œ„์˜ ๊ทœ์น™์„ ์—ผ๋‘์— ๋‘๊ณ  ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

7. ์ค‘๊ด„ํ˜ธ์˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ทœ์น™์˜ ํ•œ ๊ฐ€์ง€ ๊ฒฐ๊ณผ๋Š” ๊ฐ’ ๋ฐฐ์—ด์ด ํ•˜์œ„ ๋ฐฐ์—ด์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ค‘๊ด„ํ˜ธ ์•ˆ์—. ์˜ˆ๋ฅผ ๋“ค์–ด int var(d1)(d2)...(dn)์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ์—ฌ๊ธฐ์„œ d2...dn์€
์ œํ•œ ์—†๋Š”. ์ด ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์€ ์ •์ˆ˜์˜ ๋‹จ์ผ ๋ชฉ๋ก์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” D=d1*d2*...dn ๊ฐ’ ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๋ชฉ๋ก์ด ์ ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
D๋ณด๋‹ค, ์ด ๊ฒฝ์šฐ ์ฑ„์šฐ๊ธฐ ๊ฐ’์ด ๋ชฉ๋ก์„ ์ฑ„์šฐ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์†์„ฑ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์— ๋Œ€ํ•œ ๊ทœ์น™ 6์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์˜ ์œ ํ˜•์ธ ๊ฒฝ์šฐ
attribute๋Š” ๋ณตํ•ฉ(๋˜๋Š” vlen) ์œ ํ˜•์ด๋ฉฐ ๋ชฉ๋ก์˜ ํ•ญ๋ชฉ ์ˆ˜๊ฐ€ ํ•˜๋‚˜์ด๋ฉด
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณตํ•ฉ ์ธ์Šคํ„ด์Šค๋Š” ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ • ์บ๋ฆญํ„ฐ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก
char ์œ ํ˜•์˜ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๋„ ์•ฝ๊ฐ„ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๋ คํ•˜๋‹ค
์˜ˆ
์น˜์ˆ˜: u=๋ฌด์ œํ•œ; d1=1; d2=2; d3=3;
d4=4; d5=5; u2=UNLIMITED;
๋ณ€์ˆ˜: char var(d4,d5);
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var="1", "two", "three";

์ฑ„์šธ var ์š”์†Œ๊ฐ€ 5๊ฐœ ์žˆ๊ณ (d4 X d1) ๊ธธ์ด๊ฐ€ 3, XNUMX์ธ ์„ธ ๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค.
5. ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ XNUMX๊ฐœ์˜ ์š”์†Œ์— ์–ด๋–ป๊ฒŒ ํ• ๋‹นํ•ฉ๋‹ˆ๊นŒ?

์ด๋Š” ์›๋ž˜ ncgen(ncgen3)์„ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ค์šด ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
ํ•ต์‹ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐœ๋…์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. ์ฐจ์› ์„ธํŠธ D1..Dn์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ D1์€ ์„ ํƒ์ ์œผ๋กœ Unlimited์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์น˜์ˆ˜. Di์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ์•Œ๋ ค์ ธ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค(๋ฌด์ œํ•œ ํฌํ•จ).
์น˜์ˆ˜).

2. ์ผ๋ จ์˜ ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž ์ƒ์ˆ˜ C1..Cm์ด ์ฃผ์–ด์ง€๋ฉด ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ๋‹ค์Œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ธธ์ด๊ฐ€ D1์—์„œ Dn๊นŒ์ง€์˜ ์™ธ์ ์ธ ๋‹จ์ผ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ฐธ๊ณ 
์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋ฌธ์ž ์ƒ์ˆ˜๋Š” ํฌ๊ธฐ 1์˜ ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

3. ๊ตฌ์„ฑ Dx = D1์—์„œ D(n-1)๊นŒ์ง€์˜ ์™ธ์ .

4. ๊ฐ ์ƒ์ˆ˜ Ci์— ๋Œ€ํ•ด ๊ธธ์ด๊ฐ€ ๋‹ค์Œ์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋„๋ก ํ•„์š”์— ๋”ฐ๋ผ ์ฑ„์šฐ๊ธฐ ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
NS.

5. ์ˆ˜์ •๋œ C1..Cm์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฌธ์ž์—ด S๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

6. ๊ธธ์ด๊ฐ€ Dn์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋„๋ก S์— ์ฑ„์šฐ๊ธฐ ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

8. S๊ฐ€ Dx * Dn๋ณด๋‹ค ๊ธธ๋ฉด ์ž๋ฅด๊ณ  ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ฐธ๊ณ  ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ๋ฌด์ œํ•œ์˜ ๋‹จ์ผ ์ฐจ์›๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ์ƒ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์—ฐ๊ฒฐ ๋ฐ ์ฑ„์šฐ๊ธฐ ๋ฌธ์ž๊ฐ€ ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด์˜ ๋์— ์ถ”๊ฐ€๋˜์–ด
๊ธธ์ด๋Š” ๋ฌด์ œํ•œ ์ฐจ์›์˜ ๊ธธ์ด์ž…๋‹ˆ๋‹ค. ๊ธธ์ด๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ํฌ๋ฉด
ํฌ๊ธฐ๊ฐ€ ๋ฌด์ œํ•œ์ธ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜ ์ž˜๋ฆฝ๋‹ˆ๋‹ค.

2. ๋ฌธ์žํ˜•์ด vlen์ธ ๊ฒฝ์šฐ ์˜ˆ๋ฅผ ๋“ค์–ด "char(*) vlen_t". ์šฐ๋ฆฌ๋Š” ๋‹จ์ˆœํžˆ
์ฑ„์šฐ์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ƒ์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

3. ๋ฌธ์ž ์œ ํ˜• ์†์„ฑ์˜ ๊ฒฝ์šฐ ๋‹จ์ˆœํžˆ ๋ชจ๋“  ์ƒ์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

netcdf-4์—์„œ ์ฒซ ๋ฒˆ์งธ ์ด์™ธ์˜ ์ฐจ์›์€ ๋ฌด์ œํ•œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ทœ์ •๋Œ€๋กœ
์œ„์—์„œ ๋‚ด๋ถ€ ๋ฌด์ œํ•œ โ€‹โ€‹์ธ์Šคํ„ด์Šค๋Š” {...}๋กœ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด.
๋ณ€์ˆ˜: char var(u,u2);
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={"1", "๋‘˜"}, {"์…‹"};
์ด ๊ฒฝ์šฐ u๋Š” 2์˜ ์œ ํšจ ๊ธธ์ด๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. uXNUMX์˜ ๊ฐ ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ
์œ„์˜ ๊ทœ์น™์ด ์ ์šฉ๋˜์–ด ์ด๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={"1","t","w","o"}, {"t","h","r","e","e"};
u2์˜ ์œ ํšจ ํฌ๊ธฐ๋Š” ๋‘ ์ธ์Šคํ„ด์Šค ๊ธธ์ด(์ด ๊ฒฝ์šฐ XNUMX๊ฐœ)์˜ ์ตœ๋Œ€๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋” ์งง์€ ๊ฒƒ์ด ํŒจ๋”ฉ๋ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={"1","t","w","o","\0"}, {"t","h","r","e","e"};

ํ›จ์”ฌ ๋” ๋ณต์žกํ•œ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์‹ญ์‹œ์˜ค.
๋ณ€์ˆ˜: char var(u,u2,u3);
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={{"1", "๋‘˜"}}, {{"์…‹"},{"๋„ท","xy"}};
์ด ๊ฒฝ์šฐ u๋Š” ๋‹ค์‹œ 2์˜ ์œ ํšจ ๊ธธ์ด๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. uXNUMX ์น˜์ˆ˜๋Š”
ํฌ๊ธฐ = ์ตœ๋Œ€(1,2) = 2; u2์˜ ๊ฐ ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ ์œ„์˜ ๊ทœ์น™์ด ์ ์šฉ๋˜์–ด
์ด.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={{"1","t","w","o"}}, {{"t","h","r","e","e"},{"f","o","u","r","x","y"}};
u3์˜ ์œ ํšจ ํฌ๊ธฐ๋Š” ๋‘ ์ธ์Šคํ„ด์Šค ๊ธธ์ด์˜ ์ตœ๋Œ€๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ XNUMX๊ฐœ).
์ด๊ฒƒ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋” ์งง์€ ๊ฒƒ์ด ์ฑ„์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={{"1","t","w","o"," "," "}}, {{"t","h","r","e","e "," "},{"f","o","u","r","x","y"}};
๊ทธ๋Ÿฌ๋‚˜ u2์˜ ์ฒซ ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค๋Š” u2์˜ ์ตœ๋Œ€ ๊ธธ์ด๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ
u2์˜ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ํ•„๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชฉ๋ก: var={{"1","t","w","o"," "," "},{" "," "," "," "," "," "}}, {{"t","h","r","e","e"," "},{"f","o","u","r","x","y"}};

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ncgen ์˜จ๋ผ์ธ ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

  • 1
    C ++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ–ฅ์ƒ
    C ++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ–ฅ์ƒ
    ๋ถ€์ŠคํŠธ๋Š” ๋ฌด๋ฃŒ ํœด๋Œ€์šฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
    ๋™๋ฃŒ ์‹ฌ์‚ฌ๋ฅผ ๊ฑฐ์นœ C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๊ทธ๋งŒํผ
    ํœด๋Œ€์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.
    C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
    http://www.bo... ์ฐธ์กฐ
    Boost C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ
  • 2
    ๊ฐ€์ƒ์ง€์—˜
    ๊ฐ€์ƒ์ง€์—˜
    VirtualGL์€ 3D ๋ช…๋ น์„
    Unix/Linux OpenGL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„
    ์„œ๋ฒ„ ์ธก GPU ๋ฐ ๋ณ€ํ™˜
    3D ์ด๋ฏธ์ง€๋ฅผ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ Œ๋”๋ง
    ์–ด๋Š์™€ ...
    VirtualGL ๋‹ค์šด๋กœ๋“œ
  • 3
    libusb
    libusb
    ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    ํ†ต์‹ ํ•  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
    USB ์žฅ์น˜. ์ฒญ์ค‘: ๊ฐœ๋ฐœ์ž, ์ข…๋ฃŒ
    ์‚ฌ์šฉ์ž/๋ฐ์Šคํฌํ†ฑ. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: C.
    ์นดํ…Œ๊ณ ๋ฆฌ ...
    ๋‹ค์šด๋กœ๋“œ
  • 4
    ํ†ต์Œ
    ํ†ต์Œ
    SWIG๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
    C๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ๊ณผ
    ๋‹ค์–‘ํ•œ ๊ณ ๊ธ‰ ์ˆ˜์ค€์˜ C++
    ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด. SWIG๋Š” ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    ๋‹ค๋ฅธ...
    SWIG ๋‹ค์šด๋กœ๋“œ
  • 5
    WooCommerce Nextjs ๋ฐ˜์‘ ํ…Œ๋งˆ
    WooCommerce Nextjs ๋ฐ˜์‘ ํ…Œ๋งˆ
    React WooCommerce ํ…Œ๋งˆ,
    ๋‹ค์Œ JS, Webpack, Babel, Node ๋ฐ
    GraphQL ๋ฐ Apollo๋ฅผ ์‚ฌ์šฉํ•œ Express
    ๊ณ ๊ฐ. React์˜ WooCommerce ์Šคํ† ์–ด(
    ํฌํ•จ: ์ œํ’ˆ...
    WooCommerce Nextjs ๋ฐ˜์‘ ํ…Œ๋งˆ ๋‹ค์šด๋กœ๋“œ
  • 6
    Archlabs_repo
    Archlabs_repo
    ArchLabs์šฉ ํŒจํ‚ค์ง€ ์ €์žฅ์†Œ ์ด๊ฒƒ์€
    ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
    ์—
    https://sourceforge.net/projects/archlabs-repo/.
    ๊ทธ๊ฒƒ์€ OnWorks์—์„œ ํ˜ธ์ŠคํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค ...
    archlabs_repo ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป

Linux ๋ช…๋ น

  • 1
    aarch64-linux-gnu-๋ฌธ์ž์—ด
    aarch64-linux-gnu-๋ฌธ์ž์—ด
    strings - ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    ํŒŒ์ผ์˜ ์ธ์‡„ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž. ...
    aarch64-linux-gnu-strings ์‹คํ–‰
  • 2
    aarch64-๋ฆฌ๋ˆ…์Šค-gnu-์ŠคํŠธ๋ฆฝ
    aarch64-๋ฆฌ๋ˆ…์Šค-gnu-์ŠคํŠธ๋ฆฝ
    strip - ๊ฐœ์ฒด์—์„œ ๊ธฐํ˜ธ ์‚ญ์ œ
    ํŒŒ์ผ. ...
    aarch64-linux-gnu-strip ์‹คํ–‰
  • 3
    crmgr
    crmgr
    crmgr - QDBM์šฉ ๊ด€๋ฆฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ
    ํ๋ฆฌ์•„ ...
    crmgr ์‹คํ–‰
  • 4
    ํฌ๋ก  ๋ฐ์ž๋ถ€
    ํฌ๋ก  ๋ฐ์ž๋ถ€
    cron-deja-vu - ๋ฉ”์ผ ํ•„ํ„ฐ์ž…๋‹ˆ๋‹ค.
    ๋ฐ˜๋ณต๋˜๋Š” ํฌ๋ก  ๋ฉ”์ผ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค ...
    cron-deja-vu ์‹คํ–‰
  • 5
    gapi2-codegen
    gapi2-codegen
    ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์Œ - ์ด์— ๋Œ€ํ•œ ๋งจํŽ˜์ด์ง€ ์—†์Œ
    ํ”„๋กœ๊ทธ๋žจ. ์„ค๋ช…: ์ด ํ”„๋กœ๊ทธ๋žจ์€
    ๋งจํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์„ ์‹คํ–‰
    ๋„์›€๋ง ์Šค์œ„์น˜๋กœ ๋ฌด์—‡์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€
    ํ•˜๋‹ค. ์— ๋Œ€ํ•œ ...
    gapi2-codegen ์‹คํ–‰
  • 6
    gapi2 ์ˆ˜์ •
    gapi2 ์ˆ˜์ •
    ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์Œ - ์ด์— ๋Œ€ํ•œ ๋งจํŽ˜์ด์ง€ ์—†์Œ
    ํ”„๋กœ๊ทธ๋žจ. ์„ค๋ช…: ์ด ํ”„๋กœ๊ทธ๋žจ์€
    ๋งจํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์„ ์‹คํ–‰
    ๋„์›€๋ง ์Šค์œ„์น˜๋กœ ๋ฌด์—‡์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€
    ํ•˜๋‹ค. ์— ๋Œ€ํ•œ ...
    gapi2-fixup ์‹คํ–‰
  • ๋”ยป

Ad