@@ -66,11 +66,10 @@ subroutine ero_cfactor
6666 end if
6767 else
6868 ! ! new method using residue and biomass cover
69- rsd_sumfac = 0 .
7069 grnd_sumfac = 0 .
70+ rsd_sumfac = pldb(idp)% rsd_pctcov * (soil1(j)% rsd(1 )% m + 1 .) / 1000 .
7171 do ipl = 1 , pcom(j)% npl
7272 idp = pcom(j)% plcur(ipl)% idplt
73- rsd_sumfac = rsd_sumfac + pldb(idp)% rsd_pctcov * (soil1(j)% rsd(1 )% m + 1 .) / 1000 .
7473 if (pl_mass(j)% ab_gr(ipl)% m > 1.e-6 ) then
7574 ab_gr_t = pl_mass(j)% ab_gr(ipl)% m / 1000 .
7675 grnd_sumfac = grnd_sumfac + 100 . * pldb(idp)% usle_c / ab_gr_t
@@ -97,25 +96,30 @@ subroutine ero_cfactor
9796 grnd_covfact = max (0 ., grnd_covfact)
9897
9998 ! ! ***jga
100- grnd_covfact = 1.34 + 0.225 * log (pldb(idp)% usle_c)
101- grnd_covfact = amin1 (1 ., grnd_covfact)
102- grnd_covfact = max (0 ., grnd_covfact)
99+ ! grnd_covfact = 1.34 + 0.225 * log(pldb(idp)%usle_c)
100+ ! grnd_covfact = amin1 (1., grnd_covfact)
101+ ! grnd_covfact = max (0., grnd_covfact)
103102 c = Max (1.e-10 , rsd_covfact * can_covfact * grnd_covfact)
104103
105104 ! ! newer method using residue and biomass cover
106- ! rsd_sumfac = 0.
107- ! grnd_sumfac = 0.
108- ! can_covfact = 10000.
109- ! do ipl = 1, pcom(j)%npl
110- ! ab_gr_t = pl_mass(j)%ab_gr(ipl)%m / 1000.
111- ! grnd_sumfac = grnd_sumfac + ab_gr_t
112- ! rsd_sumfac = rsd_sumfac + (soil1(j)%rsd(1)%m +1.) / 1000.
113- ! can_covfact = amin1 (can_covfact, pcom(j)%plg(ipl)%cht)
114- ! end do
105+ rsd_sumfac = (soil1(j)% rsd(1 )% m + 1 .) / 1000 .
106+ grnd_covfact = 0 .
107+ can_covfact = 10000 .
108+ do ipl = 1 , pcom(j)% npl
109+ idp = pcom(j)% plcur(ipl)% idplt
110+ ab_gr_t = pl_mass(j)% ab_gr(ipl)% m / 1000 .
111+ ! grnd_sumfac = grnd_sumfac + ab_gr_t
112+ grnd_covfact = grnd_covfact + pldb(idp)% usle_c * ab_gr_t / (ab_gr_t + exp (1.175 - 1.748 * ab_gr_t))
113+ can_covfact = amin1 (can_covfact, pcom(j)% plg(ipl)% cht)
114+ end do
115115 ! grnd_covfact = grnd_sumfac / (grnd_sumfac + exp(1.175 - 1.748 * grnd_sumfac))
116- ! rsd_covfact = exp(-0.75 * rsd_sumfac)
117- ! bio_covfac = 1. - grnd_covfact * exp(-0.1 * can_covfact)
118- ! c = Max(1.e-10, rsd_covfact * bio_covfac)
116+ rsd_covfact = exp (- 0.75 * rsd_sumfac)
117+
118+ can_frcov = amin1 (1 ., pcom(j)% lai_sum / 3 .)
119+ can_covfact = 1 . - can_frcov * Exp (- .328 * pcom(j)% cht_mx)
120+
121+ bio_covfac = 1 . - grnd_covfact * exp (- 0.1 * can_covfact)
122+ c = Max (1.e-10 , rsd_covfact * grnd_covfact * bio_covfac)
119123
120124 ! ! erosion output variables
121125 ero_output(j)% ero_d% c = c
0 commit comments