| Class | spml_mod |
| In: |
shared/spml.f90
|
このモジュールは ((<SPMODEL|URL:http://www.gfd-dennou.org/arch/spmodel>))の spml ライブラリの ((<wa_module|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm>)) のラッパーです. 他のモジュールから SPMODEL のサブルーチンおよび関数を 呼ぶ場合には, 原則的にこのモジュールを介して呼び出します.
This module is wrapper of ((<wa_module|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm>)) of spml library in ((<SPMODEL|URL:http://www.gfd-dennou.org/arch/spmodel>)).
| Subroutine : |
現状では wa_Initial を解除できないので、 何もしない。 wa_Initial による初期化を解除できるのなら、 ((<spml_init>)) による初期化フラグをオフにすべきである。
subroutine spml_end
!== Terminate module
!
!現状では wa_Initial を解除できないので、
!何もしない。
!wa_Initial による初期化を解除できるのなら、
!((<spml_init>)) による初期化フラグをオフにすべきである。
!
use type_mod, only: INTKIND, STRING
use dc_trace, only: DbgMessage, BeginSub, EndSub
implicit none
character(STRING), parameter:: subname = "spml_end"
!----------------------------------------------------------------
! Check Initialization
!----------------------------------------------------------------
call BeginSub(subname)
if ( .not. spml_initialized) then
call EndSub( subname, 'spml_init was not called', c1=trim(subname) )
return
else
! 初期化を解除できないので .true. のまま
! spml_initialized = .false.
spml_initialized = .true.
endif
call EndSub( subname, 'spml_init can not release')
end subroutine spml_end
| Subroutine : |
((<wa_module|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm>)) の初期化関数 ((<wa_Initial|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm#wa_Initial>)) を呼ぶ。
subroutine spml_init
!== Initialize wa_module
!
!((<wa_module|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm>))
!の初期化関数
!((<wa_Initial|URL:http://www.gfd-dennou.org/arch/spmodel/spml/doc/wa_module.htm#wa_Initial>))
!を呼ぶ。
!
use type_mod , only: INTKIND, STRING
use grid_3d_mod , only: im, jm, km, grid_3d_init
use grid_wavenumber_mod, only: nm, grid_wavenumber_init
use dc_trace, only: DbgMessage, BeginSub, EndSub
use dc_error, only: StoreError, USR_ERRNO
use wa_module, only: wa_Initial
implicit none
!-------------------------------------------------------------------
! 変数定義
!-------------------------------------------------------------------
character(STRING), parameter:: subname = "spml_init"
continue
!----------------------------------------------------------------
! Check Initialization
!----------------------------------------------------------------
call BeginSub(subname)
if (spml_initialized) then
call EndSub( subname, '%c is already called', c1=trim(subname) )
return
else
spml_initialized = .true.
endif
!----------------------------------------------------------------
! Version identifier
!----------------------------------------------------------------
call DbgMessage('%c :: %c', c1=trim(version), c2=trim(tagname))
!----------------------------------------------------------------
! grid_3d_mod と grid_wavenumber による初期化
!----------------------------------------------------------------
call grid_3d_init
call grid_wavenumber_init
!----------------------------------------------------------------
! wa_initial による初期化
!----------------------------------------------------------------
call wa_Initial(nm,im,jm,km)
call EndSub( subname, 'wa_initial(nm=<%d>, im=<%d>, jm=<%d>, km=<%d>)', i=(/nm, im, jm, km/) )
end subroutine spml_init