約 308,312 件
https://w.atwiki.jp/fmemo/pages/21.html
HDF4インストールfink hdpヘッダを書き出したいとき 2番目のデータを書き出したいとき アスキーではなくバイナリで書き出したいとき HDF5インストールfink ソースから h5dumpヘッタを書き出したい ヘルプを読みたい データ/Data/variable1をバイナリで書き出し、hoge.binという名前にしたい。 環境変数 コンパイルオプション このページは書きかけである。 HDF4 インストール fink $ fink install hdf HDF4は自己記述型のファイルである。hdpコマンドを使えばヘッダを読んだり、バイナリにダンプしたりできる。 hdp HDFファイルをダンプするためのコマンド ヘッダを書き出したいとき $ hdp dumpsds -h inputfile.hdf 2番目のデータを書き出したいとき $ hdp dumpsds -i 2 -d inputfile.hdf アスキーではなくバイナリで書き出したいとき $ hdp dumpsds -b inputfile.hdf (工事中) 参考 http //ryuiki.agbi.tsukuba.ac.jp/~nishida/MEMO/HDF.html HDF5 HD5はそれ以前のHDF4と互換性がないことに注意。 インストール fink $ fink install hdf5 ソースから $ sudo mkdir /usr/local/hdf5-1.8.3-g95 $ wget ftp //ftp.hdfgroup.org/HDF5/current/src/hdf5-1.8.3.tar.gz $ tar xvzf hdf5-1.8.3.tar.gz $ cd hdf5-1.8.3 $ ./configure --prefix=/usr/local/hdf5-1.8.3-g95 --enable-fortran F9X=g95 $ make $ sudo make install $ sudo ln -s /usr/local/hdf5-1.8.3-g95 /usr/local/hdf5 h5dump h5dumpはHDF5を読むためのコマンド。 ヘッタを書き出したい $ h5dump -H filename.h5 header.txt ヘルプを読みたい $ h5dump -h データ/Data/variable1をバイナリで書き出し、hoge.binという名前にしたい。 $ h5dump -d /Data/variable1 -b -o hoge.bin hoge.h5 環境変数 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH /path/hdf5-X.X.X/lib コンパイルオプション $ g95 -I/usr/local/hdf5-1.8.3-g95/include -L/usr/local/hdf5-1.8.3-g95/lib \ -L/usr/local/zlib-1.2.3/lib -lhdf5 -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran -lz h5ex_d_alloc.f90
https://w.atwiki.jp/rffbl22/pages/93.html
HDFのバイナリ出力 HDFファイルのバイナリ出力には、hdpコマンドを用いる。 hdp dumpsdsの実行 hdp dumpsds フィルターオプション コンテンツオプション 出力オプション 入力HDFファイル 以下マニュアルの日本語訳 フィルターオプション どのSDSをdumpするか指定する。 -i index index で指定された数値でSDSデータをdumpする。数値は、SDSデータのファイル内での順番に対応 -r ref ref で指定されたSDS内の参照番号でSDSデータをdumpする。 -n name name で指定された変数名でSDSデータをdumpする。 -a すべてのSDSデータをdumpする。(デフォルト) コンテンツオプション -v 注釈を含むすべてを出力する。(デフォルト) -h ヘッダーだけ出力する。 -d データだけ出力する。 出力オプション -o fn 出力ファイル名を fn で指定する。 -b バイナリ出力。 -x アスキー出力。(デフォルト) 注意 3つのカテゴリーのオプションのいずれの組み合わせでも用いることができるが、一つのカテゴリーの中で2つ以上のオプションは指定できない。 HDFファイルのヘッダー情報を表示 hdp dumpsds -h 入力HDFファイル | less HDFファイルのバイナリ出力 hdp dumpsds -i 0 -d -b 入力HDFファイル 出力ファイル名 出力が2バイト?? HDFファイルのアスキー出力 hdp dumpsds -i 0 -d -a 入力HDFファイル 出力ファイル名 hdp dumpvdの実行 SDSではなくVDATAにデータがある場合にはこちらを使う。
https://w.atwiki.jp/eo711/
python apt-get install -y python-numpy python-pil python-h5py python-matplotlib ipython hdf5 apt-get install -y hdf5-tools hdf5-tools HDF5構造の表示 h5ls GPMCOR_DPR_1604230300_0433_012221_L2S_DD2_04A.h5/HS/Latitude HDF5の表示 h5dump GPMCOR_DPR_1604230300_0433_012221_L2S_DD2_04A.h5 h5dump -d HS/Latitude -o GPMCOR_DPR_1604230300_0433_012221_L2S_DD2_04A.bin -b GPMCOR_DPR_1604230300_0433_012221_L2S_DD2_04A.h5 import h5py import matplotlib.pyplot as plt input_file = "GPMCOR_DPR_1604230300_0433_012221_L2S_DD2_04A.h5" h5file = h5py.File(input_file, "r") hs_latitude = h5file["HS/Latitude"].value hs_longitude = h5file["HS/Longitude"].value hs_scantime_year = h5file["HS/ScanTime/Year"].value hs_scantime_month = h5file["HS/ScanTime/Month"].value hs_scantime_dayofmonth = h5file["HS/ScanTime/DayOfMonth"].value hs_scantime_hour = h5file["HS/ScanTime/Hour"].value hs_scantime_minute = h5file["HS/ScanTime/Minute"].value hs_scantime_second = h5file["HS/ScanTime/Second"].value hs_scanstatus_dataquality = h5file["HS/scanStatus/dataQuality"].value #print hs_latitude[ ,0].shape #print hs_latitude[ ,0] #print hs_longitude[ ,0].shape #print hs_longitude[ ,0] #print hs_scantime_year.shape #print hs_scantime_year ImageMagick apt-get install -y imagemagick
https://w.atwiki.jp/rffbl22/pages/96.html
HDF形式データの図化 HDFデータも、SDS部分はGrADSで表示することができる。 GrADS 1.9系では、 gradshdf で起動し、2系では grads で起動する。 HDFは、NetCDFと同じ自己記述型データなので sdfopen 入力HDFファイル で読めることもある。 そのままでは開けないHDFファイルの読み方 開けない場合には、ctlファイルではなく一部を置き換えるxdfファイルを作れば解決する場合がある。 AMSR-E土壌水分量の図化 AMSR-E土壌水分量用xdfファイル(amsr.xdf) DSET P1AME100800D_P3SM0000600E0.00 TITLE Soil_moisture UNDEF -9999. YDEF fakeDim0 721 Linear -90 0.25 XDEF fakeDim1 1440 Linear 0 0.25 GrADS上で以下を実行 xdfopen amsr.xdf set gxout shaded set clevs 0 0.1 0.2 0.3 0.4 0.5 0.6 d maskout(mean/1000,(mean)) cbarn
https://w.atwiki.jp/dsougou3/pages/45.html
キャンペーン 名前 性 FS 特殊能力 発動率 効果 範囲 対象 時間 備考 インフレ OSR先生 男 20 OSRの世界 50 ゲームをOSRバトルにする ルール 永続 第五次 金大好 男 20 祝福の時 100 移動以外封印翌日持ち越し ルールMAP全体 範囲内全員 無差別 1ターン 第五次 カルミナル・レイル 男 20 神の下の平等 76 作戦時間指定 ルール 1ターン シークレット KING 末那識千尋 女 20 ルンビニー 85 世界を創出 世界 一瞬 パッシブ KING PK%(以下略 両 0 アウフヘーベン 50 議論の途中停止 世界 一瞬 パッシブ対特殊ルール 淳ゲロス 稲川淳二(悪霊) 男 ∞ 性転換VI 100 フェイズ追加 時間 一瞬 転校生 淳ゲロス 稲川淳二 男 20 六の怪【お前だぁ~~~ッ!!】 100 行動ロジック変更 ルール 一瞬 転校生パッシブカウンター KING 末那識真名 女 20 ヴァイシャリー 100 3ターン後になる 時間 一瞬 転校生パッシブカウンター OK 阿頼耶識ゆま 女 20 ヴァイシャリー 80 2ターン後になる 時間 一瞬 OK ぽぽ=トーシュ 男 10 まっくらなもりのうた 60 先攻後攻入れ替え 時間 1ターン インフレ レッゾ・スペッキオ 男 6 オッフェン~ 52 敵軍思考時間半減 ルール 1ターン
https://w.atwiki.jp/rffbl22/pages/141.html
HDFView HDFviewは、The HDF Groupで配布されているHDFデータの中身の確認と変更をするためのGUIツールである。ここでは、Windows版を用いているがMacでもLinuxでも変わらないはず。 HDFデータの構造は単純ではないが、このソフトウェアを使うことでGUIにより簡単に確認できる。 ここでは、目的としているデータがSDSdataかVdataであるか、factorやoffsetがあるのかといった情報を調べる方法を示す。 なお、サンプルのHDFデータは、ccplotで配布されているものを用いている。 HDFViewの起動 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (01top.png) HDFファイルを開く 必要なデータを見るためにツリーを開く #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (03open.png) 必要なデータ(ここではLatitude)を選択する Latitudeは、Geolocation Fieldsに格納されている。 Longitudeも同様の方法で確認できる。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (04open.png) データのプロパティを選択する LatitudeのData Typeを確認する #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (06lat.png) Latitudeのfactorとoffsetを確認する タブを"General"から"Attributes"に切り替える #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (07lat.png) 格納されている実際の値を確認する #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (08lat.png) HeightのData Typeを確認する #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (09height.png) Heightのfactorとoffsetを確認する #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (10height.png) 必要なデータ(ここではRadar_Reflectivity)を選択する) Radar_Reflectivityは、Data Fieldsに格納されている。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (11radar.png) Radar_ReflectivityのData Typeを確認する #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (12radar.png) Radar_Reflectivityのfactorとoffsetを確認する LatitudeやLongitudeやHeightとは異なりFactorが 100.0 になっているので注意。 実際の値は格納されている値の1/100。つまり4000だったら真値は40 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (13radar.png) 時間情報については今後追加予定
https://w.atwiki.jp/rffbl22/pages/140.html
CloudSat A-Trainの一つであるCloudSat衛星データの読み込みと図化について示す。 Cloudsatは、TRMMと異なりswathデータではなく直下だけを観測している。 ccplotを使う http //ccplot.org/ ccplot(CloudSat and CALIPSO plotting tool)は、CloudSat、CALIPSO、Aqua MODISデータを図化するコマンドラインツールである。 図化するだけならば、ccplotを活用することで簡単に実現できる。ただし、インストールがちょっと難しかった。 描画される図はとてもきれい。 Ubuntu12.04では、最新のバージョン1.5-rc5についてccplotウェブページにあるやり方に加えて、build-essential, gcc, gcc-develをインストールすることでコンパイルできた。 自前でデータを読み出して図化する hdpコマンドでデータを出力し、GMTコマンドによる内挿を活用します。ちなみにccplotでも内挿をして等間隔グリッドにしています。 緯度、経度情報の読み出し 緯度(Latitude)と経度(Longitude)の情報は、Vdataにあるので hdp dumpvd を使う。 hdp dumpvd -n Latitude -d 2009037050924_14779_CS_2B-GEOPROF_GRANULE_P_R04_E02.hdf lat.txt hdp dumpvd -n Longitude -d 2009037050924_14779_CS_2B-GEOPROF_GRANULE_P_R04_E02.hdf lon.txt 高度の読み出し 高度(Height)は、SDSdataにあるので hdp dumpsds を使う。 hdp dumpsds -n Height -d 2009037050924_14779_CS_2B-GEOPROF_GRANULE_P_R04_E02.hdf height.txt 反射強度の読み出し 反射強度(Radar_Reflectivity)は、SDSdataにあるので hdp dumpsds を使う。 hdp dumpsds -n Radar_Reflectivity -d 2009037050924_14779_CS_2B-GEOPROF_GRANULE_P_R04_E02.hdf Zfactor.txt データの内挿 データの内挿には、手抜きであるがGMTのコマンドを使う。内挿には、高度と経度(もしくは緯度)を用いて行えばよい。 残念ながらGrADSやGMTで、ccplotで示されるような縦軸に高度、横軸に緯度・経度・時間を表示(3つ一緒に)する方法はわからないので軸ラベルは一つずつでいいとする。 GrADSによるデータの図化 ccplotの内挿後のデータを取得 ccplotでは描画するにあたって、データは等間隔の高度、緯度、経度、時間情報に直されている。ということは、描画直前のデータを出力すればいいということになる。 そこで、相当に安直な方法であるがpythonで書かれているccplotの描画スクリプトである"ccplot"に一部書き加えてデータを出力するようにする。 データ出力のための追加箇所
https://w.atwiki.jp/rffbl22/pages/136.html
TRMM orbitデータのGrADSによる図化 TRMMのorbitデータ(ex.2A25)は、等緯度経度グリッドではなく、軌道上でswathした範囲のデータなのでGMTのコマンドを使って等緯度経度グリッドに内挿する。 このやり方が、よいとは言えないかもしれないが楽なので用いる。 HDF内の変数名の確認 ファイル内に格納されている変数は、GES DISCに記載されているが、正式な変数名はhdpコマンドで確認する必要がある。 hdp dumpsds -h 入力HDFファイル | less これでファイル内のヘッダー情報のみが表示されるので変数を探していく。変数名は Variable Name = と書かれている行にあるので /Var などとして変数名を探していけばよい。 2次元(lat,lon)データの作成 2次元データとは、nearSurfRainやnearSurfZなどのことを指している。最終的に、2次元配列の4バイト実数の単純なバイナリを作成する。 以下の例では、bashスクリプトのなかでhdpコマンドとpasteコマンドとGMTのnearneighborコマンドを使っている。 入力データを"2A25.100609.71583.6.HDF"、出力する変数は"nearsurfZ"である TRMM2A25において変数nearSurfZを出力するスクリプト例 #!/bin/bash #2-D data intepolation #geo.txt geolocation latitude and longitude #ref.txt reflectivity INPUT_FILE="2A25.100609.71583.6.HDF" WLON="-20" ELON="20" SLAT="-20" NLAT="20" VAR="nearSurfZ" hdp dumpsds -n geolocation -d $INPUT_FILE | sed /^$/d geo.txt hdp dumpsds -n $VAR -d $INPUT_FILE | tr \n | sed /^$/d surfvar.txt paste geo.txt surfvar.txt geo_surfvar.txt nearneighbor - i geo_surfvar.txt -R$WLON/$ELON/$SLAT/$NLAT -I0.05 -S0.25 -fg -Ggeo_surfvar.grd 3次元(lat,lon,height)データの作成 3次元データとは、correctZFactorなどを指している。これをGrADSで読める形式に変換するには2次元に比べて相当に手間も計算時間もかかる。 具体的には、水平断面データを全高度について作成し結合することで3次元配列のデータを作成している。が、回りくどいやり方をしているのでおすすめはしません。
https://w.atwiki.jp/rffbl22/pages/105.html
TRMM よく使うTRMMデータ(当然全部の要素ではない) HDFなのでライブラリを使って、Fortranなどで読む方法もあるが、hdpコマンドを使って出力すると簡単。 軌道データ 2A25 (PRの降水強度とプロファイル) 要素名 レコード長(byte) データの次元数 スケール 単位 備考 geolocation 4 49*4289*2 - latitude and longitude (degree) 緯度、経度の順番でデータが入っている rain 2 49*4249*80 100 rain rate 0-300mm/h undef=-8888 TRMMのorbitデータの図化 1. NCLを使う方法 nclのサンプルスクリプト(HDF-EOS Tools and Information Centerで)が公開されているので、それを修正して使う。 水平面図を描くだけならこれで可能。ただし、1つのorbitを表示するだけでも、非常に時間がかかってしまう。 2.hdpで出力したデータを自前で内挿する方法 hdpでgeolocationと見たい変数(reflectivityやrainなど)を出力し、GMTで内挿する。 GMTで内挿する必要はないが、簡単にできるのでこの方法を使う。 詳しいやり方は、TRMM orbitデータのGrADSによる図化 グリッドデータ 3B42と3B43プロダクトはNetCDF形式でダウンロードできる プロダクト名 要素 単位 空間解像度 格子数 時間解像度 備考 3B42 日降水量 mm 0.25×0.25° 1440×440 3hとdaily TRMMとその他の衛星データをマージ 3B43 月降水量 mm 0.25×0.25° 1440×440 monthly TRMMとその他の衛星データをマージ ウェブ上でのTRMMデータの解析ツールとしてTOVASがNASA Goddard Earth Sciences, Data Information Services Centerから提供されている。 TRMM Online Visualization and Analysis System (TOVAS)
https://w.atwiki.jp/fmemo/pages/45.html
H5F_OPEN H5D_OPEN H5D_READ H5F_OPEN file_id=H5F_OPEN(file_name) file_nameのIDを収得し、その番号をfile_idに返す。 H5D_OPEN data_set_id=H5D_OPEN(file_id, /Data/hoge ) IDがfile_idのファイルのデータセット/Data/hogeのIDを収得し、その番号をdata_set_idに返す。 H5D_READ array=H5D_READ(data_set_id) IDがdata_set_idのデータセットをarrayに入れる。