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