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

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

7変数


変数netCDFのために、datasetが作成されるとき、datasetは、定義される、一方、netCDF datasetは、中にある、モードを定義する。後で他の変数は、再び入ることによって合計されるかもしれない、モードを定義する。netCDF変数は、名前、タイプ、及び、形 ( それが定義されるとき、指定される ) を持っている。変数は、値 ( データモードの後の方で確立される ) を同じく持っているかもしれない。

通常、その変数が最初に定義されるとき、名前、タイプ、及び、形は、決定される。その名前は、変えられるかもしれない。しかし、変数のタイプ、及び、形は、変えられることができない。しかしながら、無制限の次元に関して定義された変数は、その次元における限度なしで増大し得る。

AオープンnetCDF datasetにおけるnetCDF変数は、変数IDと呼ばれる小さい整数によって参照される。

変数IDは、変数がnetCDF datasetの中で定義されたオーダを反映する。変数ID、である、1 ,2 ,3、それらの変数が定義されたオーダにおける...。ファンクションは、変数名、及び、vice-versaから変数IDを得ることに利用可能である。

属性 ( 第8章「属性」、81ページを 見る ) は、ユニットのようなプロパティを指定するために、変数と関連しているかもしれない。

変数に関してサポートされたオペレーションは、以下である。

7.1 netCDFの外部のデータへの言語Types Correspondingは、タイプする


テーブルが変数を定義するためにnetCDFの外部のデータタイプ、及び、一致するタイプ定数を示すということになること、FORTRANインタフェース:

netCDF/CDLデータは、タイプする FORTRAN APIニーモニック ビット
バイト NF_BYTE 8
木炭 NF_CHAR 8
短い NF_SHORT 16
int NF_INT 32
フロート NF_FLOAT 32
ダブル NF_DOUBLE 64

最初のカラムは、外部のデータタイプ ( CDLデータタイプと同じである ) をnetCDFに与える。次のカラムは、一致を与えるnetCDFファンクションにおける使用のためのFORTRANパラメータ( それらのパラメータがnetCDF FORTRAN含む‐ファイルnetcdf.incにおいて定義される ) 。最後のカラムは、一致するタイプの値の外部の表現に使われるビットの数を示す。

64ビット整数、もしくは、netCDFライブラリの現在のバージョンにおける8ビットより広いキャラクタと一致するnetCDFタイプがないことに注目しなさい。

7.2変数を作成しなさい:NF_DEF_VAR


ファンクションNF_DEF_VARは、オープンnetCDF datasetへの新しい変数を加える、モードを定義する。それは、変数IDを返す ( 引数として ) ( netCDF ID、変数名前、変数タイプ、次元の数、及び、次元IDのリストを与えられて ) 。

使用



整数ファンクションNF_DEF_VAR ( INTEGER NCID、CHARACTER* ( * ) 名、整数XTYPE、整数NVDIMS、整数VDIMS ( * ) 、整数varid )




NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
名前 この変数のための名前。英文学 ( ゼロ、または、更に文字数字両用のキャラクタを従えている、含む、下線を引く ( _ ) ) で始まらなければならない。ケースは、有意である。
XTYPE この変数のための外部のタイプ、前‐定義されたnetCDFの外部のデータタイプのセットのうちの1つ:NF_BYTENF_CHARNF_SHORTNF_INTNF_FLOAT、または、NF_DOUBLE
NVDIMS この変数のための次元の数。例えば、2は、マトリックスを指定し、1は、ベクトルを指定し、そして、0は、その変数が次元なしのスカラであることを意味する。前‐定義された一定のNF_MAX_VAR_DIMSより負であってはいけない、及び、更に大きくてはいけない。
VDIMS この変数の次元と一致するNVDIMS次元IDのベクトル。無制限の次元のIDが含まれるならば、それは、最後でなければならない。NVDIMS0であるならば、この引数は、無視される。
varid 変数IDを返した



エラー

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

