Fortranにおいてsin, cos等の三角関数は引数をラジアン単位で与えなければならないことを毎回忘れてしまう・・・
ちょっと考えてみれば当たり前のことなんですが。。。
例えば以下のようなサンプルプログラムを考えましょう。
==========
program test_theta
real(8) :: theta, test_sin
theta = asin(1d0/2d0)
test_sin = sin(theta)
print *, "theta = asin(1/2) = ", theta
print *, "test_sin = sin(theta) = ", test_sin
end program test_theta
==========
これを実行すると出力として
theta = asin(1/2) = 0.52359877559829893
test_sin = sin(theta) = 0.50000000000000000
と返されることから、確かにラジアン単位で引数が与えられていることが分かりますね。