[次] [性急過ぎる ] [トップ ] [内容 ] [インデックス ] [ netCDFホームページ ] [ユニ‐データホームページ]

FortranのためのNetCDFユーザーのガイド

6次元


次元netCDFのために、それが作成されるとき、datasetは、定義される、一方、netCDF datasetは、中にある、モードを定義する。追加の局面は、再び入ることによって後で加えられるかもしれない、モードを定義する。netCDF次元は、名前、及び、長さを持っている。せいぜい、netCDF datasetにおける1つの次元は、無制限の長さ ( この次元を使う方法変数がこの次元に沿って強め得る ) を持っていることができる。

そこで1つのnetCDF datasetにおいて定義され得る次元の数に達するまでの提案された限界 ( 100 ) である。限界は、前‐定義されたマクロの値であるNF_MAX_DIMS。限界の目的は、記述の一般的アプリケーションを更に簡単にすることである。それらは、アレイをただ供給する必要がある、の、あらゆるnetCDF datasetを扱うためのNF_MAX_DIMS次元。netCDFライブラリのインプリメントは、この勧告的最大を実施しない。従って、更に多くの次元を使うことは、可能である、必要なら、しかし、netCDFユーティリティ、それ、勧告的最大がハンドルにできないかもしれない、と推測する、その結果生じるnetCDF datasets。

通常、その次元が最初に定義されるとき、次元の名前、及び、長さは、決定される。後でその名前は、変えられるかもしれない。しかし、次元 ( 無制限の次元以外に ) の長さは、データ全てを再定義された次元長さを持つ新しいnetCDF datasetにコピーせずに変えられることができない。

オープンnetCDF datasetにおけるnetCDF次元は、次元IDと呼ばれる小さい整数によって参照される。で、FORTRANインタフェース、次元ID、である、1 ,2 ,3、それらの次元が定義されたオーダにおける...。

次元でサポートされたオペレーションは、以下である。

6.1次元を作成しなさい:NF_DEF_DIM


ファンクションNF_DEF_DIMは、オープンnetCDF datasetへの新しい次元を加える、モードを定義する。それは、次元IDを返す ( 引数として ) ( netCDF ID、次元名前、及び、次元長さを与えられて ) 。せいぜい、レコード次元と呼ばれる1つの無制限の長さ次元は、各netCDF datasetのために定義されるかもしれない。

使用



整数ファンクションNF_DEF_DIM ( 整数NCID、CHARACTER* ( * ) 名、整数LEN、整数、2‐中央の )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
名前 次元名。ゼロを従えている英文学、または、更に文字数字両用のキャラクタ含むことで始まらなければならない、下線を引く ( _ ) 。ケースは、有意である。
LENする 次元の長さ;すなわち、それを使う変数へのインデックスとしてのこの次元のための値の数。これは、正の整数か前‐定義された定数のいずれかであるべきであるNF_UNLIMITEDされる
2‐中央の返された次元ID。



エラー

NF_DEF_DIM値を返すNF_NOERR、エラーが発生しなかったならば。他の場合は、返された状態は、エラーを示す。エラーの可能な原因は、以下を含む。

ここで例使用であるNF_DEF_DIM長さ18、及び、無制限の次元のlatと指定された次元を作成することは、foo.ncと指定されたdatasetと新しいnetCDFにおけるレクリエーションを命名した:



'netcdf.inc'を含む
... .
整数状態、NCID、LATID、RECID
... .
状態= NF_CREATE ( 'foo.nc'、NF_NOCLOBBER、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_DEF_DIM ( NCID、` lat '、18、LATID ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) 状態= NF_DEF_DIM ( NCID、NF_UNLIMITEDされる`レクリエーション'をRECID ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

6.2その名前から次元IDを得なさい:NF_INQ_DIMID


ファンクションNF_INQ_DIMIDは、netCDF次元のIDを返す ( 引数として ) ( 次元の名前を与えられて ) 。ndimsがnetCDF datasetのために定義された次元の数であるならば、各次元は、間にIDを持っている1、そして、ndims .

使用



整数ファンクションNF_INQ_DIMID ( 整数NCID、CHARACTER* ( * ) 名、整数、2‐中央の )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
名前 次元名、レターで始まるキャラクタストリング、そして、レター、数字のあらゆるシーケンスを従えている、〜もしくは、キャラクタに下線を引く ( _ ) 。ケースは、次元名において有意である。
2‐中央の返された次元ID。



エラー

NF_INQ_DIMID値を返すNF_NOERR、エラーが発生しなかったならば。他の場合は、返された状態は、エラーを示す。エラーの可能な原因は、以下を含む。

ここで例使用であるNF_INQ_DIMID次元の次元IDを決定することは、latを指定した ( foo.ncと指定された現存するnetCDF datasetにおいて以前に定義されたために、推測されて ) :



'netcdf.inc'を含む
... .
整数状態、NCID、LATID
... .
状態= NF_OPEN ( 'foo.nc'、NF_NOWRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_DIMID ( NCID、` lat '、LATID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、

6.3次元について尋ねなさい:NF_INQ_DIMファミリー


これファンクションのファミリーは、netCDF次元に関する情報を返す。次元に関する情報は、その名前、及び、その長さを含む。無制限の次元のための長さは、もしあればそこまで書かれたレコードの数である。

このファミリーにおけるファンクション、含む、NF_INQ_DIMNF_INQ_DIMNAMEそして、NF_INQ_DIMLENする。ファンクションNF_INQ_DIM次元に関する情報全てを返す;それぞれ他のファンクションは、ほんの1つの情報のアイテムを返す。

使用



整数ファンクションNF_INQ_DIM ( 整数NCID、整数の2‐中央のCHARACTER* ( * ) 名、整数len ) 整数ファンクションNF_INQ_DIMNAME ( 整数NCID、整数の2‐中央のCHARACTER* ( * ) 名 ) 整数ファンクション、NF_INQ_DIMLENする ( 整数NCID、整数の2‐中央の整数len )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
2‐中央の次元ID、例えば、前のコールから、に、NF_INQ_DIMID或いは、NF_DEF_DIM
名前 返された次元名。その発呼者は、スペースを返された名前に割当てなければならない。次元名のキャラクタにおける最大の可能な長さは、前‐定義された一定のNF_MAX_NAMEによって与えられる。
lenする 次元の返された長さ。無制限の次元のために、これは、この次元 ( 最大である ) を持つ変数が数を記録するということをどれにでも手紙で知らせるために使われる現在の極大値である。



エラー

これらのファンクションは、値を返すNF_NOERR、エラーが発生しなかったならば。他の場合は、返された状態は、エラーを示す。エラーの可能な原因は、以下を含む。

ここで例使用であるNF_INQ_DIM latと指定された次元の長さ、及び、現存するnetCDF datasetのための無制限の次元の名前、及び、現在の最大の長さを決定することは、foo.ncを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID、LATID、LATLEN、RECID、NRECS CHARACTER* ( NF_MAX_NAME ) LATNAM、RECNAM
... .
状態= NF_OPEN ( 'foo.nc'、NF_NOWRITE、NCID ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、無制限の次元状態= NF_INQ_UNLIMDIM ( NCIDのIDを得る、RECID ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_DIMID ( NCID、` lat '、LATID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、lat長さ状態= NF_INQ_DIMLEN ( NCIDを得る、LATID、 ) をLATLENする、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、無制限の次元名前、及び、現在の長さ状態= NF_INQ_DIM ( NCIDを得る、RECID、RECNAME、NRECS ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、

6.4次元を改名しなさい:NF_RENAME_DIM


ファンクションNF_RENAME_DIMは、netCDFにおける現存する次元を記述のために開いたdatasetと改名する。新しい名前が古い名前より長いならば、netCDF datasetは、中になければならない、モードを定義する。あなたは、他の次元と同じ名前を持つために、次元を改名し得ない。

使用



整数ファンクションNF_RENAME_DIM ( 整数NCID、整数の2‐中央のCHARACTER* ( * ) 名 )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
2‐中央の、 前のコールからNF_INQ_DIMID、または、NF_DEF_DIMまでの次元ID。
名前 次元のための新しい名前。



エラー

NF_RENAME_DIM値を返すNF_NOERR、エラーが発生しなかったならば。他の場合は、返された状態は、エラーを示す。エラーの可能な原因は、以下を含む。

ここで例使用であるNF_RENAME_DIM現存するnetCDFにおける緯度に、datasetは、次元latを改名するために、foo.ncを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID、LATID
... .
状態= NF_OPEN ( 'foo.nc'、NF_WRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
!入れられて、次元STATUS = NF_REDEF ( NCID ) IFを ( STATUS .NEと改名するために、モードを定義しなさい。NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_INQ_DIMID ( NCID、` lat '、LATID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 状態= NF_RENAME_DIM ( NCID、LATID、`緯度' ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、離れる、モード状態= NF_ENDDEF ( NCID ) を定義する、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、

6.1 -次元を作成する:NF_DEF_DIM
使用-
-
6.2 -その名前から次元IDを得る:NF_INQ_DIMID
使用-
-
6.3 -次元について尋ねる:NF_INQ_DIMファミリー
使用-
-
6.4 -次元を改名する:NF_RENAME_DIM
使用-
-

FortranのためのNetCDFユーザーのガイド- 1997年6月4日
[次] [性急過ぎる ] [トップ ] [内容 ] [インデックス ] [ netCDFホームページ ] [ユニ‐データホームページ]