From d043f8e9798dad4063fa5c6e6b4af1be90c26aba Mon Sep 17 00:00:00 2001 From: tp <1799149022@qq.com> Date: Mon, 9 Jun 2025 15:40:48 +0800 Subject: [PATCH] 3 --- Fortran/1.json | 103 +++++++++++++++++++++++++- Fortran/1.xlsx | Bin 10504 -> 11454 bytes Fortran/SUB_XAJMX.f90 | 166 ++++++++++++++++++++---------------------- Fortran/XAJMX.f90 | 132 +++++++++++++++++++++------------ 4 files changed, 264 insertions(+), 137 deletions(-) diff --git a/Fortran/1.json b/Fortran/1.json index efd557d..c80519e 100644 --- a/Fortran/1.json +++ b/Fortran/1.json @@ -1,8 +1,9 @@ { - "fortranSourceFile": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\dll\\\u65B0\u5B89\u6C5F\u6A21\u578B\\XAJMX\\XAJMX\\XAJMX.f90", + "fortranSourceFile": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\dll\\\u65B0\u5B89\u6C5F\u6A21\u578B\\XAJMX\\XAJMX\\XAJMX - \u526F\u672C.f90", "fortranFunctionName": "XAJMX", "projectName": "FortranWebApi", "outputDirectory": "D:\\\u5DE5\u4F5C2025\\\u7B97\u6CD5\u5E73\u53F0\\\u8F93\u51FA\u5E93\\\u65B0\u5B89\u6C5F\u6A21\u578B", + "cmbLanguage": "Fortran", "parameters": [ { "name": "N", @@ -21,9 +22,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 diff --git a/Fortran/1.xlsx b/Fortran/1.xlsx index abe21a4e44ac9f8c85b810f0162ae546c06e433b..5b820c217d0823882ae39a23cbd1c5ca4b89c022 100644 GIT binary patch delta 6794 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 diff --git a/Fortran/SUB_XAJMX.f90 b/Fortran/SUB_XAJMX.f90 index 033ccb4..3ad3cdc 100644 --- a/Fortran/SUB_XAJMX.f90 +++ b/Fortran/SUB_XAJMX.f90 @@ -1,60 +1,74 @@ -SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 - M ,& ! 无因次单位数组大小 //输入变量 - PAR ,& ! //输入变量 - AREA ,& ! 单元面积 //输入变量 - UH ,& ! 无因次单位线 //输入变量 - DT ,& ! 时段步长 //输入变量 - P ,& ! 降雨系列 //输入变量 - EP ,& ! 蒸发皿蒸发能力 //输入变量 - W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量 - FR ,& ! 初始产流面积 //输入变量 - S ,& ! 初始自由水深 //输入变量 - QRSS0 ,& ! 初始壤中流流量 //输入变量 - QRG0 ,& ! 初始地下水径流量 //输入变量 - QR ) ! 单元出流 //输出变量 +SUBROUTINE SUB_XAJMX( N ,& ! ԪС // + 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 // + AREA ,& ! Ԫ // + UH ,& ! ελ // + DT ,& ! ʱβ // + P ,& ! ϵ // + EP ,& ! // + W ,& ! ˮ 1.ϲ 2.² 3. // + FR ,& ! ʼ // + S ,& ! ʼˮ // + QRSS0 ,& ! ʼ // + QRG0 ,& ! ʼˮ // + QR ) ! Ԫ // IMPLICIT NONE -!///////////////////////////////////////变量声明////////////////////////////////////////////// +!///////////////////////////////////////////////////////////////////////////////////// INTEGER::N ! INTEGER::M ! - 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::AREA ! 单元面积 - REAL::UH(M) ! 无因次单位线 - REAL::DT ! 时段步长 - REAL::P(N) ! 降雨系列 - REAL::EP(N) ! 蒸发皿蒸发能力 - REAL::QR(N) ! 单元出流 - REAL::W(3) ! 土壤含水层 1.上层 2.下层 3.深层 - REAL::FR ! 初始产流面积 - REAL::S ! 初始自由水深 - REAL::QRSS0 ! 初始壤中流流量 - REAL::QRG0 ! 初始地下水径流量 + 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::AREA ! Ԫ + REAL::UH(M) ! ελ + REAL::DT ! ʱβ + REAL::P(N) ! ϵ + REAL::EP(N) ! + REAL::QR(N) ! Ԫ + REAL::W(3) ! ˮ 1.ϲ 2.² 3. + REAL::FR ! ʼ + REAL::S ! ʼˮ + REAL::QRSS0 ! ʼ + REAL::QRG0 ! ʼˮ INTEGER::D REAL::KSSD 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 ! 壤中流出流系数 + 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 ! ϵ -!以下变量是原vb程序中未声明的变量 - INTEGER::I ! 计数器 //临时变量 - INTEGER::J ! 计数器 //临时变量 - INTEGER::ICHECK ! 判断计算时段长度是否合适的识别码 +!±ԭvbδı + INTEGER::I ! //ʱ + INTEGER::J ! //ʱ + INTEGER::ICHECK ! жϼʱγǷʵʶ INTEGER::NN REAL(KIND=8),PARAMETER::C5=5.000000000 @@ -89,30 +103,13 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 REAL::QRG REAL::QTR -!///////////////////////////////////////变量声明////////////////////////////////////////////// +!///////////////////////////////////////////////////////////////////////////////////// -!///////////////////////////////////////计算区域////////////////////////////////////////////// +!///////////////////////////////////////////////////////////////////////////////////// - ! 赋值 + ! ֵ 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 @@ -126,8 +123,7 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 D = 24 / DT CI = KKSS ** (1.0 / D) CG = KKG ** (1.0 / D) - KSSD = (1.0 - (1.0 - (KG + KSS)) ** (1.0 / D)) & - / (1.0 + KG / KSS) + KSSD = (1.0 - (1.0 - (KG + KSS)) ** (1.0 / D)) / (1.0 + KG / KSS) KGD = KSSD * KG / KSS ELSE @@ -145,11 +141,11 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 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) - ! 赋初值 + ! ֵ R = 0.0 RIMP = 0.0 @@ -163,15 +159,13 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 ELSE - A = WMM * (1.0 - (1.0 - W0 / WM0) **& - (1.0 / (1.0 + B))) + A = WMM * (1.0 - (1.0 - W0 / WM0) ** (1.0 / (1.0 + B))) END IF IF ((PE + A) .LT. WMM) THEN - R = PE - WM0 + W0 + WM0 * ((1.0 - (PE + A) /& - WMM) ** (1.0 + B)) + R = PE - WM0 + W0 + WM0 * ((1.0 - (PE + A) / WMM) ** (1.0 + B)) ELSE @@ -192,9 +186,9 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 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 + IF (W(2) .LE.( C * W1)) THEN E(2) = C * (EP(I) - E(1)) E(3) = 0.0 @@ -218,15 +212,15 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 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 @@ -247,10 +241,9 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 S = X * S / FR SS = S Q = R / FR - NN = INT(Q / C5) + 1 ! 在vb程序中C5是双精度常数5 + NN = INT(Q / C5) + 1 ! vbC5˫ȳ5 Q = Q / NN - KSSDD = (1.0 - (1.0 - (KGD + KSSD)) ** (1.0 / NN))& - / (1.0 + KGD / KSSD) + KSSDD = (1.0 - (1.0 - (KGD + KSSD)) ** (1.0 / NN)) / (1.0 + KGD / KSSD) KGDD = KSSDD * KGD / KSSD RS = 0.0 RSS = 0.0 @@ -295,8 +288,7 @@ SUBROUTINE SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 ELSE IF ((Q + AU) .LT. SMMF) THEN - RSD = (Q - SMF + S + SMF * (1.0 - (Q + AU)& - / SMMF) ** (1.0 + EX)) * FR + RSD = (Q - SMF + S + SMF * (1.0 - (Q + AU) / SMMF) ** (1.0 + EX)) * FR RSSD = (S + Q - RSD / FR) * KSSDD * FR RGD = (S + Q - RSD / FR) * KGDD * FR S = S + Q - (RSD + RSSD + RGD) / FR diff --git a/Fortran/XAJMX.f90 b/Fortran/XAJMX.f90 index 99c429e..e02399e 100644 --- a/Fortran/XAJMX.f90 +++ b/Fortran/XAJMX.f90 @@ -1,41 +1,67 @@ -subroutine XAJMX( N ,& - M ,& - PAR ,& - AREA ,& - UH ,& - DT ,& - P ,& - EP ,& - W ,& - FR ,& - S ,& - QRSS0 ,& - QRG0 ,& - QR )& - BIND(C, NAME="XAJMX") +subroutine XAJMX( N ,& ! ԪС // + 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 // + AREA ,& ! Ԫ // + UH ,& ! ελ // + DT ,& ! ʱβ // + P ,& ! ϵ // + EP ,& ! // + W ,& ! ˮ 1.ϲ 2.² 3. // + FR ,& ! ʼ // + S ,& ! ʼˮ // + QRSS0 ,& ! ʼ // + QRG0 ,& ! ʼˮ // + QR )& ! Ԫ // +BIND(C, NAME="XAJMX") !DEC$ ATTRIBUTES DLLEXPORT::XAJMX IMPLICIT NONE - INTEGER::N ! 单元出流数组大小 - INTEGER::M ! 无因次单位数组大小 - REAL::PAR(13) ! 1.上层张力水容量wum 2.下层张力水容量wl 3.深层张力水容量wdm - ! 4.蒸发能力折算系数kc 5.深层蒸发系数c 6.张力水蓄水容量系数b - ! 7.不透水面积比率imp1 8.自由水蓄水容量sm 9.自由水蓄水容量指数ex - !10.地下水出流系数kg 11.壤中流出流系数kss 12.地下水出流系数kkg - !13.壤中流出流系数kkss - REAL::AREA ! 单元面积 - REAL::UH(M) ! 无因次单位线 - REAL::DT ! 时段步长 - REAL::P(N) ! 降雨系列 - REAL::EP(N) ! 蒸发皿蒸发能力 - REAL::QR(N) ! 单元出流 - REAL::W(3) ! 土壤含水层 1.上层 2.下层 3.深层 - REAL::FR ! 初始产流面积 - REAL::S ! 初始自由水深 - REAL::QRSS0 ! 初始壤中流流量 - REAL::QRG0 ! 初始地下水径流量 + INTEGER::N ! ԪС + INTEGER::M ! ελС + REAL::PAR(13) ! 1.ϲˮwum 2.²ˮwl 3.ˮwdm + ! 4.ϵkc 5.ϵc 6.ˮˮϵb + ! 7.͸ˮimp1 8.ˮˮsm 9.ˮˮָex + !10.ˮϵkg 11.ϵkss 12.ˮϵkkg + !13.ϵkkss + REAL::AREA ! Ԫ + REAL::UH(M) ! ελ + REAL::DT ! ʱβ + REAL::P(N) ! ϵ + REAL::EP(N) ! + REAL::QR(N) ! Ԫ + 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::I INTEGER::YEAR1 @@ -46,19 +72,31 @@ subroutine XAJMX( N ,& INTEGER::ED INTEGER::EH - CALL SUB_XAJMX( N ,& ! 单元出流数组大小 //输入变量 - M ,& ! 无因次单位数组大小 //输入变量 - PAR ,& ! //输入变量 - AREA ,& ! 单元面积 //输入变量 - UH ,& ! 无因次单位线 //输入变量 - DT ,& ! 时段步长 //输入变量 - P ,& ! 降雨系列 //输入变量 - EP ,& ! 蒸发皿蒸发能力 //输入变量 - W ,& ! 土壤含水层 1.上层 2.下层 3.深层 //输入变量 - FR ,& ! 初始产流面积 //输入变量 - S ,& ! 初始自由水深 //输入变量 - QRSS0 ,& ! 初始壤中流流量 //输入变量 - QRG0 ,& ! 初始地下水径流量 //输入变量 - QR ) ! 单元出流 //输出变量 + CALL SUB_XAJMX( N ,& ! ԪС // + 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 // + AREA ,& ! Ԫ // + UH ,& ! ελ // + DT ,& ! ʱβ // + P ,& ! ϵ // + EP ,& ! // + W ,& ! ˮ 1.ϲ 2.² 3. // + FR ,& ! ʼ // + S ,& ! ʼˮ // + QRSS0 ,& ! ʼ // + QRG0 ,& ! ʼˮ // + QR ) ! Ԫ // end subroutine XAJMX