PhD Student at Ide lab.
current interest: rupture dynamics, EQ statistics, evolution of fault systems
markdown: [](.*) .or. <!-- .* -->
css: /* */
json: //
fortran: !
enscript --pretty-print=fortran_pp --color --line-numbers -H1 --columns=2 --landscape hoge.f90 -o hoge.ps ps2pdf hoge.ps
enscript --help-pretty-print | grep Name
A4サイズにする方法は不明
gfortran -fbounds-check -Wall -fbacktrace
ifort -CB -warn all -traceback -check all
where (x>0); x = 1d0; else where; x = -1d0; end where
sort f /\v([^ ]+ +){5}/
6番目の要素について実数として整列。逆順は!を付ける。
!sort -k 6,6
でbash(csh?)のsortを用いることが出来る。このほうが楽。 重複内容を消す場合は-uをつける。逆順は-r。 テキストが綺麗に整形されていない場合:
0.010 10.10
0.020 10.00
-b をつけるとよい。
現状ではifortでifort -coarray ***.f90
とコンパイルすると、mpiexec.hydraが実行プログラム(?)として指定され、それが使えない環境(e.g., EIC@ERI)では利用ができない。 WSLでは実行が途中でkillされてしまう。
並列数の指定は、ifort -coarray-num-images=4
とやるか、 実行時に環境変数export FOR_COARRAY_NUM_IMAGES=4
とするらしい。 本当にMPIになっているのか若干不安
numpy.loadtxt はおそらく2次元配列までしか読み込めない。 多次元配列(時間+x軸+y軸+複数物理量)を読み込みたい場合は、一度2次元で読み込んでからnumpyで配列の形状を変更する必要があると思われるが、 scipy.io.FortranFileを用いれば、fortranの’unformatted’なバイナリ出力をそのまま読み込むことができる。
open(60, file="hoge", format="unformatted", action="write", status="replace", iostat=ios)
write(60) A(1:n,1:n2)
write(60) B(1:n,1:n2)
close(60)
と出力したのを、配列ごとに読み込むことが出来る。 ただし、fortranの’unformatted’出力はコンパイラに依存することもあるようなので注意とのこと(scipyドキュメントより)
たとえば
write(60) A, B
と
write(60) A
write(60) B
が同一かどうかという問題と、バイトオーダーの問題などがあるらしい。参照
numpy.fromfile
はあまりよくなさそう
ここにfortranから.npyファイルを出力するライブラリがあるらしいが、内容は未確認。
fortranのバイナリ出力にはbinaryとunformattedがあるが、前者はfortran独自規格。
OracleのSun Studio Fortran 95のドキュメントには 「
pandoc -f markdown -t html -s index.md
pandoc index.md -s --toc --toc-depth=3 -o index.html
-s
を付けないと<head>
その他が付かない。cssはマークダウンのヘッダーに css: ./style.css
を追加。
table-of-contentの場所はmarkdown内では明示することが出来ず、 デフォルトでは<nav>
要素になるので、cssでいじるしかない。あるいはテンプレートをいじるか。
tocを使う際、見出し要素に{.unlisted}
をつけると目次から除外される。{.unnumbered}
はダメ。
謎
編集内容が消えたとき: メニューの“File”→“Revert notebook from checkpoint”“Reload notebook from disk”を試すとよさそう。 勝手にバックアップを取るのが悪さをしているのか。 ログアウト前に全てのタブを閉じたほうがよい?
HTML出力をしたい場合はFile -> Exportできる。
コード部分を非表示にしたい場合の一つの方法は、出力されたファイルのcssの編集。 div
のクラスinput
をdisplay: none
にすればコード部分が消える。
あるいは、jupyter nbconvert --to HTML --no-input FILENAME.ipynb
とやる。
コード中の場合はmatplotlib
か
from IPython.display import Image
Image('./hoge/hoge.png')
Markdown中は

と書けばよい。
2020/4/23において、WSL2上でgnuplot
などを使おうとすると、 VcXsrvなどのxserverとの通信がWindows Defenderのファイアウォールに 遮断される。
ssh -X
接続先のIPを追加)の2つの方法がある。当然、後者のほうがよい。
:echo g:servername
でneovimが/tmp/nvimsocket
を利用しているか確認。
nvr -l
で別タブで開く。