carbon_legacy_module Module

will be removed in revision 63.

legacy carbon output support for the CSU workflows.

the refactor on carbonDev standardised the carbon output into per-family print.prt flags (hru_cb_*). the CSU team still relies on the older, non-standard files, so this module keeps that path alive without touching the new one. it holds the old fixed-column header types and the open routine for those files. the writers live in soil_nutcarb_write_legacy and soil_carbvar_write_legacy. everything here is gated by the hru_cb and hru_cb_vars rows in print.prt, which swat+ editor does not emit, so a normal run produces none of these files. file units are the old ones shifted by +3800 into the free 8300-8399 band to avoid clashing with the new families.


Used by

  • module~~carbon_legacy_module~~UsedByGraph module~carbon_legacy_module carbon_legacy_module proc~output_landscape_init output_landscape_init proc~output_landscape_init->module~carbon_legacy_module

Variables

Type Visibility Attributes Name Initial
type(output_plc_header), public :: plc_hdr
type(output_plc_header_units), public :: plc_hdr_units

! NEW PLANT CARBON STAT OUTPUT

NEW RESIDUE CARBON STAT OUTPUT

type(output_soil_org_flux_header), public :: soil_org_flux_hdr
type(output_soil_org_flux_header_units), public :: soil_org_flux_hdr_units
type(output_cpool_header), public :: cpool_hdr
type(output_cpool_header_units), public :: cpool_units
type(output_n_p_pool_header), public :: n_p_pool_hdr
type(output_n_p_pool_header_units), public :: n_p_pool_units
type(output_carb_vars_header), public :: carbvars_hdr
type(output_org_allo_header), public :: org_allow_hdr
type(output_org_ratio_header), public :: org_ratio_hdr
type(output_org_trans_header), public :: org_trans_hdr
type(output_org_trans_header_units), public :: org_trans_units
type(output_endsim_soil_prop_header), public :: endsim_soil_prop_hdr

! NEW SOIL CARBON STAT OUTPUT

! NEW BASIN CARBON OUTPUT

type(output_bsn_carb_header), public :: bsn_carb_hdr
type(output_bsn_carb_header_units), public :: bsn_carb_hdr_units

Derived Types

type, public ::  output_plc_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=11), public :: day = "       jday"
character(len=11), public :: day_mo = "        day"
character(len=11), public :: mo = "        mon"
character(len=11), public :: yrc = "         yr"
character(len=16), public :: isd = "            unit"
character(len=21), public :: id = "              gis_id "
character(len=16), public :: name = "    name        "
character(len=15), public :: tot_c = "        total_c"
character(len=15), public :: ab_gr_c = "        ab_gr_c"
character(len=15), public :: leaf_c = "         leaf_c"
character(len=15), public :: stem_c = "         stem_c"
character(len=15), public :: seed_c = "         seed_c"
character(len=15), public :: root_c = "         root_c"
character(len=15), public :: rsd_c = "     surf_rsd_c"

type, public ::  output_plc_header_units

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "       "
character(len=11), public :: day = "           "
character(len=11), public :: day_mo = "           "
character(len=11), public :: mo = "           "
character(len=11), public :: yrc = "           "
character(len=16), public :: isd = "           "
character(len=21), public :: id = "                "
character(len=16), public :: name = "           "
character(len=15), public :: tot_c = "          kg/ha"
character(len=15), public :: ab_gr_c = "          kg/ha"
character(len=15), public :: leaf_c = "          kg/ha"
character(len=15), public :: stem_c = "          kg/ha"
character(len=15), public :: seed_c = "          kg/ha"
character(len=15), public :: root_c = "          kg/ha"
character(len=15), public :: rsd_c = "          kg/ha"

type, public ::  output_soil_org_flux_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=23), public :: id = "                gis_id "
character(len=15), public :: name = "name           "
character(len=15), public :: cfmets1 = "        cfmets1"
character(len=15), public :: cfstrs1 = "        cfstrs1"
character(len=15), public :: cfstrs2 = "        cfstrs2"
character(len=15), public :: efmets1 = "        efmets1"
character(len=15), public :: efstrs1 = "        efstrs1"
character(len=15), public :: efstrs2 = "        efstrs2"
character(len=15), public :: immmets1 = "       immmets1"
character(len=15), public :: immstrs1 = "       immstrs1"
character(len=15), public :: immstrs2 = "       immstrs2"
character(len=15), public :: mnrmets1 = "       mnrmets1"
character(len=15), public :: mnrstrs1 = "       mnrstrs1"
character(len=15), public :: mnrstrs2 = "       mnrstrs2"
character(len=15), public :: co2fmet = "        co2fmet"
character(len=15), public :: co2fstr = "        co2fstr"
character(len=15), public :: cfs1s2 = "         cfs1s2"
character(len=15), public :: cfs1s3 = "         cfs1s3"
character(len=15), public :: cfs2s1 = "         cfs2s1"
character(len=15), public :: cfs2s3 = "         cfs2s3"
character(len=15), public :: cfs3s1 = "         cfs3s1"
character(len=15), public :: efs1s2 = "         efs1s2"
character(len=15), public :: efs1s3 = "         efs1s3"
character(len=15), public :: efs2s1 = "         efs2s1"
character(len=15), public :: efs2s3 = "         efs2s3"
character(len=15), public :: efs3s1 = "         efs3s1"
character(len=15), public :: imms1s2 = "        imms1s2"
character(len=15), public :: imms1s3 = "        imms1s3"
character(len=15), public :: imms2s1 = "        imms2s1"
character(len=15), public :: imms2s3 = "        imms2s3"
character(len=15), public :: imms3s1 = "        imms3s1"
character(len=15), public :: mnrs1s2 = "        mnrs1s2"
character(len=15), public :: mnrs1s3 = "        mnrs1s3"
character(len=15), public :: mnrs2s1 = "        mnrs2s1"
character(len=15), public :: mnrs2s3 = "        mnrs2s3"
character(len=15), public :: mnrs3s1 = "        mnrs3s1"
character(len=15), public :: co2fs1 = "         co2fs1"
character(len=15), public :: co2fs2 = "         co2fs2"
character(len=15), public :: co2fs3 = "         co2fs3"

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "       "
character(len=12), public :: soil_lyr = "            "
character(len=12), public :: soil_depth = "          mm"
character(len=12), public :: day = "            "
character(len=12), public :: mo = "            "
character(len=12), public :: day_mo = "            "
character(len=12), public :: yrc = "            "
character(len=12), public :: isd = "            "
character(len=23), public :: id = "                       "
character(len=15), public :: name = "                "
character(len=15), public :: cfmets1 = "        kg_C/ha"
character(len=15), public :: cfstrs1 = "        kg_C/ha"
character(len=15), public :: cfstrs2 = "        kg_C/ha"
character(len=15), public :: efmets1 = "        kg_N/ha"
character(len=15), public :: efstrs1 = "        kg_N/ha"
character(len=15), public :: efstrs2 = "        kg_N/ha"
character(len=15), public :: immmets1 = "        kg_N/ha"
character(len=15), public :: immstrs1 = "        kg_N/ha"
character(len=15), public :: immstrs2 = "        kg_N/ha"
character(len=15), public :: mnrmets1 = "        kg_N/ha"
character(len=15), public :: mnrstrs1 = "        kg_N/ha"
character(len=15), public :: mnrstrs2 = "        kg_N/ha"
character(len=15), public :: co2fmet = "        kg_C/ha"
character(len=15), public :: co2fstr = "        kg_C/ha"
character(len=15), public :: cfs1s2 = "        kg_C/ha"
character(len=15), public :: cfs1s3 = "        kg_C/ha"
character(len=15), public :: cfs2s1 = "        kg_C/ha"
character(len=15), public :: cfs2s3 = "        kg_C/ha"
character(len=15), public :: cfs3s1 = "        kg_C/ha"
character(len=15), public :: efs1s2 = "        kg_N/ha"
character(len=15), public :: efs1s3 = "        kg_N/ha"
character(len=15), public :: efs2s1 = "        kg_N/ha"
character(len=15), public :: efs2s3 = "        kg_N/ha"
character(len=15), public :: efs3s1 = "        kg_N/ha"
character(len=15), public :: imms1s2 = "        kg_N/ha"
character(len=15), public :: imms1s3 = "        kg_N/ha"
character(len=15), public :: imms2s1 = "        kg_N/ha"
character(len=15), public :: imms2s3 = "        kg_N/ha"
character(len=15), public :: imms3s1 = "        kg_N/ha"
character(len=15), public :: mnrs1s2 = "        kg_N/ha"
character(len=15), public :: mnrs1s3 = "        kg_N/ha"
character(len=15), public :: mnrs2s1 = "        kg_N/ha"
character(len=15), public :: mnrs2s3 = "        kg_N/ha"
character(len=15), public :: co2fs2 = "        kg_C/ha"
character(len=15), public :: co2fs3 = "        kg_C/ha"

type, public ::  output_cpool_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: residue_c = "      residue_c"
character(len=15), public :: str_c = "   structural_c"
character(len=15), public :: meta_c = "    metabolic_c"
character(len=15), public :: hs_c = "           hs_c"
character(len=15), public :: hp_c = "           hp_c"
character(len=15), public :: microb_c = "   microbrial_c"
character(len=15), public :: lig_c = "       lignin_c"
character(len=15), public :: nonlig_c = "    nonlignin_c"
character(len=15), public :: water_c = "        water_c"
character(len=15), public :: manure_c = "       manure_c"
character(len=15), public :: root_mass = "      root_mass"
character(len=15), public :: soil_water = "     soil_water"

type, public ::  output_cpool_header_units

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "       "
character(len=12), public :: soil_lyr = "            "
character(len=12), public :: soil_depth = "          mm"
character(len=12), public :: day = "            "
character(len=12), public :: mo = "            "
character(len=12), public :: day_mo = "            "
character(len=12), public :: yrc = "            "
character(len=12), public :: isd = "            "
character(len=22), public :: id = "                      "
character(len=13), public :: name = "             "
character(len=15), public :: residue_c = "          kg/ha"
character(len=15), public :: str_c = "          kg/ha"
character(len=15), public :: meta_c = "          kg/ha"
character(len=15), public :: hs_c = "          kg/ha"
character(len=15), public :: hp_c = "          kg/ha"
character(len=15), public :: microb_c = "          kg/ha"
character(len=15), public :: lig_c = "          kg/ha"
character(len=15), public :: nonlig_c = "          kg/ha"
character(len=15), public :: water_c = "          kg/ha"
character(len=15), public :: manure_c = "          kg/ha"
character(len=15), public :: root_mass = "          kg/ha"
character(len=15), public :: soil_water = "          mm/mm"

type, public ::  output_n_p_pool_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: total_pool_n = "     tot_pool_n"
character(len=15), public :: residue_n = "      residue_n"
character(len=15), public :: str_n = "   structural_n"
character(len=15), public :: meta_n = "    metabolic_n"
character(len=15), public :: hs_n = "           hs_n"
character(len=15), public :: hp_n = "           hp_n"
character(len=15), public :: microb_n = "    microbial_n"
character(len=15), public :: lig_n = "       lignin_n"
character(len=15), public :: nonlig_n = "    nonlignin_n"
character(len=15), public :: water_n = "        water_n"
character(len=15), public :: manure_n = "       manure_n"
character(len=15), public :: total_pool_p = "     tot_pool_p"
character(len=15), public :: residue_p = "      residue_p"
character(len=15), public :: str_p = "   structural_p"
character(len=15), public :: meta_p = "    metabolic_p"
character(len=15), public :: hs_p = "           hs_p"
character(len=15), public :: hp_p = "           hp_p"
character(len=15), public :: microb_p = "    microbial_p"
character(len=15), public :: lig_p = "       lignin_p"
character(len=15), public :: nonlig_p = "    nonlignin_p"
character(len=15), public :: water_p = "        water_p"
character(len=15), public :: manure_p = "       manure_p"

