carbon_module Module

per-family output gating for the standard carbon files lives in print.prt (hru_cb_* rows). cbn_diagnostics only drives the legacy CSU output path (hru_cb / hru_cb_vars rows). it is set in carbon_legacy_open from the cb_hru flag at startup, so no input file is needed for it. the .false. here is only the pre-run default; it is assigned its real value before any writer runs, so it does not disable legacy diagnostics. will be removed in revision 63. helpers for wide-per-layer carbon outputs.


Used by

  • module~~carbon_module~~UsedByGraph module~carbon_module carbon_module module~organic_mineral_mass_module organic_mineral_mass_module module~organic_mineral_mass_module->module~carbon_module module~soil_module soil_module module~soil_module->module~carbon_module proc~basin_output basin_output proc~basin_output->module~carbon_module proc~cal_parm_select cal_parm_select proc~cal_parm_select->module~carbon_module proc~cal_parm_select->module~organic_mineral_mass_module proc~cal_parm_select->module~soil_module proc~carbon_bsn_read carbon_bsn_read proc~carbon_bsn_read->module~carbon_module proc~carbon_layers_read carbon_layers_read proc~carbon_layers_read->module~carbon_module proc~carbon_legacy_open carbon_legacy_open proc~carbon_legacy_open->module~carbon_module proc~cbn_rsd_decomp cbn_rsd_decomp proc~cbn_rsd_decomp->module~carbon_module proc~cbn_rsd_decomp->module~organic_mineral_mass_module proc~cbn_rsd_decomp->module~soil_module proc~cbn_surfrsd_decomp cbn_surfrsd_decomp proc~cbn_surfrsd_decomp->module~carbon_module proc~cbn_surfrsd_decomp->module~organic_mineral_mass_module proc~cbn_surfrsd_decomp->module~soil_module proc~cbn_zhang2 cbn_zhang2 proc~cbn_zhang2->module~carbon_module proc~cbn_zhang2->module~organic_mineral_mass_module proc~cbn_zhang2->module~soil_module proc~fcgd fcgd proc~fcgd->module~carbon_module proc~hru_allo hru_allo proc~hru_allo->module~carbon_module proc~hru_allo->module~organic_mineral_mass_module proc~hru_allo->module~soil_module proc~hru_carbon_output hru_carbon_output proc~hru_carbon_output->module~carbon_module proc~hru_carbon_output->module~organic_mineral_mass_module proc~hru_carbon_output->module~soil_module proc~hru_control hru_control proc~hru_control->module~carbon_module proc~hru_control->module~organic_mineral_mass_module proc~hru_control->module~soil_module proc~hru_output hru_output proc~hru_output->module~carbon_module proc~hru_output->module~organic_mineral_mass_module proc~hru_output->module~soil_module proc~hru_output_allo hru_output_allo proc~hru_output_allo->module~carbon_module proc~lsu_carbon_output lsu_carbon_output proc~lsu_carbon_output->module~carbon_module proc~lsu_carbon_output->module~organic_mineral_mass_module proc~mgt_harvbiomass mgt_harvbiomass proc~mgt_harvbiomass->module~carbon_module proc~mgt_harvbiomass->module~organic_mineral_mass_module proc~mgt_harvbiomass->module~soil_module proc~mgt_harvgrain mgt_harvgrain proc~mgt_harvgrain->module~carbon_module proc~mgt_harvgrain->module~organic_mineral_mass_module proc~mgt_harvresidue mgt_harvresidue proc~mgt_harvresidue->module~carbon_module proc~mgt_harvresidue->module~organic_mineral_mass_module proc~mgt_harvtuber mgt_harvtuber proc~mgt_harvtuber->module~carbon_module proc~mgt_harvtuber->module~organic_mineral_mass_module proc~mgt_harvtuber->module~soil_module proc~mgt_killop mgt_killop proc~mgt_killop->module~carbon_module proc~mgt_killop->module~organic_mineral_mass_module proc~mgt_killop->module~soil_module proc~nut_orgnc2 nut_orgnc2 proc~nut_orgnc2->module~carbon_module proc~nut_orgnc2->module~organic_mineral_mass_module proc~nut_orgnc2->module~soil_module proc~output_landscape_init output_landscape_init proc~output_landscape_init->module~carbon_module proc~output_landscape_init->module~soil_module proc~pl_biomass_gro pl_biomass_gro proc~pl_biomass_gro->module~carbon_module proc~pl_biomass_gro->module~organic_mineral_mass_module proc~pl_burnop pl_burnop proc~pl_burnop->module~carbon_module proc~pl_burnop->module~organic_mineral_mass_module proc~pl_burnop->module~soil_module proc~pl_grow pl_grow proc~pl_grow->module~carbon_module proc~pl_grow->module~organic_mineral_mass_module proc~pl_leaf_gro pl_leaf_gro proc~pl_leaf_gro->module~carbon_module proc~pl_leaf_gro->module~organic_mineral_mass_module proc~pl_leaf_senes pl_leaf_senes proc~pl_leaf_senes->module~carbon_module proc~pl_leaf_senes->module~organic_mineral_mass_module proc~pl_mortality pl_mortality proc~pl_mortality->module~carbon_module proc~pl_mortality->module~organic_mineral_mass_module proc~pl_mortality->module~soil_module proc~pl_partition pl_partition proc~pl_partition->module~carbon_module proc~pl_partition->module~organic_mineral_mass_module proc~pl_root_gro pl_root_gro proc~pl_root_gro->module~carbon_module proc~pl_root_gro->module~organic_mineral_mass_module proc~pl_root_gro->module~soil_module proc~rsd_decomp rsd_decomp proc~rsd_decomp->module~carbon_module proc~rsd_decomp->module~organic_mineral_mass_module proc~rsd_decomp->module~soil_module proc~sim_initday sim_initday proc~sim_initday->module~carbon_module proc~sim_initday->module~organic_mineral_mass_module proc~sim_initday->module~soil_module proc~soil_carbvar_write soil_carbvar_write proc~soil_carbvar_write->module~carbon_module proc~soil_carbvar_write->module~organic_mineral_mass_module proc~soil_carbvar_write->module~soil_module proc~soil_carbvar_write_legacy soil_carbvar_write_legacy proc~soil_carbvar_write_legacy->module~carbon_module proc~soil_carbvar_write_legacy->module~organic_mineral_mass_module proc~soil_carbvar_write_legacy->module~soil_module proc~soil_nutcarb_init soil_nutcarb_init proc~soil_nutcarb_init->module~carbon_module proc~soil_nutcarb_init->module~organic_mineral_mass_module proc~soil_nutcarb_init->module~soil_module proc~soil_nutcarb_write soil_nutcarb_write proc~soil_nutcarb_write->module~carbon_module proc~soil_nutcarb_write->module~organic_mineral_mass_module proc~soil_nutcarb_write->module~soil_module proc~soil_nutcarb_write_legacy soil_nutcarb_write_legacy proc~soil_nutcarb_write_legacy->module~carbon_module proc~soil_nutcarb_write_legacy->module~organic_mineral_mass_module proc~soil_nutcarb_write_legacy->module~soil_module proc~swr_subwq swr_subwq proc~swr_subwq->module~carbon_module proc~swr_subwq->module~organic_mineral_mass_module proc~swr_subwq->module~soil_module proc~actions actions proc~actions->module~organic_mineral_mass_module proc~actions->module~soil_module proc~activity_coefficient activity_coefficient proc~activity_coefficient->module~organic_mineral_mass_module proc~albedo albedo proc~albedo->module~organic_mineral_mass_module proc~albedo->module~soil_module proc~basin_read_objs basin_read_objs proc~basin_read_objs->module~organic_mineral_mass_module proc~basin_sw_init basin_sw_init proc~basin_sw_init->module~soil_module proc~caco3 CaCO3 proc~caco3->module~organic_mineral_mass_module proc~cal_allo_init cal_allo_init proc~cal_allo_init->module~organic_mineral_mass_module proc~cal_allo_init->module~soil_module proc~cal_conditions cal_conditions proc~cal_conditions->module~soil_module proc~calsoft_control calsoft_control proc~calsoft_control->module~soil_module proc~calsoft_hyd calsoft_hyd proc~calsoft_hyd->module~organic_mineral_mass_module proc~calsoft_hyd->module~soil_module proc~calsoft_hyd_bfr calsoft_hyd_bfr proc~calsoft_hyd_bfr->module~organic_mineral_mass_module proc~calsoft_hyd_bfr->module~soil_module proc~calsoft_hyd_bfr_et calsoft_hyd_bfr_et proc~calsoft_hyd_bfr_et->module~organic_mineral_mass_module proc~calsoft_hyd_bfr_et->module~soil_module proc~calsoft_hyd_bfr_latq calsoft_hyd_bfr_latq proc~calsoft_hyd_bfr_latq->module~organic_mineral_mass_module proc~calsoft_hyd_bfr_latq->module~soil_module proc~calsoft_hyd_bfr_perc calsoft_hyd_bfr_perc proc~calsoft_hyd_bfr_perc->module~organic_mineral_mass_module proc~calsoft_hyd_bfr_perc->module~soil_module proc~calsoft_hyd_bfr_pet calsoft_hyd_bfr_pet proc~calsoft_hyd_bfr_pet->module~organic_mineral_mass_module proc~calsoft_hyd_bfr_pet->module~soil_module proc~calsoft_hyd_bfr_surq calsoft_hyd_bfr_surq proc~calsoft_hyd_bfr_surq->module~organic_mineral_mass_module proc~calsoft_hyd_bfr_surq->module~soil_module proc~calsoft_plant calsoft_plant proc~calsoft_plant->module~soil_module proc~calsoft_read_codes calsoft_read_codes proc~calsoft_read_codes->module~organic_mineral_mass_module proc~calsoft_read_codes->module~soil_module proc~calsoft_sed calsoft_sed proc~calsoft_sed->module~organic_mineral_mass_module proc~calsoft_sed->module~soil_module proc~caso4 CaSO4 proc~caso4->module~organic_mineral_mass_module proc~cationexchange cationexchange proc~cationexchange->module~organic_mineral_mass_module proc~cbn_rsd_transfer cbn_rsd_transfer proc~cbn_rsd_transfer->module~organic_mineral_mass_module proc~cbn_rsd_transfer->module~soil_module proc~cn2_init cn2_init proc~cn2_init->module~soil_module proc~cn2_init_all cn2_init_all proc~cn2_init_all->module~soil_module proc~command command proc~command->module~organic_mineral_mass_module proc~command->module~soil_module proc~conditions conditions proc~conditions->module~organic_mineral_mass_module proc~conditions->module~soil_module proc~cs_balance cs_balance proc~cs_balance->module~organic_mineral_mass_module proc~cs_balance->module~soil_module proc~cs_cha_read cs_cha_read proc~cs_cha_read->module~organic_mineral_mass_module proc~cs_hru_init cs_hru_init proc~cs_hru_init->module~organic_mineral_mass_module proc~cs_hru_init->module~soil_module proc~cs_lch cs_lch proc~cs_lch->module~soil_module proc~cs_rain cs_rain proc~cs_rain->module~organic_mineral_mass_module proc~cs_rctn_aqu cs_rctn_aqu proc~cs_rctn_aqu->module~organic_mineral_mass_module proc~cs_rctn_hru cs_rctn_hru proc~cs_rctn_hru->module~organic_mineral_mass_module proc~cs_rctn_hru->module~soil_module proc~cs_sorb_aqu cs_sorb_aqu proc~cs_sorb_aqu->module~organic_mineral_mass_module proc~cs_sorb_hru cs_sorb_hru proc~cs_sorb_hru->module~organic_mineral_mass_module proc~cs_sorb_hru->module~soil_module proc~cs_uptake cs_uptake proc~cs_uptake->module~organic_mineral_mass_module proc~cs_uptake->module~soil_module proc~curno curno proc~curno->module~soil_module proc~dr_path_read dr_path_read proc~dr_path_read->module~organic_mineral_mass_module proc~dr_read_hmet dr_read_hmet proc~dr_read_hmet->module~organic_mineral_mass_module proc~dr_read_om dr_read_om proc~dr_read_om->module~organic_mineral_mass_module proc~dr_read_pest dr_read_pest proc~dr_read_pest->module~organic_mineral_mass_module proc~dr_read_salt dr_read_salt proc~dr_read_salt->module~organic_mineral_mass_module proc~ero_cfactor ero_cfactor proc~ero_cfactor->module~organic_mineral_mass_module proc~ero_ovrsed ero_ovrsed proc~ero_ovrsed->module~organic_mineral_mass_module proc~ero_ovrsed->module~soil_module proc~ero_ysed ero_ysed proc~ero_ysed->module~soil_module proc~et_act et_act proc~et_act->module~organic_mineral_mass_module proc~et_act->module~soil_module proc~exco_read_hmet exco_read_hmet proc~exco_read_hmet->module~organic_mineral_mass_module proc~exco_read_om exco_read_om proc~exco_read_om->module~organic_mineral_mass_module proc~exco_read_path exco_read_path proc~exco_read_path->module~organic_mineral_mass_module proc~exco_read_pest exco_read_pest proc~exco_read_pest->module~organic_mineral_mass_module proc~exco_read_salt exco_read_salt proc~exco_read_salt->module~organic_mineral_mass_module proc~gwflow_pump_allo gwflow_pump_allo proc~gwflow_pump_allo->module~organic_mineral_mass_module proc~gwflow_pump_allo->module~soil_module proc~gwflow_rech gwflow_rech proc~gwflow_rech->module~soil_module proc~gwflow_simulate gwflow_simulate proc~gwflow_simulate->module~soil_module proc~gwflow_soil gwflow_soil proc~gwflow_soil->module~soil_module proc~hyd_connect hyd_connect proc~hyd_connect->module~organic_mineral_mass_module proc~hydro_init hydro_init proc~hydro_init->module~organic_mineral_mass_module proc~hydro_init->module~soil_module proc~layersplit layersplit proc~layersplit->module~organic_mineral_mass_module proc~layersplit->module~soil_module proc~lsreg_output lsreg_output proc~lsreg_output->module~organic_mineral_mass_module proc~mallo_control mallo_control proc~mallo_control->module~organic_mineral_mass_module proc~mallo_control->module~soil_module proc~mgco3 MgCO3 proc~mgco3->module~organic_mineral_mass_module proc~mgso4 MgSO4 proc~mgso4->module~organic_mineral_mass_module proc~mgt_biomix mgt_biomix proc~mgt_biomix->module~organic_mineral_mass_module proc~mgt_biomix->module~soil_module proc~mgt_newtillmix_cswat0 mgt_newtillmix_cswat0 proc~mgt_newtillmix_cswat0->module~organic_mineral_mass_module proc~mgt_newtillmix_cswat0->module~soil_module proc~mgt_newtillmix_cswat1 mgt_newtillmix_cswat1 proc~mgt_newtillmix_cswat1->module~organic_mineral_mass_module proc~mgt_newtillmix_cswat1->module~soil_module proc~mgt_newtillmix_wet mgt_newtillmix_wet proc~mgt_newtillmix_wet->module~organic_mineral_mass_module proc~mgt_newtillmix_wet->module~soil_module proc~mgt_plantop mgt_plantop proc~mgt_plantop->module~organic_mineral_mass_module proc~mgt_plantop->module~soil_module proc~mgt_sched mgt_sched proc~mgt_sched->module~organic_mineral_mass_module proc~mgt_sched->module~soil_module proc~mgt_tillfactor mgt_tillfactor proc~mgt_tillfactor->module~soil_module proc~mgt_transplant mgt_transplant proc~mgt_transplant->module~organic_mineral_mass_module proc~nacl NaCl proc~nacl->module~organic_mineral_mass_module proc~nut_denit nut_denit proc~nut_denit->module~organic_mineral_mass_module proc~nut_denit->module~soil_module proc~nut_nitvol nut_nitvol proc~nut_nitvol->module~organic_mineral_mass_module proc~nut_nitvol->module~soil_module proc~nut_nlch nut_nlch proc~nut_nlch->module~organic_mineral_mass_module proc~nut_nlch->module~soil_module proc~nut_nminrl nut_nminrl proc~nut_nminrl->module~organic_mineral_mass_module proc~nut_nminrl->module~soil_module proc~nut_nrain nut_nrain proc~nut_nrain->module~organic_mineral_mass_module proc~nut_orgn nut_orgn proc~nut_orgn->module~organic_mineral_mass_module proc~nut_orgn->module~soil_module proc~nut_orgnc nut_orgnc proc~nut_orgnc->module~organic_mineral_mass_module proc~nut_orgnc->module~soil_module proc~nut_pminrl nut_pminrl proc~nut_pminrl->module~organic_mineral_mass_module proc~nut_pminrl->module~soil_module proc~nut_pminrl2 nut_pminrl2 proc~nut_pminrl2->module~organic_mineral_mass_module proc~nut_pminrl2->module~soil_module proc~nut_psed nut_psed proc~nut_psed->module~organic_mineral_mass_module proc~nut_psed->module~soil_module proc~nut_solp nut_solp proc~nut_solp->module~organic_mineral_mass_module proc~nut_solp->module~soil_module proc~obj_output obj_output proc~obj_output->module~organic_mineral_mass_module proc~obj_output->module~soil_module proc~path_cha_res_read path_cha_res_read proc~path_cha_res_read->module~organic_mineral_mass_module proc~path_ls_process path_ls_process proc~path_ls_process->module~soil_module proc~path_ls_runoff path_ls_runoff proc~path_ls_runoff->module~soil_module proc~path_ls_swrouting path_ls_swrouting proc~path_ls_swrouting->module~soil_module proc~pathogen_init pathogen_init proc~pathogen_init->module~organic_mineral_mass_module proc~pathogen_init->module~soil_module proc~pest_apply pest_apply proc~pest_apply->module~soil_module proc~pest_cha_res_read pest_cha_res_read proc~pest_cha_res_read->module~organic_mineral_mass_module proc~pest_decay pest_decay proc~pest_decay->module~soil_module proc~pest_lch pest_lch proc~pest_lch->module~organic_mineral_mass_module proc~pest_lch->module~soil_module proc~pest_pesty pest_pesty proc~pest_pesty->module~organic_mineral_mass_module proc~pest_pesty->module~soil_module proc~pest_pl_up pest_pl_up proc~pest_pl_up->module~soil_module proc~pest_soil_tot pest_soil_tot proc~pest_soil_tot->module~soil_module proc~pest_washp pest_washp proc~pest_washp->module~soil_module proc~pesticide_init pesticide_init proc~pesticide_init->module~organic_mineral_mass_module proc~pesticide_init->module~soil_module proc~pl_community pl_community proc~pl_community->module~organic_mineral_mass_module proc~pl_community->module~soil_module proc~pl_fert pl_fert proc~pl_fert->module~organic_mineral_mass_module proc~pl_fert_wet pl_fert_wet proc~pl_fert_wet->module~organic_mineral_mass_module proc~pl_manure pl_manure proc~pl_manure->module~organic_mineral_mass_module proc~pl_manure->module~soil_module proc~pl_nfix pl_nfix proc~pl_nfix->module~organic_mineral_mass_module proc~pl_nfix->module~soil_module proc~pl_nup pl_nup proc~pl_nup->module~organic_mineral_mass_module proc~pl_nup->module~soil_module proc~pl_nupd pl_nupd proc~pl_nupd->module~organic_mineral_mass_module proc~pl_nut_demand pl_nut_demand proc~pl_nut_demand->module~organic_mineral_mass_module proc~pl_nut_demand->module~soil_module proc~pl_pup pl_pup proc~pl_pup->module~organic_mineral_mass_module proc~pl_pup->module~soil_module proc~pl_pupd pl_pupd proc~pl_pupd->module~organic_mineral_mass_module proc~pl_rootfr pl_rootfr proc~pl_rootfr->module~soil_module proc~pl_waterup pl_waterup proc~pl_waterup->module~soil_module proc~plant_init plant_init proc~plant_init->module~organic_mineral_mass_module proc~plant_init->module~soil_module proc~proc_hru proc_hru proc~proc_hru->module~soil_module proc~re_initialize re_initialize proc~re_initialize->module~organic_mineral_mass_module proc~re_initialize->module~soil_module proc~recall_read recall_read proc~recall_read->module~organic_mineral_mass_module proc~recall_read_cs recall_read_cs proc~recall_read_cs->module~organic_mineral_mass_module proc~recall_read_salt recall_read_salt proc~recall_read_salt->module~organic_mineral_mass_module proc~res_hydro res_hydro proc~res_hydro->module~soil_module proc~res_weir_release res_weir_release proc~res_weir_release->module~soil_module proc~rls_routeaqu rls_routeaqu proc~rls_routeaqu->module~organic_mineral_mass_module proc~rls_routeaqu->module~soil_module proc~rls_routesoil rls_routesoil proc~rls_routesoil->module~soil_module proc~rls_routetile rls_routetile proc~rls_routetile->module~organic_mineral_mass_module proc~rls_routetile->module~soil_module proc~salt_balance salt_balance proc~salt_balance->module~organic_mineral_mass_module proc~salt_balance->module~soil_module proc~salt_cha_read salt_cha_read proc~salt_cha_read->module~organic_mineral_mass_module proc~salt_chem_aqu salt_chem_aqu proc~salt_chem_aqu->module~soil_module proc~salt_chem_hru salt_chem_hru proc~salt_chem_hru->module~soil_module proc~salt_chem_soil_single salt_chem_soil_single proc~salt_chem_soil_single->module~soil_module proc~salt_hru_init salt_hru_init proc~salt_hru_init->module~organic_mineral_mass_module proc~salt_hru_init->module~soil_module proc~salt_lch salt_lch proc~salt_lch->module~soil_module proc~salt_rain salt_rain proc~salt_rain->module~organic_mineral_mass_module proc~salt_roadsalt salt_roadsalt proc~salt_roadsalt->module~organic_mineral_mass_module proc~salt_uptake salt_uptake proc~salt_uptake->module~organic_mineral_mass_module proc~salt_uptake->module~soil_module proc~sep_biozone sep_biozone proc~sep_biozone->module~organic_mineral_mass_module proc~sep_biozone->module~soil_module proc~smp_filter smp_filter proc~smp_filter->module~soil_module proc~soil_awc_init soil_awc_init proc~soil_awc_init->module~soil_module proc~soil_phys_init soil_phys_init proc~soil_phys_init->module~soil_module proc~soil_text_init soil_text_init proc~soil_text_init->module~soil_module proc~soils_init soils_init proc~soils_init->module~organic_mineral_mass_module proc~soils_init->module~soil_module proc~soils_test_adjust soils_test_adjust proc~soils_test_adjust->module~soil_module proc~sq_crackvol sq_crackvol proc~sq_crackvol->module~soil_module proc~sq_dailycn sq_dailycn proc~sq_dailycn->module~soil_module proc~sq_greenampt sq_greenampt proc~sq_greenampt->module~soil_module proc~stmp_solt stmp_solt proc~stmp_solt->module~organic_mineral_mass_module proc~stmp_solt->module~soil_module proc~structure_set_parms structure_set_parms proc~structure_set_parms->module~soil_module proc~surface surface proc~surface->module~soil_module proc~swift_output swift_output proc~swift_output->module~soil_module proc~swr_depstor swr_depstor proc~swr_depstor->module~organic_mineral_mass_module proc~swr_depstor->module~soil_module proc~swr_drains swr_drains proc~swr_drains->module~soil_module proc~swr_latsed swr_latsed proc~swr_latsed->module~soil_module proc~swr_origtile swr_origtile proc~swr_origtile->module~soil_module proc~swr_percmacro swr_percmacro proc~swr_percmacro->module~soil_module proc~swr_percmain swr_percmain proc~swr_percmain->module~soil_module proc~swr_percmicro swr_percmicro proc~swr_percmicro->module~soil_module proc~swr_satexcess swr_satexcess proc~swr_satexcess->module~organic_mineral_mass_module proc~swr_satexcess->module~soil_module proc~varinit varinit proc~varinit->module~soil_module proc~wallo_control wallo_control proc~wallo_control->module~organic_mineral_mass_module proc~wallo_control->module~soil_module proc~wet_initial wet_initial proc~wet_initial->module~soil_module proc~wetland_control wetland_control proc~wetland_control->module~organic_mineral_mass_module proc~wetland_control->module~soil_module proc~zeroini zeroini proc~zeroini->module~soil_module

Variables

Type Visibility Attributes Name Initial
logical, public :: cbn_diagnostics = .false.

turns on the legacy plc/cflux/cpool and soil-prop files

basin-wide residue decomposition tunables (read from carbon.bsn)

real, public :: n_act_frac = 0.02

frac |fraction of organic N in the active humus pool (used in nut_nminrl active to stable flow)

real, public :: cnr_cap = 500.

none |upper cap on residue C:N ratio before computing decomp factor

real, public :: cnr_ref = 25.

none |reference C:N ratio where decomp factor equals 1

real, public :: cpr_cap = 5000.

none |upper cap on residue C:P ratio before computing decomp factor

real, public :: cpr_ref = 200.

none |reference C:P ratio where decomp factor equals 1

number of soil layers to include in per-layer carbon outputs. if carbon_layers.prt is supplied it sets this explicitly; otherwise it defaults to the largest soil layer count across all HRUs (set in output_landscape_init). the 7 here is only a fallback.

integer, public :: cb_n_layers = 7
logical, public :: cb_n_layers_explicit = .false.

.true. when carbon_layers.prt set the count

real, public, parameter :: cb_lyr_missing = -99.0

sentinel written when a soil has fewer layers than cb_n_layers

variable-name lists for the wide-per-layer carbon output files. the helper cb_write_wide_header appends _lyr1..._lyrN to each entry.

character(len=16), public, parameter :: cpool_vars(10) = [character(len=16)::"residue_c", "structural_c", "metabolic_c", "hs_c", "hp_c", "microbial_c", "lignin_c", "nonlignin_c", "root_mass", "soil_water"]
character(len=16), public, parameter :: n_p_pool_vars(18) = [character(len=16)::"tot_pool_n", "residue_n", "structural_n", "metabolic_n", "hs_n", "hp_n", "microbial_n", "lignin_n", "nonlignin_n", "tot_pool_p", "residue_p", "structural_p", "metabolic_p", "hs_p", "hp_p", "microbial_p", "lignin_p", "nonlignin_p"]
character(len=16), public, parameter :: cflux_vars(37) = [character(len=16)::"cfmets1", "cfstrs1", "cfstrs2", "efmets1", "efstrs1", "efstrs2", "immmets1", "immstrs1", "immstrs2", "mnrmets1", "mnrstrs1", "mnrstrs2", "co2fmet", "co2fstr", "cfs1s2", "cfs1s3", "cfs2s1", "cfs2s3", "cfs3s1", "efs1s2", "efs1s3", "efs2s1", "efs2s3", "efs3s1", "imms1s2", "imms1s3", "imms2s1", "imms2s3", "imms3s1", "mnrs1s2", "mnrs1s3", "mnrs2s1", "mnrs2s3", "mnrs3s1", "co2fs1", "co2fs2", "co2fs3"]
character(len=16), public, parameter :: carb_drv_vars(14) = [character(len=16)::"sut", "tillagef", "cons_bmix", "tillagef_biomix", "tillagef_tillmix", "till_eff", "cdg", "ox", "cs", "no3", "nh4", "co2_resp", "soil_temp", "emix"]
character(len=16), public, parameter :: carb_dyn_vars(21) = [character(len=16)::"asp", "abp", "abco2", "a1co2", "asco2", "apco2", "ncbm", "nchp", "nchs", "bmctp", "bmntp", "hsctp", "hsntp", "hpctp", "hpntp", "lmctp", "lmntp", "lsctp", "lslctp", "lslnctp", "lsntp"]
character(len=16), public, parameter :: soil_snap_vars(13) = [character(len=16)::"bd", "awc", "soil_k", "tot_c", "clay", "silt", "sand", "rock", "alb", "usle_k", "ec", "caco3", "ph"]
type(carbon_inputs), public, dimension(2) :: carbdb
type(carbon_inputs), public :: carbz
type(manure_coef), public :: man_coef
type(organic_allocations), public, dimension(2) :: org_allo
type(organic_allocations), public :: org_alloz
type(organic_controls), public :: org_con
type(organic_fractions), public :: org_frac
type(organic_ratio), public :: org_ratio
type(organic_ratio), public :: org_ratio_zero
type(carbon_water_coef), public :: cb_wtr_coef
type(organic_transformations), public :: org_tran
type(organic_transformations), public :: org_tran_zero
type(organic_flux), public :: org_flux
type(organic_flux), public :: org_flux_zero
type(carbon_soil_transformations), public :: hscfz

