! Mc_method.f90 ! ! FUNCTIONS: ! Mc_method - Entry point of console application. ! !**************************************************************************** ! ! PROGRAM: Mc_method ! ! PURPOSE: Entry point for the console application. ! !**************************************************************************** SUBROUTINE Mc_method( NFILENAME ,& ! 文件名字长度 整数 //输入参数 N ,& ! 入流流量数据点个数 整数 //输入参数 Q1 ,& ! 入流流量 浮点数 //输入参数 Q20 ,& ! 出流流量初始值 浮点数 //输入 X ,& ! 流量比重因子 浮点数 //输入参数 K ,& ! 流量模数 浮点数 //输入参数 DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数 C0 ,& ! 系数 浮点数 //输出参数 C1 ,& ! 浮点数 //输出参数 C2 ,& ! 浮点数 //输出参数 Q2 ) ! 出流流量 浮点数 //输出 INTEGER::NFILENAME CHARACTER(LEN = NFILENAME)::FILENAME INTEGER::N REAL::Q1(1000) REAL::Q20 REAL::Q2(1000) REAL::I1 REAL::I2 REAL::C0 REAL::C1 REAL::C2 REAL::X REAL::K REAL::DETAT INTEGER::I C0 = (0.5*DETAT - K*X)/(0.5*DETAT + K - K*X) C1 = (0.5*DETAT + K*X)/(0.5*DETAT + K - K*X) C2 = (-0.5*DETAT +K - K*X)/(0.5*DETAT + K - K*X) Q2(1) =Q20 DO I = 2,N I2 = Q1(I) I1 = Q1(I-1) Q2(I) = C0*I2 + C1*I1 + C2*Q2(I-1) END DO END SUBROUTINE Mc_method