NGEET / fates

repository for the Functionally Assembled Terrestrial Ecosystem Simulator (FATES)
Other
95 stars 91 forks source link

Shared BGC parameters #592

Open rgknox opened 4 years ago

rgknox commented 4 years ago

Moving forward with the implementation of nutrient acquisition between plants and soil competitors, I'm running into some weird questions about where to keep parameters. Note that the acquisition code is on the host model side (i.e. in ELM).

When using FATES-ECA-ELM, some parameters are inherently plant related, and must be associated with FATES PFTs. It is impossible not to define them in the FATES parameter file.

However, there are some "ECA" parameters that are not plant related, but involved in that same code set, like the vmax and km of the mineral surfaces or decomposers.

In one hand I think it would be nice to have all BGC parameters in 1 spot and define them in our file. On the other hand, users may be just as confused to find soil parameters in the vegetation model, and further we will become beholden to hold all of the soil BGC parameters which I think is a slippery slope and we will start taking on too many parameters.

My preference is to only keep "plant specific parameters" in FATES, and leave all other BGC parameters in the host land-model.

I'm currently working with Xiaojuan and @thorntonpe on getting parameter set for FATES-RD.

Current Set of Plant-Specific FATES-ECA parameters, thanks @qzhu-lbl:

    double fates_eca_decompmicc(fates_pft) ;
        fates_eca_decompmicc:units = "gC/m3" ;
        fates_eca_decompmicc:long_name = "soil microbial decomposer biomass (ECA)" ;

    double fates_eca_km_nh4(fates_pft) ;
        fates_eca_km_nh4:units = "g/m2" ;
        fates_eca_km_nh4:long_name = "half-saturation constant for plant nh4 uptake (ECA)" ;    

    double fates_eca_vmax_nh4(fates_pft) ;
        fates_eca_vmax_nh4:units = "g/m2" ;
        fates_eca_vmax_nh4:long_name = "maximum production rate for plant nh4 uptake (ECA)" ;    

    double fates_eca_km_no3(fates_pft) ;
        fates_eca_km_no3:units = "g/m2" ;
        fates_eca_km_no3:long_name = "half-saturation constant for plant no3 uptake (ECA)" ;

    double fates_eca_vmax_no3(fates_pft) ;
        fates_eca_vmax_no3:units = "g/m2" ;
        fates_eca_vmax_no3:long_name = "maximum production rate for plant no3 uptake (ECA)" ;

    double fates_eca_km_p(fates_pft) ;
        fates_eca_km_p:units = "g/m2" ;
        fates_eca_km_p:long_name = "half-saturation constant for plant p uptake (ECA)"" ;

    double fates_eca_vmax_p(fates_pft) ;
        fates_eca_vmax_p:units = "g/m2" ;
        fates_eca_vmax_p:long_name = "maximum production rate for plant p uptake (ECA)" ;

    double fates_eca_vmax_ptase(fates_pft) ;
        fates_eca_vmax_ptase:units = "g/m2" ;
        fates_eca_vmax_ptase:long_name = "maximum production rate for biochemical P (ECA)" ;

    double fates_eca_km_ptase(fates_pft) ;
        fates_eca_km_ptase:units = "g/m2" ;
        fates_eca_km_ptase:long_name = "half-saturation constant for biochemical P (ECA)" ;

    double fates_eca_lambda_ptase(fates_pft) ;
        fates_eca_lambda_ptase:units = "g/m2" ;
        fates_eca_lambda_ptase:long_name = "critical value for biochemical production (ECA)" ;

    double fates_eca_vmax_nfix(fates_pft) ;
        fates_eca_vmax_nfix:units = "g/m2" ;
        fates_eca_vmax_nfix:long_name = "maximum production rate for symbiotic N fixation (ECA)" ;

    double fates_eca_km_nfix(fates_pft) ;
        fates_eca_km_nfix:units = "g/m2" ;
        fates_eca_km_nfix:long_name = "half-saturation constant for symbiotic N fixation (ECA)" ;

   double fates_eca_plant_escalar ;
        fates_eca_plant_escalar:units = "" ;
        fates_eca_plant_escalar:long_name = "scaling factor for plant fine root biomass to calculate nutrient carrier enzyme abundance (ECA)" ;

(Some) Non Plant Specific Parameters (example for ECA):

e_decomp_scalar   ! scaling factor for soil microbial biomass to calculate nutrient carrier enzyme abundance
VMAX_MINSURF_P_vr ! VMAX for P adsorption
KM_MINSURF_P_vr ! KM for P adsorption
KM_NIT              ! KM for nitrifier NH4 uptake
KM_DEN              ! KM for denitrifier NO3 uptake
rosiealice commented 4 years ago

Just re-reading this. Sorry for the delay. I think it does indeed make more sense for soil BGC parameters indexed by PFT to be in the FATES file and soil BGC parameters -not- indexed by PFT to be in the HLM file. In the case of thinking about mycorhizal associations, I feel like we might still find ourselves with something of a grey area, but I think that swallowing the soil parameters into FATES would be a less sensible route...

ckoven commented 4 years ago

Just to say that I also support only adding those soil BGC parameters that are indexed by PFT. And I think we should probably plan on mycorrhizal parameters being in that set too, once implemented.

rgknox commented 4 years ago

There is only one parameter for eca that is plant specific, but not pft specific: fates_eca_plant_escalar. I'm fine with letting the HLM file be its holder.

rgknox commented 2 years ago

We currently still tie decomposer biomass (when ECA is on) to the PFT, I was unsure if this was the best thing to do:

https://github.com/NGEET/fates/blob/sci.1.59.1_api.24.1.0/parameter_files/fates_params_default.cdl#L173-L175