Class spml_mod
In: shared/spml.f90

spml wrapper module

このモジュールは ((<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>)).

Methods

Included Modules

wa_module w_module type_mod grid_3d_mod grid_wavenumber_mod dc_trace dc_error

Public Instance methods

Subroutine :

Terminate module

現状では wa_Initial を解除できないので、 何もしない。 wa_Initial による初期化を解除できるのなら、 ((<spml_init>)) による初期化フラグをオフにすべきである。

[Source]

  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 :

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>)) を呼ぶ。

[Source]

  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

[Validate]