nff.sh (New Fortran File)

nff.sh (ダウンロード)

Fortranのソースファイルの雛形を自動作成する。

例:こんな感じ

subroutine exsub()
! Description:
!
! Author: am
!
! Host: aofd30
! Directory: /work2/am/12.Work11/21.Climatology/35.Test_Flux/src
!
! Revision history:
!  This file is created by /usr/local/mybin/nff.sh at 16:34 on 07-20-2011.
!  use
!  implicit none
!  write(*,'(a)')'Subroutine: exsub'
!  write(*,*)''
!  write(*,'(a)')'Done subroutine exsub.'
!  write(*,*)
end subroutine exsub

設定

自分の好きなディレクトリに、nff.sh, makefile, print_header.f90, print_ioinfo.f90を入れる。ここではfooというユーザーが、自分のホームディレクトリ以下の、/home/foo/mybinというディレクトリに入れるとする。

ディレクトリの作成

/home/foo/mybinがない場合、まずこのディレクトリを作成する。

$ mkdir -p /home/foo/mybin

パスを通す

/home/foo/.bashrc

の最後の行に以下の行を加える。

export PATH=${PATH}:/home/foo/mybin:.

ファイルのコピー

nff.sh と makefileをコピーする。

$ cp nff.sh /home/foo/mybin

$ cp makefile /home/foo/mybin

実行許可を与える。

$ chmod u+x /home/foo/mybin/nff.sh

使用法

main.f90という名前のメインルーチンのソースファイルを作成

$ nff.sh main

Create a new file, main.f90. Type: program

Done shell script nff.sh.

$ ls

main.f90

$ rm *

sub.f90という名前のサブルーチンのソースファイルを作成

$ nff.sh -t s sub

Create a new file, sub.f90. Type: subroutine

Done shell script nff.sh.

$ ls

sub.f90

$ rm *

makefileの雛形ファイルをカレントディレクトリにコピーする

$ nff.sh -m

Copy a templete of makefile

-rw-r--r-- 1 am users 3192 Dec 4 08:38 ./makefile

Done shell script nff.sh.

$ ls

makefile

$ rm *

ヘッダー行出力用サブルーチン print_header.f90

入出力ファイル情報出力用サブルーチンprint_ioinfo.f90

のファイルをコピーする

$ nff.sh -h

Copy print_header.f90

-rw-r--r-- 1 am users 3598 Dec 4 08:38 ./print_header.f90

Copy print_ioinfo.f90

-rw-r--r-- 1 am users 1895 Dec 4 08:38 print_ioinfo.f90

Done shell script nff.sh.

$ ls

print_header.f90 print_ioinfo.f90

$ rm *

全部一度に行う

$ nff.sh -m -h -t s sub

Create a new file, sub.f90. Type: subroutine

Copy a templete of makefile

-rw-r--r-- 1 am users 3192 Dec 4 08:38 ./makefile

Copy print_header.f90

-rw-r--r-- 1 am users 3598 Dec 4 08:38 ./print_header.f90

Copy print_ioinfo.f90

-rw-r--r-- 1 am users 1895 Dec 4 08:38 print_ioinfo.f90

Done shell script nff.sh.

$ nff.sh -t m foo

foo.f90という名前のモジュールのソースファイルを作成