TOC PREV NEXT INDEX

Put your logo here!


A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z

その他の変更


NetCDF-2に対応する関数が存在しない、新しい関数がNetCDF-3には2つあります。nc_inq_libversnc_strerrorです。現行のNetCDFライブラリはnc_inq_libversの文字列として返されます。NetCDF関数の呼び出しによって返されたステータスに対応するエラーメッセージは関数nc_strerrorによって記号列として返されます。

新しいNC_SHAREフラグはアクセスのデフォルトバッファを防ぐために、nc_openまたはnc_create呼び出しで使用できます。NC_SHAREを使用することによってNetCDFファイルに同時にアクセスすれば、ディスクのアップデートが同期であることを確認するために、アクセスが終了するたび毎にnc_syncを呼び出す必要がありません。従属的なデータ(例えば属性値)への変更にも注意しなければなりません。なぜならば、これらはNC_SHAREフラグを使用しても自動的に伝達されないからです。このためには、まだnc_syncが必要です。

2版のインターフェースの問い合わせ関数は一つしかなく、ncvarinqによって名前、型、変数の形を得ていました。同様に、次元・属性・NetCDFファイルに関する情報を得る関数も一つしかありませんでした。この情報の部分集合が得る場合には、不必要な情報を押さえるためにNULL引数を与えなければなりませんでした。新しいインターフェースでは、新たな問い合わせ関数ができ、これらの項目を個別に返します。それによって引数の数え損ねによるエラーが起こりにくくなりました。

以前の実装ではncvarputncvarget呼び出し中で0値のカウント要素が指定されているとエラーが返されました。この制約が外されたことによって、nc_put_varnc_get_varのファミリーの関数が0値のカウント要素を使って呼び出せることになりました。これはデータがアクセスされないことを意味し、一見、無意味のように思われますが、0値のカウントを特殊なケースとして扱わなくて良いので、プログラムによっては単純になります。

以前の実装ではncvardef中の変数の形を指定するのに同じ次元を2回以上使用するとエラーが返されました。自己相関行列など同じ次元を2度使用することに意味のある良い例があるので、この制約はNetCDF-3実装では緩められました。

新しいインターフェースでは、nc_put_varmnc_get_varm族の関数に対するimap引数の単位は、望まれる内部データ型のデータ要素の数によって表わされ、NetCDF2版のマップされたアクセスインターフェースのようにバイトでは表わされません。

下記はNetCD-2の関数名と対応するNetCDF-3関数の対応表です。NetCDF-2関数の引数のリストはNetCDF-2 User's Guideに載っています。

ncabort nc_abort
ncattcopy nc_copy_att
ncattdel nc_del_att
ncattget nc_get_att_double, nc_get_att_float, nc_get_att_int, nc_get_att_long, nc_get_att_schar, nc_get_att_short, nc_get_att_text, nc_get_att_uchar
ncattinq nc_inq_att, nc_inq_attid, nc_inq_attlen, nc_inq_atttype
ncattname nc_inq_attname
ncattput nc_put_att_double, nc_put_att_float, nc_put_att_int, nc_put_att_long, nc_put_att_schar, nc_put_att_short, nc_put_att_text, nc_put_att_uchar
ncattrename nc_rename_att
ncclose nc_close
nccreate nc_create
ncdimdef nc_def_dim
ncdimid nc_inq_dimid
ncdiminq nc_inq_dim, nc_inq_dimlen, nc_inq_dimname
ncdimrename nc_rename_dim
ncendef nc_enddef
ncinquire nc_inq, nc_inq_natts, nc_inq_ndims, nc_inq_nvars, nc_inq_unlimdim
ncopen nc_open
ncrecget (none)
ncrecinq (none)
ncrecput (none)
ncredef nc_redef
ncsetfill nc_set_fill
ncsync nc_sync
nctypelen (none)
ncvardef nc_def_var
ncvarget nc_get_vara_double, nc_get_vara_float, nc_get_vara_int, nc_get_vara_long, nc_get_vara_schar, nc_get_vara_short, nc_get_vara_text, nc_get_vara_uchar
ncvarget1 nc_get_var1_double, nc_get_var1_float, nc_get_var1_int, nc_get_var1_long, nc_get_var1_schar, nc_get_var1_short, nc_get_var1_text, nc_get_var1_uchar
ncvargetg nc_get_varm_double, nc_get_varm_float, nc_get_varm_int, nc_get_varm_long, nc_get_varm_schar, nc_get_varm_short, nc_get_varm_text, nc_get_varm_uchar, nc_get_vars_double, nc_get_vars_float, nc_get_vars_int, nc_get_vars_long, nc_get_vars_schar, nc_get_vars_short, nc_get_vars_text, nc_get_vars_uchar
ncvarid nc_inq_varid
ncvarinq nc_inq_var, nc_inq_vardimid, nc_inq_varname, nc_inq_varnatts, nc_inq_varndims, nc_inq_vartype
ncvarput nc_put_vara_double, nc_put_vara_float, nc_put_vara_int, nc_put_vara_long, nc_put_vara_schar, nc_put_vara_short, nc_put_vara_text, nc_put_vara_uchar
ncvarput1 nc_put_var1_double, nc_put_var1_float, nc_put_var1_int, nc_put_var1_long, nc_put_var1_schar, nc_put_var1_short, nc_put_var1_text, nc_put_var1_uchar
ncvarputg nc_put_varm_double, nc_put_varm_float, nc_put_varm_int, nc_put_varm_long, nc_put_varm_schar, nc_put_varm_short, nc_put_varm_text, nc_put_varm_uchar, nc_put_vars_double, nc_put_vars_float, nc_put_vars_int, nc_put_vars_long, nc_put_vars_schar, nc_put_vars_short, nc_put_vars_text, nc_put_vars_uchar
ncvarrename nc_rename_var
(none) nc_inq_libvers
(none) nc_strerror



Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX