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

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

8属性


属性は、ファクタを一定の基準で決めるユニット、特別な値、最大、及び、最小の正当な値、及び、オフセットのようなプロパティを指定するために、各netCDF変数と関連しているかもしれない。datasetが最初に作成される、一方、netCDF datasetが中にあるとき、netCDF datasetのための属性は、定義される、モードを定義する。後で追加の属性は、再び入ることによって加えられるかもしれない、モードを定義する。netCDF属性は、それが割り当てられるnetCDF変数、名前、タイプ、長さ、及び、一連の1以上の値を持っている。属性は、その変数ID、及び、名前によって示される。属性の名前が知られていないとき、それがその名前を決定するその変数ID、及び、数によって示されるかもしれない ( ファンクションを使って ) NF_INQ_ATTNAME .

その変数が作成された後で、典型的に即座に変数と関連していた属性は、定義される、一方、まだ、で、モードを定義しなさい。データにおいて変えられた属性と同じくらい長いモードが元来定義された属性よりもはやスペースを必要としないときさえも、データタイプ、長さ、及び、属性の値は、変えられるかもしれない。

変数と全く関連していない属性を持つことは、同じく可能である。これらは、呼ばれるグローバルな属性、そして、使用して確認される、NF_GLOBALな変数疑似‐IDとして。グローバルな属性は、通常netCDF dataset全体と関係があり、そして、netCDF datasetのためのタイトル、または、処理ヒストリを提供することのような目的のために使われるかもしれない。

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

8.1属性の規定


始まることを指定する、に関して、下線を引く ( _ ) netCDFライブラリによる使用のために保存される。プロセスnetCDF datasetsがスタンダードであるとみなす大部分の一般的なアプリケーション属性の規定、及び、それは、それを強く推薦される、これらが進められる。そうしないことの良い理由があらない限りは。我々がリストする下記、推薦された標準の属性の名前、及び、意味、有益であると証明された。いくらかのこれらの ( <例>、ユニットvalid_rangescale_factor ) が数値をデータであるとみなし、そして、キャラクタデータによって使われるべきでないことに注目しなさい。
ユニット ユニットを指定するキャラクタストリングは、変数のデータのために使用した。ユニ‐データは、キャラクタストリングの間で変換するためのルーチンの自由に‐利用可能なライブラリ、及び、バイナリ形のユニット仕様を発展させ、そして、バイナリに対する様々な有益な手術を行うことは、生じる。このライブラリは、いくらかのnetCDFアプリケーションに使われる。推薦されたユニットシンタックスを使うことは、数値演算のための一般のユニットに自動的に変換されるために、一致したユニットの代表を務めたデータを可能にする。更に多くの情報のために Appendix A「ユニット」、113 ページを見なさい
long_name 長い記述的名前。例えば、これは、プロットを分類するために使われるであろう。変数がlong_name属性を割り当てられた状態にしないならば、変数名前は、デフォルトとして使われるべきである。
valid_min この変数のために最小の正当な値を指定するスカラ。
valid_max この変数のために最大の正当な値を指定するスカラ。
valid_range valid_minと、valid_max属性の両方のために値を指定することに相当するこの変数のために最小の、そして最大の正当な値を指定する2つの数のベクトル。これらの属性のうちのどれでも、定義する、正当な範囲valid_minvalid_maxのいずれかが定義されるならば、属性のvalid_rangeは、定義されてはいけない。

一般的アプリケーションは、ミスするとして正当な範囲の外で値を扱うべきである。各valid_range、valid_min、及び、valid_max属性のタイプは、その変数のタイプにマッチするべきである ( バイトデータのために意図した範囲を指定するためにこれらが署名された必須のタイプであり得るということを除けば ) 。

その時valid_minのいずれも、valid_max、も、valid_rangeも定義されるならば、一般的アプリケーションは、次のとおりに正当な範囲を定義するべきである。データタイプがバイトであり、そして、_FillValueが明白に定義されないならば、それから、正当な範囲は、全ての可能な値を含むべきである。他の場合は、正当な範囲は、次のとおりに_FillValue ( 明白に定義されたか否かに拘らず、〜もしくは、デフォルトによって ) を除外するべきである。_FillValueが正であり、その後、それが正当な最大を定義するならば、他の場合は、それは、正当な最小を定義する。整数タイプのために、_FillValue、及び、この正当な最小、または、最大の間に1の差異があるべきである。浮動少数点のために、タイプ、差異は、エラーを丸めるために充てるための可能な限りの ( 最も有意のないビットにおける1 ) 最小の2倍であるべきである。

scale_factor 変数のために存在するならば、データ、である、に、である、データがアプリケーションによって読まれた後で、このファクタを掛けられて、それは、データにアクセスする。
add_offset 変数のために存在するならば、この数は、それがデータにアクセスするアプリケーションによって読まれた後で、データに加えられるべきである。scale_factorと、add_offset属性の両方が存在するならば、そのオフセットが加えられる前に、データは、最初に一定の基準で決められる。属性のscale_factor、及び、add_offsetは、低く‐シンプルなデータ圧縮をストアに行うために共に使われ得るnetCDF datasetにおける小さい整数としての解像度浮動少数点データ。測定されたデータが書かれるとき、そのアプリケーションは、最初にオフセットを減じ、その後、倍率によって分かれるべきである。

scale_factor、及び、add_offsetがパッキングのために使われるとき、関連する変数 ( 満員のデータを含むこと ) は、典型的にタイプバイトである、または、短い、一方、取り出された値は、タイプフロートである、もしくは、2倍になることを意図している。属性のscale_factor、及び、add_offsetは、双方共取り出されたデータ、<例>、フロート、または、ダブルのためのものであるタイプであるべきである。

_FillValue _FillValue属性は、フィル値が変数に割当てられたディスクスペースを前‐満たしたものだったことを指定する。そのようなものは、前‐いっぱいになる、nofillモードが使用させられない限り、発生する、NF_SET_FILL . セクション5.12を見る、セットされる」、モードを満たす、のために、書く、:、NF_SET_FILL、詳細のための39 ページ。決して書かれなかった値を読んでいるとき、フィル値は、返される。_FillValueが定義され、その後、それが段階状であるべきであるならば、そして、変数としての同じタイプのうちで。変数のタイプのためのデフォルトフィル値が十分であるならば、変数のためにあなた自身の_FillValue属性を定義することは、必要ではない。しかしながら、データタイプバイトのデフォルトフィル値の使用は、推薦されない。あなたがこの属性の値を変えるならば、変えられた値がただ適用されることに注目する、に、次の、書く;以前に書かれたデータは、変えられない。

一般的アプリケーションは、しばしば定義されない、もしくは、欠けている値を表すために、値を書く必要がある。それが通常正当な範囲の外にあり、それ故、一般的アプリケーションによって読まれたとき、ミスするとして扱われるので、フィル値は、この目的に適切な値を提供する。正当な範囲の中にあることは、フィル値のために合法的である ( ないが、推薦される ) 。

更に多くの情報のために Section 7.16「フィルValues」、78 ページを見なさい

missing_value この属性は、ライブラリ、及び、順応している一般的アプリケーションによって特別な方法で全く扱われない、しかし、しばしば有益なドキュメンテーションであり、そして、特定のアプリケーションによって使われるかもしれない。missing_value属性は、欠測値を示す値を抑制するスカラ、または、ベクトルであり得る。一般的アプリケーションがミスするとしてそれらを扱うように、これらの値は、正当な範囲の外に全てあるべきである。
署名された状態 元来バイト値が扱われるべきであるかどうかを示すように設計されている属性を非難した、〜同じくらい、署名した、〜もしくは、署名されていない。属性のvalid_min、及び、valid_maxは、この目的のために使われるかもしれない。例えば、あなたが1バイト変数が非負の値のみ格納することを望むならば、あなたは、valid_min = 0、及び、valid_max = 255を使うことができる。この属性は、netCDF図書館によって無視される。
C_format それがCアプリケーションによってによって使われるべきであるフォーマットを提供するキャラクタアレイこの変数のために値をプリントしなさい。例えば、あなたが変数がただ3つの有意の数字に正確であるということを知っているならば、C_format属性を「%.3g」と定義することは、適切であろう。ncdumpユーティリティプログラムは、それが定義される変数のためにこの属性を使う。そのフォーマットは、測定された ( 内面的 ) タイプ、及び、値に適用される ( 釣り合っている属性のscale_factor、及び、add_offsetの存在に関係なく ) 。
FORTRAN_format フォーマットにそれを供給するキャラクタアレイは、この変数のために値をプリントするためのFORTRANアプリケーションによって使われるべきである。例えば、あなたが変数がただ3つの有意の数字に正確であるということを知っているならば、FORTRAN_format属性を定義することは、適切であろう、〜同じくらい ( G10.3 )
タイトル datasetにあるものの簡潔な記述をするキャラクタアレイであるグローバルな属性。
歴史 グローバルな属性、のために、跡を監査しなさい。これは、datasetを修正したプログラムの各呼出しのためのラインを持つキャラクタアレイである。行儀の良い一般的なnetCDFアプリケーションは、以下を含むラインを付加するべきである。日付、日の時間、ユーザー名、プログラム名、及び、コマンド引数。
規定 現在の`規定'がdatasetを従えている規定の名前のためのキャラクタアレイであるグローバルな属性であるならば、ディレクトリ名前と解釈されるストリングの形では、ディレクトリと比較して、それは、規律‐特定の規定のセットを示すドキュメントの貯蔵所である。これは、規定のために階層型構造を可能にし、そして、規定の記述、及び、例が定義している制度、及び、グループによって維持されるかもしれない場所を提供する。規定ディレクトリ名前は、現在ホスト機械ftp.unidata.ucar.edu上のディレクトリpub/netcdf/Conventions/と比較して翻訳される。代りに、十分なURL仕様は、規定について述べるドキュメントが維持されるサイトとWWWを指定するために使われるかもしれない。
例えば、NUWGと指定されたグループが次元のための規定のセットについて同意するならば、名前、変数名は、確かに属性、及び、netCDF表現を必要とした規律‐特定のデータ構造、それらは、ConventionsディレクトリのNUWG/サブ‐ディレクトリでdatasetにおけるagreed-upon規定を述べるドキュメントを格納するかもしれない。これらの因習を理解したDatasetsは、値「NUWG」と共にグローバルなConventions属性を含むであろう。
より新しい、そのグループがNUWGデータの特定のサブセットのためのいくらかの追加の規定について同意するならば、例えば、時系列資料、追加の規定の記述は、NUWG/Time_series/サブ‐ディレクトリに格納され、そして、これらの追加の規定に付着したdatasetsは、このdatasetがNUWG規定、更に、追加のNUWG時系列規定に固執すると意味する値「NUWG/Time_series」を持つグローバルなConventions属性を使うであろう。

8.2属性を作成しなさい:NF_PUT_ATT_type


ファンクションNF_PUT_ATT_タイプは、オープンnetCDF datasetの変数属性、または、グローバルな属性を加える、もしくは変える。この属性が新しい、または、属性を格納するのに必要とされるスペースが十二分に前にあるならば、netCDF datasetが中になければならないならば、モードを定義しなさい。

使用

全てのタイプの属性を作成することが可能であるが、テキスト、そして、二重の属性は、大部分の目的に十分である。



整数ファンクションNF_PUT_ATT_TEXT ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数LEN、CHARACTER* ( * ) テキスト ) 整数ファンクションNF_PUT_ATT_INT1 ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数XTYPE、LENする、INTEGER*1 I1VALS ( * ) ) 整数ファンクションNF_PUT_ATT_INT2 ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数XTYPE、LENする、INTEGER*2 I2VALS ( * ) ) 、
整数機能NF_PUT_ATT_INT ( 整数NCID整数VARID CHARACTER ( * ) 名整数XTYPE LEN整数IVALS ( ) ) 整数機能するNF_PUT_ATT_REAL ( 整数NCID整数VARID CHARACTER ( * ) 名整数XTYPE LEN真のRVALS ( ) ) 整数機能NF_PUT_ATT_DOUBLE ( INTEGER NCID整数VARID CHARACTER ( * ) 名整数XTYPE LEN二重のDVALS ( ) )




NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID。
名前 属性の名。ゼロを従えている英文学、または、更に文字数字両用のキャラクタ含むことで始まらなければならない、下線を引く ( _ ) 。ケースは、有意である。属性名前規定は、いくらかのnetCDFの一般的アプリケーションによって推測される、<例>、名前としてのユニット、ストリング属性のために、それは、ユニットをnetCDF変数に与える。従来の属性の名のテーブルは、netCDFインタフェース上の初期の章において提示される。
XTYPE 前‐定義されたnetCDFの外部のデータのセットのうちの1つは、タイプする。正当なnetCDFの外部のデータタイプは、NF_BYTENF_CHARNF_SHORTNF_INTNF_FLOAT、及び、NF_DOUBLEである。全てのタイプの属性を作成することが可能であるが、NF_CHAR、及び、NF_DOUBLE属性は、大部分の目的に十分である。
LENする 値の数は、属性、または、NF_PUT_ATT_TEXTのためのテキスト属性の長さを提供した。
テキスト、I1VALS、I2VALS、IVALS、RVALS、または、DVALS 一連のLEN属性の値。データは、呼ばれたファンクションに適したタイプであるべきである。あなたは、テキスト属性への数値属性、及び、数値データにCHARACTERデータを書くことができない。数値データのために、データのタイプが属性のタイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

ここに例使用があるNF_PUT_ATT_DOUBLE rh、及び、グローバルな属性と指定されたnetCDF変数のためにvalid_rangeと指定された変数属性を加えることは、現存するnetCDFの権利を指定した、datasetは、foo.ncを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID整数RHID、変数IDの二重のRHRNGE ( 2 ) データRHRNGE /0.0D0、100.0D0/、
... .
状態= 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 ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_PUT_ATT_DOUBLE ( NCID、RHID、'valid_range'、NF_DOUBLE、& 2、RHRNGE ) かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_PUT_ATT_TEXT ( NCID、NF_GLOBALな`タイトル'、19、例netCDF dataset ) かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、
... .
状態= NF_ENDDEF、 ( NCID ) 離れる、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

8.3属性に関する情報を得なさい:NF_INQ_ATTファミリー


ファンクションリターンのこのファミリーnetCDF属性に関する情報。これらのファンクションのうちの1つを除いてみなは、変数ID、及び、属性の名前を必要とする;例外、である、NF_INQ_ATTNAME .属性に関する情報は、そのタイプ、長さ、名前、及び、数を含む。見る、属性の値を得るためのNF_GET_ATTファミリー。

ファンクションNF_INQ_ATTNAMEは、属性の名前を得る ( その変数ID、及び、数を与えられて ) 。このファンクションは、有益である他の属性全てにおける数が機能するよりむしろ属性が名前によってアクセスされるので、一般的なアプリケーション ( 全ての属性の名前を得る必要がある ) は、変数と結合した。同じ変数の他の属性が削除されるとき、それが変わることができるので、属性の数は、名前より揮発性である。こういうわけで、属性の番号は、呼ばれない、属性のID。

ファンクションNF_INQ_ATTは、属性のタイプ、及び、長さを返す。それぞれ他のファンクションは、ほんの1つの属性に関する情報のアイテムを返す。

使用




整数ファンクションNF_INQ_ATT ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数xtype、整数len ) 整数ファンクションNF_INQ_ATTTYPE ( INTEGER NCID、整数VARID、CHARACTER* ( * ) 名、整数xtype ) 整数ファンクションNF_INQ_ATTLEN ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数len ) 整数ファンクションNF_INQ_ATTNAME ( INTEGER NCID、整数VARID、整数ATTNUM、CHARACTER* ( * ) 名前 )
整数ファンクションNF_INQ_ATTID ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数attnum )





NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 変数ID、の、属性の変数、または、グローバルな属性のためのNF_GLOBAL
名前 NF_INQ_ATTNAMEのためにこれが属性の名前がどこにあるかが戻ったことであるということを除けば、インプットされた属性の名。
xtype 属性のタイプを返されて、前‐定義されたnetCDFの外部のデータのセットのうちの1つは、タイプする。正当なnetCDFの外部のデータタイプは、NF_BYTENF_CHARNF_SHORTNF_INTNF_FLOAT、及び、NF_DOUBLEである。
lenする 現在属性に格納される値の返された数。評価されたストリング属性のために、これは、ストリングにおけるキャラクタの数である。
attnum NF_INQ_ATTNAMEのために、入力属性の番号;NF_INQ_ATTIDのために、返された属性の番号。各変数のための属性は、1 ( 最初の属性 ) からNATTSまで番号をつけられる、そして、そこで、コールからNF_INQ_VARNATTSまで返されたように、NATTSは、変数のための属性の数である。

その数があまり有益ではないということを知って、あなたが属性の名前を既に知っているならば。なぜなら、属性に関する情報にアクセスする<<がその名前を必要とするからだ



エラー

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

ここに例使用があるNF_INQ_ATTLENする属性の長さについて尋ねることは、foo.ncと指定された現存するnetCDF datasetにおいてタイトルと指定されたrh、及び、グローバルな属性と指定されたnetCDF変数のvalid_rangeを指定した:



'netcdf.inc'を含む
... .
整数状態、NCID整数RHID、変数ID整数、VRLENする、TLENする、属性の長さ、
... .
状態= 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_INQ_ATTLEN、 ( NCID、RHID、'valid_range'、VRLEN ) コールHANDLE_ERR ( STATUS ) 状態=がNF_INQ_ATTLENする ( NCID、NF_GLOBALな`タイトル'がTLENする ) ならば ( 状態.NE. NF_NOERR ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

8.4属性の値を得なさい:NF_GET_ATT_タイプ


メンバー、の、ファンクションのNF_GET_ATT_タイプファミリーは、netCDF属性のvalue ( s ) を得る ( その変数ID、及び、名前を与えられて ) 。

使用



整数ファンクションNF_GET_ATT_TEXT ( INTEGER NCID , INTEGER VARID , CHARACTER* ( * ) NAME , CHARACTER* ( * ) text ) 整数ファンクションNF_GET_ATT_INT1 ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、INTEGER*1 i1vals ( * ) ) 整数ファンクションNF_GET_ATT_INT2 ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、INTEGER*2 i2vals ( * ) ) 整数ファンクションNF_GET_ATT_INT ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、整数ivals ( * ) )
整数ファンクションNF_GET_ATT_REALな ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、真のrvals ( * ) ) 整数ファンクションNF_GET_ATT_DOUBLE ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、二重のdvals ( * ) )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 属性の変数の変数ID、または、グローバルな属性のためのNF_GLOBAL
名前 属性の名。
テキスト、i1vals、i2vals、ivals、rvals、または、dvals 返された属性の値。属性の値のベクトルの全てのエレメントは、返される。従って、あなたは、それらを保持するために、十分な場所を提供しなければならない。あなたがどのくらいのスペースを予約するかを知らないならば、NF_INQ_ATTLENを属性の長さを発見する最初のものと呼びなさい。あなたは、数値変数からのキャラクタデータ、及び、テキスト変数からの数値データを読むことができない。数値データのために、データのタイプがnetCDF変数タイプと異なるならば、タイプ変換は、発生するであろう ( 詳細のためにSection 3.3「タイプConversion」、24ページを見なさい ) 。



エラー

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

ここに例使用があるNF_GET_ATT_DOUBLE属性の値を決定することは、foo.ncと指定された現存するnetCDF datasetにおいてタイトルと指定されたrh、及び、グローバルな属性と指定されたnetCDF変数のvalid_rangeを指定した。この例において、我々がどのくらいの値が返されるであろうかを知らない、従って、我々にはそれらを格納するための十分な場所があることを確認するために我々が最初に属性の長さについて尋ねるということが推測される:



'netcdf.inc'を含む
... .
PARAMETER、 ( MVRLEN=3 ) 「valid_range」値PARAMETER ( MTLEN=80 ) のmax数、「タイトル」属性のINTEGER STATUSのmax長さ、NCID INTEGER RHID、変数ID INTEGER VRLEN、TLEN、属性長さDOUBLE PRECISION VRVAL ( MVRLEN ) 、vr属性は、CHARACTER*80 TITLEを評価する、タイトル属性の値、
... .
状態= 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 ) を呼ぶ、
... .
我々が十分なスペースSTATUS = NF_INQ_ATTLEN ( NCID , RHID , 'valid_range' , VRLEN ) IF ( STATUS .NEを持っていることを確認するために、!属性の長さを発見しなさい。NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態=は、NF_INQ_ATTLENする ( NCID、NF_GLOBALな`タイトル'がTLENする ) かどうか、 ( 状態.NE。NF_NOERR ) CALL HANDLE_ERR ( STATUS ) 、属性の値を得る、もしそうでなければ、あまりにも大きいIF ( VRLEN .GT。MVRLEN ) は、それから他のあまりにも大きい!'コール出口を'valid_range属性に書く ( *、* ) 状態= NF_GET_ATT_DOUBLE ( NCID、RHID、'valid_range'、VRVAL ) かどうか、 ( 状態.NE。NF_NOERR ) は、HANDLE_ERR ( STATUS ) をENDIFと呼ぶ、かどうか ( TLEN .GT. MTLEN ) 、それからタイトル属性を書く ( * , * ) 、あまりにも大きい、他のコール出口、状態= NF_GET_ATT_TEXT ( NCID , NF_GLOBAL , title , TITLE ) 、かどうか ( STATUS .NE. NF_NOERR ) 、コールHANDLE_ERR ( STATUS ) ENDIF、

8.51 NetCDFから別のものに属性をコピーしなさい:NF_COPY_ATT


ファンクションNF_COPY_ATTは、1オープンnetCDF datasetから別のものに属性をコピーする。1つの変数から同じnetCDF以内の別のものまでから属性を写すことは、同じく中古であり得る。

使用




整数ファンクションNF_COPY_ATT ( 整数NCID_IN、整数VARID_IN、CHARACTER* ( * ) 名、整数NCID_OUT、整数VARID_OUT )



NCID_IN 前のコールからNF_OPEN、または、NF_CREATEまで、その属性がどちらであろうかからの入力netCDF datasetのnetCDF IDは、コピーした。
VARID_IN その属性が写されるであろう入力netCDF datasetにおける変数のID、または、グローバルな属性のためのNF_GLOBAL
名前 まねられるための入力netCDF datasetにおける属性の名前。
NCID_OUT その属性がコピーされるであろう出力netCDF datasetのnetCDF ID、前のコールからNF_OPEN、または、NF_CREATEまで。同じであることは、インプットされた、そして、アウトプットされたnetCDF IDのために許すことができる。出力netCDF datasetは、中にあるべきである、まねられるための属性が役立つならば、モードを定義する、ない、目標変数のために既に存在する、〜もしくは、成長することが、現存するターゲット属性を引き起こすであろうならば。
VARID_OUT その属性がコピーされるであろう出力netCDF datasetにおける変数のID、または、グローバルな属性にコピーするためのNF_GLOBAL



エラー

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

ここに例使用があるNF_COPY_ATT既に変数avgrhが存在する、しかし、行うと推測して、変数rhから現存するnetCDF datasetに変数属性のユニットをコピーすることが、bar.ncと指定された他の現存するnetCDF datasetにおいてavgrhと変数へのfoo.ncを指定した、ない、今なおユニット属性を持つ:



'netcdf.inc'を含む
... .
整数状態、エラー状態整数NCID1、NCID2、netCDF ID整数RHID、AVRHID、変数ID、
... .
状態= NF_OPEN、 ( 'foo.nc、NF_NOWRITE、NCID1 ) コールHANDLE_ERR ( STATUS ) 状態=がNF_OPENする ( 'bar.nc、NF_WRITE、NCID2 ) ならば ( 状態.NE. NF_NOERR ) 、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_INQ_VARID、 ( NCID1、` rh '、RHID ) かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を状態= NF_INQ_VARID ( NCID2、` avgrh '、AVRHID ) と呼ぶ、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、
... .
状態= NF_REDEF、 ( NCID2 ) 入る、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、「rh」から「avgrh」状態= NF_COPY_ATT ( NCID1、RHID、`ユニット'、NCID2、AVRHID ) までから変数属性を写す、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、
... .
状態= NF_ENDDEF、 ( NCID2 ) 離れる、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

8.6属性を改名しなさい:NF_RENAME_ATT


ファンクションNF_RENAME_ATTは、属性の名前を変える。新しい名前がオリジナルの名前より長いならば、netCDF datasetは、中になければならない、モードを定義する。あなたは、同じ変数の他の属性と同じ名前を持つために、属性を改名し得ない。

使用



整数ファンクションNF_RENAME_ATT ( 整数NCID、整数VARID、CHARACTER* ( * ) 名、CHARACTER* ( * ) NEWNAME )


NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID
VARID 属性の変数のID、または、グローバルな属性のためのNF_GLOBAL
名前 現在の属性の名。
NEWNAME そうであるための新しい名前は、指定された属性にアサインした。新しい名前が現在の名前より長いならば、netCDF datasetは、中になければならない、モードを定義する。



エラー

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

ここに例使用があるNF_RENAME_ATT変数を改名するために、foo.ncと指定された現存するnetCDF datasetにおいてユニットを変数rhのためのUnitsに帰しなさい:



「netcdf.inc」を含む
... .
整数状態、エラー状態整数NCID、netCDF ID整数RHID、変数ID、
... .
状態= 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_RENAME_ATT ( NCID、RHID、「ユニット」、ユニット ) を改名する、かどうか ( 状態.NE. NF_NOERR ) HANDLE_ERR ( STATUS ) を呼ぶ、

8.7属性を削除しなさい:NF_DEL_ATT


ファンクションNF_DEL_ATTは、オープンnetCDF datasetからnetCDF属性を削除する。netCDF datasetは、中になければならない、モードを定義する。

使用



整数ファンクションNF_DEL_ATT ( 整数NCID、整数VARID、CHARACTER* ( * ) 名 )

NCID 前のコールからNF_OPEN、または、NF_CREATEまでのNetCDF ID。
VARID 属性の変数のID、または、グローバルな属性のためのNF_GLOBAL
名前 オリジナルの属性の名。



エラー

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

ここに例使用があるNF_DEL_ATT変数のために、現存するnetCDF datasetにおけるrhは、変数属性のUnitsを削除するために、foo.ncを指定した:

ここに例使用があるNF_DEL_ATT変数属性のUnitsを削除するために、変数のために、現存するnetCDF datasetにおけるrhは、foo.ncを指定した:



'netcdf.inc'を含む
... .
整数状態、エラー状態整数NCID、netCDF ID整数RHID、変数ID、
... .
状態= 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 ) を呼ぶ、
... .
属性状態= NF_REDEF ( NCID ) を削除する、入る、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_DEL_ATT ( NCID、RHID、ユニット ) かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 状態= NF_ENDDEF ( NCID ) 離れる、モードを定義する、かどうか ( 状態.NE. NF_NOERR ) コールHANDLE_ERR ( STATUS ) 、

8.1 -属性の規定
8.2 -属性を作成する:NF_PUT_ATT_type
使用-
-
8.3 -属性に関する情報を得る:NF_INQ_ATTファミリー
使用-
-
8.4 -属性の値を得る:NF_GET_ATT_type
使用-
-
8.5 - 1 NetCDFから別のものに属性をコピーする:NF_COPY_ATT
使用-
-
8.6 -属性を改名する:NF_RENAME_ATT
使用-
-
8.7 -属性を削除する:NF_DEL_ATT
使用-
-

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