2
This commit is contained in:
parent
1613ff0bf3
commit
86977cdc23
@ -1,6 +1,10 @@
|
||||
# ===== 第一阶段:构建阶段 =====
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
|
||||
# 配置 NuGet 使用国内镜像源
|
||||
RUN dotnet nuget add source https://mirrors.cloud.tencent.com/nuget/ \
|
||||
&& dotnet nuget disable source nuget.org
|
||||
|
||||
# 配置 apt-get 使用 apt-cacher-ng 作为代理
|
||||
RUN echo 'Acquire::http::Proxy "http://192.168.1.140:3142";' > /etc/apt/apt.conf.d/01proxy
|
||||
|
||||
|
106
Fortran/1.json
106
Fortran/1.json
@ -1,9 +1,9 @@
|
||||
{
|
||||
"fortranSourceFile": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\dll\\\u9A6C\u65AF\u4EAC\u8DDF\u6A21\u578B\\MSJGMX\\MSJGMX\\MSJGMX - \u526F\u672C.f90",
|
||||
"fortranSourceFile": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\dll\\\u9A6C\u65AF\u4EAC\u6839-\u65B0\u5B89\u6C5F\u6A21\u578B\\ceshi\\Console1\\Console1\\MSJGMX - \u526F\u672C.f90",
|
||||
"fortranFunctionName": "MSJGMX",
|
||||
"projectName": "FortranWebApi",
|
||||
"outputDirectory": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\\u8F93\u51FA\u5E93\\\u9A6C\u65AF\u4EAC\u8DDF\u6A21\u578B",
|
||||
"cmbLanguage": "",
|
||||
"outputDirectory": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\\u8F93\u51FA\u5E93\\\u9A6C\u65AF\u4EAC\u6839\u65B0\u5B89\u6C5F\u6A21\u578B",
|
||||
"cmbLanguage": "Fortran",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "FILELEN",
|
||||
@ -30,9 +30,105 @@
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "PAR",
|
||||
"name": "WUM",
|
||||
"dataType": "Float",
|
||||
"arrayType": "OneDimensional",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "W1",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "WDM",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "KC",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "C",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "B",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "IMP1",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "SM",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "EX",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "KG",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "KSS",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "KKG",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
},
|
||||
{
|
||||
"name": "KKSS",
|
||||
"dataType": "Float",
|
||||
"arrayType": "Scalar",
|
||||
"direction": "Input",
|
||||
"description": "",
|
||||
"isSelected": true
|
||||
|
BIN
Fortran/1.xlsx
BIN
Fortran/1.xlsx
Binary file not shown.
@ -1,28 +1,39 @@
|
||||
subroutine MSJGMX( FILELEN ,&
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
PAR ,& ! //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT )& ! 出流流量 浮点数 //输出
|
||||
BIND(C, NAME="MSJGMX")
|
||||
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
WUM ,& ! 上层张力水容量wum //输入变量
|
||||
W1 ,& ! 下层张力水容量wl //输入变量
|
||||
WDM ,& ! 深层张力水容量wdm //输入变量
|
||||
KC ,& !蒸发能力折算系数KC //输入变量
|
||||
C ,& !深层蒸发系数c //输入变量
|
||||
B ,& !张力水蓄水容量系数b //输入变量
|
||||
IMP1 ,& !不透水面积比率imp1 //输入变量
|
||||
SM ,& !自由水蓄水容量sm //输入变量
|
||||
EX ,& !自由水蓄水容量指数ex //输入变量
|
||||
KG ,& !地下水出流系数kg //输入变量
|
||||
KSS ,& !壤中流出流系数kss //输入变量
|
||||
KKG ,& !地下水出流系数kkg //输入变量
|
||||
KKSS ,& !壤中流出流系数kkss //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT )& ! 出流流量 浮点数 //输出
|
||||
BIND(C, NAME="MSJGMX")
|
||||
! Expose subroutine MSJGMX to users of this DLL
|
||||
|
||||
!DEC$ ATTRIBUTES DLLEXPORT::MSJGMX
|
||||
@ -44,48 +55,74 @@ subroutine MSJGMX( FILELEN ,&
|
||||
|
||||
INTEGER::NODE !
|
||||
INTEGER::M , I !
|
||||
REAL::PAR(13) ! 1.上层张力水容量wum 2.下层张力水容量wl 3.深层张力水容量wdm
|
||||
! 4.蒸发能力折算系数KC.深层蒸发系数c 6.张力水蓄水容量系数b
|
||||
! 7.不透水面积比率imp1 8.自由水蓄水容量sm 9.自由水蓄水容量指数ex
|
||||
!10.地下水出流系数kg 11.壤中流出流系数kss 12.地下水出流系数kkg
|
||||
!13.壤中流出流系数kkss
|
||||
REAL::PAR(13) ! 1.上层张力水容量wum 2.下层张力水容量wl 3.深层张力水容量wdm
|
||||
! 4.蒸发能力折算系数KC.深层蒸发系数c 6.张力水蓄水容量系数b
|
||||
! 7.不透水面积比率imp1 8.自由水蓄水容量sm 9.自由水蓄水容量指数ex
|
||||
!10.地下水出流系数kg 11.壤中流出流系数kss 12.地下水出流系数kkg
|
||||
!13.壤中流出流系数kkss
|
||||
|
||||
INTEGER::NAREA ! 单元面积个数
|
||||
REAL::AREA(NAREA) ! 单元面积
|
||||
REAL::UH(M) ! 无因次单位线
|
||||
REAL::DT ! 时段步长
|
||||
REAL::P(NAREA,NODE) ! 降雨系列
|
||||
REAL::EP(NAREA,NODE) ! 蒸发皿蒸发能力
|
||||
REAL::W(3) ! 土壤含水层 1.上层 2.下层 3.深层
|
||||
REAL::FR ! 初始产流面积
|
||||
REAL::S ! 初始自由水深
|
||||
REAL::QRSS0 ! 初始壤中流流量
|
||||
REAL::QRG0 ! 初始地下水径流量
|
||||
REAL::WUM !上层张力水容量wum
|
||||
REAL::W1 !下层张力水容量wl
|
||||
REAL::WDM ! 深层张力水容量wdm
|
||||
REAL::KC ! 蒸发能力折算系数
|
||||
REAL::C ! 深层蒸发系数
|
||||
REAL::B ! 张力水蓄水容量系数
|
||||
REAL::IMP1 ! 不透水面积比率
|
||||
REAL::SM ! 自由水蓄水容量
|
||||
REAL::EX ! 自由水蓄水容量指数
|
||||
REAL::KG ! 地下水出流系数
|
||||
REAL::KSS ! 壤中流出流系数
|
||||
REAL::KKG ! 地下水出流系数
|
||||
REAL::KKSS ! 壤中流出流系数
|
||||
|
||||
INTEGER::NAREA ! 单元面积个数
|
||||
REAL::AREA(NAREA) ! 单元面积
|
||||
REAL::UH(M) ! 无因次单位线
|
||||
REAL::DT ! 时段步长
|
||||
REAL::P(NAREA,NODE) ! 降雨系列
|
||||
REAL::EP(NAREA,NODE) ! 蒸发皿蒸发能力
|
||||
REAL::W(3) ! 土壤含水层 1.上层 2.下层 3.深层
|
||||
REAL::FR ! 初始产流面积
|
||||
REAL::S ! 初始自由水深
|
||||
REAL::QRSS0 ! 初始壤中流流量
|
||||
REAL::QRG0 ! 初始地下水径流量
|
||||
REAL::Q20(NAREA)
|
||||
REAL::QOUT(NAREA)
|
||||
REAL::QOUT(NODE)
|
||||
|
||||
CALL XAJ( FILELEN ,&
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
PAR ,& ! //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT ) ! 出流流量 浮点数 //输出
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
WUM ,& ! 上层张力水容量wum //输入变量
|
||||
W1 ,& ! 下层张力水容量wl //输入变量
|
||||
WDM ,& ! 深层张力水容量wdm //输入变量
|
||||
KC ,& !蒸发能力折算系数KC //输入变量
|
||||
C ,& !深层蒸发系数c //输入变量
|
||||
B ,& !张力水蓄水容量系数b //输入变量
|
||||
IMP1 ,& !不透水面积比率imp1 //输入变量
|
||||
SM ,& !自由水蓄水容量sm //输入变量
|
||||
EX ,& !自由水蓄水容量指数ex //输入变量
|
||||
KG ,& !地下水出流系数kg //输入变量
|
||||
KSS ,& !壤中流出流系数kss //输入变量
|
||||
KKG ,& !地下水出流系数kkg //输入变量
|
||||
KKSS ,& !壤中流出流系数kkss //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT ) ! 出流流量 浮点数 //输出
|
||||
|
||||
end subroutine MSJGMX
|
||||
|
@ -11,17 +11,17 @@
|
||||
! PURPOSE: Entry point for the console application.
|
||||
!
|
||||
!****************************************************************************
|
||||
SUBROUTINE Mc_method( NFILENAME ,& ! 文件名字长度 整数 //输入参数
|
||||
N ,& ! 入流流量数据点个数 整数 //输入参数
|
||||
Q1 ,& ! 入流流量 浮点数 //输入参数
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
Q2 ) ! 出流流量 浮点数 //输出
|
||||
SUBROUTINE Mc_method( NFILENAME ,& ! 文件名字长度 整数 //输入参数
|
||||
N ,& ! 入流流量数据点个数 整数 //输入参数
|
||||
Q1 ,& ! 入流流量 浮点数 //输入参数
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
Q2 ) ! 出流流量 浮点数 //输出
|
||||
|
||||
INTEGER::NFILENAME
|
||||
CHARACTER(LEN = NFILENAME)::FILENAME
|
||||
|
@ -1,26 +1,38 @@
|
||||
SUBROUTINE XAJ(FILELEN ,&
|
||||
SUBROUTINE XAJ( FILELEN ,&
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
PAR ,& ! //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT ) ! 出流流量 浮点数 //输出
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
WUM ,& ! 上层张力水容量wum //输入变量
|
||||
W1 ,& ! 下层张力水容量wl //输入变量
|
||||
WDM ,& ! 深层张力水容量wdm //输入变量
|
||||
KC ,& !蒸发能力折算系数KC //输入变量
|
||||
C ,& !深层蒸发系数c //输入变量
|
||||
B ,& !张力水蓄水容量系数b //输入变量
|
||||
IMP1 ,& !不透水面积比率imp1 //输入变量
|
||||
SM ,& !自由水蓄水容量sm //输入变量
|
||||
EX ,& !自由水蓄水容量指数ex //输入变量
|
||||
KG ,& !地下水出流系数kg //输入变量
|
||||
KSS ,& !壤中流出流系数kss //输入变量
|
||||
KKG ,& !地下水出流系数kkg //输入变量
|
||||
KKSS ,& !壤中流出流系数kkss //输入变量
|
||||
NAREA ,& ! 单元面积个数 //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
P ,& ! 降雨系列 //输入变量
|
||||
EP ,& ! 蒸发皿蒸发能力 //输入变量
|
||||
W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量
|
||||
FR ,& ! 初始产流面积 //输入变量
|
||||
S ,& ! 初始自由水深 //输入变量
|
||||
QRSS0 ,& ! 初始壤中流流量 //输入变量
|
||||
QRG0 ,& ! 初始地下水径流量 //输入变量
|
||||
Q20 ,& ! 出流流量初始值 浮点数 //输入
|
||||
X ,& ! 流量比重因子 浮点数 //输入参数
|
||||
K ,& ! 流量模数 浮点数 //输入参数
|
||||
DETAT ,& ! 时间步长 (小时) 浮点数 //输入参数
|
||||
C0 ,& ! 系数 浮点数 //输出参数
|
||||
C1 ,& ! 浮点数 //输出参数
|
||||
C2 ,& ! 浮点数 //输出参数
|
||||
QOUT ) ! 出流流量 浮点数 //输出
|
||||
|
||||
IMPLICIT NONE
|
||||
|
||||
@ -42,6 +54,21 @@ SUBROUTINE XAJ(FILELEN ,&
|
||||
! 7.不透水面积比率imp1 8.自由水蓄水容量sm 9.自由水蓄水容量指数ex
|
||||
!10.地下水出流系数kg 11.壤中流出流系数kss 12.地下水出流系数kkg
|
||||
!13.壤中流出流系数kkss
|
||||
|
||||
REAL::WUM !上层张力水容量wum
|
||||
REAL::W1 !下层张力水容量wl
|
||||
REAL::WDM ! 深层张力水容量wdm
|
||||
REAL::KC ! 蒸发能力折算系数
|
||||
REAL::C ! 深层蒸发系数
|
||||
REAL::B ! 张力水蓄水容量系数
|
||||
REAL::IMP1 ! 不透水面积比率
|
||||
REAL::SM ! 自由水蓄水容量
|
||||
REAL::EX ! 自由水蓄水容量指数
|
||||
REAL::KG ! 地下水出流系数
|
||||
REAL::KSS ! 壤中流出流系数
|
||||
REAL::KKG ! 地下水出流系数
|
||||
REAL::KKSS ! 壤中流出流系数
|
||||
|
||||
integer::NAREA ! 单元面积个数 //输入变量
|
||||
REAL::AREA(NAREA) ! 单元面积
|
||||
REAL::Q1(NAREA,NODE)
|
||||
@ -69,7 +96,19 @@ SUBROUTINE XAJ(FILELEN ,&
|
||||
CALL XAJMX( FILELEN ,&
|
||||
NODE ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
PAR ,& ! //输入变量
|
||||
WUM ,& ! 上层张力水容量wum //输入变量
|
||||
W1 ,& ! 下层张力水容量wl //输入变量
|
||||
WDM ,& ! 深层张力水容量wdm //输入变量
|
||||
KC ,& !蒸发能力折算系数KC //输入变量
|
||||
C ,& !深层蒸发系数c //输入变量
|
||||
B ,& !张力水蓄水容量系数b //输入变量
|
||||
IMP1 ,& !不透水面积比率imp1 //输入变量
|
||||
SM ,& !自由水蓄水容量sm //输入变量
|
||||
EX ,& !自由水蓄水容量指数ex //输入变量
|
||||
KG ,& !地下水出流系数kg //输入变量
|
||||
KSS ,& !壤中流出流系数kss //输入变量
|
||||
KKG ,& !地下水出流系数kkg //输入变量
|
||||
KKSS ,& !壤中流出流系数kkss //输入变量
|
||||
AREA(I) ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
|
@ -1,7 +1,19 @@
|
||||
SUBROUTINE XAJMX( FILELEN ,&
|
||||
N ,& ! 单元出流数组大小 //输入变量
|
||||
M ,& ! 无因次单位数组大小 //输入变量
|
||||
PAR ,& ! //输入变量
|
||||
WUM ,& ! 上层张力水容量wum //输入变量
|
||||
W1 ,& ! 下层张力水容量wl //输入变量
|
||||
WDM ,& ! 深层张力水容量wdm //输入变量
|
||||
KC ,& !蒸发能力折算系数KC //输入变量
|
||||
C ,& !深层蒸发系数c //输入变量
|
||||
B ,& !张力水蓄水容量系数b //输入变量
|
||||
IMP1 ,& !不透水面积比率imp1 //输入变量
|
||||
SM ,& !自由水蓄水容量sm //输入变量
|
||||
EX ,& !自由水蓄水容量指数ex //输入变量
|
||||
KG ,& !地下水出流系数kg //输入变量
|
||||
KSS ,& !壤中流出流系数kss //输入变量
|
||||
KKG ,& !地下水出流系数kkg //输入变量
|
||||
KKSS ,& !壤中流出流系数kkss //输入变量
|
||||
AREA ,& ! 单元面积 //输入变量
|
||||
UH ,& ! 无因次单位线 //输入变量
|
||||
DT ,& ! 时段步长 //输入变量
|
||||
@ -24,6 +36,21 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
! 7.不透水面积比率imp1 8.自由水蓄水容量sm 9.自由水蓄水容量指数ex
|
||||
!10.地下水出流系数kg 11.壤中流出流系数kss 12.地下水出流系数kkg
|
||||
!13.壤中流出流系数kkss
|
||||
|
||||
REAL::WUM !上层张力水容量wum
|
||||
REAL::W1 !下层张力水容量wl
|
||||
REAL::WDM ! 深层张力水容量wdm
|
||||
REAL::KC ! 蒸发能力折算系数
|
||||
REAL::C ! 深层蒸发系数
|
||||
REAL::B ! 张力水蓄水容量系数
|
||||
REAL::IMP1 ! 不透水面积比率
|
||||
REAL::SM ! 自由水蓄水容量
|
||||
REAL::EX ! 自由水蓄水容量指数
|
||||
REAL::KG ! 地下水出流系数
|
||||
REAL::KSS ! 壤中流出流系数
|
||||
REAL::KKG ! 地下水出流系数
|
||||
REAL::KKSS ! 壤中流出流系数
|
||||
|
||||
REAL::AREA ! 单元面积
|
||||
REAL::UH(M) ! 无因次单位线
|
||||
REAL::DT ! 时段步长
|
||||
@ -41,16 +68,6 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
REAL::KGD
|
||||
REAL::E(3)
|
||||
REAL::WM(3)
|
||||
REAL::KC ! 蒸发能力折算系数
|
||||
REAL::C ! 深层蒸发系数
|
||||
REAL::B ! 张力水蓄水容量系数
|
||||
REAL::IMP1 ! 不透水面积比率
|
||||
REAL::SM ! 自由水蓄水容量
|
||||
REAL::EX ! 自由水蓄水容量指数
|
||||
REAL::KG ! 地下水出流系数
|
||||
REAL::KSS ! 壤中流出流系数
|
||||
REAL::KKG ! 地下水出流系数
|
||||
REAL::KKSS ! 壤中流出流系数
|
||||
|
||||
!以下变量是原vb程序中未声明的变量
|
||||
INTEGER::I ! 计数器 //临时变量
|
||||
@ -115,18 +132,8 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
KGD = 0.0
|
||||
do i = 1,3
|
||||
E(I)=0.0
|
||||
WM(I) =0.0
|
||||
END DO
|
||||
KC = 0.0
|
||||
C = 0.0
|
||||
B = 0.0
|
||||
IMP1 = 0.0
|
||||
SM = 0.0
|
||||
EX = 0.0
|
||||
KG = 0.0
|
||||
KSS = 0.0
|
||||
KKG = 0.0
|
||||
KKSS = 0.0
|
||||
|
||||
U = 0.0
|
||||
CI = 0.0
|
||||
CG = 0.0
|
||||
@ -161,23 +168,6 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
! 赋值
|
||||
ICHECK = 1
|
||||
|
||||
DO I = 1, 3
|
||||
|
||||
WM(I) = PAR(I)
|
||||
|
||||
END DO
|
||||
|
||||
KC = PAR(4)
|
||||
C = PAR(5)
|
||||
B = PAR(6)
|
||||
IMP1 = PAR(7)
|
||||
SM = PAR(8)
|
||||
EX = PAR(9)
|
||||
KG = PAR(10)
|
||||
KSS = PAR(11)
|
||||
KKG = PAR(12)
|
||||
KKSS = PAR(13)
|
||||
|
||||
DO I = 1, N
|
||||
|
||||
QR(I) = 0.0
|
||||
@ -210,7 +200,7 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
END IF
|
||||
|
||||
EP(I) = EP(I) * KC
|
||||
WM0 = WM(1) + WM(2) + WM(3)
|
||||
WM0 = WUM + W1 + WDM
|
||||
W0 = W(1) + W(2) + W(3)
|
||||
PE = P(I) - EP(I)
|
||||
|
||||
@ -256,7 +246,7 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
ELSE
|
||||
|
||||
E(1) = W(1) + P(I)
|
||||
E(2) = (EP(I) - E(1)) * W(2) / WM(2)
|
||||
E(2) = (EP(I) - E(1)) * W(2) / W1
|
||||
|
||||
IF (W(2) .LE.( C * WM(2))) THEN
|
||||
|
||||
@ -282,15 +272,15 @@ SUBROUTINE XAJMX( FILELEN ,&
|
||||
W(2) = W(2) - E(2)
|
||||
W(3) = W(3) - E(3)
|
||||
|
||||
IF (W(1) .GT. WM(1)) THEN
|
||||
IF (W(1) .GT. WUM) THEN
|
||||
|
||||
W(2) = W(1) - WM(1) + W(2)
|
||||
W(1) = WM(1)
|
||||
W(2) = W(1) - WUM + W(2)
|
||||
W(1) = WUM
|
||||
|
||||
IF (W(2) .GT. WM(2)) THEN
|
||||
IF (W(2) .GT. W1) THEN
|
||||
|
||||
W(3) = W(3) + W(2) - WM(2)
|
||||
W(2) = WM(2)
|
||||
W(3) = W(3) + W(2) - W1
|
||||
W(2) = W1
|
||||
|
||||
END IF
|
||||
|
||||
|
@ -9,7 +9,19 @@ Content-Type: application/json
|
||||
"text": "{\"FuncName\":\"calculate_main\",\"ClassName\":\"\",\"Par\":[ {"Name":"FILELEN","DataType":"0","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"NODE","DataType":"0","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"M","DataType":"0","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"PAR","DataType":"1","ArrayType":"1","IsOut":"2","Data":[]},
|
||||
{"Name":"WUM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"W1","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"WDM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"KC","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"C","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"B","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"IMP1","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"SM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"EX","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"KG","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"KSS","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"KKG","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"KKSS","DataType":"1","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"NAREA","DataType":"0","ArrayType":"0","IsOut":"2","Data":0},
|
||||
{"Name":"AREA","DataType":"1","ArrayType":"1","IsOut":"2","Data":[]},
|
||||
{"Name":"UH","DataType":"1","ArrayType":"1","IsOut":"2","Data":[]},
|
||||
|
@ -37,7 +37,19 @@ namespace FortranWebApi.Services
|
||||
ref int FILELEN,
|
||||
ref int NODE,
|
||||
ref int M,
|
||||
float[] PAR,
|
||||
ref float WUM,
|
||||
ref float W1,
|
||||
ref float WDM,
|
||||
ref float KC,
|
||||
ref float C,
|
||||
ref float B,
|
||||
ref float IMP1,
|
||||
ref float SM,
|
||||
ref float EX,
|
||||
ref float KG,
|
||||
ref float KSS,
|
||||
ref float KKG,
|
||||
ref float KKSS,
|
||||
ref int NAREA,
|
||||
float[] AREA,
|
||||
float[] UH,
|
||||
@ -85,7 +97,19 @@ namespace FortranWebApi.Services
|
||||
int FILELEN = GetIntParameter(parameters, "FILELEN");
|
||||
int NODE = GetIntParameter(parameters, "NODE");
|
||||
int M = GetIntParameter(parameters, "M");
|
||||
float[] PAR = GetFloatArrayParameter(parameters, "PAR");
|
||||
float WUM = GetFloatParameter(parameters, "WUM");
|
||||
float W1 = GetFloatParameter(parameters, "W1");
|
||||
float WDM = GetFloatParameter(parameters, "WDM");
|
||||
float KC = GetFloatParameter(parameters, "KC");
|
||||
float C = GetFloatParameter(parameters, "C");
|
||||
float B = GetFloatParameter(parameters, "B");
|
||||
float IMP1 = GetFloatParameter(parameters, "IMP1");
|
||||
float SM = GetFloatParameter(parameters, "SM");
|
||||
float EX = GetFloatParameter(parameters, "EX");
|
||||
float KG = GetFloatParameter(parameters, "KG");
|
||||
float KSS = GetFloatParameter(parameters, "KSS");
|
||||
float KKG = GetFloatParameter(parameters, "KKG");
|
||||
float KKSS = GetFloatParameter(parameters, "KKSS");
|
||||
int NAREA = GetIntParameter(parameters, "NAREA");
|
||||
float[] AREA = GetFloatArrayParameter(parameters, "AREA");
|
||||
float[] UH = GetFloatArrayParameter(parameters, "UH");
|
||||
@ -115,7 +139,19 @@ namespace FortranWebApi.Services
|
||||
ref FILELEN,
|
||||
ref NODE,
|
||||
ref M,
|
||||
PAR,
|
||||
ref WUM,
|
||||
ref W1,
|
||||
ref WDM,
|
||||
ref KC,
|
||||
ref C,
|
||||
ref B,
|
||||
ref IMP1,
|
||||
ref SM,
|
||||
ref EX,
|
||||
ref KG,
|
||||
ref KSS,
|
||||
ref KKG,
|
||||
ref KKSS,
|
||||
ref NAREA,
|
||||
AREA,
|
||||
UH,
|
||||
|
Loading…
Reference in New Issue
Block a user