hru soil carbon transformations

type(carbon_soil_transformations), public, dimension (:), allocatable :: hscf_d
type(carbon_soil_transformations), public, dimension (:), allocatable :: hscf_m
type(carbon_soil_transformations), public, dimension (:), allocatable :: hscf_y
type(carbon_soil_transformations), public, dimension (:), allocatable :: hscf_a

lsu soil carbon transformations

type(carbon_soil_transformations), public, dimension (:), allocatable :: lscf_d
type(carbon_soil_transformations), public, dimension (:), allocatable :: lscf_m
type(carbon_soil_transformations), public, dimension (:), allocatable :: lscf_y
type(carbon_soil_transformations), public, dimension (:), allocatable :: lscf_a
type(carbon_soil_transformations), public, dimension (:), allocatable :: lcsf_a

basin soil carbon transformations

type(carbon_soil_transformations), public :: bscf_d
type(carbon_soil_transformations), public :: bscf_m
type(carbon_soil_transformations), public :: bscf_y
type(carbon_soil_transformations), public :: bscf_a
type(carbon_soil_gain_losses), public :: hscz

hru soil carbon gains and losses

type(carbon_soil_gain_losses), public, dimension (:), allocatable :: hsc_d
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: hsc_m
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: hsc_y
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: hsc_a

