FortranでTRNSYSのコンポーネント作成する際、使いまわしをできる処理はSubroutine化したほうが間違いが少なくなります。
Fortranのsubroutineでは、呼び出す変数をいちいち宣言しないといけないので、よく使う変数や定数があるようであれば、Module文を用意してその中に書くようにするとglobal変数として扱えるようになるので便利です。
このModule文、Fortran90からの機能でFortran77のCommonブロックと同じような機能です。
Module文は変数だけでなく、処理に対しても使えます。
う~ん、例えば、ラジアンと角度の変換式とか。
TRNSYSで使う場合は下のような感じ。
(1)拡張子の変更
proformaの[File]->[export as…]でfortranのソースコードを書き出すと.for形式で書き出されるので、拡張子をひとまず.f90に変更。
これでFortran90の機能が使えるようになります。
このあたりの詳しい話は、TRNSYS.JP 1号のページをどうぞ。
(2)Module文は文頭で作成
module CommonVariablesAndConstants
・・・
end module CommonVariablesAndConstants
(3)Module文の宣言
Use TrnsysConstants
Use TrnsysFunctions
と記載されている箇所があるので、そこに宣言を追加。Module名は(2)と同じ。
Use CommonVariablesAndConstants
TRNSYSのSorceCodeフォルダにあるType62, Type63, Type99などのソースコードが参考になるかもです。
ちなみに…
Type62はCalling Excel,
Type63はThermodynamic properties of substances with NASA CEA2,
Type99はCombined Data Reader and Radiation Processor
のコンポーネントです。
Type63のNASA CEA2って一体・・・。
以上、OVER!!