ここで例使用であるNF_DEF_VAR変数を作成することは、3つの次元、時間lat、及び、foo.ncと指定された新しいnetCDF datasetにおけるlonによってダブルとタイプのrhを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID整数LATDIM、LONDIM、TIMDIM、次元ID整数RHID、変数ID整数RHDIMS ( 3 ) 、変数形、
... .
状態= NF_CREATE、 ( 'foo.nc'、NF_NOCLOBBER、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
次元状態= NF_DEF_DIM ( NCIDを定義する、` lat '、5、LATDIM ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 状態= NF_DEF_DIM ( NCID、` lon '、10、LONDIM ) 、コールHANDLE_ERR ( STATUS ) 状態= NF_DEF_DIM ( NCID、`時間'がNF_UNLIMITEDしたならば ( STATUS .NE. NF_NOERR ) 、TIMDIM ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、
... .
!変数RHDIMS ( 1 ) = LONDIM RHDIMS ( 2 ) = LATDIM RHDIMS ( 3 ) = TIMDIM状態= NF_DEF_VAR ( NCID、` rh '、NF_DOUBLE、3、RHDIMS、RHID ) を定義する、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.3その名前から変数IDを得なさい:NF_INQ_VARID


ファンクションNF_INQ_VARIDは、netCDF変数のIDを返す ( その名前を与えられて ) 。

使用



整数ファンクションNF_INQ_VARID ( INTEGER NCID、CHARACTER* ( * ) 名、整数varid )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
名前 IDが望まれる変数名。
varid 返された変数ID。



エラー

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

ここで例使用であるNF_INQ_VARID変数のIDを発見することは、foo.ncと指定されたdatasetと現存するnetCDFにおけるrhを指定した:



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

7.4そのIDから変数に関する情報を得なさい:NF_INQ_VARファミリー


AそのIDを与えられたnetCDF変数に関する情報を返すファンクションのファミリー。変数に関する情報は、その名前、タイプ、次元、変数の状態を描写する次元IDのリストの数、及び、変数に割り当てられた変数属性の数を含む。

ファンクションNF_INQ_VARは、netCDF変数に関する情報全てを返す ( そのIDを与えられて ) 。それぞれ他のファンクションは、ほんの1つの変数に関する情報のアイテムを返す。

これらの他のファンクション、含む、NF_INQ_VARNAMENF_INQ_VARTYPENF_INQ_VARNDIMSNF_INQ_VARDIMIDそして、NF_INQ_VARNATTS

使用



整数ファンクションNF_INQ_VAR ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数xtype、整数ndims、整数dimids ( * ) 、整数natts ) 整数ファンクションNF_INQ_VARNAME ( 整数NCID、整数VARID、CHARACTER* ( * ) 名 ) 整数ファンクションNF_INQ_VARTYPE ( 整数NCID、整数VARID、整数xtype ) 整数ファンクションNF_INQ_VARNDIMS ( 整数NCID、整数VARID、整数ndims )
整数ファンクションNF_INQ_VARDIMID ( 整数NCID、整数VARID、整数dimids ( * ) ) 整数ファンクションNF_INQ_VARNATTS ( INTEGER NCID , INTEGER VARID , INTEGER natts )





NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
名前 返される変数名。その発呼者は、スペースを返された名前に割当てなければならない。変数名のキャラクタにおける最大の可能な長さは、前‐定義された一定のNF_MAX_NAMEによって与えられる。
xtype この変数のために外部のタイプを返されて、前‐定義されたnetCDFの外部のデータのセットのうちの1つは、タイプする。正当なnetCDFの外部のデータタイプは、NF_BYTENF_CHARNF_SHORTNF_INTNF_FLOAT、及び、NF_DOUBLEである。
ndims この変数のための次元の返された数。例えば、2は、マトリックスを示し、1は、ベクトルを示し、そして、0は、その変数が次元なしのスカラであることを意味する。
dimids 返される変数次元と一致するNDIMS次元IDのベクトル。その発呼者は、十分なスペースを割当てなければならない、ベクトルのために、の、少なくとも、そうであるためのNDIMS整数は、戻った。変数のための次元の最大の可能な数は、前‐定義された定数によって示されるNF_MAX_VAR_DIMS
natts 変数属性の返された数は、この変数にアサインした。



エラー

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

ここで例使用であるNF_INQ_VAR変数について知ることは、foo.ncと指定されたdatasetと現存するnetCDFにおけるrhを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID整数RHID、変数ID CHARACTER*31 RHNAME、変数名前整数RHTYPE、変数タイプ整数RHN、次元整数RHDIMS ( NF_MAX_VAR_DIMS ) の数、変数形整数RHNATT、属性の数、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_NOWRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) IDを得る、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_INQ_VAR ( NCID、RHID、RHNAME、RHTYPE、RHN、RHDIMS、RHNATT ) かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、

7.5 1つのデータ値を書きなさい:NF_PUT_VAR1_タイプ


ファンクションNF_PUT_VAR1_タイプは、データモードにあるオープンnetCDF datasetの変数に、指定されたタイプの1つのデータ値を置いた。入力は、netCDF ID、変数ID、どちらの値を加えるか、もしくは変更するかを指定するインデックス、及び、データ値である。もし必要ならば、その値は、外部のデータタイプの変数に変換される。

使用



整数ファンクションNF_PUT_VAR1_TEXT ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、キャラクタCHVALな ) 整数ファンクションNF_PUT_VAR1_INT1 ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、INTEGER*1 I1VAL ) 整数ファンクションNF_PUT_VAR1_INT2 ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、INTEGER*2 I2VAL ) 整数ファンクションNF_PUT_VAR1_INT ( INTEGER NCID , INTEGER VARID , INTEGER INDEX ( * ) , INTEGER IVAL )
整数ファンクションNF_PUT_VAR1_REAL ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、真のRVALな ) 整数ファンクションNF_PUT_VAR1_DOUBLE ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、二重のDVALな )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
インデックス 書かれるためのデータ値のインデックス。それらのインデックスは、1に関係がある。従って、例えば、二次元の変数の最初のデータ値は、インデックス ( 1,1 ) を持っているであろう。インデックスのエレメントは、変数の次元と一致しなければならない。従って、その変数がレコード変数であるならば、最後のインデックスは、レコード番号と一致するであろう。
CHVAL、I1VAL、I2VAL、IVALな、RVALな、もしくは、DVALな書かれるためのデータ値。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、CHARACTERデータを数値変数、及び、数値データにテキスト変数に入れ得ない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう。詳細のためにセクション3.3の「タイプ変換」、24ページを見なさい。



エラー

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

ここでfoo.ncと指定された現存するnetCDF datasetにおいて0.5までのrhと指定された変数の ( 4,3,2 ) エレメントをセットするためにNF_PUT_VAR1_DOUBLEを使う例である。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐される、従って、我々が第4のlon値、第3のlat値、及び、第2の時間値と一致するrhの値を設定することを望むということを知っていると推測する:



'netcdf.inc'を含む
... .
整数状態、エラー状態整数NCID整数RHID、変数ID整数RHINDX ( 3 ) 、値データRHINDX /4をどこに置くか、3、2/、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_WRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) IDを得る、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_PUT_VAR1_DOUBLE ( NCID、RHID、RHINDX、0.5 ) かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、

7.6全体の変数を書きなさい:NF_PUT_VAR_タイプ


ファンクションのNF_PUT_VAR_タイプファミリーは、オープンnetCDF datasetのnetCDF変数に変数の全ての値を書く。これは、段階状の変数で値を書くために使用するために、最もシンプルなインタフェースである、〜もしくは、いつ〜ても、マルチ‐寸法の変数の全ての値は、ただちに書かれ得る。推測することによってnetCDF変数と関連しているということを手紙で知らせられるための値、それ、netCDF変数の最初の寸法は、最も速く異なる、で、FORTRANインタフェース。もし必要ならば、それらの値は、外部のデータタイプの変数に変換される。

使用



整数ファンクションNF_PUT_VAR_TEXT ( 整数NCID、整数VARID、CHARACTER* ( * ) テキスト ) 整数ファンクションNF_PUT_VAR_INT1 ( 整数NCID、整数VARID、INTEGER*1 I1VALS ( * ) ) 整数ファンクションNF_PUT_VAR_INT2 ( 整数NCID、整数VARID、INTEGER*2 I2VALS ( * ) ) 整数ファンクションNF_PUT_VAR_INT ( 整数NCID、整数VARID、整数IVALS ( * ) ) 整数ファンクションNF_PUT_VAR_REALな ( 整数NCID、整数VARID、真のRVALS ( * ) )
整数ファンクションNF_PUT_VAR_DOUBLE ( INTEGER NCID、整数VARID、二重のDVALS ( * ) )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
テキスト、I1VALS、I2VALS、IVALS、RVALS、または、DVALS 書かれるためのデータ値のブロック。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、CHARACTERデータを数値変数、及び、数値データにテキスト変数に入れ得ない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。データが指定された変数に書かれるであろうオーダは、最も速く変化する最初の次元を持っている ( 普通のFORTRAN規定を好みなさい ) 。



エラー

メンバー、の、NF_PUT_VAR_タイプファミリーは、値を返すNF_NOERR、エラーが発生しなかったならば。他の場合は、返された状態は、エラーを示す。エラーの可能な原因は、以下を含む。

ここにfoo.ncと指定された現存するnetCDF datasetにrhと指定された変数の全ての値を加える、もしくは変えるためにNF_PUT_VAR_DOUBLEを使う例が0.5まである。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐されるということを知っているということ、そして、10 lon値、5 lat値、及び、3つの時間値があるということを推測する。



'netcdf.inc'を含む
... .
パラメータ、 ( TIMES=3 , LATS=5 , LONS=10 ) 、次元長さ整数状態、NCID、掛ける整数RHID、変数IDの二重のRHVALS ( LONS、LATS、掛ける ) 、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_WRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID , rh , RHID ) 、コールHANDLE_ERR ( STATUS ) が行うならば ( STATUS .NE. NF_NOERR ) 、10不オン= 1、LONSは、10 ILAT = 1をする、LATSは、10 ITIME = 1、掛けるRHVALS ( ILONをする、ILAT、ITIME ) = 0.5 10、状態= NF_PUT_var_DOUBLE ( NCID , RHID , RHVALS ) を続ける、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、

7.7一連の値を書きなさい:NF_PUT_VARA _


ファンクションNF_PUT_VARA_タイプは、オープンnetCDF datasetのnetCDF変数に値を書く。書くためのnetCDF変数の部分は、コーナー、及び、エッジ長さ ( netCDF変数のアレイセクションを参照する ) のベクトルを与えることによって指定される。推測することによってnetCDF変数と関連しているということを手紙で知らせられるための値、それ、netCDF変数の最初の寸法は、最も速く異なる、で、FORTRANインタフェース。netCDF datasetは、データモードになければならない。

使用



整数機能NF_PUT_VARA_TEXT ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) CHARACTER ( * ) テキスト ) 整数機能NF_PUT_VARA_INT1 ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) INTEGER I1VALS ( ) ) 整数機能NF_PUT_VARA_INT2 ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) INTEGER I2VALS ( ) ) 整数機能NF_PUT_VARA_INT ( 整数NCID整数VARID整数START ( ) 整数COUNT ( ) 整数IVALS ( ) )
整数ファンクションNF_PUT_VARA_REAL ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、真のRVALS ( * ) ) 整数ファンクションNF_PUT_VARA_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、二重のDVALS ( * ) )



NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1が書かれるであろう変数においてインデックスを指定する整数のベクトル。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTの長さは、指定された変数の次元の数と同じでなければならない。STARTのエレメントは、順番に変数の次元と一致しなければならない。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を書くために起動レコード番号と一致するであろう。
カウント データ値のブロックの各次元に沿ってエッジ長さを指定する整数のベクトル、に、書かれる。1つの値を書くために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTの長さは、指定された変数の次元の数である。COUNTのエレメントは、変数の次元と一致する。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、書くために、レコードの数のカウントと一致する。
テキスト、I1VALS、I2VALS、IVALS、RVALS、または、DVALS 書かれるためのデータ値のブロック。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、CHARACTERデータを数値変数、及び、数値データにテキスト変数に入れ得ない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

ここで加えるためにNF_PUT_VARA_DOUBLEを使う例である、もしくは、foo.ncと指定された現存するnetCDF datasetにおいて0.5までのrhと指定された変数の全ての値を変える。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐されるということを知っているということ、そして、10 lon値、5 lat値、及び、3つの時間値があるということを推測する。



'netcdf.inc'を含む
... .
パラメータ ( NDIMS=3 ) 、次元パラメータ ( TIMES=3 , LATS=5 , LONS=10 ) の数、次元長さ整数状態、NCID、掛ける整数RHID、変数ID整数START ( NDIMS ) 、COUNT ( NDIMS ) の二重のRHVALS ( LONS、LATS、掛ける ) データスタート/1、1、1/、最初の値データカウント/LONS、LATS、TIMES/でスタートする、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_WRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID , rh , RHID ) 、かどうか、 ( 状態.NE。NF_NOERR ) コールHANDLE_ERR ( STATUS ) は、10不オン= 1をする、LONSは、10 ILAT = 1をする、LATSは、10 ITIME = 1、掛けるRHVALS ( ILONをする、ILAT、ITIME ) = 0.5 10は、状態= NF_PUT_VARA_DOUBLE ( NCID、RHID、スタート、カウント、RHVALS ) を続ける、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、

7.8サブ‐見本をとられた一連の値を書きなさい:NF_PUT_VARS_タイプ


ファンクションのファミリーの各メンバーNF_PUT_VARS_タイプは、オープンnetCDF datasetのnetCDF変数に値のセクションをサブ‐見本をとられた ( stridedされる ) アレイに書く。サブ‐見本をとられたアレイセクションは、コーナー、カウントのベクトル、及び、ストライドベクトルを与えることによって指定される。netCDF datasetは、データモードになければならない。

使用



整数ファンクションNF_PUT_VARS_TEXT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、CHARACTER* ( * ) テキスト ) 整数ファンクションNF_PUT_VARS_INT1 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、INTEGER*1 I1VALS ( * ) ) 整数ファンクションNF_PUT_VARS_INT2 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、INTEGER*2 I2VALS ( * ) )
整数ファンクションNF_PUT_VARS_INT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IVALS ( * ) ) 整数ファンクションNF_PUT_VARS_REALな ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、真のRVALS ( * ) ) 整数ファンクションNF_PUT_VARS_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、二重のDVALS ( * ) )




NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1が書かれるであろう変数においてインデックスを指定する整数のベクトル。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を書くために起動レコード番号と一致するであろう。
カウント 各次元に沿って選択されたインデックスの数を指定する整数のベクトル。1つの値を書くために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、書くために、レコードの数のカウントと一致する。
ストライド netCDF変数の各次元に沿って抽出間隔を指定する整数のベクトル。ストライドベクトルのエレメントは、変数の次元 ( STRIDE ( 1 ) がnetCDF変数 ) の最も急速に変化している次元に沿って抽出間隔に与えるnetCDFと一致する ( 順番に ) 。抽出間隔は、エレメントのタイプ‐非依存のユニットにおいて指定される ( 1の値が一致する次元に沿ってnetCDF変数の連続したエレメントを選択する、2の値が他の全てのエレメントを選択する、等 ) 。
テキスト、I1VALS、I2VALS、IVALS、RVALS、または、DVALS 書かれるためのデータ値のブロック。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、CHARACTERデータを数値変数、及び、数値データにテキスト変数に入れ得ない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

ここに使用することの例がある示されるrhと指定されたnetCDF変数の他の全てのポイントを書く--内部のアレイから--ためのNF_PUT_VARS_REALFORTRAN宣言REAL RH ( 6,4 ) ( 次元サイズに注目する ) :



'netcdf.inc'を含む
... .
PARAMETER、 ( NDIM=2 ) netCDF変数INTEGER NCIDのランク、netCDF dataset ID INTEGER STATUS、コードINTEGER RHIDを返す、変数ID INTEGER START ( NDIM ) 、netCDF変数スタートポイントINTEGER COUNT ( NDIM ) 、内部のアレイINTEGER STRIDE ( NDIM ) のサイズ、netCDF変数二段抽出間隔REAL RH ( 3,2 ) 、!ノートは、netCDF変数のためにサイズのサブ‐見本をとった、次元DATA START /1、1/、最初のnetCDF変数値DATA COUNT /3でスタートする、2/、内部のアレイのサイズ:無傷の ( サブ‐見本をとられる ) netCDF変数DATA STRIDE /2、2/、他の全てのnetCDFエレメントにアクセスする、
... .
状態= NF_OPEN ( 'foo.nc'、NF_WRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_PUT_VARS_REAL ( NCID、RHIDは、スタートする、カウントする、大またで歩く、RH ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、

7.9マップされた一連の値を書きなさい:NF_PUT_VARM_type


NF_PUT_VARM_タイプファンクションのファミリーは、オープンnetCDF datasetのnetCDF変数に値のセクションをマップされたアレイに書く。マップされたアレイセクションは、コーナー、カウントのベクトル、ストライドベクトル、及び、ベクトルをマップするインデックスを与えることによって指定される。ベクトルをマップするインデックスは、netCDF変数の次元、及び、内部のデータアレイの不メモリ構造の間のマッピングを指定する整数のベクトルである。データアレイの次元の注文、及び、長さについて仮定が行われない。netCDF datasetは、データモードになければならない。

使用



整数ファンクションNF _PUT_VARM_TEXT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、CHARACTER* ( * ) テキスト ) 整数ファンクションNF _PUT_VARM_INT1 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、INTEGER*1 I1VALS ( * ) ) 整数ファンクションNF _PUT_VARM_INT2 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * )
整数STRIDE ( * ) 、整数IMAP ( * ) 、INTEGER*2 I2VALS ( * ) ) 整数ファンクションNF _PUT_VARM_INT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、整数IVALS ( * ) ) 整数ファンクションNF _PUT_VARM_REALな ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、真のRVALS ( * ) )
整数ファンクションNF _PUT_VARM_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、二重のDVALS ( * ) )





NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1が書かれるであろう変数においてインデックスを指定する整数のベクトル。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を書くために起動レコード番号と一致するであろう。
カウント 各次元に沿って選択されたインデックスの数を指定する整数のベクトル。1つの値を書くために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、書くために、レコードの数のカウントと一致する。
ストライド netCDF変数の各次元に沿って抽出間隔を指定する整数のベクトル。ストライドベクトルのエレメントは、変数の次元 ( STRIDE ( 1 ) がnetCDF変数 ) の最も急速に変化している次元に沿って抽出間隔に与えるnetCDFと一致する ( 順番に ) 。抽出間隔は、エレメントのタイプ‐非依存のユニットにおいて指定される ( 1の値が一致する次元に沿ってnetCDF変数の連続したエレメントを選択する、2の値が他の全てのエレメントを選択する、等 ) 。
IMAP netCDF変数の次元、及び、内部のデータアレイの不メモリ構造の間のマッピングを指定する整数のベクトル。ベクトルをマップするインデックスのエレメントは、変数の次元 ( IMAP ( 1 ) がnetCDF変数 ) の最も急速に変化している次元と一致する内部のアレイのエレメントの間で距離に与えるnetCDFと一致する ( 順番に ) 。エレメントの間の距離は、エレメントのユニットにおいて指定される ( 隣接のメモリロケーションを占める内部のエレメントの間の距離がnetCDF 2と同様にエレメントのバイト‐長さではなく1である ) 。
テキスト、I1VALS、I2VALS、IVALS、RVALS、または、DVALS 書かれるためのデータ値。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、CHARACTERデータを数値変数、及び、数値データにテキスト変数に入れ得ない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

下記ささいな方法aにおけるIMAPベクトルマップ2x3x4 netCDF変数、及び、内部の一連の同じ形:



REAL A ( 2,3,4 ) 、netCDF変数INTEGER IMAP ( 3 ) DATA IMAP /1、2と同じ形、6/、netCDF次元インター‐エレメント距離、
---------------- ----------------------、
1最も急速に変化する、中間の、2 ( =IMAP*2 ) 6 ( =IMAP*3 ) 最もゆっくりと変化する、
使用する、IMAPベクトル、上で、に関して、NF_PUT_VARM_REALは、簡単に使用すると同じ結果を獲得するNF_PUT_VAR_REALな

ここに使用することの例がある示されるrhと指定されたnetCDF変数を書く--置き換えられた内部のアレイから--ためのNF_PUT_VARM_REALFORTRAN宣言REAL RH ( 4,6 ) ( 次元のサイズ、及び、オーダ注目する ) :



'netcdf.inc'を含む
... .
PARAMETER ( NDIM=2 ) netCDF変数INTEGER NCIDのランク、netCDF ID INTEGER STATUS、コードINTEGER RHIDを返す、変数ID INTEGER START ( NDIM ) 、netCDF変数スタートポイントINTEGER COUNT ( NDIM ) 、内部のアレイINTEGER STRIDE ( NDIM ) のサイズ、netCDF変数二段抽出間隔INTEGER IMAP ( NDIM ) 、内部のアレイインター‐エレメント距離REAL RH ( 6,4 ) 、! netCDF変数次元DATA START /1の転位に注目する、1/、最初のnetCDF変数エレメントDATA COUNT /4でスタートする、6/、全体のnetCDF変数;オーダは、一致する、netCDF変数に、--、ない、内部のアレイDATA STRIDE /1、1/、全てのnetCDFエレメントDATA IMAP /6の見本をとる、1/、/1であろう、4/、もしそうでなければ、置き換える、

状態= NF_OPEN ( 'foo.nc'、NF_WRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_PUT_VARM_REAL ( NCID、RHIDは、スタートする、カウントする、ストライド、IMAP、RH ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
ここに使用することの他の例があるnetCDF変数の他の全てのポイントを書くことによる変数を同じnetCDFのサブ‐サンプルに書く--置き換えられた内部のアレイから--ためのNF_PUT_VARM_REAL :



'netcdf.inc'を含む
... .
PARAMETER位置づけるのnetCDF変わりやすいINTEGER NCID netCDF dataset ID INTEGER STATUS戻るコードINTEGER RHID変わりやすいID INTEGER START ( NDIM ) netCDF変わりやすいスタートするポイントINTEGER COUNT ( NDIM ) サイズの内部のアレイINTEGER STRIDE ( NDIM ) netCDF変わりやすい二段抽出間隔INTEGER IMAP ( NDIM ) 内部のアレイエレメント距離REAL RH ( 3,2 ) 注目する転位の次元DATA START /1 1/スタートする最初はnetCDF変わりやすい値DATA COUNT /2 3/オーダの次元一致するnetCDF変わりやすい--内部のアレイDATA STRIDE /2 2/サンプル他の全てのnetCDFエレメントDATA IMAP /3 1/である`1 2'もしそうでなければ置き換える
... .
状態= NF_OPEN ( 'foo.nc'、NF_WRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_PUT_VARM_REAL ( NCID、RHIDは、スタートする、カウントする、ストライド、IMAP、RH ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、

7.10 1つのデータ値を読みなさい:NF_GET_VAR1_タイプ


ファンクションNF_GET_VAR1_タイプ、データモードにあるオープンnetCDF datasetの変数から1つのデータ値を得る。入力は、netCDF ID、変数ID、どちらの値を得るかを指定するマルチ‐寸法のインデックス、及び、データ値が読み取られるであろうロケーションのアドレスである。もし必要ならば、その値は、外部のデータタイプの変数から変換される。

使用



整数ファンクションNF_PUT_VAR1_TEXT ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、キャラクタchvalな ) 整数ファンクションNF_PUT_VAR1_INT1 ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、INTEGER*1 i1val ) 整数ファンクションNF_PUT_VAR1_INT2 ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、INTEGER*2 i2val ) 整数ファンクションNF_PUT_VAR1_INT ( INTEGER NCID , INTEGER VARID , INTEGER INDEX ( * ) , INTEGER ival )
整数ファンクションNF_PUT_VAR1_REAL ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、真のrvalな ) 整数ファンクションNF_PUT_VAR1_DOUBLE ( INTEGER NCID、整数VARID、整数INDEX ( * ) 、二重のdvalな )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
インデックス そうであるためのデータ値のインデックスは、解釈された。それらのインデックスは、1に関係がある。従って、例えば、二次元の変数の最初のデータ値は、インデックス ( 1,1 ) を持っている。インデックスのエレメントは、変数の次元と一致する。従って、その変数がレコード変数であるならば、最後のインデックスは、レコード番号である。
chvalなi1val、i2val、ivalな、rvalな、もしくは、dvalな

データ値が読み取られるであろうロケーション。あなたは、数値変数からのCHARACTERデータ、及び、キャラクタ変数からの数値データを得ることができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう。詳細のためにセクション3.3の「タイプ変換」、24ページを見なさい。




エラー

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

ここでfoo.ncと指定された現存するnetCDF datasetにおいてrhと指定された変数の ( 4,3,2 ) エレメントを得るためにNF_GET_VAR1_DOUBLEを使う例である。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐される、従って、我々が第4のlon値、第3のlat値、及び、第2の時間値と一致するrhの値を得ることを望むということを知っていると推測する:



'netcdf.inc'を含む
... .
整数状態、NCID整数RHID、変数ID整数RHINDX ( 3 ) 、どこで、値倍精度をRHVALにするか、それをここに置いた、データRHINDX /4、3、2/、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_NOWRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID、 ( NCID、` rh '、RHID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を状態= NF_GET_VAR1_DOUBLE ( NCID、RHID、RHINDX、RHVAL ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.11全体の変数を読むNF_GET_VAR_タイプ


メンバー、の、ファンクションのNF_GET_VAR_タイプファミリーは、オープンnetCDF datasetのnetCDF変数から全ての値を読み取った。これは、段階状の変数の値を読むために使用するために、最もシンプルなインタフェースである、もしくは、マルチ‐寸法の変数の全ての値がいつあることができるかは、ただちに解釈された。それらの値は、連続したロケーションの中に読み取られる、に関して、最も速く変化する最初の次元。netCDF datasetは、データモードになければならない。

使用



整数ファンクションNF_GET_VAR_TEXT ( 整数NCID、整数VARID、CHARACTER* ( * ) テキスト ) 整数ファンクションNF_GET_VAR_INT1 ( 整数NCID、整数VARID、INTEGER*1 i1vals ( * ) ) 整数ファンクションNF_GET_VAR_INT2 ( 整数NCID、整数VARID、INTEGER*2 i2vals ( * ) ) 整数ファンクションNF_GET_VAR_INT ( 整数NCID、整数VARID、整数ivals ( * ) ) 整数ファンクションNF_GET_VAR_REALな ( 整数NCID、整数VARID、真のrvals ( * ) )
整数ファンクションNF_GET_VAR_DOUBLE ( INTEGER NCID、整数VARID、二重のdvals ( * ) )
netCDF変数から一連の値を読み取るために6 FORTRANファンクションがある。
NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
テキスト、i1vals、i2vals、ivals、rvals、または、dvals そうであるためのデータ値のブロックは、読んだ。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、数値変数からのCHARACTERデータ、及び、テキスト変数からの数値データを読むことができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。

エラー

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

ここにfoo.ncと指定された現存するnetCDF datasetからrhと指定された変数の全ての値を読むためにNF_GET_VAR_DOUBLEを使う例がある。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐されるということを知っているということ、そして、10 lon値、5 lat値、及び、3つの時間値があるということを推測する。



'netcdf.inc'を含む
... .
パラメータ、 ( TIMES=3 , LATS=5 , LONS=10 ) 、次元長さ整数状態、NCID整数RHID、変数IDの二重のRHVALS ( LONS、LATS、掛ける ) 、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_NOWRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID、 ( NCID、` rh '、RHID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を状態= NF_GET_VAR_DOUBLE ( NCID、RHID、RHVALS ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.12一連の値を読みなさい:NF_GET_VARA_タイプ


メンバー、の、ファンクションのNF_GET_VARA_タイプファミリーは、オープンnetCDF datasetのnetCDF変数から一連の値を読み取った。そのアレイは、コーナー、及び、エッジの長さのベクトルを与えることによって指定される。それらの値は、連続したロケーションの中に読み取られる、に関して、最も速く変化する最初の次元。netCDF datasetは、データモードになければならない。

使用



整数機能NF_GET_VARA_TEXT ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) CHARACTER ( * ) テキスト ) 整数機能NF_GET_VARA_INT1 ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) INTEGER i1vals ( ) ) 整数機能NF_GET_VARA_INT2 ( INTEGER NCID整数VARID整数START ( ) 整数COUNT ( ) INTEGER i2vals ( ) ) 整数機能NF_GET_VARA_INT ( 整数NCID整数VARID整数START ( ) 整数COUNT ( ) 整数ivals ( ) )
整数ファンクションNF_GET_VARA_REAL ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、真のrvals ( * ) ) 整数ファンクションNF_GET_VARA_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、二重のdvals ( * ) )
netCDF変数から一連の値を読み取るために6 FORTRANファンクションがある。
NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1が読まれるであろう変数においてインデックスを指定する整数のベクトル。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTの長さは、指定された変数の次元の数と同じでなければならない。STARTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を読むために起動レコード番号と一致するであろう。
カウント そうであるためのデータ値のブロックの各次元に沿ってエッジ長さを指定する整数のベクトルは、解釈された。1つの値を読むために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTの長さは、指定された変数の次元の数である。COUNTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、読むために、レコードの数のカウントと一致する。
テキスト、i1vals、i2vals、ivals、rvals、または、dvals そうであるためのデータ値のブロックは、読んだ。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、数値変数からのCHARACTERデータ、及び、テキスト変数からの数値データを読むことができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。

エラー

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

ここに例使用があるNF_GET_VARA_DOUBLE変数の全ての値を読むことは、foo.ncと指定された現存するnetCDF datasetにちなんでrhを命名した。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐されるということを知っているということ、そして、10 lon値、5 lat値、及び、3つの時間値があるということを推測する。



'netcdf.inc'を含む
... .
パラメータ ( 番号をつけるの次元パラメータ次元長さ整数状態NCID整数RHID変わりやすいID整数START ( NDIMS ) COUNT ( NDIMS ) 二重のRHVALS ( LONS LATS 〜掛ける〜 ) データスタートする/1 1 1/スタートする最初は値データカウントする/LONS LATS TIMES/得る〜全て値
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_NOWRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID、 ( NCID、` rh '、RHID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を状態= NF_GET_VARA_DOUBLE ( NCID、RHID、スタート、カウント、RHVALS ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.13サブ‐見本をとられた一連の値を読みなさい:NF_GET_VARS_タイプ


ファンクションのNF_GET_VARS_タイプファミリーは、オープンnetCDF datasetのnetCDF変数から値のサブ‐見本をとられた ( stridedされる ) アレイセクションを読み取った。サブ‐見本をとられたアレイセクションは、コーナー、エッジの長さのベクトル、及び、ストライドベクトルを与えることによって指定される。それらの値は、読まれる、に関して、最も速く変化するnetCDF変数の最初の次元。netCDF datasetは、データモードになければならない。

使用



整数ファンクションNF_GET_VARS_TEXT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、CHARACTER* ( * ) テキスト ) 整数ファンクションNF_GET_VARS_INT1 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、INTEGER*1 i1vals ( * ) ) 整数ファンクションNF_GET_VARS_INT2 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、INTEGER*2 i2vals ( * ) )
整数ファンクションNF_GET_VARS_INT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数ivals ( * ) ) 整数ファンクションNF_GET_VARS_REAL ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、真のrvals ( * ) ) 整数ファンクションNF_GET_VARS_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、二重のdvals ( * ) )




NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1がどちらであろうかから変数におけるインデックスを指定する整数のベクトルは、解釈された。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を読むために起動レコード番号と一致するであろう。
カウント 各次元に沿って選択されたインデックスの数を指定する整数のベクトル。1つの値を読むために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、読むために、レコードの数のカウントと一致する。
ストライド 各次元のために選択されたインデックス、または、値0の間で間隔を指定する整数のベクトル。ベクトルのエレメントは、変数の次元と一致する ( 順番に ) 。1の値は、一致する寸法でnetCDF変数の隣接の値にアクセスする;2の値は、一致する寸法でnetCDF変数の他の全ての値にアクセスする;従って、オン。0引数は、扱われる、〜同じくらい ( 1、1、...、1 )
テキスト、i1vals、i2vals、ivals、rvals、または、dvals そうであるためのデータ値のブロックは、読んだ。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、数値変数からのCHARACTERデータ、及び、テキスト変数からの数値データを読むことができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

ここに例使用があるNF_GET_VARS_DOUBLE変数の各寸法で他の全ての値を読むことは、foo.ncと指定された現存するnetCDF datasetにちなんでrhを命名した。2‐パラメータアレイに、同じ寸法のストライドを使って、値は、割り当てられる。この例における簡素性のために、我々は、我々がrhlonlat、及び、時間によって次元‐されるということを知っているということ、そして、10 lon値、5 lat値、及び、3つの時間値があるということを推測する。



'netcdf.inc'を含む
... .
パラメータ ( 番号をつけるの次元パラメータ次元長さ整数状態NCID整数RHID変わりやすいID整数START ( NDIMS ) COUNT ( NDIMS ) STRIDE ( NDIMS ) 二重のDATA ( LONS LATS 〜掛ける〜 ) データスタートする/1 1 1/スタートする最初は値データカウントする/LONS LATS TIMES/データ大またで歩く/2 2 2/
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_NOWRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID、 ( NCID、` rh '、RHID ) コールHANDLE_ERR ( STATUS ) 状態= NF_GET_VARS_DOUBLE ( NCID、RHIDがスタートするならば ( 状態.NE. NF_NOERR ) 、カウントする、大またで歩く、DATA ( 1,1,1 ) ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.14マップされた一連の値を読みなさい:NF_GET_VARM _


ファンクションのNF_GET_VARM_タイプファミリーは、オープンnetCDF datasetのnetCDF変数から値のマップされたアレイセクションを読み取る。マップされたアレイセクションは、コーナー、エッジ長さ、aのベクトルを与えることによって指定されるベクトル、及び、ベクトルをマップするインデックスを大またで歩きなさい。ベクトルをマップするインデックスは、netCDF変数の次元、及び、内部のデータアレイの不メモリ構造の間のマッピングを指定する整数のベクトルである。データアレイの次元の注文、及び、長さについて仮定が行われない。netCDF datasetは、データモードになければならない。

使用



整数ファンクションNF _GET_VARM_TEXT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、CHARACTER* ( * ) テキスト ) 整数ファンクションNF _GET_VARM_INT1 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、INTEGER*1 i1vals ( * ) ) 整数ファンクションNF _GET_VARM_INT2 ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * )
整数STRIDE ( * ) 、整数IMAP ( * ) 、INTEGER*2 i2vals ( * ) ) 整数ファンクションNF _GET_VARM_INT ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、整数ivals ( * ) ) 整数ファンクションNF _GET_VARM_REALな ( 整数NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、真のrvals ( * ) )
整数ファンクションNF _GET_VARM_DOUBLE ( INTEGER NCID、整数VARID、整数START ( * ) 、整数COUNT ( * ) 、整数STRIDE ( * ) 、整数IMAP ( * ) 、二重のdvals ( * ) )





NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
スタート データ値の第1がどちらであろうかから変数におけるインデックスを指定する整数のベクトルは、解釈された。それらのインデックスは、1に関係がある。従って、例えば、変数の最初のデータ値は、インデックス ( 1、1、...、1 ) を持っているであろう。STARTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、最後のインデックスは、データ値を読むために起動レコード番号と一致するであろう。
カウント 各次元に沿って選択されたインデックスの数を指定する整数のベクトル。1つの値を読むために、例えば指定する、〜同じくらい ( 1、1、...、1 ) COUNTのエレメントは、変数の次元と一致する ( 順番に ) 。従って、その変数がレコード変数であるならば、COUNTの最後のエレメントは、読むために、レコードの数のカウントと一致する。
ストライド 各次元のために選択されたインデックス、または、値0の間で間隔を指定する整数のベクトル。ベクトルのエレメントは、変数の次元と一致する ( 順番に ) 。1の値は、一致する寸法でnetCDF変数の隣接の値にアクセスする;2の値は、一致する寸法でnetCDF変数の他の全ての値にアクセスする;従って、オン。0引数は、扱われる、〜同じくらい ( 1、1、...、1 )
IMAP netCDF変数の次元、及び、内部のデータアレイの不メモリ構造の間のマッピングを指定する整数のベクトル。IMAP ( 1 ) は、netCDF変数の最も急速に変化している次元と一致する内部のアレイのエレメントの間で距離を与える。IMAP ( N ) ( どこでNがnetCDF変数のランクであるか ) は、netCDF変数の最もゆっくりと変化している次元と一致する内部のアレイのエレメントの間で距離を与える。介在しているIMAPエレメントは、明白な方法におけるnetCDF変数の他の次元と一致する。エレメントの間の距離は、エレメントのユニットにおいて指定される ( 隣接のメモリロケーションを占める内部のエレメントの間の距離がnetCDF 2と同様にエレメントのバイト‐長さではなく1である ) 。
テキスト、i1vals、i2vals、ivals、rvals、または、dvals そうであるためのデータ値のブロックは、読んだ。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、数値変数からのCHARACTERデータ、及び、テキスト変数からの数値データを読むことができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