lsu soil carbon gains and losses

type(carbon_soil_gain_losses), public, dimension (:), allocatable :: lsc_d
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: lsc_m
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: lsc_y
type(carbon_soil_gain_losses), public, dimension (:), allocatable :: lsc_a

basin soil carbon gains and losses

type(carbon_soil_gain_losses), public :: bsc_d
type(carbon_soil_gain_losses), public :: bsc_m
type(carbon_soil_gain_losses), public :: bsc_y
type(carbon_soil_gain_losses), public :: bsc_a
type(carbon_residue_gain_losses), public :: hrcz

hru residue carbon gains and losses

type(carbon_residue_gain_losses), public, dimension (:), allocatable :: hrc_d
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: hrc_m
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: hrc_y
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: hrc_a

lsu residue carbon gains and losses

type(carbon_residue_gain_losses), public, dimension (:), allocatable :: lrc_d
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: lrc_m
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: lrc_y
type(carbon_residue_gain_losses), public, dimension (:), allocatable :: lrc_a

basin residue carbon gains and losses

type(carbon_residue_gain_losses), public :: brc_d
type(carbon_residue_gain_losses), public :: brc_m
type(carbon_residue_gain_losses), public :: brc_y
type(carbon_residue_gain_losses), public :: brc_a
type(carbon_plant_gain_losses), public :: hpcz

hru plant carbon gains and losses

type(carbon_plant_gain_losses), public, dimension (:), allocatable :: hpc_d
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: hpc_m
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: hpc_y
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: hpc_a

lsu plant carbon gains and losses

type(carbon_plant_gain_losses), public, dimension (:), allocatable :: lpc_d
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: lpc_m
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: lpc_y
type(carbon_plant_gain_losses), public, dimension (:), allocatable :: lpc_a

basin plant carbon gains and losses

type(carbon_plant_gain_losses), public :: bpc_d
type(carbon_plant_gain_losses), public :: bpc_m
type(carbon_plant_gain_losses), public :: bpc_y
type(carbon_plant_gain_losses), public :: bpc_a

Interfaces

public interface operator (+)

public interface operator (*)

public interface operator (/)

public interface operator (+)

public interface operator (*)

public interface operator (/)

public interface operator (+)

public interface operator (*)

public interface operator (/)

public interface operator (+)

public interface operator (*)

public interface operator (/)


Derived Types

type, public ::  carbon_inputs

Components

Type Visibility Attributes Name Initial
real, public :: hp_rate = 0.
real, public :: hs_rate = 0.
real, public :: microb_rate = 0.
real, public :: meta_rate = 0.
real, public :: str_rate = 0.
real, public :: microb_top_rate = 0.
real, public :: hs_hp = 0.
real, public :: microb_koc = 0.
real, public :: min_n_frac = 0.
real, public :: c_org_frac = 0.

type, public ::  manure_coef

Components

Type Visibility Attributes Name Initial
real, public :: rtof = 0.5
real, public :: man_to_c = 0.42

type, public ::  organic_allocations

Components

Type Visibility Attributes Name Initial
real, public :: abp = 0.
real, public :: asp = 0.
real, public :: a1co2 = 0.
real, public :: asco2 = 0.
real, public :: apco2 = 0.
real, public :: abco2 = 0.

type, public ::  organic_controls

Components

Type Visibility Attributes Name Initial
real, public :: sut = 0.
real, public :: cdg = 0.
real, public :: cs = 0.
real, public :: ox = 0.
real, public :: till_eff
real, public :: x1 = 0.
real, public :: no3 = 0.
real, public :: nh4 = 0.
real, public :: resp
real, public :: tn = -5.
real, public :: top = 30.
real, public :: tx = 50.
integer, public :: tmpf = 2
integer, public :: watf = 1

type, public ::  organic_fractions

Components

Type Visibility Attributes Name Initial
real, public :: lmf = 0.
real, public :: lmnf = 0.
real, public :: lsf = 0.
real, public :: lslf = 0.
real, public :: lsnf = 0.
real, public :: frac_seq = .95
real, public :: frac_not_seq = .05
real, public :: frac_hum_microb = 0.02
real, public :: frac_hum_slow = 0.54
real, public :: frac_hum_passive = 0.44
logical, public :: mathers_method = .false.

type, public ::  organic_ratio

Components

Type Visibility Attributes Name Initial
real, public :: ncbm = 0.
real, public :: nchp = 0.
real, public :: nchs = 0.

type, public ::  carbon_water_coef

Components

Type Visibility Attributes Name Initial
real, public :: prmt_21 = 1000.
real, public :: prmt_44 = 0.5

type, public ::  organic_transformations

Components

Type Visibility Attributes Name Initial
real, public :: bmctp = 0.
real, public :: bmntp = 0.
real, public :: hsctp = 0.
real, public :: hsntp = 0.
real, public :: hpctp = 0.
real, public :: hpntp = 0.
real, public :: lmctp = 0.
real, public :: lmntp = 0.
real, public :: lsctp = 0.
real, public :: lslctp = 0.
real, public :: lslnctp = 0.
real, public :: lsntp = 0.

type, public ::  organic_flux

Components

Type Visibility Attributes Name Initial
real, public :: cfmets1 = 0.
real, public :: cfstrs1 = 0.
real, public :: cfstrs2 = 0.
real, public :: efmets1 = 0.
real, public :: efstrs1 = 0.
real, public :: efstrs2 = 0.
real, public :: immmets1 = 0.
real, public :: immstrs1 = 0.
real, public :: immstrs2 = 0.
real, public :: mnrmets1 = 0.
real, public :: mnrstrs1 = 0.
real, public :: mnrstrs2 = 0.
real, public :: co2fmet = 0.
real, public :: co2fstr = 0.
real, public :: cfs1s2 = 0.
real, public :: cfs1s3 = 0.
real, public :: cfs2s1 = 0.
real, public :: cfs2s3 = 0.
real, public :: cfs3s1 = 0.
real, public :: efs1s2 = 0.
real, public :: efs1s3 = 0.
real, public :: efs2s1 = 0.
real, public :: efs2s3 = 0.
real, public :: efs3s1 = 0.
real, public :: imms1s2 = 0.
real, public :: imms1s3 = 0.
real, public :: imms2s1 = 0.
real, public :: imms2s3 = 0.
real, public :: imms3s1 = 0.
real, public :: mnrs1s2 = 0.
real, public :: mnrs1s3 = 0.
real, public :: mnrs2s1 = 0.
real, public :: mnrs2s3 = 0.
real, public :: mnrs3s1 = 0.
real, public :: co2fs1 = 0.
real, public :: co2fs2 = 0.
real, public :: co2fs3 = 0.

type, public ::  carbon_soil_transformations

Components

Type Visibility Attributes Name Initial
real, public :: meta_micr = 0.
real, public :: str_micr = 0.
real, public :: str_hs = 0.
real, public :: co2_meta = 0.
real, public :: co2_str = 0.
real, public :: micr_hs = 0.
real, public :: micr_hp = 0.
real, public :: hs_micr = 0.
real, public :: hs_hp = 0.
real, public :: hp_micr = 0.
real, public :: co2_micr = 0.
real, public :: co2_hs = 0.
real, public :: co2_hp = 0.

type, public ::  carbon_soil_gain_losses

Components

Type Visibility Attributes Name Initial
real, public :: sed_c = 0.
real, public :: surq_c = 0.
real, public :: latq_c = 0.
real, public :: perc_c = 0.
real, public :: rsd_decay_c = 0.
real, public :: man_app_c = 0.
real, public :: man_graz_c = 0.
real, public :: rsp_c = 0.
real, public :: emit_c = 0.

type, public ::  carbon_residue_gain_losses

Components

Type Visibility Attributes Name Initial
real, public :: plant_surf_c = 0.
real, public :: plant_root_c = 0.
real, public :: rsd_surfdecay_c = 0.
real, public :: rsd_rootdecay_c = 0.
real, public :: harv_stov_c = 0.
real, public :: emit_c = 0.

type, public ::  carbon_plant_gain_losses

Components

Type Visibility Attributes Name Initial
real, public :: npp_c = 0.
real, public :: harv_abgr_c = 0.
real, public :: harv_root_c = 0.
real, public :: drop_c = 0.
real, public :: grazeat_c = 0.
real, public :: emit_c = 0.

Functions

public function carbon_soil_flux__add(hru1, hru2) result(hru3)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_transformations), intent(in) :: hru1
type(carbon_soil_transformations), intent(in) :: hru2

Return Value type(carbon_soil_transformations)

public function carbon_soil_flux_mult(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_transformations), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_soil_transformations)

public function carbon_soil_flux_div(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_transformations), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_soil_transformations)

public function carbon_soil_gl__add(hru1, hru2) result(hru3)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_gain_losses), intent(in) :: hru1
type(carbon_soil_gain_losses), intent(in) :: hru2

Return Value type(carbon_soil_gain_losses)

public function carbon_soil_gl_mult(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_soil_gain_losses)

public function carbon_soil_gl_div(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_soil_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_soil_gain_losses)

public function carbon_residue_gl__add(hru1, hru2) result(hru3)

Arguments

Type IntentOptional Attributes Name
type(carbon_residue_gain_losses), intent(in) :: hru1
type(carbon_residue_gain_losses), intent(in) :: hru2

Return Value type(carbon_residue_gain_losses)

public function carbon_residue_gl_mult(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_residue_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_residue_gain_losses)

public function carbon_residue_gl_div(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_residue_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_residue_gain_losses)

public function carbon_plant_gl__add(hru1, hru2) result(hru3)

Arguments

Type IntentOptional Attributes Name
type(carbon_plant_gain_losses), intent(in) :: hru1
type(carbon_plant_gain_losses), intent(in) :: hru2

Return Value type(carbon_plant_gain_losses)

public function carbon_plant_gl_mult(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_plant_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_plant_gain_losses)

public function carbon_plant_gl_div(hru1, const) result(hru2)

Arguments

Type IntentOptional Attributes Name
type(carbon_plant_gain_losses), intent(in) :: hru1
real, intent(in) :: const

Return Value type(carbon_plant_gain_losses)


Subroutines

public subroutine cb_write_flat_header(unit_no, var_names, is_csv)

emits a header line for non-layered carbon files (no soil layers). id columns + each var_name once (no _lyrK suffix).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_no
character(len=*), intent(in) :: var_names(:)
logical, intent(in) :: is_csv

public subroutine cb_write_wide_header(unit_no, var_names, is_csv)

emits the header line for any wide-per-layer carbon file. id columns + depth_lyr1..depth_lyrN + for each var_name: _lyr1.._lyrN caller already wrote the banner row; this writes the column-label row.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_no
character(len=*), intent(in) :: var_names(:)
logical, intent(in) :: is_csv

public subroutine cb_write_cbn_lyr_header(unit_no, is_csv)

header for the hru_cbn_lyr files. Unlike the generic wide header, this one interleaves the 300 mm scalar sums (tot_300_sum, seq_300_sum) between the per-layer blocks, so it is built explicitly here. Column widths match the data row (1x,g22.7 per value), so labels line up.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_no
logical, intent(in) :: is_csv

public subroutine cb_write_depth_row(unit_no, depths, n_use, is_csv, advance_str)

emits the depth columns for a data row, padded with cb_lyr_missing past n_use. caller has already emitted the id columns and must continue with var columns after.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_no
real, intent(in) :: depths(:)

depth at each soil layer (size >= n_use)

integer, intent(in) :: n_use

actual number of soil layers in this HRU

logical, intent(in) :: is_csv
character(len=*), intent(in) :: advance_str

"no" to keep building the row, "yes" to terminate

public subroutine cb_write_var_block(unit_no, vals, n_use, is_csv, advance_str)

emits one variable's per-layer values, padded with cb_lyr_missing past n_use.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_no
real, intent(in) :: vals(:)
integer, intent(in) :: n_use
logical, intent(in) :: is_csv
character(len=*), intent(in) :: advance_str