Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClimaLandSimulations: FLUXNET2015 via PFT #582

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

AlexisRenchon
Copy link
Member

@AlexisRenchon AlexisRenchon commented Apr 16, 2024

Purpose

This PR will add FLUXNET2015 with PFTs, and go toward removing experiment/integrated/fluxnet to avoid code duplication.

To-do

  • Dict of PFT corresponding to each FLUXNET2015 site
  • Also need a Dict of filename to download from cluster corresponding to each FLUXNET2015 site (or we could have a struct with both PFT and filename)
  • Add short name for PFTs in src/standalone/Vegetation/pfts.jl , one way or the other, need to match
  • Make sure all site have a PFT, it seems some are missing
  • Less dependencies, using extensions
  • Test: all sites, default args
  • Makie_plots.jl, make sure to use inputs and outputs in units that we want, instead of hard-coding conversion factors which can be confusing (currently error in cumulative water units and timeseries water units)
  • In experiments/integrated/fluxnet, we compare model to data only when driver observation are available (not gap-filled), but we don't filter for gap-filled NEE / GPP / Reco. We should do so here.
  • Use FLUXNET2015 datasets, drivers gapfilled with ERA
  • climaland_output_dataframe.jl don't hardcode 20 (n layers)
  • Inputs_dataframe.jl -> make a function to convert units (from, to) of a DataFrame, which can be called on input and output dataframe
  • Flux timeseries: better legend radiation, SW_in LW_in, LW_out, G...
  • Plot: only when met data was available (don't use gapfilled index)
  • Add widget to plot timeseries or diurnal etc. of use chosen variable
  • (!high prio) make all plots that /experiment/integrated makes, and make sure they are the same
  • (!high prio) docstrings for all struct/functions
  • (!high prio) better README.md
  • (!high prio) docs (ClimaLandSimulation page in ClimaLand docs)
  • (!high prio) move earth_param_set out of module
  • (!high prio) move const FT = FLoat64 out of module
  • use our src constructor for parameters (still need to fix hetero_resp and plant_hydraulics)
  • less functions or clearer names (make_config(), make_setup()...) make_domain and make_timestepper can live in the same file (maybe setup_utils.jl)
  • modules as an arg (e.g., photosynthesis = Farquhar or photosynthesis = optimality)
  • no hard-coded values
  • shorter list of params (use more defaults or constants)
  • lib/ClimaLandSimulations/src/fluxnet_simulation.jl around line 266, why the +40? (this is in experiment/integrated as well)
  • Should LAI, RAI, plant_\nu be in met_drivers?
  • lib/ClimaLandSimulations/src/utilities/inputs_dataframe.jl do we always have all variables from fluxnet input files? (note: I think so, even if there are -9999 they should be there - if not we can create it)
  • add else case for if haskey(...) in make_config
  • rename LAIfunction to allow for other types of LAI input (e.g. netcdf)
  • add PFTs functionality
  • Add Mitra gap-filling code in data_tools.jl (or another gap-filling method, maybe use ERA from FLUXNET)
  • Experiment: all sites, not just Ozark

Content


  • I have read and checked the items on the review checklist.

@AlexisRenchon AlexisRenchon self-assigned this Apr 16, 2024
@AlexisRenchon AlexisRenchon changed the title 1st commit ClimaLandSimulations: FLUXNET2015 via PFT Apr 16, 2024
@AlexisRenchon AlexisRenchon marked this pull request as draft May 22, 2024 17:21
@AlexisRenchon AlexisRenchon added the enhancement New feature or request label May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant