carb_coefs.cbn
Purpose¶
carb_coefs.cbn holds the coefficients for the Century-style carbon and nitrogen cycling model. The reader populates carbdb, org_allo, org_frac, cb_wtr_coef, man_coef, org_con, and the soil-test layer table (sol_test). Values control passive and slow humus turnover, allocation to CO2 and the passive pool, organic-fraction initialization, soluble-carbon partitioning, tillage effect duration, manure-to-carbon conversion, temperature and water factor approaches, biomechanical mixing coefficients, and surface residue photodegradation.
Source¶
- Reader:
src/carbon_coef_read.f90 - Types:
src/carbon_module.f90,carbon_inputs,organic_allocations,organic_fractions,carbon_water_coef,manure_coef,organic_controls
Activation¶
The reader runs only when bsn_cc%cswat == 1 (see codes.bsn). If the file is absent the flag carbon_coef_file stays .false. and the model falls back to compiled defaults.
Format¶
Keyword-value file. Order does not matter. Each record begins with a keyword. The reader skips one title line at the top of the file, then reads keywords until end of file. Lines starting with # are treated as comments.
Two-value keywords give the surface layer value first, the subsurface (all other layers) value second.
| Keyword | Values | Target field | Units | Description |
|---|---|---|---|---|
cbn_diagnostics |
1 int | cbn_diagnostics |
0 or 1 | extra carbon output files when set to 1 |
hp_rate |
2 real | carbdb(1:2)%hp_rate |
1/day | passive humus transformation rate |
hs_rate |
2 real | carbdb(1:2)%hs_rate |
1/day | slow humus transformation rate |
microb_rate |
2 real | carbdb(1:2)%microb_rate |
1/day | microbial biomass transformation rate |
meta_rate |
2 real | carbdb(1:2)%meta_rate |
1/day | metabolic litter transformation rate |
str_rate |
2 real | carbdb(1:2)%str_rate |
1/day | structural litter transformation rate |
microb_top_rate |
2 real | carbdb(1:2)%microb_top_rate |
1/day | top-layer microbial activity adjustment |
hs_hp |
2 real | carbdb(1:2)%hs_hp |
none | slow-to-passive humus allocation |
a1co2 |
2 real | org_allo(1:2)%a1co2 |
fraction | decomposed metabolic and passive pools to CO2 |
asco2 |
2 real | org_allo(1:2)%asco2 |
fraction | decomposed slow humus to CO2 |
apco2 |
2 real | org_allo(1:2)%apco2 |
fraction | decomposed passive humus to CO2 |
abco2 |
2 real | org_allo(1:2)%abco2 |
fraction | decomposed microbial biomass to CO2 |
org_frac |
4 real | org_frac%frac_seq, frac_hum_microb, frac_hum_slow, frac_hum_passive |
fraction | initial allocation of soil carbon to pools |
prmt_21 |
1 real | cb_wtr_coef%prmt_21 |
none | KOC for carbon loss in water and sediment (500-1500) |
prmt_44 |
1 real | cb_wtr_coef%prmt_44 |
0..1 | ratio of soluble C in runoff to percolate |
till_eff_days |
1 real | till_eff_days |
days | days a tillage event remains effective |
rtof |
1 real | man_coef%rtof |
none | manure organic N and P partitioning between fresh and stable pools |
cbn_consolidation_factors |
2 real | bio_consf, till_consf |
none | biological and tillage moisture consolidation factors |
cbn_factor_approaches |
2 int | org_con%tmpf, org_con%watf |
none | temperature factor (1-3) and water factor (1-2) approaches used in cbn_zhang2.f90 |
tn |
1 real | org_con%tn |
deg C | minimum temperature bound for tmpf2 |
top |
1 real | org_con%top |
deg C | optimum temperature for tmpf2 |
tx |
1 real | org_con%tx |
deg C | maximum temperature bound for tmpf2 |
zz_bmix_coefs |
3 real | zz_bmix_coef_a, b, c |
none | biological mixing coefficients for mgt_tillfactor.f90 tillf option 4 |
zz_emix_coefs |
3 real | zz_emix_coef_a, b, c |
none | tillage mixing coefficients for mgt_tillfactor.f90 tillf option 4 |
photo_degrade_factor |
1 real | photo_degrade_factor |
none | surface residue photodegradation factor |
nmbr_soil_test_layers |
1 int | nmbr_soil_test_layers |
none | number of soil_test rows that follow. Must appear before any soil_test line |
soil_test |
1 char + 6 real | sol_test%snam, d, bd, cbn, sand, silt, clay |
mixed | one row per soil test layer (name, depth, bulk density, carbon, sand, silt, clay) |
Unknown keywords produce a warning in simulation.out and are ignored.
Example¶
refdata/Ames_sub1/carb_coefs.cbn:
File: carb_coefs.cbn Carbon coefficients used if cswat == 2 or cswat == 3
# cbn_diagnostics contols what carbon related files are printed out if hru_cb is specified in print.prt
cbn_diagnostics 0
# carbdb coefficients
# 1st_lyr other_lyrs
hp_rate 1.2e-05 1.2e-05
hs_rate 2.92e-04 1.81e-04
microb_rate 0.0164 0.02
meta_rate 0.0405 0.0507
str_rate 0.0107 0.0134
microb_top_rate 0.0164 0.02
hs_hp 0.05 0.05
# org_allo coefficients
a1co2 0.60 0.55
asco2 0.55 0.55
apco2 0.55 0.55
abco2 0.55 0.0
# organic fractions used to initialize soil carbon into various pools
# frac_seq frac_hum_microb frac_hum_slow frac_hum_passive
org_frac 0.95 0.02 0.44 0.54
prmt_21 1000.
prmt_44 0.5
till_eff_days 100
rtof 0.5
cbn_consolidation_factors .15 .10
cbn_factor_approaches 2 1
tn -0.5
top 30.0
tx 50.0
zz_bmix_coefs 3.0 5.0 -5.5
zz_emix_coefs 3.0 15.0 -3.5
photo_degrade_factor 0.001
Related files¶
codes.bsn. Thecswatswitch selects whether this file is read.
Important¶
Potential bug. The header comment in the example file says the coefficients apply when cswat == 2 or cswat == 3. The reader in carbon_coef_read.f90 only opens the file when bsn_cc%cswat == 1. Setting cswat to 2 or 3 leaves carbon_coef_file = .false. and the compiled defaults are used regardless of what is written to carb_coefs.cbn.