下記ささいな方法aにおけるIMAPベクトルマップ2x3x4 netCDF変数、及び、内部の一連の同じ形:



REAL A ( 2,3,4 ) 、netCDF変数INTEGER IMAP ( 3 ) DATA IMAP /1、2と同じ形、6/、netCDF次元インター‐エレメント距離、
---------------- ----------------------、
1最も急速に変化する、中間の、2 ( =IMAP*2 ) 6 ( =IMAP*3 ) 最もゆっくりと変化する、
使用する、IMAPベクトル、上で、に関して、NF_GET_VARM_REALは、簡単に使用すると同じ結果を獲得するNF_GET_VAR_REALな。

ここに使用することの例がある示されるrhと指定されたnetCDF変数を置き換えるためのNF_GET_VARM_REALFORTRAN宣言REAL RH ( 4,6 ) ( 次元のサイズ、及び、オーダ注目する ) :



'netcdf.inc'を含む
... .
PARAMETER ( NDIM=2 ) netCDF変数INTEGER NCIDのランク、netCDF dataset ID INTEGER STATUS、コードINTEGER RHIDを返す、変数ID INTEGER START ( NDIM ) 、netCDF変数スタートポイントINTEGER COUNT ( NDIM ) 、内部のアレイINTEGER STRIDE ( NDIM ) のサイズ、netCDF変数二段抽出間隔INTEGER IMAP ( NDIM ) 、内部のアレイインター‐エレメント距離REAL RH ( 6,4 ) 、! netCDF変数次元DATA START /1の転位に注目する、1/、最初のnetCDF変数エレメントDATA COUNT /4でスタートする、6/、全体のnetCDF変数;オーダは、一致する、netCDF変数に、--、ない、内部のアレイDATA STRIDE /1、1/、全てのnetCDFエレメントDATA IMAP /6の見本をとる、1/、/1であろう、4/、もしそうでなければ、置き換える、
... .
状態= NF_OPEN ( 'foo.nc'、NF_NOWRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_GET_VARM_REAL ( NCID、RHIDは、スタートする、カウントする、ストライド、IMAP、RH ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
ここに使用することの他の例がある同時にnetCDF変数の他の全てのポイントにアクセスすることによる同じnetCDF変数を置き換えて、サブ‐見本をとるためのNF_GET_VARM_REAL :



'netcdf.inc'を含む
... .
PARAMETER位置づけるのnetCDF変わりやすいINTEGER NCID netCDF dataset ID INTEGER STATUS戻るコードINTEGER RHID変わりやすいID INTEGER START ( NDIM ) netCDF変わりやすいスタートするポイントINTEGER COUNT ( NDIM ) サイズの内部のアレイINTEGER STRIDE ( NDIM ) netCDF変わりやすい二段抽出間隔INTEGER IMAP ( NDIM ) 内部のアレイエレメント距離REAL RH ( 3,2 ) 注目する転位の次元DATA START /1 1/スタートする最初はnetCDF変わりやすい値DATA COUNT /2 3/オーダの次元一致するnetCDF変わりやすい--内部のアレイDATA STRIDE /2 2/サンプル他の全てのnetCDFエレメントDATA IMAP /3 1/である`1 2'もしそうでなければ置き換える
... .
状態= NF_OPEN ( 'foo.nc'、NF_NOWRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID ( NCID、` rh '、RHID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_GET_VARM_REAL ( NCID、RHIDは、スタートする、カウントする、ストライド、IMAP、RH ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、

7.15キャラクタストリング値を読んで、書くこと


キャラクタストリングaではない部分において、原始的netCDFの外部のデータは、タイプする。なぜなら、FORTRANが可変長キャラクタストリングの抽象をサポートしないからだ ( FORTRAN LENファンクションがその動的な長さではなくキャラクタストリングの静的な長さを返す ) 。その結果、キャラクタストリングは、書かれることができない、及び、netCDFインタフェースの1つの目的と読み取られることができない。その代りに、キャラクタストリングは、一連のキャラクタのように扱われなければならず、そして、アレイアクセスは、読み、そして、netCDF datasetsで変数データとしてのキャラクタストリングを書くために使われなければならない。更に、可変長ストリングは、netCDFインタフェースによって規定を除いてサポートされない;例えば、キャラクタストリング ( 読み取られるためにあなたがストリングの長さを明白に指定しなければならない ) を終了している、そして、netCDF変数に書き込まれるように、あなたは、ゼロのバイトを扱うかもしれない。

それらのストリングがアクセスのための1つのユニットのように扱われるので、属性の値としてのキャラクタストリングは、更に使い易い。しかしながら、キャラクタ‐ストリング属性の値は、まだ一連のその属性が定義されるとき、指定されなければならない明白な長さを持つキャラクタである。

あなたがキャラクタ‐ストリングを持つであろう変数を定義するとき、値は、変数 ( のためにキャラクタ‐ポジション次元を最も迅速に変化している次元として使う、変数のための最初の次元、で、FORTRAN ) .キャラクタ‐ポジション次元の長さは、キャラクタ‐ストリング変数に格納されるために、あらゆる値の最大のストリング長さであろう。あなたがスペースを使うか否かに拘らず、最大‐長さストリングのためのスペースは、キャラクタ‐ストリング変数のディスク表現に割当てられるであろう。2以上の変数が同じ最大の長さを持っているならば、同じキャラクタ‐ポジション次元は、変数形を定義する際使われるかもしれない。

キャラクタ‐ストリング変数にキャラクタ‐ストリング値を書くために、全体の変数アクセスかアレイアクセスのいずれかを使いなさい。後者は、あなたがコーナー及びエッジの長さのベクトルを指定することを必要とする。コーナーのキャラクタ‐ポジション次元は、そうであるべきである1つ、のために、FORTRAN .書かれるためのストリングの長さがnであるならば、それから、エッジの長さのベクトルは、キャラクタ‐ポジション次元、及び、他の全ての次元のためのものにおいてnを指定するであろう: ( n、1、1、...、1 )

スペースをセーブするために、FORTRANにおいて、固定長ストリングは、終了しているキャラクタなしのnetCDF datasetに書かれるかもしれない。可変長ストリングは、それがCかFORTRANプログラムのいずれかによって後で読まれるとき、ストリングの意図した長さが決定され得るように、終了しているゼロのバイトによってストリングを書くことのC因習を理解するべきである。

ストリングを読んで、書くためのFORTRANインタフェースは、ストリング値、及び、数値にアクセスするために異なるファンクションの使用を必要とする。なぜなら、標準のFORTRANによって同じ正式のパラメータはキャラクタ値と、数値の両方のために使われることが可能にならないからだ。値として通されたキャラクタストリングの宣言した長さを指定する追加の引数がNF_PUT_VARA_TEXT、及び、NF_GET_VARA_TEXTのために必要とされる。ストリングの現実の長さは、キャラクタ‐ポジション次元と一致するエッジ‐長さベクトルの値として指定される。

ここにキャラクタストリングのためにレコード変数、txを定義し、そして、キャラクタ‐ストリング値をNF_PUT_VARA_TEXTを使う第3のレコードに格納する例がある。この例において、我々は、ストリングを変数であるとみなし、そして、データは、既に無制限のレコード次元を過ごすfoo.ncと指定された現存するnetCDF datasetに加えられるべきである。



'netcdf.inc'を含む
... .
整数TDIMS TXLENパラメータ番号をつけるのTX次元パラメータ長さの例ストリング整数NCID整数叱る焦がすポジション次元ID整数TIMEIDレコード次元ID整数TXID変わりやすいID整数TXDIMS ( TDIMS ) 変わりやすい形整数TSTART ( TDIMS ) TCOUNT ( TDIMS ) CHARACTER0 TXVAL max長さ40データTXVAL /'example string'/
... .
TXVAL ( TXLEN:TXLEN ) = CHAR ( 0 ) 、ヌル、終了する、
... .
状態= NF_OPEN ( 'foo.nc'、NF_WRITE、NCID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を状態= NF_REDEF ( NCID ) と呼ぶ、入る、モードを定義する、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
!「叱られた」max長さ40 STATUS = NF_DEF_DIM ( NCIDのストリング、40のためにキャラクタ‐ポジション次元を定義する、CHID ) IF ( STATUS .NE. NF_NOERR ) CALL HANDLE_ERR ( STATUS ) 、
... .
!叱られたキャラクタ‐ストリング変数TXDIMS ( 1 ) =を定義する、キャラクタ‐ポジション次元最初のTXDIMS ( 2 ) = TIMEID状態= NF_DEF_VAR ( NCID、「tx」、NF_CHAR、TDIMS、TXDIMS、TXID ) 、かどうか ( STATUS .NE. NF_NOERR ) 、HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_ENDDEF ( NCID ) 、離れる、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
!書く、レコードにおけるtx netCDF変数にtxvalな、3 TSTART ( 1 ) = 0、変数TSTART ( 2 ) = 3の初めにスタートする、書くための数を記録する、TCOUNT ( 1 ) = TXLEN、書くための木炭の数、TCOUNT ( 2 ) = 1、ただ1レコードSTATUS =を書く、NF_PUT_VARA_TEXT、 ( NCID、TXID、TSTART、TCOUNT、TXVAL、40 ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

7.16値を満たす


あなたが決してオープンnetCDF datasetで書かれなかった値を読もうとするとき、何が、起こるか?あなたは、これが常にエラーであるべきであるということ、そして、あなたがエラーメッセージを得るべきである、もしくは、エラー状態が戻ったということを予測するであろう。あなたがnetCDF dataset ( 変数IDが指定されたnetCDF datasetのために無効であるならば、もしくは、指定されたインデックスが適切に指定された変数の次元長さによって定義された範囲の中にないならば、読むために開いていない ) からデータを読み取ろうとするならば、あなたは、エラーを得る。他の場合は、netCDF変数が最初に書かれるとき、書かれなかった値が特別なフィル値を返すことを読むことは、あらゆる定義されない値を埋めたものだった。

あなた、無視する、値を満たす、そして、全体の範囲のnetCDFを使う、外部のデータは、タイプする。しかし、この場合、あなたは、あなたが前のそれらを読む全てのデータ値を書くことを確認するべきである。あなたがそれを読む前にデータ全てを書いているであろうということを知っているならば、あなたは、フィル値を持つ変数の前‐充填が呼出しによって発生しないであろうことを明示し得るNF_SET_FILL記述の前に。これは、netCDFのための有意のパフォーマンス利得が書くことを規定するかもしれない。

変数属性の_FillValueは、変数のためにフィル値を指定するために使われるかもしれない。それらの、である、定義されて、各タイプのためにフィル値を履行しない、で、ファイルを含む、netcdf.inc :NF_FILL_CHARNF_FILL_INT1( 同じである、〜同じくらい、NF_FILL_BYTE) ,NF_FILL_INT2( 同じである、〜同じくらい、NF_FILL_SHORT) ,NF_FILL_INTNF_FILL_REALな( 同じである、〜同じくらい、NF_FILL_FLOAT) 、そして、NF_FILL_DOUBLE

netCDFバイト、そして、キャラクタタイプは、異なるデフォルトを持っている、値を満たす。キャラクタのためのデフォルトフィル値は、ゼロのバイト、可変長Cキャラクタストリングのエンドを検出するための有益な値である。あなたが1バイト変数のためにフィル値を必要とするならば、ncdumpのような一般的なユーティリティがバイト変数のためにデフォルトフィルを値であるとみなさないであろうので、あなたが適切な_FillValue属性を明白に定義するということが勧められている。

フィル値のためのタイプ変換は、他の値のために変換をタイプするために、同じである:1つのタイプから値を表すことができない他のタイプまで値を変換しようと試みることは、範囲エラーに帰着する。そのようなエラーは、更に大きいタイプ ( ダブルのような ) から更に小さいタイプ ( フロートのような ) まで値を書く、もしくは読むと発生するかもしれない、かどうか、いっぱいになる、更に大きいタイプのための値は、更に小さいタイプの代表を務め得ない。

7.17変数を改名しなさい:NF_RENAME_VAR


ファンクションNF_RENAME_VARオープンnetCDF datasetにおいてnetCDF変数の名前を変える。新しい名前が古い名前より長いならば、netCDF datasetは、中になければならない、モードを定義する。あなたは、あらゆる現存する変数の名前を持つために、変数を改名し得ない。

使用



整数ファンクションNF_RENAME_VAR ( 整数NCID、整数VARID、CHARACTER* ( * ) NEWNAM )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
NEWNAM 指定された変数のための新しい名前。



エラー

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

ここに例使用があるNF_RENAME_VAR変数rhを改名するために、現存するnetCDFにおけるrel_humに、datasetは、foo.ncを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID整数RHID、変数ID、
... .
状態= NF_OPEN、 ( 'foo.nc'、NF_WRITE、NCID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_REDEF ( NCID ) 、定義モードを入力する、かどうか、 ( 状態.NE。NF_NOERR ) は、HANDLE_ERR ( STATUS ) を状態= NF_INQ_VARID ( NCID , rh , RHID ) と呼ぶ、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 状態= NF_RENAME_VAR ( NCID , RHID , 'rel_hum' ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 状態= NF_ENDDEF ( NCID ) 、モードを定義に残す、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) 、

7.1 - netCDFの外部のデータタイプへの言語Types Corresponding
7.2 -変数を作成する:NF_DEF_VAR
使用-
-
7.3 -その名前から変数IDを得る:NF_INQ_VARID
使用-
-
7.4 -そのIDから変数に関する情報を得る:NF_INQ_VARファミリー
使用-
-
7.5 - 1つのデータ値を書く:NF_PUT_VAR1_type
使用-
-
7.6 -全体の変数を書く:NF_PUT_VAR_type
使用-
-
7.7 -一連の値を書く:NF_PUT_VARA_type
使用-
-
7.8 -サブ‐見本をとられた一連の値を書く:NF_PUT_VARS_type
使用-
-
7.9 -マップされた一連の値を書く:NF_PUT_VARM_type
使用-
-
7.10 - 1つのデータ値を読む:NF_GET_VAR1_type
使用-
-
7.11 -全体の変数NF_GET_VAR_typeを読んだ
使用-
-
7.12 -一連の値を読んだ:NF_GET_VARA_type
使用-
-
7.13 -サブ‐見本をとられた一連の値を読んだ:NF_GET_VARS_type
使用-
-
7.14 -マップされた一連の値を読んだ:NF_GET_VARM_type
使用-
-
7.15 -キャラクタストリング値を読んで、書いている
7.16 -値を満たす
7.17 -変数を改名する:NF_RENAME_VAR
使用-
-

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