type, public ::  output_n_p_pool_header_units

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "       "
character(len=12), public :: soil_lyr = "            "
character(len=12), public :: soil_depth = "          mm"
character(len=12), public :: day = "            "
character(len=12), public :: mo = "            "
character(len=12), public :: day_mo = "            "
character(len=12), public :: yrc = "            "
character(len=12), public :: isd = "            "
character(len=22), public :: id = "                      "
character(len=13), public :: name = "             "
character(len=15), public :: total_pool_n = "          kg/ha"
character(len=15), public :: residue_n = "          kg/ha"
character(len=15), public :: str_n = "          kg/ha"
character(len=15), public :: meta_n = "          kg/ha"
character(len=15), public :: hs_n = "          kg/ha"
character(len=15), public :: hp_n = "          kg/ha"
character(len=15), public :: microb_n = "          kg/ha"
character(len=15), public :: lig_n = "          kg/ha"
character(len=15), public :: nonlig_n = "          kg/ha"
character(len=15), public :: water_n = "          kg/ha"
character(len=15), public :: manure_n = "          kg/ha"
character(len=15), public :: total_pool_p = "          kg/ha"
character(len=15), public :: residue_p = "          kg/ha"
character(len=15), public :: str_p = "          kg/ha"
character(len=15), public :: meta_p = "          kg/ha"
character(len=15), public :: hs_p = "          kg/ha"
character(len=15), public :: hp_p = "          kg/ha"
character(len=15), public :: microb_p = "          kg/ha"
character(len=15), public :: lig_p = "          kg/ha"
character(len=15), public :: nonlig_p = "          kg/ha"
character(len=15), public :: water_p = "          kg/ha"
character(len=15), public :: manure_p = "          kg/ha"

type, public ::  output_carb_vars_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: sut = "            sut"
character(len=16), public :: tillagef = "        tillagef"
character(len=16), public :: bmix = "       cons_bmix"
character(len=16), public :: tillagef_biomix = " tillagef_biomix"
character(len=17), public :: tillagef_tillmix = " tillagef_tillmix"
character(len=15), public :: till_eff = "       till_eff"
character(len=15), public :: cdg = "            cdg"
character(len=15), public :: ox = "             ox"
character(len=15), public :: cs = "             cs"
character(len=15), public :: no3 = "            no3"
character(len=15), public :: nh4 = "            nh4"
character(len=15), public :: resp = "       co2_resp"
character(len=15), public :: soil_tmp = "      soil_temp"
character(len=15), public :: emix = "           emix"

type, public ::  output_org_allo_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: asp = "            asp"
character(len=15), public :: abpt = "            abp"
character(len=15), public :: abco2 = "          abco2"
character(len=15), public :: a1co2 = "          a1co2"
character(len=15), public :: asco2 = "          asco2"
character(len=15), public :: apco2 = "          apco2"

type, public ::  output_org_ratio_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: ncbm = "           ncbm"
character(len=15), public :: nchp = "           nchp"
character(len=15), public :: nchs = "           nchs"

type, public ::  output_org_trans_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=12), public :: soil_lyr = "    soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: bmctp = "          bmctp"
character(len=15), public :: bmntp = "          bmntp"
character(len=15), public :: hsctp = "          hsctp"
character(len=15), public :: hsntp = "          hsntp"
character(len=15), public :: hpctp = "          hpctp"
character(len=15), public :: hpntp = "          hpntp"
character(len=15), public :: lmctp = "          lmctp"
character(len=15), public :: lmntp = "          lmntp"
character(len=15), public :: lsctp = "          lsctp"
character(len=15), public :: lslctp = "         lslctp"
character(len=15), public :: lslnctp = "        lslnctp"
character(len=15), public :: lsntp = "          lsntp"

