?? departuresum_mod.f90
字號:
!#######################################################
!## ------求序列的累積距平序列(2005-03-31)------
!## ------結果返回,同時可選擇是否直接輸出------
!##
!## ---虛參說明---
!## staStep : 序列起始時刻
!##
!## inSeries : 輸入用于求距平累加的序列
!##
!## outSeries : 輸出距平累加序列
!##
!## filepath : 輸出文件路徑,可選
!##
!## filename : 結果輸出文件名,可選
!##
!#######################################################
module DepartureSum_mod
implicit none
contains
subroutine DepSum ( staStep, inSeries, outSeries, filepath, filename )
integer, intent ( in ) :: staStep
real, dimension ( : ), intent ( in ) :: inSeries
real, dimension ( : ), intent ( out ) :: outSeries
character ( len = * ), intent ( in ), optional :: filepath, filename
integer :: i, n
real :: ave=0
n = size( inSeries )
ave = sum( inSeries(1:n) ) / real( n ) !如果用傳入序列的部分均值做基本均值,則可在此修改
do i = 1, n
outSeries( i ) = inSeries( i ) - ave
end do
do i = 2, n
outSeries( i ) = outSeries( i ) + outSeries( i-1 )
end do
!#####################################################
! OUTPUT
if ( present( filepath ) .and. present( filename ) ) then
open ( 1, file=trim( adjustl( filepath ) ) // filename // ".txt", status="unknown" )
write ( *, * ) " Call DepSum function and output " // filename
write ( *, * ) trim( adjustl( filepath ) ) // filename // ".txt"
write ( *, * )
do i = 1, n
write ( 1, "(i4,2f10.1)" ) staStep+i-1, inSeries( i ), outSeries( i )
end do
close ( 1 )
end if
end subroutine DepSum
end module DepartureSum_mod
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -