Class wa_integral_module
In: src/wa_integral_module.f90

Methods

Included Modules

w_base_module

Public Instance methods

a_AvrLonLat_xya(size(xya_data,3)) :real(8)
: 格子点(*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 平均計算 ——————

[Source]

    function a_AvrLonLat_xya(xya_data)        ! 緯度経度平均
      real(8), intent(in)   :: xya_data(:,:,:)         ! 格子点(im,jm,*)
      real(8) :: a_AvrLonLat_xya(size(xya_data,3))       ! 格子点(*)

      a_AvrLonLat_xya = a_AvrLon_xa(xa_AvrLat_xya(xya_data))
    end function a_AvrLonLat_xya
a_IntLonLat_xya(size(xya_data,3)) :real(8)
: 格子点(*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 積分計算 ——————

[Source]

    function a_IntLonLat_xya(xya_data)        ! 緯度経度積分
      real(8), intent(in)   :: xya_data(:,:,:)           ! 格子点(im,jm,*)
      real(8) :: a_IntLonLat_xya(size(xya_data,3))       ! 格子点(*)

      a_IntLonLat_xya = a_IntLon_xa(xa_IntLat_xya(xya_data))
    end function a_IntLonLat_xya
xa_AvrLat_xya(im,size(xya_data,3)) :real(8)
: 格子点(im,*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 平均計算 ——————

[Source]



    function xa_AvrLat_xya(xya_data)          ! 緯度平均
      real(8), intent(in) :: xya_data(:,:,:)           ! 格子点(im,jm,*)
      real(8)             :: xa_AvrLat_xya(im,size(xya_data,3)) ! 格子点(im,*)

      xa_AvrLat_xya = xa_IntLat_xya(xya_data)/sum(y_Lat_Weight)

    end function xa_AvrLat_xya
xa_IntLat_xya(im,size(xya_data,3)) :real(8)
: 格子点(im,*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 積分計算 ——————

[Source]



    function xa_IntLat_xya(xya_data)          ! 緯度積分
      real(8), intent(in) :: xya_data(:,:,:)              ! 格子点(im,jm,*)
      real(8)             :: xa_IntLat_xya(im,size(xya_data,3)) ! 格子点(im,*)
      Integer :: j

      xa_IntLat_xya = 0
      do j=1,jm
         xa_IntLat_xya = xa_IntLat_xya + xya_data(:,j,:) * y_Lat_Weight(j)
      enddo

    end function xa_IntLat_xya
ya_AvrLon_xya(jm,size(xya_data,3)) :real(8)
: 格子点(jm,*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 平均計算 ——————

[Source]



    function ya_AvrLon_xya(xya_data)          ! 経度平均
      real(8), intent(in) :: xya_data(:,:,:)               ! 格子点(im,jm,*)
      real(8)             :: ya_AvrLon_xya(jm,size(xya_data,3)) ! 格子点(jm,*)

      ya_AvrLon_xya = ya_IntLon_xya(xya_data)/sum(x_Lon_Weight)

    end function ya_AvrLon_xya
ya_IntLon_xya(jm,size(xya_data,3)) :real(8)
: 格子点(jm,*)
xya_data(:,:,:) :real(8), intent(in)
: 格子点(im,jm,*)

————— 積分計算 ——————

[Source]



    function ya_IntLon_xya(xya_data)          ! 経度積分
      real(8), intent(in) :: xya_data(:,:,:)               ! 格子点(im,jm,*)
      real(8)             :: ya_IntLon_xya(jm,size(xya_data,3)) ! 格子点(jm,*)
      integer :: i

      ya_IntLon_xya = 0
      do i=1,im
         ya_IntLon_xya = ya_IntLon_xya + xya_data(i,:,:) * x_Lon_Weight(i)
      enddo

    end function ya_IntLon_xya

[Validate]