type, public ::  output_org_trans_header_units

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "       "
character(len=12), public :: soil_lyr = "            "
character(len=12), public :: soil_depth = "          mm"
character(len=12), public :: day = "            "
character(len=12), public :: mo = "            "
character(len=12), public :: day_mo = "            "
character(len=12), public :: yrc = "            "
character(len=12), public :: isd = "            "
character(len=22), public :: id = "                      "
character(len=13), public :: name = "             "
character(len=15), public :: bmctp = "          kg/ha"
character(len=15), public :: bmntp = "          kg/ha"
character(len=15), public :: hsctp = "          kg/ha"
character(len=15), public :: hsntp = "          kg/ha"
character(len=15), public :: hpctp = "          kg/ha"
character(len=15), public :: hpntp = "          kg/ha"
character(len=15), public :: lmctp = "          kg/ha"
character(len=15), public :: lmntp = "          kg/ha"
character(len=15), public :: lsctp = "          kg/ha"
character(len=15), public :: lslctp = "          kg/ha"
character(len=15), public :: lslnctp = "          kg/ha"
character(len=15), public :: lsntp = "          kg/ha"

type, public ::  output_endsim_soil_prop_header

Components

Type Visibility Attributes Name Initial
character(len=7), public :: freq = "freq   "
character(len=20), public :: soil_name = "soil_name           "
character(len=8), public :: soil_lyr = "soil_lyr"
character(len=12), public :: soil_depth = "  soil_depth"
character(len=12), public :: day = "        jday"
character(len=12), public :: mo = "         mon"
character(len=12), public :: day_mo = "         day"
character(len=12), public :: yrc = "          yr"
character(len=12), public :: isd = "        unit"
character(len=22), public :: id = "                gis_id"
character(len=13), public :: name = "    name     "
character(len=15), public :: bd = "             bd"
character(len=15), public :: awc = "            awc"
character(len=15), public :: soil_k = "         soil_k"
character(len=15), public :: carbon = "         carbon"
character(len=15), public :: clay = "           clay"
character(len=15), public :: silt = "           silt"
character(len=15), public :: sand = "           sand"
character(len=15), public :: rock = "           rock"
character(len=15), public :: alb = "            alb"
character(len=15), public :: usle_k = "         usle_k"
character(len=15), public :: ec = "             ec"
character(len=15), public :: caco3 = "          caco3"
character(len=15), public :: ph = "             ph"

type, public ::  output_bsn_carb_header

Components

Type Visibility Attributes Name Initial
character(len=11), public :: day = "       jday"
character(len=11), public :: yrc = "         yr"
character(len=6), public :: blnk = "      "
character(len=15), public :: org_soilc = "      org_soilc"
character(len=15), public :: org_plc = "        org_plc"
character(len=15), public :: org_resc = "       org_resc"

type, public ::  output_bsn_carb_header_units

Components

Type Visibility Attributes Name Initial
character(len=11), public :: day = "           "
character(len=11), public :: yrc = "           "
character(len=6), public :: blnk = "      "
character(len=15), public :: org_soilc = "          kg/ha"
character(len=15), public :: org_plc = "          kg/ha"
character(len=15), public :: org_resc = "          kg/ha"

Subroutines

public subroutine carbon_legacy_open()

cbn_diagnostics drives the extra legacy plc/cflux/cpool and soil-prop files. it used to be read from carb_coefs.cbn (now removed). it now maps to the hru_cb flag letter: "l" (layer) turns diagnostics on; "y" gives the light files only (hru_cbn_lyr, hru_seq_lyr, hru_n_p_pool_stat). write carbon in soil by layer write beginning of simulation soil properties headers to hru_begsim_soil_prop write end of simulation soil properties headers to hru_endsim_soil_prop write carbon in soil, plant, and residue write carbon variables headers to hru_carbvars write org_allo variable headers to hru_org_allo_vars write org_ratio variable headers to hru_org_ratio_vars write org_trans variable headers to hru_org_trans_vars basin carbon summary - only when the legacy soil carbon path is on

Arguments

None