Skip to content

V3 roadmap

TODOs on the roadmap to SurEau-Ecos V3

Mandatory

  • Isotope transport
  • Soil
    • Multiple soil layers
    • full richards(on)
      • incorporate capillary uptake
      • account for excess water when theta>1, e.g. in pptSoil to let it re-infiltrate when possible or re-allocate to different soil layer. what about ponding water at the surface when no surface runoff exists? this will introduce too much infiltration, especially in heavy rainfall events.
    • introduce a lower boundary condition to account for a (fully) saturated bottom layer, e.g. groundwater that can also influence above soil layers through capillary uptake
      • temporary workaround: set specific layer(s) to field capacity with set_SWCtoFieldCapacity_WBsoil()
      • add a real boundary condition, e.g. water potential at boundary
      • Maybe an additional boundary condition forcing the soil matric potential (or theta) directly to the fluxSoilToStem could be a good idea, especially when calibrating plant parameters (plant response can be parameterised according to measurement values eliminating uncertainties from precipitation data and soil parameterisation, which could then be parameterised with a proper plant functioning as sink term)
    • Simplified units of soil parameter (according to ESDAC or SoilGrids) that will be converted to SurEau internal units during initialisation (hopefully less error-prone for new users when converting literature values to their SurEau params)
  • Plant
    • Multiple canopy layers
    • solve issue when plant is disconnected from a specific soil layer (conductance=0), this case is desired to be possible, but division by 0 needs to be dealt with. This is also connected to the rootDepthMax issues, see #6
  • Code
    • Modularisation (clean model compartmentalisation)
      • create an object that contains all important model data (options, parameters, state variables, contingency table, ...). make the object a closure that can be given to functions, so state variables will be mutable and can be edited inside other functions. this is important to separate soil and plant functions
    • check TODO: tags in the R files to solve additional TODOs
    • Add examples and unit tests
    • compare results to main branch and ensure identical outputs (rounded results to specific digits suffice)
    • Onboarding with examples and/or a vignette
  • Documentation
    • List of functions that miss documentation
      • calculate_Ebound_Granier
      • calculate_Ebound_mm_Granier
      • compute_ETP_PM
      • compute_evapoIntercepted_WBveg
      • compute_interception_WBveg
      • compute_KSoil_Camp
      • compute_PLC
      • compute_PLCPrime
      • compute_PSoil
      • compute_PSoil_Camp
      • compute_RnAndETP_WBclim
      • compute_rootProfileLDR
      • compute_thetaAtGivenPSoil
      • compute_thetaAtGivenPSoil_Camp
      • compute_Tleaf
      • compute_transpiration_WBveg
      • create.modeling.options
      • create.vegetation.parameters
      • daylength
      • dot-paramsVegetationGroup
      • dot-paramVegetationDefaults
      • dot-plantParams
      • get_output_def
      • implicitTemporalIntegrationAtNP1
      • interp_WBclim
      • new_WBclim
      • new_WBclimHour
      • PlotTheStandAndPlant
      • update_capacitancesApoAndSym_WBveg
      • update_kplant_WBveg
      • update_WBveg_LAIandStocks
      • yearlyInitialisation_WBveg
    • Post-Processing script extracting all arguments of all functions as a csv or spreadsheet
    • make consistent documntation for "plant level functions" : create.vegetation.parameters.r ; plant.utils.r and functionsWBVeg.r (@nicolas.martin)
    • outputs, solve "how to change the outputs when you install the package.", some variables cannot be saved when changing daily to yearly time step (LFMC) ==> to be solved

Additional

  • CRAN package
  • SERGHEI API
    • State handling
      • Enable SurEau to start with initial conditions, i.e. import a previous model state to continue with. This should work on the hourly time step for sufficient coupling (if not possible daily time step the least)
      • enable sureau to export the model state
    • Outsource computationally heavy functions to C++
      • compute_plantNextTimeStep_WBveg
      • aggregateWB
  • C or C++ basic functions to call SurEau plant compartment from other models, e.g. Medfate and SERGHEI
    • some of Miquels work can be used for this -- organise a collective meeting to discuss required functionality and preferred language (C or C++)
  • PDI
  • Costa Rica related
    • Successive root redistribution
    • Water availability governed leave renewal
    • LAI seems to increase for Caoba steadily during the wet season instead of reaching max after e.g. 21 days. Clarify how LAI is deduced from LAImax as of now and check if there could be some additional way to reduce/increase the fraction.
    • Soil evaporation
  • Transpiration model issues, see #8
Edited by Gregor Rickert