From 29d624d6e497a70893a777ff0bde9da5fe5d50a8 Mon Sep 17 00:00:00 2001 From: zzx <784670282@qq.com> Date: Thu, 12 Jun 2025 15:12:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Fortran/MSJGMX.f90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Fortran/MSJGMX.f90 | 196 ++++++++++++++++++++++----------------------- 1 file changed, 97 insertions(+), 99 deletions(-) diff --git a/Fortran/MSJGMX.f90 b/Fortran/MSJGMX.f90 index e4e11f2..e3df85e 100644 --- a/Fortran/MSJGMX.f90 +++ b/Fortran/MSJGMX.f90 @@ -1,38 +1,38 @@ subroutine MSJGMX( FILELEN ,& - 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 )& ! 出流流量 浮点数 //输出 + NODE ,& ! 鍗曞厓鍑烘祦鏁扮粍澶у皬 //杈撳叆鍙橀噺 + M ,& ! 鏃犲洜娆″崟浣嶆暟缁勫ぇ灏 //杈撳叆鍙橀噺 + WUM ,& ! 涓婂眰寮犲姏姘村閲弚um //杈撳叆鍙橀噺 + W1 ,& ! 涓嬪眰寮犲姏姘村閲弚l //杈撳叆鍙橀噺 + WDM ,& ! 娣卞眰寮犲姏姘村閲弚dm //杈撳叆鍙橀噺 + KC ,& !钂稿彂鑳藉姏鎶樼畻绯绘暟KC //杈撳叆鍙橀噺 + C ,& !娣卞眰钂稿彂绯绘暟c //杈撳叆鍙橀噺 + B ,& !寮犲姏姘磋搫姘村閲忕郴鏁癰 //杈撳叆鍙橀噺 + IMP1 ,& !涓嶉忔按闈㈢Н姣旂巼imp1 //杈撳叆鍙橀噺 + SM ,& !鑷敱姘磋搫姘村閲弒m //杈撳叆鍙橀噺 + EX ,& !鑷敱姘磋搫姘村閲忔寚鏁癳x //杈撳叆鍙橀噺 + KG ,& !鍦颁笅姘村嚭娴佺郴鏁発g //杈撳叆鍙橀噺 + KSS ,& !澹や腑娴佸嚭娴佺郴鏁発ss //杈撳叆鍙橀噺 + KKG ,& !鍦颁笅姘村嚭娴佺郴鏁発kg //杈撳叆鍙橀噺 + KKSS ,& !澹や腑娴佸嚭娴佺郴鏁発kss //杈撳叆鍙橀噺 + 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 @@ -48,81 +48,79 @@ subroutine MSJGMX( FILELEN ,& REAL::C1 REAL::C2 REAL::Q2(1000) - INTEGER::NFILENAME - CHARACTER(LEN = 10)::FILENAME INTEGER:: 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.涓婂眰寮犲姏姘村閲弚um 2.涓嬪眰寮犲姏姘村閲弚l 3.娣卞眰寮犲姏姘村閲弚dm + ! 4.钂稿彂鑳藉姏鎶樼畻绯绘暟KC.娣卞眰钂稿彂绯绘暟c 6.寮犲姏姘磋搫姘村閲忕郴鏁癰 + ! 7.涓嶉忔按闈㈢Н姣旂巼imp1 8.鑷敱姘磋搫姘村閲弒m 9.鑷敱姘磋搫姘村閲忔寚鏁癳x + !10.鍦颁笅姘村嚭娴佺郴鏁発g 11.澹や腑娴佸嚭娴佺郴鏁発ss 12.鍦颁笅姘村嚭娴佺郴鏁発kg + !13.澹や腑娴佸嚭娴佺郴鏁発kss - 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::WUM !涓婂眰寮犲姏姘村閲弚um + REAL::W1 !涓嬪眰寮犲姏姘村閲弚l + REAL::WDM ! 娣卞眰寮犲姏姘村閲弚dm + 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 ! 初始地下水径流量 + 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(NODE) CALL XAJ( FILELEN ,& - 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 ) ! 出流流量 浮点数 //输出 + NODE ,& ! 鍗曞厓鍑烘祦鏁扮粍澶у皬 //杈撳叆鍙橀噺 + M ,& ! 鏃犲洜娆″崟浣嶆暟缁勫ぇ灏 //杈撳叆鍙橀噺 + WUM ,& ! 涓婂眰寮犲姏姘村閲弚um //杈撳叆鍙橀噺 + W1 ,& ! 涓嬪眰寮犲姏姘村閲弚l //杈撳叆鍙橀噺 + WDM ,& ! 娣卞眰寮犲姏姘村閲弚dm //杈撳叆鍙橀噺 + KC ,& !钂稿彂鑳藉姏鎶樼畻绯绘暟KC //杈撳叆鍙橀噺 + C ,& !娣卞眰钂稿彂绯绘暟c //杈撳叆鍙橀噺 + B ,& !寮犲姏姘磋搫姘村閲忕郴鏁癰 //杈撳叆鍙橀噺 + IMP1 ,& !涓嶉忔按闈㈢Н姣旂巼imp1 //杈撳叆鍙橀噺 + SM ,& !鑷敱姘磋搫姘村閲弒m //杈撳叆鍙橀噺 + EX ,& !鑷敱姘磋搫姘村閲忔寚鏁癳x //杈撳叆鍙橀噺 + KG ,& !鍦颁笅姘村嚭娴佺郴鏁発g //杈撳叆鍙橀噺 + KSS ,& !澹や腑娴佸嚭娴佺郴鏁発ss //杈撳叆鍙橀噺 + KKG ,& !鍦颁笅姘村嚭娴佺郴鏁発kg //杈撳叆鍙橀噺 + KKSS ,& !澹や腑娴佸嚭娴佺郴鏁発kss //杈撳叆鍙橀噺 + 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