CMADS 数据集用户群 202691699
SWAT2005
Source Code Summary
孟现勇
EMAIL:mxy0001@gmail.com
中国水利水电科学研究院
Summary From Soil and Water Assessment Tool Code
1
CMADS 数据集用户群 202691699
subroutine addh ............................................................................................................. 10
subroutine albedo........................................................................................................... 12
subroutine allocate_parms .............................................................................................. 13
subroutine alph(iwave) ................................................................................................... 40
subroutine analyse(nintval,nopt,iobj,isens, parname) ....................................................... 44
subroutine anfert............................................................................................................ 49
subroutine apex_day ...................................................................................................... 55
subroutine apply ............................................................................................................ 60
subroutine ascrv(x1,x2,x3,x4,x5,x6) ................................................................................. 63
function atri(at1,at2,at3,at4i) .......................................................................................... 64
real function aunif (x1) result (unif)................................................................................. 66
subroutine autocal .......................................................................................................... 67
subroutine autoirr .......................................................................................................... 74
subroutine automet ........................................................................................................ 79
subroutine aveval(itel,ave) .............................................................................................. 81
subroutine bacteria ........................................................................................................ 81
subroutine batchin ......................................................................................................... 88
subroutine batchmain(nopt)............................................................................................ 90
subroutine bayes ............................................................................................................ 93
subroutine buffer ........................................................................................................... 95
subroutine calresidu(iobj, icalpar, calw,itel) ..................................................................... 97
subroutine canopyint ...................................................................................................... 99
subroutine caps(file_name) ............................................................................................102
subroutine changepar(xxo,nopt, iiname, inrhru,iinr, imet)...............................................103
subroutine chkcst(nopt,xi,bl,bu,ibound) ......................................................................... 114
subroutine clgen(j) ........................................................................................................ 115
subroutine clicon ........................................................................................................... 118
subroutine command .....................................................................................................127
subroutine conapply ......................................................................................................131
subroutine countobs(itelt,iobj, icalpar,aveval,varval).......................................................142
subroutine crackflow .....................................................................................................144
subroutine crackvol .......................................................................................................146
subroutine crpmd..........................................................................................................147
subroutine curno(cnn,h) ................................................................................................149
subroutine dailycn .........................................................................................................151
subroutine decay ...........................................................................................................153
subroutine dormant.......................................................................................................156
function dstn1(rn1,rn2) .................................................................................................160
function ee(tk)...............................................................................................................160
subroutine eiusle ...........................................................................................................161
subroutine enrsb(iwave) ................................................................................................163
subroutine estimate_ksat(perc_clay,esti_ksat) .................................................................166
subroutine etact ............................................................................................................167
subroutine etpot ............................................................................................................174
2
CMADS 数据集用户群 202691699
real function expo (xx) ...................................................................................................181
subroutine fert ..............................................................................................................182
subroutine filter ............................................................................................................188
subroutine finalbal ........................................................................................................192
subroutine functn ..........................................................................................................195
real*8 function gasdev(idum) .........................................................................................196
subroutine gcycl ............................................................................................................197
subroutine getallo2 ........................................................................................................199
subroutine getallo..........................................................................................................209
subroutine getpnt2(nopt,iseed, x,bl,bu,bl2,bu2) ...............................................................218
subroutine getpnt(nopt,idistq,iseed,x,bl,bu,std,xi) ...........................................................219
subroutine goc(iobj,obj,omean,ologstd,...........................................................................220
subroutine grass_wway..................................................................................................222
subroutine graze ...........................................................................................................224
subroutine grow ............................................................................................................231
subroutine gw_no3 ........................................................................................................238
subroutine gwmod .........................................................................................................241
subroutine gwnutr .........................................................................................................244
subroutine h2omgt_init..................................................................................................245
subroutine harvestop .....................................................................................................247
subroutine harvgrainop .................................................................................................254
subroutine harvkillop ....................................................................................................259
subroutine header .........................................................................................................264
subroutine headout........................................................................................................268
subroutine hhnoqual .....................................................................................................273
subroutine hhwatqual ....................................................................................................280
subroutine hmeas ..........................................................................................................294
subroutine hruaa(years) ................................................................................................297
subroutine hruallo(hru) .................................................................................................303
subroutine hruday .........................................................................................................312
subroutine hrumon........................................................................................................319
subroutine hrupond.......................................................................................................326
subroutine hruyr ...........................................................................................................331
subroutine hydroinit......................................................................................................337
subroutine impnd_init ...................................................................................................342
subroutine impndaa(years) ............................................................................................348
subroutine impndday ....................................................................................................354
subroutine impndmon ...................................................................................................359
subroutine impndyr.......................................................................................................365
subroutine indexx(n, arrin, indx)....................................................................................370
subroutine irr_rch .........................................................................................................372
subroutine irr_res .........................................................................................................377
subroutine irrigate(jj,volmm).........................................................................................381
subroutine irrsub ..........................................................................................................384
3
CMADS 数据集用户群 202691699
function jdt(numdays,i,m) .............................................................................................388
subroutine killop ...........................................................................................................389
subroutine lakeq ...........................................................................................................392
subroutine latsed ...........................................................................................................397
subroutine lwqdef..........................................................................................................398
主函数 program main...................................................................................................400
module parm ................................................................................................................403
subroutine nfix ..............................................................................................................414
subroutine nitvol ...........................................................................................................416
subroutine nlch .............................................................................................................420
subroutine nminrl .........................................................................................................423
subroutine noqual .........................................................................................................430
subroutine npup ............................................................................................................436
subroutine nrain ...........................................................................................................439
subroutine nup ..............................................................................................................441
subroutine nuts(u1,u2,uu) ..............................................................................................445
subroutine oat(x,m,ip,bbound,dt,iseed)...........................................................................446
subroutine objfunctn(obj,iobj, icalpar, iitel,icd) ..............................................................447
subroutine openwth .......................................................................................................454
subroutine operatn ........................................................................................................457
subroutine orgn(iwave) ..................................................................................................461
subroutine parasol(nopt,iobj,isens).................................................................................464
subroutine parasolcce ....................................................................................................468
subroutine parasolin......................................................................................................472
subroutine parasolopt....................................................................................................476
subroutine parasolunc ...................................................................................................489
subroutine parstt2 .........................................................................................................493
subroutine percmacro....................................................................................................494
subroutine subroutine percmain.....................................................................................496
subroutine percmicro(ly1)..............................................................................................504
subroutine pestlch .........................................................................................................507
subroutine pestw ........................................................................................................... 511
subroutine pesty(iwave) .................................................................................................514
subroutine pgen(j) .........................................................................................................517
subroutine pgenhr(jj) ....................................................................................................519
subroutine pkq(iwave) ...................................................................................................523
subroutine plantop ........................................................................................................525
subroutine pmeas ..........................................................................................................527
subroutine pminrl .........................................................................................................535
subroutine pond(k) ........................................................................................................537
subroutine pothole.........................................................................................................544
subroutine psed(iwave) ..................................................................................................552
function qman(x1,x2,x3,x4) ............................................................................................557
real*8 function ran1(idum) ............................................................................................557
4
CMADS 数据集用户群 202691699
subroutine ranked(itel,hh) .............................................................................................558
subroutine rchaa(years) .................................................................................................559
subroutine rchday .........................................................................................................564
subroutine rchinit..........................................................................................................569
subroutine rchmon(mdays) ............................................................................................572
subroutine rchuse ..........................................................................................................577
subroutine rchyr ...........................................................................................................579
subroutine reachout ......................................................................................................584
subroutine readatmodep ................................................................................................593
subroutine readbsn........................................................................................................595
subroutine readchangepar .............................................................................................608
subroutine readchm ......................................................................................................609
subroutine readcnst .......................................................................................................612
subroutine readfcst........................................................................................................614
subroutine readfert .......................................................................................................616
subroutine readfig .........................................................................................................619
subroutine readfile ........................................................................................................630
subroutine readgw.........................................................................................................645
subroutine readhru .......................................................................................................648
subroutine readinpt .......................................................................................................653
subroutine readlwq .......................................................................................................654
subroutine readmetfiles .................................................................................................658
subroutine readmgt .......................................................................................................661
subroutine readmon ......................................................................................................679
subroutine readops ........................................................................................................682
subroutine readpest .......................................................................................................686
subroutine readplant .....................................................................................................688
subroutine readpnd .......................................................................................................696
subroutine readres.........................................................................................................704
subroutine readrte......................................................................................................... 711
subroutine readsol .........................................................................................................714
subroutine readsub........................................................................................................720
subroutine readswq .......................................................................................................731
subroutine readtill .........................................................................................................736
subroutine readurban ....................................................................................................737
subroutine readwgn .......................................................................................................740
subroutine readwus .......................................................................................................748
subroutine readwwq ......................................................................................................750
subroutine readyr..........................................................................................................754
subroutine reccnst .........................................................................................................756
subroutine recday..........................................................................................................760
subroutine rechour ........................................................................................................764
subroutine recmon ........................................................................................................769
subroutine recyear ........................................................................................................772
5
CMADS 数据集用户群 202691699
function regres(k) ..........................................................................................................776
subroutine rerun ...........................................................................................................778
subroutine rerunfile(nopt,iobj,isens)...............................................................................781
subroutine rerunPS(nopt,iobj,isens) ...............................................................................782
subroutine res ...............................................................................................................785
subroutine resbact .........................................................................................................791
subroutine resinit ..........................................................................................................793
subroutine resnut ..........................................................................................................796
subroutine response(sensw, isens, isenspar, iitel)..............................................................800
subroutine rewind_init ..................................................................................................802
subroutine rhgen(j) .......................................................................................................813
subroutine route ............................................................................................................815
subroutine routres .........................................................................................................819
subroutine rsedaa(years) ...............................................................................................828
subroutine rseday..........................................................................................................829
subroutine rsedmon(mdays)...........................................................................................830
subroutine rsedyr ..........................................................................................................831
subroutine rtbact...........................................................................................................832
subroutine rtday ...........................................................................................................836
subroutine rteinit ..........................................................................................................842
subroutine rthmusk .......................................................................................................847
subroutine rthourly .......................................................................................................853
subroutine rthpest .........................................................................................................859
subroutine rthsed ..........................................................................................................865
subroutine rtmusk .........................................................................................................869
subroutine rtout ............................................................................................................877
subroutine rtover ..........................................................................................................888
subroutine rtpest ...........................................................................................................891
subroutine rtsed ............................................................................................................897
subroutine sample1(isample,k,iseed)...............................................................................901
subroutine sample(ip,m,iseed, bbound, dt).......................................................................902
subroutine sat_excess(j1) ...............................................................................................903
subroutine save .............................................................................................................905
subroutine saveconc ......................................................................................................909
subroutine scein ............................................................................................................916
subroutine scestat..........................................................................................................922
subroutine schedule_ops ................................................................................................924
subroutine sensin(dt,nintval,iseed) .................................................................................927
subroutine sensmain(nopt,iobj,isens) ..............................................................................928
subroutine sim_initday ..................................................................................................930
subroutine sim_inityr ....................................................................................................934
subroutine simulate .......................................................................................................937
subroutine slrgen(j) .......................................................................................................943
subroutine smeas...........................................................................................................944
6
CMADS 数据集用户群 202691699
subroutine snom............................................................................................................946
subroutine soil_chem .....................................................................................................952
subroutine soil_par........................................................................................................957
subroutine soil_phys ......................................................................................................961
subroutine soil_write .....................................................................................................965
subroutine solp..............................................................................................................966
subroutine solt ..............................................................................................................969
subroutine sort1(n,raq)..................................................................................................972
subroutine sort3(n,m,rb,raq,rbf,im,igoc) ........................................................................973
subroutine sorteer2(arr,len) ...........................................................................................975
subroutine sorteer3(ari, arr,len,irank,ira) .......................................................................975
subroutine sorteer4(arr,len,ira) ......................................................................................976
subroutine sorteer5(vtot,itot,len) ....................................................................................977
subroutine sorteer6(arr,ind,len) .....................................................................................977
subroutine sorteer(arr,len) .............................................................................................978
subroutine std1 .............................................................................................................978
subroutine std2 .............................................................................................................983
subroutine std3 .............................................................................................................990
subroutine stdaa............................................................................................................991
subroutine storeinitial.................................................................................................. 1005
subroutine structure .................................................................................................... 1007
subroutine subaa(years)............................................................................................... 1011
subroutine subbasin .................................................................................................... 1013
subroutine subday ....................................................................................................... 1022
subroutine submon ...................................................................................................... 1025
subroutine substor....................................................................................................... 1027
subroutine subwq ........................................................................................................ 1030
subroutine subyr ......................................................................................................... 1034
subroutine sumv.......................................................................................................... 1037
subroutine sunglasrerun(nopt,iobj,isens) ...................................................................... 1051
subroutine sunglasses(nopt,iobj,isens) .......................................................................... 1054
subroutine sunglasunc ................................................................................................. 1057
subroutine surface ....................................................................................................... 1062
subroutine surfst_h2o .................................................................................................. 1064
subroutine surfstor ...................................................................................................... 1066
subroutine surq_daycn ................................................................................................ 1070
subroutine surq_greenampt ......................................................................................... 1073
subroutine swbl(snow,irrg) .......................................................................................... 1077
subroutine sweep......................................................................................................... 1079
subroutine swu ............................................................................................................ 1080
function tair(hr,jj) ....................................................................................................... 1085
subroutine telobjresp(iobj,isens)................................................................................... 1086
subroutine telobs(itelt,iobj, icalpar) .............................................................................. 1087
subroutine telpar(nopt)................................................................................................ 1090
7
CMADS 数据集用户群 202691699
subroutine tgen(j)........................................................................................................ 1091
function theta(r20,thk,tmp) ......................................................................................... 1093
subroutine tillmix(jj,bmix) ........................................................................................... 1093
subroutine tmeas ......................................................................................................... 1100
subroutine tran ........................................................................................................... 1103
subroutine transfer...................................................................................................... 1106
subroutine tstr ............................................................................................................ 1111
subroutine ttcoef(k) ..................................................................................................... 1113
subroutine urban......................................................................................................... 1116
subroutine varinit........................................................................................................ 1121
subroutine vbl ............................................................................................................. 1129
subroutine virtual........................................................................................................ 1130
subroutine volq ........................................................................................................... 1145
subroutine vrval(itel,ave,varv) ..................................................................................... 1146
subroutine washp ........................................................................................................ 1147
subroutine watbal........................................................................................................ 1148
subroutine watqual2 .................................................................................................... 1151
subroutine watqual...................................................................................................... 1166
subroutine wattable ..................................................................................................... 1179
subroutine watuse ....................................................................................................... 1181
subroutine weatgn(j) ................................................................................................... 1182
subroutine wetlan........................................................................................................ 1185
subroutine wmeas........................................................................................................ 1193
subroutine wndgen(j) .................................................................................................. 1195
subroutine writea ........................................................................................................ 1196
subroutine writeaa ...................................................................................................... 1204
subroutine writed ........................................................................................................ 1216
subroutine writem ....................................................................................................... 1220
subroutine writeswatfile .............................................................................................. 1229
subroutine writeswatfilemain ....................................................................................... 1231
real*8 function xisquare(iprob,nopt) ............................................................................ 1233
subroutine xiunc ......................................................................................................... 1249
subroutine xmon ......................................................................................................... 1251
subroutine ysed(iwave) ................................................................................................ 1252
subroutine zero0.......................................................................................................... 1255
subroutine zero1.......................................................................................................... 1262
subroutine zero2.......................................................................................................... 1269
subroutine zeroini ....................................................................................................... 1275
8