From 79111b5277b43b10ffba39d24de30e4e8e898c12 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Wed, 5 Nov 2025 22:21:00 +0100 Subject: [PATCH 01/36] move src models --- Project.toml => SINDBAD/Project.toml | 0 {src => SINDBAD/src}/Models/EVI/EVI.jl | 0 {src => SINDBAD/src}/Models/EVI/EVI_constant.jl | 0 {src => SINDBAD/src}/Models/EVI/EVI_forcing.jl | 0 {src => SINDBAD/src}/Models/LAI/LAI.jl | 0 {src => SINDBAD/src}/Models/LAI/LAI_cVegLeaf.jl | 0 {src => SINDBAD/src}/Models/LAI/LAI_constant.jl | 0 {src => SINDBAD/src}/Models/LAI/LAI_forcing.jl | 0 {src => SINDBAD/src}/Models/Models.jl | 0 {src => SINDBAD/src}/Models/NDVI/NDVI.jl | 0 {src => SINDBAD/src}/Models/NDVI/NDVI_constant.jl | 0 {src => SINDBAD/src}/Models/NDVI/NDVI_forcing.jl | 0 {src => SINDBAD/src}/Models/NDWI/NDWI.jl | 0 {src => SINDBAD/src}/Models/NDWI/NDWI_constant.jl | 0 {src => SINDBAD/src}/Models/NDWI/NDWI_forcing.jl | 0 {src => SINDBAD/src}/Models/NIRv/NIRv.jl | 0 {src => SINDBAD/src}/Models/NIRv/NIRv_constant.jl | 0 {src => SINDBAD/src}/Models/NIRv/NIRv_forcing.jl | 0 {src => SINDBAD/src}/Models/PET/PET.jl | 0 {src => SINDBAD/src}/Models/PET/PET_Lu2005.jl | 0 .../src}/Models/PET/PET_PriestleyTaylor1972.jl | 0 {src => SINDBAD/src}/Models/PET/PET_forcing.jl | 0 {src => SINDBAD/src}/Models/PFT/PFT.jl | 0 {src => SINDBAD/src}/Models/PFT/PFT_constant.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE_Medlyn2011.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE_VPDDay.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE_VPDDayCo2.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE_constant.jl | 0 {src => SINDBAD/src}/Models/WUE/WUE_expVPDDayCo2.jl | 0 {src => SINDBAD/src}/Models/ambientCO2/ambientCO2.jl | 0 .../src}/Models/ambientCO2/ambientCO2_constant.jl | 0 .../src}/Models/ambientCO2/ambientCO2_forcing.jl | 0 .../src}/Models/autoRespiration/autoRespiration.jl | 0 .../autoRespiration/autoRespiration_Thornley2000A.jl | 0 .../autoRespiration/autoRespiration_Thornley2000B.jl | 0 .../autoRespiration/autoRespiration_Thornley2000C.jl | 0 .../Models/autoRespiration/autoRespiration_none.jl | 0 .../Models/autoRespirationAirT/autoRespirationAirT.jl | 0 .../autoRespirationAirT/autoRespirationAirT_Q10.jl | 0 .../autoRespirationAirT/autoRespirationAirT_none.jl | 0 {src => SINDBAD/src}/Models/cAllocation/cAllocation.jl | 0 .../cAllocation/cAllocation_Friedlingstein1999.jl | 0 .../src}/Models/cAllocation/cAllocation_GSI.jl | 0 .../src}/Models/cAllocation/cAllocation_fixed.jl | 0 .../src}/Models/cAllocation/cAllocation_none.jl | 0 .../src}/Models/cAllocationLAI/cAllocationLAI.jl | 0 .../cAllocationLAI_Friedlingstein1999.jl | 0 .../src}/Models/cAllocationLAI/cAllocationLAI_none.jl | 0 .../cAllocationNutrients/cAllocationNutrients.jl | 0 .../cAllocationNutrients_Friedlingstein1999.jl | 0 .../cAllocationNutrients/cAllocationNutrients_none.jl | 0 .../cAllocationRadiation/cAllocationRadiation.jl | 0 .../cAllocationRadiation/cAllocationRadiation_GSI.jl | 0 .../cAllocationRadiation/cAllocationRadiation_RgPot.jl | 0 .../cAllocationRadiation/cAllocationRadiation_gpp.jl | 0 .../cAllocationRadiation/cAllocationRadiation_none.jl | 0 .../src}/Models/cAllocationSoilT/cAllocationSoilT.jl | 0 .../cAllocationSoilT_Friedlingstein1999.jl | 0 .../Models/cAllocationSoilT/cAllocationSoilT_gpp.jl | 0 .../Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl | 0 .../Models/cAllocationSoilT/cAllocationSoilT_none.jl | 0 .../src}/Models/cAllocationSoilW/cAllocationSoilW.jl | 0 .../cAllocationSoilW_Friedlingstein1999.jl | 0 .../Models/cAllocationSoilW/cAllocationSoilW_gpp.jl | 0 .../Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl | 0 .../Models/cAllocationSoilW/cAllocationSoilW_none.jl | 0 .../cAllocationTreeFraction/cAllocationTreeFraction.jl | 0 .../cAllocationTreeFraction_Friedlingstein1999.jl | 0 {src => SINDBAD/src}/Models/cBiomass/cBiomass.jl | 0 .../src}/Models/cBiomass/cBiomass_simple.jl | 0 .../src}/Models/cBiomass/cBiomass_treeGrass.jl | 0 .../cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl | 0 {src => SINDBAD/src}/Models/cCycle/cCycle.jl | 0 {src => SINDBAD/src}/Models/cCycle/cCycle_CASA.jl | 0 {src => SINDBAD/src}/Models/cCycle/cCycle_GSI.jl | 0 {src => SINDBAD/src}/Models/cCycle/cCycle_simple.jl | 0 {src => SINDBAD/src}/Models/cCycleBase/cCycleBase.jl | 0 .../src}/Models/cCycleBase/cCycleBase_CASA.jl | 0 .../src}/Models/cCycleBase/cCycleBase_GSI.jl | 0 .../src}/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl | 0 .../cCycleBase_GSI_PlantForm_LargeKReserve.jl | 0 .../src}/Models/cCycleBase/cCycleBase_simple.jl | 0 .../src}/Models/cCycleConsistency/cCycleConsistency.jl | 0 .../cCycleConsistency/cCycleConsistency_simple.jl | 0 .../src}/Models/cCycleDisturbance/cCycleDisturbance.jl | 0 .../cCycleDisturbance/cCycleDisturbance_WROASTED.jl | 0 .../cCycleDisturbance/cCycleDisturbance_cFlow.jl | 0 {src => SINDBAD/src}/Models/cFlow/cFlow.jl | 0 {src => SINDBAD/src}/Models/cFlow/cFlow_CASA.jl | 0 {src => SINDBAD/src}/Models/cFlow/cFlow_GSI.jl | 0 {src => SINDBAD/src}/Models/cFlow/cFlow_none.jl | 0 {src => SINDBAD/src}/Models/cFlow/cFlow_simple.jl | 0 .../Models/cFlowSoilProperties/cFlowSoilProperties.jl | 0 .../cFlowSoilProperties/cFlowSoilProperties_CASA.jl | 0 .../cFlowSoilProperties/cFlowSoilProperties_none.jl | 0 .../Models/cFlowVegProperties/cFlowVegProperties.jl | 0 .../cFlowVegProperties/cFlowVegProperties_CASA.jl | 0 .../cFlowVegProperties/cFlowVegProperties_none.jl | 0 {src => SINDBAD/src}/Models/cTau/cTau.jl | 0 {src => SINDBAD/src}/Models/cTau/cTau_mult.jl | 0 {src => SINDBAD/src}/Models/cTau/cTau_none.jl | 0 {src => SINDBAD/src}/Models/cTauLAI/cTauLAI.jl | 0 {src => SINDBAD/src}/Models/cTauLAI/cTauLAI_CASA.jl | 0 {src => SINDBAD/src}/Models/cTauLAI/cTauLAI_none.jl | 0 .../Models/cTauSoilProperties/cTauSoilProperties.jl | 0 .../cTauSoilProperties/cTauSoilProperties_CASA.jl | 0 .../cTauSoilProperties/cTauSoilProperties_none.jl | 0 {src => SINDBAD/src}/Models/cTauSoilT/cTauSoilT.jl | 0 {src => SINDBAD/src}/Models/cTauSoilT/cTauSoilT_Q10.jl | 0 .../src}/Models/cTauSoilT/cTauSoilT_none.jl | 0 {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW.jl | 0 .../src}/Models/cTauSoilW/cTauSoilW_CASA.jl | 0 {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW_GSI.jl | 0 .../src}/Models/cTauSoilW/cTauSoilW_none.jl | 0 .../src}/Models/cTauVegProperties/cTauVegProperties.jl | 0 .../Models/cTauVegProperties/cTauVegProperties_CASA.jl | 0 .../Models/cTauVegProperties/cTauVegProperties_none.jl | 0 .../src}/Models/cVegetationDieOff/cVegetationDieOff.jl | 0 .../cVegetationDieOff/cVegetationDieOff_forcing.jl | 0 .../src}/Models/capillaryFlow/capillaryFlow.jl | 0 .../Models/capillaryFlow/capillaryFlow_VanDijk2010.jl | 0 {src => SINDBAD/src}/Models/constants/constants.jl | 0 .../src}/Models/constants/constants_numbers.jl | 0 .../src}/Models/deriveVariables/deriveVariables.jl | 0 .../Models/deriveVariables/deriveVariables_simple.jl | 0 {src => SINDBAD/src}/Models/drainage/drainage.jl | 0 {src => SINDBAD/src}/Models/drainage/drainage_dos.jl | 0 .../src}/Models/drainage/drainage_kUnsat.jl | 0 {src => SINDBAD/src}/Models/drainage/drainage_wFC.jl | 0 {src => SINDBAD/src}/Models/evaporation/evaporation.jl | 0 .../src}/Models/evaporation/evaporation_Snyder2000.jl | 0 .../Models/evaporation/evaporation_bareFraction.jl | 0 .../Models/evaporation/evaporation_demandSupply.jl | 0 .../src}/Models/evaporation/evaporation_fAPAR.jl | 0 .../src}/Models/evaporation/evaporation_none.jl | 0 .../src}/Models/evaporation/evaporation_vegFraction.jl | 0 .../Models/evapotranspiration/evapotranspiration.jl | 0 .../evapotranspiration/evapotranspiration_sum.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_EVI.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_LAI.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_cVegLeaf.jl | 0 .../src}/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_constant.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_forcing.jl | 0 {src => SINDBAD/src}/Models/fAPAR/fAPAR_vegFraction.jl | 0 {src => SINDBAD/src}/Models/getPools/getPools.jl | 0 .../src}/Models/getPools/getPools_simple.jl | 0 {src => SINDBAD/src}/Models/gpp/gpp.jl | 0 {src => SINDBAD/src}/Models/gpp/gpp_coupled.jl | 0 {src => SINDBAD/src}/Models/gpp/gpp_min.jl | 0 {src => SINDBAD/src}/Models/gpp/gpp_mult.jl | 0 {src => SINDBAD/src}/Models/gpp/gpp_none.jl | 0 .../src}/Models/gpp/gpp_transpirationWUE.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT_CASA.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT_GSI.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT_MOD17.jl | 0 .../src}/Models/gppAirT/gppAirT_Maekelae2008.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT_TEM.jl | 0 .../src}/Models/gppAirT/gppAirT_Wang2014.jl | 0 {src => SINDBAD/src}/Models/gppAirT/gppAirT_none.jl | 0 {src => SINDBAD/src}/Models/gppDemand/gppDemand.jl | 0 {src => SINDBAD/src}/Models/gppDemand/gppDemand_min.jl | 0 .../src}/Models/gppDemand/gppDemand_mult.jl | 0 .../src}/Models/gppDemand/gppDemand_none.jl | 0 .../src}/Models/gppDiffRadiation/gppDiffRadiation.jl | 0 .../Models/gppDiffRadiation/gppDiffRadiation_GSI.jl | 0 .../gppDiffRadiation/gppDiffRadiation_Turner2006.jl | 0 .../gppDiffRadiation/gppDiffRadiation_Wang2015.jl | 0 .../Models/gppDiffRadiation/gppDiffRadiation_none.jl | 0 .../src}/Models/gppDirRadiation/gppDirRadiation.jl | 0 .../gppDirRadiation/gppDirRadiation_Maekelae2008.jl | 0 .../Models/gppDirRadiation/gppDirRadiation_none.jl | 0 .../src}/Models/gppPotential/gppPotential.jl | 0 .../src}/Models/gppPotential/gppPotential_Monteith.jl | 0 {src => SINDBAD/src}/Models/gppSoilW/gppSoilW.jl | 0 {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_CASA.jl | 0 {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_GSI.jl | 0 .../src}/Models/gppSoilW/gppSoilW_Keenan2009.jl | 0 .../src}/Models/gppSoilW/gppSoilW_Stocker2020.jl | 0 {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_none.jl | 0 {src => SINDBAD/src}/Models/gppVPD/gppVPD.jl | 0 {src => SINDBAD/src}/Models/gppVPD/gppVPD_MOD17.jl | 0 .../src}/Models/gppVPD/gppVPD_Maekelae2008.jl | 0 {src => SINDBAD/src}/Models/gppVPD/gppVPD_PRELES.jl | 0 {src => SINDBAD/src}/Models/gppVPD/gppVPD_expco2.jl | 0 {src => SINDBAD/src}/Models/gppVPD/gppVPD_none.jl | 0 .../src}/Models/groundWRecharge/groundWRecharge.jl | 0 .../src}/Models/groundWRecharge/groundWRecharge_dos.jl | 0 .../Models/groundWRecharge/groundWRecharge_fraction.jl | 0 .../Models/groundWRecharge/groundWRecharge_kUnsat.jl | 0 .../Models/groundWRecharge/groundWRecharge_none.jl | 0 .../groundWSoilWInteraction/groundWSoilWInteraction.jl | 0 .../groundWSoilWInteraction_VanDijk2010.jl | 0 .../groundWSoilWInteraction_gradient.jl | 0 .../groundWSoilWInteraction_gradientNeg.jl | 0 .../groundWSoilWInteraction_none.jl | 0 .../groundWSurfaceWInteraction.jl | 0 .../groundWSurfaceWInteraction_fracGradient.jl | 0 .../groundWSurfaceWInteraction_fracGroundW.jl | 0 .../src}/Models/interception/interception.jl | 0 .../Models/interception/interception_Miralles2010.jl | 0 .../src}/Models/interception/interception_fAPAR.jl | 0 .../src}/Models/interception/interception_none.jl | 0 .../Models/interception/interception_vegFraction.jl | 0 {src => SINDBAD/src}/Models/percolation/percolation.jl | 0 .../src}/Models/percolation/percolation_WBP.jl | 0 {src => SINDBAD/src}/Models/plantForm/plantForm.jl | 0 {src => SINDBAD/src}/Models/plantForm/plantForm_PFT.jl | 0 .../src}/Models/plantForm/plantForm_fixed.jl | 0 .../src}/Models/rainIntensity/rainIntensity.jl | 0 .../src}/Models/rainIntensity/rainIntensity_forcing.jl | 0 .../src}/Models/rainIntensity/rainIntensity_simple.jl | 0 {src => SINDBAD/src}/Models/rainSnow/rainSnow.jl | 0 {src => SINDBAD/src}/Models/rainSnow/rainSnow_Tair.jl | 0 .../src}/Models/rainSnow/rainSnow_forcing.jl | 0 {src => SINDBAD/src}/Models/rainSnow/rainSnow_rain.jl | 0 .../src}/Models/rootMaximumDepth/rootMaximumDepth.jl | 0 .../rootMaximumDepth/rootMaximumDepth_fracSoilD.jl | 0 .../Models/rootWaterEfficiency/rootWaterEfficiency.jl | 0 .../rootWaterEfficiency_constant.jl | 0 .../rootWaterEfficiency_expCvegRoot.jl | 0 .../rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl | 0 .../rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl | 0 .../rootWaterEfficiency_k2fvegFraction.jl | 0 .../src}/Models/rootWaterUptake/rootWaterUptake.jl | 0 .../rootWaterUptake/rootWaterUptake_proportion.jl | 0 .../rootWaterUptake/rootWaterUptake_topBottom.jl | 0 {src => SINDBAD/src}/Models/runoff/runoff.jl | 0 {src => SINDBAD/src}/Models/runoff/runoff_sum.jl | 0 {src => SINDBAD/src}/Models/runoffBase/runoffBase.jl | 0 .../src}/Models/runoffBase/runoffBase_Zhang2008.jl | 0 .../src}/Models/runoffBase/runoffBase_none.jl | 0 .../runoffInfiltrationExcess.jl | 0 .../runoffInfiltrationExcess_Jung.jl | 0 .../runoffInfiltrationExcess_kUnsat.jl | 0 .../runoffInfiltrationExcess_none.jl | 0 .../src}/Models/runoffInterflow/runoffInterflow.jl | 0 .../Models/runoffInterflow/runoffInterflow_none.jl | 0 .../Models/runoffInterflow/runoffInterflow_residual.jl | 0 .../src}/Models/runoffOverland/runoffOverland.jl | 0 .../src}/Models/runoffOverland/runoffOverland_Inf.jl | 0 .../Models/runoffOverland/runoffOverland_InfIntSat.jl | 0 .../src}/Models/runoffOverland/runoffOverland_Sat.jl | 0 .../src}/Models/runoffOverland/runoffOverland_none.jl | 0 .../runoffSaturationExcess/runoffSaturationExcess.jl | 0 .../runoffSaturationExcess_Bergstroem1992.jl | 0 ...fSaturationExcess_Bergstroem1992MixedVegFraction.jl | 0 ...runoffSaturationExcess_Bergstroem1992VegFraction.jl | 0 ...aturationExcess_Bergstroem1992VegFractionFroSoil.jl | 0 ...offSaturationExcess_Bergstroem1992VegFractionPFT.jl | 0 .../runoffSaturationExcess_Zhang2008.jl | 0 .../runoffSaturationExcess_none.jl | 0 .../runoffSaturationExcess_satFraction.jl | 0 .../src}/Models/runoffSurface/runoffSurface.jl | 0 .../Models/runoffSurface/runoffSurface_Orth2013.jl | 0 .../runoffSurface/runoffSurface_Trautmann2018.jl | 0 .../src}/Models/runoffSurface/runoffSurface_all.jl | 0 .../runoffSurface/runoffSurface_directIndirect.jl | 0 .../runoffSurface_directIndirectFroSoil.jl | 0 .../Models/runoffSurface/runoffSurface_indirect.jl | 0 .../src}/Models/runoffSurface/runoffSurface_none.jl | 0 .../src}/Models/saturatedFraction/saturatedFraction.jl | 0 .../Models/saturatedFraction/saturatedFraction_none.jl | 0 .../src}/Models/snowFraction/snowFraction.jl | 0 .../src}/Models/snowFraction/snowFraction_HTESSEL.jl | 0 .../src}/Models/snowFraction/snowFraction_binary.jl | 0 .../src}/Models/snowFraction/snowFraction_none.jl | 0 {src => SINDBAD/src}/Models/snowMelt/snowMelt.jl | 0 {src => SINDBAD/src}/Models/snowMelt/snowMelt_Tair.jl | 0 .../src}/Models/snowMelt/snowMelt_TairRn.jl | 0 .../src}/Models/soilProperties/soilProperties.jl | 0 .../Models/soilProperties/soilProperties_Saxton1986.jl | 0 .../Models/soilProperties/soilProperties_Saxton2006.jl | 0 {src => SINDBAD/src}/Models/soilTexture/soilTexture.jl | 0 .../src}/Models/soilTexture/soilTexture_constant.jl | 0 .../src}/Models/soilTexture/soilTexture_forcing.jl | 0 {src => SINDBAD/src}/Models/soilWBase/soilWBase.jl | 0 .../src}/Models/soilWBase/soilWBase_smax1Layer.jl | 0 .../src}/Models/soilWBase/soilWBase_smax2Layer.jl | 0 .../src}/Models/soilWBase/soilWBase_smax2fRD4.jl | 0 .../src}/Models/soilWBase/soilWBase_uniform.jl | 0 {src => SINDBAD/src}/Models/standardSindbadModels.jl | 0 {src => SINDBAD/src}/Models/sublimation/sublimation.jl | 0 .../src}/Models/sublimation/sublimation_GLEAM.jl | 0 .../src}/Models/sublimation/sublimation_none.jl | 0 .../src}/Models/transpiration/transpiration.jl | 0 .../src}/Models/transpiration/transpiration_coupled.jl | 0 .../Models/transpiration/transpiration_demandSupply.jl | 0 .../src}/Models/transpiration/transpiration_none.jl | 0 .../Models/transpirationDemand/transpirationDemand.jl | 0 .../transpirationDemand/transpirationDemand_CASA.jl | 0 .../transpirationDemand/transpirationDemand_PET.jl | 0 .../transpirationDemand_PETfAPAR.jl | 0 .../transpirationDemand_PETvegFraction.jl | 0 .../Models/transpirationSupply/transpirationSupply.jl | 0 .../transpirationSupply/transpirationSupply_CASA.jl | 0 .../transpirationSupply_Federer1982.jl | 0 .../transpirationSupply/transpirationSupply_wAWC.jl | 0 .../transpirationSupply_wAWCvegFraction.jl | 0 .../src}/Models/treeFraction/treeFraction.jl | 0 .../src}/Models/treeFraction/treeFraction_constant.jl | 0 .../src}/Models/treeFraction/treeFraction_forcing.jl | 0 .../src}/Models/vegAvailableWater/vegAvailableWater.jl | 0 .../vegAvailableWater_rootWaterEfficiency.jl | 0 .../vegAvailableWater/vegAvailableWater_sigmoid.jl | 0 {src => SINDBAD/src}/Models/vegFraction/vegFraction.jl | 0 .../src}/Models/vegFraction/vegFraction_constant.jl | 0 .../src}/Models/vegFraction/vegFraction_forcing.jl | 0 .../src}/Models/vegFraction/vegFraction_scaledEVI.jl | 0 .../src}/Models/vegFraction/vegFraction_scaledLAI.jl | 0 .../src}/Models/vegFraction/vegFraction_scaledNDVI.jl | 0 .../src}/Models/vegFraction/vegFraction_scaledNIRv.jl | 0 .../src}/Models/vegFraction/vegFraction_scaledfAPAR.jl | 0 {src => SINDBAD/src}/Models/wCycle/wCycle.jl | 0 {src => SINDBAD/src}/Models/wCycle/wCycle_combined.jl | 0 .../src}/Models/wCycle/wCycle_components.jl | 0 {src => SINDBAD/src}/Models/wCycleBase/wCycleBase.jl | 0 .../src}/Models/wCycleBase/wCycleBase_simple.jl | 0 .../src}/Models/waterBalance/waterBalance.jl | 0 .../src}/Models/waterBalance/waterBalance_simple.jl | 0 {src => SINDBAD/src}/Sindbad.jl | 0 {src => SINDBAD/src}/Types/ArrayTypes.jl | 0 {src => SINDBAD/src}/Types/ExperimentTypes.jl | 0 {src => SINDBAD/src}/Types/InputTypes.jl | 0 {src => SINDBAD/src}/Types/LandTypes.jl | 0 {src => SINDBAD/src}/Types/LongTuple.jl | 0 {src => SINDBAD/src}/Types/MLTypes.jl | 0 {src => SINDBAD/src}/Types/MetricsTypes.jl | 0 {src => SINDBAD/src}/Types/ModelTypes.jl | 0 {src => SINDBAD/src}/Types/OptimizationTypes.jl | 0 {src => SINDBAD/src}/Types/SpinupTypes.jl | 0 {src => SINDBAD/src}/Types/TimeTypes.jl | 0 {src => SINDBAD/src}/Types/Types.jl | 0 {src => SINDBAD/src}/Types/TypesFunctions.jl | 0 {src => SINDBAD/src}/Types/docStringForTypes.jl | 0 {src => SINDBAD/src}/generateCode.jl | 0 {src => SINDBAD/src}/modelTools.jl | 0 {src => SINDBAD/src}/sindbadVariableCatalog.jl | 0 {src => SINDBAD/src}/utilsCore.jl | 0 {test => SINDBAD/test}/Models/ambientCO2.jl | 0 {test => SINDBAD/test}/Models/autoRespiration.jl | 0 {test => SINDBAD/test}/Models/models.jl | 0 {test => SINDBAD/test}/Project.toml | 0 {test => SINDBAD/test}/mock_input/forcing.jl | 0 {test => SINDBAD/test}/mock_input/helpers.jl | 0 {test => SINDBAD/test}/mock_input/land.jl | 0 {test => SINDBAD/test}/runtests.jl | 0 {test => SINDBAD/test}/utilsCore.jl | 0 test/README.md | 10 ---------- 352 files changed, 10 deletions(-) rename Project.toml => SINDBAD/Project.toml (100%) rename {src => SINDBAD/src}/Models/EVI/EVI.jl (100%) rename {src => SINDBAD/src}/Models/EVI/EVI_constant.jl (100%) rename {src => SINDBAD/src}/Models/EVI/EVI_forcing.jl (100%) rename {src => SINDBAD/src}/Models/LAI/LAI.jl (100%) rename {src => SINDBAD/src}/Models/LAI/LAI_cVegLeaf.jl (100%) rename {src => SINDBAD/src}/Models/LAI/LAI_constant.jl (100%) rename {src => SINDBAD/src}/Models/LAI/LAI_forcing.jl (100%) rename {src => SINDBAD/src}/Models/Models.jl (100%) rename {src => SINDBAD/src}/Models/NDVI/NDVI.jl (100%) rename {src => SINDBAD/src}/Models/NDVI/NDVI_constant.jl (100%) rename {src => SINDBAD/src}/Models/NDVI/NDVI_forcing.jl (100%) rename {src => SINDBAD/src}/Models/NDWI/NDWI.jl (100%) rename {src => SINDBAD/src}/Models/NDWI/NDWI_constant.jl (100%) rename {src => SINDBAD/src}/Models/NDWI/NDWI_forcing.jl (100%) rename {src => SINDBAD/src}/Models/NIRv/NIRv.jl (100%) rename {src => SINDBAD/src}/Models/NIRv/NIRv_constant.jl (100%) rename {src => SINDBAD/src}/Models/NIRv/NIRv_forcing.jl (100%) rename {src => SINDBAD/src}/Models/PET/PET.jl (100%) rename {src => SINDBAD/src}/Models/PET/PET_Lu2005.jl (100%) rename {src => SINDBAD/src}/Models/PET/PET_PriestleyTaylor1972.jl (100%) rename {src => SINDBAD/src}/Models/PET/PET_forcing.jl (100%) rename {src => SINDBAD/src}/Models/PFT/PFT.jl (100%) rename {src => SINDBAD/src}/Models/PFT/PFT_constant.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE_Medlyn2011.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE_VPDDay.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE_VPDDayCo2.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE_constant.jl (100%) rename {src => SINDBAD/src}/Models/WUE/WUE_expVPDDayCo2.jl (100%) rename {src => SINDBAD/src}/Models/ambientCO2/ambientCO2.jl (100%) rename {src => SINDBAD/src}/Models/ambientCO2/ambientCO2_constant.jl (100%) rename {src => SINDBAD/src}/Models/ambientCO2/ambientCO2_forcing.jl (100%) rename {src => SINDBAD/src}/Models/autoRespiration/autoRespiration.jl (100%) rename {src => SINDBAD/src}/Models/autoRespiration/autoRespiration_Thornley2000A.jl (100%) rename {src => SINDBAD/src}/Models/autoRespiration/autoRespiration_Thornley2000B.jl (100%) rename {src => SINDBAD/src}/Models/autoRespiration/autoRespiration_Thornley2000C.jl (100%) rename {src => SINDBAD/src}/Models/autoRespiration/autoRespiration_none.jl (100%) rename {src => SINDBAD/src}/Models/autoRespirationAirT/autoRespirationAirT.jl (100%) rename {src => SINDBAD/src}/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl (100%) rename {src => SINDBAD/src}/Models/autoRespirationAirT/autoRespirationAirT_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocation/cAllocation.jl (100%) rename {src => SINDBAD/src}/Models/cAllocation/cAllocation_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cAllocation/cAllocation_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cAllocation/cAllocation_fixed.jl (100%) rename {src => SINDBAD/src}/Models/cAllocation/cAllocation_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationLAI/cAllocationLAI.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationLAI/cAllocationLAI_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationNutrients/cAllocationNutrients.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationNutrients/cAllocationNutrients_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationRadiation/cAllocationRadiation.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationRadiation/cAllocationRadiation_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilT/cAllocationSoilT.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilT/cAllocationSoilT_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilW/cAllocationSoilW.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationSoilW/cAllocationSoilW_none.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl (100%) rename {src => SINDBAD/src}/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl (100%) rename {src => SINDBAD/src}/Models/cBiomass/cBiomass.jl (100%) rename {src => SINDBAD/src}/Models/cBiomass/cBiomass_simple.jl (100%) rename {src => SINDBAD/src}/Models/cBiomass/cBiomass_treeGrass.jl (100%) rename {src => SINDBAD/src}/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl (100%) rename {src => SINDBAD/src}/Models/cCycle/cCycle.jl (100%) rename {src => SINDBAD/src}/Models/cCycle/cCycle_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cCycle/cCycle_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cCycle/cCycle_simple.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl (100%) rename {src => SINDBAD/src}/Models/cCycleBase/cCycleBase_simple.jl (100%) rename {src => SINDBAD/src}/Models/cCycleConsistency/cCycleConsistency.jl (100%) rename {src => SINDBAD/src}/Models/cCycleConsistency/cCycleConsistency_simple.jl (100%) rename {src => SINDBAD/src}/Models/cCycleDisturbance/cCycleDisturbance.jl (100%) rename {src => SINDBAD/src}/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl (100%) rename {src => SINDBAD/src}/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl (100%) rename {src => SINDBAD/src}/Models/cFlow/cFlow.jl (100%) rename {src => SINDBAD/src}/Models/cFlow/cFlow_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cFlow/cFlow_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cFlow/cFlow_none.jl (100%) rename {src => SINDBAD/src}/Models/cFlow/cFlow_simple.jl (100%) rename {src => SINDBAD/src}/Models/cFlowSoilProperties/cFlowSoilProperties.jl (100%) rename {src => SINDBAD/src}/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl (100%) rename {src => SINDBAD/src}/Models/cFlowVegProperties/cFlowVegProperties.jl (100%) rename {src => SINDBAD/src}/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cFlowVegProperties/cFlowVegProperties_none.jl (100%) rename {src => SINDBAD/src}/Models/cTau/cTau.jl (100%) rename {src => SINDBAD/src}/Models/cTau/cTau_mult.jl (100%) rename {src => SINDBAD/src}/Models/cTau/cTau_none.jl (100%) rename {src => SINDBAD/src}/Models/cTauLAI/cTauLAI.jl (100%) rename {src => SINDBAD/src}/Models/cTauLAI/cTauLAI_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cTauLAI/cTauLAI_none.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilProperties/cTauSoilProperties.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilProperties/cTauSoilProperties_none.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilT/cTauSoilT.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilT/cTauSoilT_Q10.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilT/cTauSoilT_none.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW_GSI.jl (100%) rename {src => SINDBAD/src}/Models/cTauSoilW/cTauSoilW_none.jl (100%) rename {src => SINDBAD/src}/Models/cTauVegProperties/cTauVegProperties.jl (100%) rename {src => SINDBAD/src}/Models/cTauVegProperties/cTauVegProperties_CASA.jl (100%) rename {src => SINDBAD/src}/Models/cTauVegProperties/cTauVegProperties_none.jl (100%) rename {src => SINDBAD/src}/Models/cVegetationDieOff/cVegetationDieOff.jl (100%) rename {src => SINDBAD/src}/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl (100%) rename {src => SINDBAD/src}/Models/capillaryFlow/capillaryFlow.jl (100%) rename {src => SINDBAD/src}/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl (100%) rename {src => SINDBAD/src}/Models/constants/constants.jl (100%) rename {src => SINDBAD/src}/Models/constants/constants_numbers.jl (100%) rename {src => SINDBAD/src}/Models/deriveVariables/deriveVariables.jl (100%) rename {src => SINDBAD/src}/Models/deriveVariables/deriveVariables_simple.jl (100%) rename {src => SINDBAD/src}/Models/drainage/drainage.jl (100%) rename {src => SINDBAD/src}/Models/drainage/drainage_dos.jl (100%) rename {src => SINDBAD/src}/Models/drainage/drainage_kUnsat.jl (100%) rename {src => SINDBAD/src}/Models/drainage/drainage_wFC.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_Snyder2000.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_bareFraction.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_demandSupply.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_fAPAR.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_none.jl (100%) rename {src => SINDBAD/src}/Models/evaporation/evaporation_vegFraction.jl (100%) rename {src => SINDBAD/src}/Models/evapotranspiration/evapotranspiration.jl (100%) rename {src => SINDBAD/src}/Models/evapotranspiration/evapotranspiration_sum.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_EVI.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_LAI.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_cVegLeaf.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_constant.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_forcing.jl (100%) rename {src => SINDBAD/src}/Models/fAPAR/fAPAR_vegFraction.jl (100%) rename {src => SINDBAD/src}/Models/getPools/getPools.jl (100%) rename {src => SINDBAD/src}/Models/getPools/getPools_simple.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp_coupled.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp_min.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp_mult.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp_none.jl (100%) rename {src => SINDBAD/src}/Models/gpp/gpp_transpirationWUE.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_CASA.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_GSI.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_MOD17.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_Maekelae2008.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_TEM.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_Wang2014.jl (100%) rename {src => SINDBAD/src}/Models/gppAirT/gppAirT_none.jl (100%) rename {src => SINDBAD/src}/Models/gppDemand/gppDemand.jl (100%) rename {src => SINDBAD/src}/Models/gppDemand/gppDemand_min.jl (100%) rename {src => SINDBAD/src}/Models/gppDemand/gppDemand_mult.jl (100%) rename {src => SINDBAD/src}/Models/gppDemand/gppDemand_none.jl (100%) rename {src => SINDBAD/src}/Models/gppDiffRadiation/gppDiffRadiation.jl (100%) rename {src => SINDBAD/src}/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl (100%) rename {src => SINDBAD/src}/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl (100%) rename {src => SINDBAD/src}/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl (100%) rename {src => SINDBAD/src}/Models/gppDiffRadiation/gppDiffRadiation_none.jl (100%) rename {src => SINDBAD/src}/Models/gppDirRadiation/gppDirRadiation.jl (100%) rename {src => SINDBAD/src}/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl (100%) rename {src => SINDBAD/src}/Models/gppDirRadiation/gppDirRadiation_none.jl (100%) rename {src => SINDBAD/src}/Models/gppPotential/gppPotential.jl (100%) rename {src => SINDBAD/src}/Models/gppPotential/gppPotential_Monteith.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_CASA.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_GSI.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_Keenan2009.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_Stocker2020.jl (100%) rename {src => SINDBAD/src}/Models/gppSoilW/gppSoilW_none.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD_MOD17.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD_Maekelae2008.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD_PRELES.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD_expco2.jl (100%) rename {src => SINDBAD/src}/Models/gppVPD/gppVPD_none.jl (100%) rename {src => SINDBAD/src}/Models/groundWRecharge/groundWRecharge.jl (100%) rename {src => SINDBAD/src}/Models/groundWRecharge/groundWRecharge_dos.jl (100%) rename {src => SINDBAD/src}/Models/groundWRecharge/groundWRecharge_fraction.jl (100%) rename {src => SINDBAD/src}/Models/groundWRecharge/groundWRecharge_kUnsat.jl (100%) rename {src => SINDBAD/src}/Models/groundWRecharge/groundWRecharge_none.jl (100%) rename {src => SINDBAD/src}/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl (100%) rename {src => SINDBAD/src}/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl (100%) rename {src => SINDBAD/src}/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl (100%) rename {src => SINDBAD/src}/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl (100%) rename {src => SINDBAD/src}/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl (100%) rename {src => SINDBAD/src}/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl (100%) rename {src => SINDBAD/src}/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl (100%) rename {src => SINDBAD/src}/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl (100%) rename {src => SINDBAD/src}/Models/interception/interception.jl (100%) rename {src => SINDBAD/src}/Models/interception/interception_Miralles2010.jl (100%) rename {src => SINDBAD/src}/Models/interception/interception_fAPAR.jl (100%) rename {src => SINDBAD/src}/Models/interception/interception_none.jl (100%) rename {src => SINDBAD/src}/Models/interception/interception_vegFraction.jl (100%) rename {src => SINDBAD/src}/Models/percolation/percolation.jl (100%) rename {src => SINDBAD/src}/Models/percolation/percolation_WBP.jl (100%) rename {src => SINDBAD/src}/Models/plantForm/plantForm.jl (100%) rename {src => SINDBAD/src}/Models/plantForm/plantForm_PFT.jl (100%) rename {src => SINDBAD/src}/Models/plantForm/plantForm_fixed.jl (100%) rename {src => SINDBAD/src}/Models/rainIntensity/rainIntensity.jl (100%) rename {src => SINDBAD/src}/Models/rainIntensity/rainIntensity_forcing.jl (100%) rename {src => SINDBAD/src}/Models/rainIntensity/rainIntensity_simple.jl (100%) rename {src => SINDBAD/src}/Models/rainSnow/rainSnow.jl (100%) rename {src => SINDBAD/src}/Models/rainSnow/rainSnow_Tair.jl (100%) rename {src => SINDBAD/src}/Models/rainSnow/rainSnow_forcing.jl (100%) rename {src => SINDBAD/src}/Models/rainSnow/rainSnow_rain.jl (100%) rename {src => SINDBAD/src}/Models/rootMaximumDepth/rootMaximumDepth.jl (100%) rename {src => SINDBAD/src}/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterUptake/rootWaterUptake.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterUptake/rootWaterUptake_proportion.jl (100%) rename {src => SINDBAD/src}/Models/rootWaterUptake/rootWaterUptake_topBottom.jl (100%) rename {src => SINDBAD/src}/Models/runoff/runoff.jl (100%) rename {src => SINDBAD/src}/Models/runoff/runoff_sum.jl (100%) rename {src => SINDBAD/src}/Models/runoffBase/runoffBase.jl (100%) rename {src => SINDBAD/src}/Models/runoffBase/runoffBase_Zhang2008.jl (100%) rename {src => SINDBAD/src}/Models/runoffBase/runoffBase_none.jl (100%) rename {src => SINDBAD/src}/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl (100%) rename {src => SINDBAD/src}/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl (100%) rename {src => SINDBAD/src}/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl (100%) rename {src => SINDBAD/src}/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl (100%) rename {src => SINDBAD/src}/Models/runoffInterflow/runoffInterflow.jl (100%) rename {src => SINDBAD/src}/Models/runoffInterflow/runoffInterflow_none.jl (100%) rename {src => SINDBAD/src}/Models/runoffInterflow/runoffInterflow_residual.jl (100%) rename {src => SINDBAD/src}/Models/runoffOverland/runoffOverland.jl (100%) rename {src => SINDBAD/src}/Models/runoffOverland/runoffOverland_Inf.jl (100%) rename {src => SINDBAD/src}/Models/runoffOverland/runoffOverland_InfIntSat.jl (100%) rename {src => SINDBAD/src}/Models/runoffOverland/runoffOverland_Sat.jl (100%) rename {src => SINDBAD/src}/Models/runoffOverland/runoffOverland_none.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl (100%) rename {src => SINDBAD/src}/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_Orth2013.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_Trautmann2018.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_all.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_directIndirect.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_indirect.jl (100%) rename {src => SINDBAD/src}/Models/runoffSurface/runoffSurface_none.jl (100%) rename {src => SINDBAD/src}/Models/saturatedFraction/saturatedFraction.jl (100%) rename {src => SINDBAD/src}/Models/saturatedFraction/saturatedFraction_none.jl (100%) rename {src => SINDBAD/src}/Models/snowFraction/snowFraction.jl (100%) rename {src => SINDBAD/src}/Models/snowFraction/snowFraction_HTESSEL.jl (100%) rename {src => SINDBAD/src}/Models/snowFraction/snowFraction_binary.jl (100%) rename {src => SINDBAD/src}/Models/snowFraction/snowFraction_none.jl (100%) rename {src => SINDBAD/src}/Models/snowMelt/snowMelt.jl (100%) rename {src => SINDBAD/src}/Models/snowMelt/snowMelt_Tair.jl (100%) rename {src => SINDBAD/src}/Models/snowMelt/snowMelt_TairRn.jl (100%) rename {src => SINDBAD/src}/Models/soilProperties/soilProperties.jl (100%) rename {src => SINDBAD/src}/Models/soilProperties/soilProperties_Saxton1986.jl (100%) rename {src => SINDBAD/src}/Models/soilProperties/soilProperties_Saxton2006.jl (100%) rename {src => SINDBAD/src}/Models/soilTexture/soilTexture.jl (100%) rename {src => SINDBAD/src}/Models/soilTexture/soilTexture_constant.jl (100%) rename {src => SINDBAD/src}/Models/soilTexture/soilTexture_forcing.jl (100%) rename {src => SINDBAD/src}/Models/soilWBase/soilWBase.jl (100%) rename {src => SINDBAD/src}/Models/soilWBase/soilWBase_smax1Layer.jl (100%) rename {src => SINDBAD/src}/Models/soilWBase/soilWBase_smax2Layer.jl (100%) rename {src => SINDBAD/src}/Models/soilWBase/soilWBase_smax2fRD4.jl (100%) rename {src => SINDBAD/src}/Models/soilWBase/soilWBase_uniform.jl (100%) rename {src => SINDBAD/src}/Models/standardSindbadModels.jl (100%) rename {src => SINDBAD/src}/Models/sublimation/sublimation.jl (100%) rename {src => SINDBAD/src}/Models/sublimation/sublimation_GLEAM.jl (100%) rename {src => SINDBAD/src}/Models/sublimation/sublimation_none.jl (100%) rename {src => SINDBAD/src}/Models/transpiration/transpiration.jl (100%) rename {src => SINDBAD/src}/Models/transpiration/transpiration_coupled.jl (100%) rename {src => SINDBAD/src}/Models/transpiration/transpiration_demandSupply.jl (100%) rename {src => SINDBAD/src}/Models/transpiration/transpiration_none.jl (100%) rename {src => SINDBAD/src}/Models/transpirationDemand/transpirationDemand.jl (100%) rename {src => SINDBAD/src}/Models/transpirationDemand/transpirationDemand_CASA.jl (100%) rename {src => SINDBAD/src}/Models/transpirationDemand/transpirationDemand_PET.jl (100%) rename {src => SINDBAD/src}/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl (100%) rename {src => SINDBAD/src}/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl (100%) rename {src => SINDBAD/src}/Models/transpirationSupply/transpirationSupply.jl (100%) rename {src => SINDBAD/src}/Models/transpirationSupply/transpirationSupply_CASA.jl (100%) rename {src => SINDBAD/src}/Models/transpirationSupply/transpirationSupply_Federer1982.jl (100%) rename {src => SINDBAD/src}/Models/transpirationSupply/transpirationSupply_wAWC.jl (100%) rename {src => SINDBAD/src}/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl (100%) rename {src => SINDBAD/src}/Models/treeFraction/treeFraction.jl (100%) rename {src => SINDBAD/src}/Models/treeFraction/treeFraction_constant.jl (100%) rename {src => SINDBAD/src}/Models/treeFraction/treeFraction_forcing.jl (100%) rename {src => SINDBAD/src}/Models/vegAvailableWater/vegAvailableWater.jl (100%) rename {src => SINDBAD/src}/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl (100%) rename {src => SINDBAD/src}/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_constant.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_forcing.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_scaledEVI.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_scaledLAI.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_scaledNDVI.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_scaledNIRv.jl (100%) rename {src => SINDBAD/src}/Models/vegFraction/vegFraction_scaledfAPAR.jl (100%) rename {src => SINDBAD/src}/Models/wCycle/wCycle.jl (100%) rename {src => SINDBAD/src}/Models/wCycle/wCycle_combined.jl (100%) rename {src => SINDBAD/src}/Models/wCycle/wCycle_components.jl (100%) rename {src => SINDBAD/src}/Models/wCycleBase/wCycleBase.jl (100%) rename {src => SINDBAD/src}/Models/wCycleBase/wCycleBase_simple.jl (100%) rename {src => SINDBAD/src}/Models/waterBalance/waterBalance.jl (100%) rename {src => SINDBAD/src}/Models/waterBalance/waterBalance_simple.jl (100%) rename {src => SINDBAD/src}/Sindbad.jl (100%) rename {src => SINDBAD/src}/Types/ArrayTypes.jl (100%) rename {src => SINDBAD/src}/Types/ExperimentTypes.jl (100%) rename {src => SINDBAD/src}/Types/InputTypes.jl (100%) rename {src => SINDBAD/src}/Types/LandTypes.jl (100%) rename {src => SINDBAD/src}/Types/LongTuple.jl (100%) rename {src => SINDBAD/src}/Types/MLTypes.jl (100%) rename {src => SINDBAD/src}/Types/MetricsTypes.jl (100%) rename {src => SINDBAD/src}/Types/ModelTypes.jl (100%) rename {src => SINDBAD/src}/Types/OptimizationTypes.jl (100%) rename {src => SINDBAD/src}/Types/SpinupTypes.jl (100%) rename {src => SINDBAD/src}/Types/TimeTypes.jl (100%) rename {src => SINDBAD/src}/Types/Types.jl (100%) rename {src => SINDBAD/src}/Types/TypesFunctions.jl (100%) rename {src => SINDBAD/src}/Types/docStringForTypes.jl (100%) rename {src => SINDBAD/src}/generateCode.jl (100%) rename {src => SINDBAD/src}/modelTools.jl (100%) rename {src => SINDBAD/src}/sindbadVariableCatalog.jl (100%) rename {src => SINDBAD/src}/utilsCore.jl (100%) rename {test => SINDBAD/test}/Models/ambientCO2.jl (100%) rename {test => SINDBAD/test}/Models/autoRespiration.jl (100%) rename {test => SINDBAD/test}/Models/models.jl (100%) rename {test => SINDBAD/test}/Project.toml (100%) rename {test => SINDBAD/test}/mock_input/forcing.jl (100%) rename {test => SINDBAD/test}/mock_input/helpers.jl (100%) rename {test => SINDBAD/test}/mock_input/land.jl (100%) rename {test => SINDBAD/test}/runtests.jl (100%) rename {test => SINDBAD/test}/utilsCore.jl (100%) delete mode 100644 test/README.md diff --git a/Project.toml b/SINDBAD/Project.toml similarity index 100% rename from Project.toml rename to SINDBAD/Project.toml diff --git a/src/Models/EVI/EVI.jl b/SINDBAD/src/Models/EVI/EVI.jl similarity index 100% rename from src/Models/EVI/EVI.jl rename to SINDBAD/src/Models/EVI/EVI.jl diff --git a/src/Models/EVI/EVI_constant.jl b/SINDBAD/src/Models/EVI/EVI_constant.jl similarity index 100% rename from src/Models/EVI/EVI_constant.jl rename to SINDBAD/src/Models/EVI/EVI_constant.jl diff --git a/src/Models/EVI/EVI_forcing.jl b/SINDBAD/src/Models/EVI/EVI_forcing.jl similarity index 100% rename from src/Models/EVI/EVI_forcing.jl rename to SINDBAD/src/Models/EVI/EVI_forcing.jl diff --git a/src/Models/LAI/LAI.jl b/SINDBAD/src/Models/LAI/LAI.jl similarity index 100% rename from src/Models/LAI/LAI.jl rename to SINDBAD/src/Models/LAI/LAI.jl diff --git a/src/Models/LAI/LAI_cVegLeaf.jl b/SINDBAD/src/Models/LAI/LAI_cVegLeaf.jl similarity index 100% rename from src/Models/LAI/LAI_cVegLeaf.jl rename to SINDBAD/src/Models/LAI/LAI_cVegLeaf.jl diff --git a/src/Models/LAI/LAI_constant.jl b/SINDBAD/src/Models/LAI/LAI_constant.jl similarity index 100% rename from src/Models/LAI/LAI_constant.jl rename to SINDBAD/src/Models/LAI/LAI_constant.jl diff --git a/src/Models/LAI/LAI_forcing.jl b/SINDBAD/src/Models/LAI/LAI_forcing.jl similarity index 100% rename from src/Models/LAI/LAI_forcing.jl rename to SINDBAD/src/Models/LAI/LAI_forcing.jl diff --git a/src/Models/Models.jl b/SINDBAD/src/Models/Models.jl similarity index 100% rename from src/Models/Models.jl rename to SINDBAD/src/Models/Models.jl diff --git a/src/Models/NDVI/NDVI.jl b/SINDBAD/src/Models/NDVI/NDVI.jl similarity index 100% rename from src/Models/NDVI/NDVI.jl rename to SINDBAD/src/Models/NDVI/NDVI.jl diff --git a/src/Models/NDVI/NDVI_constant.jl b/SINDBAD/src/Models/NDVI/NDVI_constant.jl similarity index 100% rename from src/Models/NDVI/NDVI_constant.jl rename to SINDBAD/src/Models/NDVI/NDVI_constant.jl diff --git a/src/Models/NDVI/NDVI_forcing.jl b/SINDBAD/src/Models/NDVI/NDVI_forcing.jl similarity index 100% rename from src/Models/NDVI/NDVI_forcing.jl rename to SINDBAD/src/Models/NDVI/NDVI_forcing.jl diff --git a/src/Models/NDWI/NDWI.jl b/SINDBAD/src/Models/NDWI/NDWI.jl similarity index 100% rename from src/Models/NDWI/NDWI.jl rename to SINDBAD/src/Models/NDWI/NDWI.jl diff --git a/src/Models/NDWI/NDWI_constant.jl b/SINDBAD/src/Models/NDWI/NDWI_constant.jl similarity index 100% rename from src/Models/NDWI/NDWI_constant.jl rename to SINDBAD/src/Models/NDWI/NDWI_constant.jl diff --git a/src/Models/NDWI/NDWI_forcing.jl b/SINDBAD/src/Models/NDWI/NDWI_forcing.jl similarity index 100% rename from src/Models/NDWI/NDWI_forcing.jl rename to SINDBAD/src/Models/NDWI/NDWI_forcing.jl diff --git a/src/Models/NIRv/NIRv.jl b/SINDBAD/src/Models/NIRv/NIRv.jl similarity index 100% rename from src/Models/NIRv/NIRv.jl rename to SINDBAD/src/Models/NIRv/NIRv.jl diff --git a/src/Models/NIRv/NIRv_constant.jl b/SINDBAD/src/Models/NIRv/NIRv_constant.jl similarity index 100% rename from src/Models/NIRv/NIRv_constant.jl rename to SINDBAD/src/Models/NIRv/NIRv_constant.jl diff --git a/src/Models/NIRv/NIRv_forcing.jl b/SINDBAD/src/Models/NIRv/NIRv_forcing.jl similarity index 100% rename from src/Models/NIRv/NIRv_forcing.jl rename to SINDBAD/src/Models/NIRv/NIRv_forcing.jl diff --git a/src/Models/PET/PET.jl b/SINDBAD/src/Models/PET/PET.jl similarity index 100% rename from src/Models/PET/PET.jl rename to SINDBAD/src/Models/PET/PET.jl diff --git a/src/Models/PET/PET_Lu2005.jl b/SINDBAD/src/Models/PET/PET_Lu2005.jl similarity index 100% rename from src/Models/PET/PET_Lu2005.jl rename to SINDBAD/src/Models/PET/PET_Lu2005.jl diff --git a/src/Models/PET/PET_PriestleyTaylor1972.jl b/SINDBAD/src/Models/PET/PET_PriestleyTaylor1972.jl similarity index 100% rename from src/Models/PET/PET_PriestleyTaylor1972.jl rename to SINDBAD/src/Models/PET/PET_PriestleyTaylor1972.jl diff --git a/src/Models/PET/PET_forcing.jl b/SINDBAD/src/Models/PET/PET_forcing.jl similarity index 100% rename from src/Models/PET/PET_forcing.jl rename to SINDBAD/src/Models/PET/PET_forcing.jl diff --git a/src/Models/PFT/PFT.jl b/SINDBAD/src/Models/PFT/PFT.jl similarity index 100% rename from src/Models/PFT/PFT.jl rename to SINDBAD/src/Models/PFT/PFT.jl diff --git a/src/Models/PFT/PFT_constant.jl b/SINDBAD/src/Models/PFT/PFT_constant.jl similarity index 100% rename from src/Models/PFT/PFT_constant.jl rename to SINDBAD/src/Models/PFT/PFT_constant.jl diff --git a/src/Models/WUE/WUE.jl b/SINDBAD/src/Models/WUE/WUE.jl similarity index 100% rename from src/Models/WUE/WUE.jl rename to SINDBAD/src/Models/WUE/WUE.jl diff --git a/src/Models/WUE/WUE_Medlyn2011.jl b/SINDBAD/src/Models/WUE/WUE_Medlyn2011.jl similarity index 100% rename from src/Models/WUE/WUE_Medlyn2011.jl rename to SINDBAD/src/Models/WUE/WUE_Medlyn2011.jl diff --git a/src/Models/WUE/WUE_VPDDay.jl b/SINDBAD/src/Models/WUE/WUE_VPDDay.jl similarity index 100% rename from src/Models/WUE/WUE_VPDDay.jl rename to SINDBAD/src/Models/WUE/WUE_VPDDay.jl diff --git a/src/Models/WUE/WUE_VPDDayCo2.jl b/SINDBAD/src/Models/WUE/WUE_VPDDayCo2.jl similarity index 100% rename from src/Models/WUE/WUE_VPDDayCo2.jl rename to SINDBAD/src/Models/WUE/WUE_VPDDayCo2.jl diff --git a/src/Models/WUE/WUE_constant.jl b/SINDBAD/src/Models/WUE/WUE_constant.jl similarity index 100% rename from src/Models/WUE/WUE_constant.jl rename to SINDBAD/src/Models/WUE/WUE_constant.jl diff --git a/src/Models/WUE/WUE_expVPDDayCo2.jl b/SINDBAD/src/Models/WUE/WUE_expVPDDayCo2.jl similarity index 100% rename from src/Models/WUE/WUE_expVPDDayCo2.jl rename to SINDBAD/src/Models/WUE/WUE_expVPDDayCo2.jl diff --git a/src/Models/ambientCO2/ambientCO2.jl b/SINDBAD/src/Models/ambientCO2/ambientCO2.jl similarity index 100% rename from src/Models/ambientCO2/ambientCO2.jl rename to SINDBAD/src/Models/ambientCO2/ambientCO2.jl diff --git a/src/Models/ambientCO2/ambientCO2_constant.jl b/SINDBAD/src/Models/ambientCO2/ambientCO2_constant.jl similarity index 100% rename from src/Models/ambientCO2/ambientCO2_constant.jl rename to SINDBAD/src/Models/ambientCO2/ambientCO2_constant.jl diff --git a/src/Models/ambientCO2/ambientCO2_forcing.jl b/SINDBAD/src/Models/ambientCO2/ambientCO2_forcing.jl similarity index 100% rename from src/Models/ambientCO2/ambientCO2_forcing.jl rename to SINDBAD/src/Models/ambientCO2/ambientCO2_forcing.jl diff --git a/src/Models/autoRespiration/autoRespiration.jl b/SINDBAD/src/Models/autoRespiration/autoRespiration.jl similarity index 100% rename from src/Models/autoRespiration/autoRespiration.jl rename to SINDBAD/src/Models/autoRespiration/autoRespiration.jl diff --git a/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl b/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl similarity index 100% rename from src/Models/autoRespiration/autoRespiration_Thornley2000A.jl rename to SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl diff --git a/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl b/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl similarity index 100% rename from src/Models/autoRespiration/autoRespiration_Thornley2000B.jl rename to SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl diff --git a/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl b/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl similarity index 100% rename from src/Models/autoRespiration/autoRespiration_Thornley2000C.jl rename to SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl diff --git a/src/Models/autoRespiration/autoRespiration_none.jl b/SINDBAD/src/Models/autoRespiration/autoRespiration_none.jl similarity index 100% rename from src/Models/autoRespiration/autoRespiration_none.jl rename to SINDBAD/src/Models/autoRespiration/autoRespiration_none.jl diff --git a/src/Models/autoRespirationAirT/autoRespirationAirT.jl b/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT.jl similarity index 100% rename from src/Models/autoRespirationAirT/autoRespirationAirT.jl rename to SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT.jl diff --git a/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl b/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl similarity index 100% rename from src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl rename to SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl diff --git a/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl b/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl similarity index 100% rename from src/Models/autoRespirationAirT/autoRespirationAirT_none.jl rename to SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl diff --git a/src/Models/cAllocation/cAllocation.jl b/SINDBAD/src/Models/cAllocation/cAllocation.jl similarity index 100% rename from src/Models/cAllocation/cAllocation.jl rename to SINDBAD/src/Models/cAllocation/cAllocation.jl diff --git a/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocation/cAllocation_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl diff --git a/src/Models/cAllocation/cAllocation_GSI.jl b/SINDBAD/src/Models/cAllocation/cAllocation_GSI.jl similarity index 100% rename from src/Models/cAllocation/cAllocation_GSI.jl rename to SINDBAD/src/Models/cAllocation/cAllocation_GSI.jl diff --git a/src/Models/cAllocation/cAllocation_fixed.jl b/SINDBAD/src/Models/cAllocation/cAllocation_fixed.jl similarity index 100% rename from src/Models/cAllocation/cAllocation_fixed.jl rename to SINDBAD/src/Models/cAllocation/cAllocation_fixed.jl diff --git a/src/Models/cAllocation/cAllocation_none.jl b/SINDBAD/src/Models/cAllocation/cAllocation_none.jl similarity index 100% rename from src/Models/cAllocation/cAllocation_none.jl rename to SINDBAD/src/Models/cAllocation/cAllocation_none.jl diff --git a/src/Models/cAllocationLAI/cAllocationLAI.jl b/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI.jl similarity index 100% rename from src/Models/cAllocationLAI/cAllocationLAI.jl rename to SINDBAD/src/Models/cAllocationLAI/cAllocationLAI.jl diff --git a/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl diff --git a/src/Models/cAllocationLAI/cAllocationLAI_none.jl b/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_none.jl similarity index 100% rename from src/Models/cAllocationLAI/cAllocationLAI_none.jl rename to SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_none.jl diff --git a/src/Models/cAllocationNutrients/cAllocationNutrients.jl b/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients.jl similarity index 100% rename from src/Models/cAllocationNutrients/cAllocationNutrients.jl rename to SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients.jl diff --git a/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl diff --git a/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl b/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl similarity index 100% rename from src/Models/cAllocationNutrients/cAllocationNutrients_none.jl rename to SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl diff --git a/src/Models/cAllocationRadiation/cAllocationRadiation.jl b/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation.jl similarity index 100% rename from src/Models/cAllocationRadiation/cAllocationRadiation.jl rename to SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation.jl diff --git a/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl b/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl similarity index 100% rename from src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl rename to SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl diff --git a/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl b/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl similarity index 100% rename from src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl rename to SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl diff --git a/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl b/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl similarity index 100% rename from src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl rename to SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl diff --git a/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl b/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl similarity index 100% rename from src/Models/cAllocationRadiation/cAllocationRadiation_none.jl rename to SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl diff --git a/src/Models/cAllocationSoilT/cAllocationSoilT.jl b/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT.jl similarity index 100% rename from src/Models/cAllocationSoilT/cAllocationSoilT.jl rename to SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT.jl diff --git a/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl diff --git a/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl b/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl similarity index 100% rename from src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl rename to SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl diff --git a/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl b/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl similarity index 100% rename from src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl rename to SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl diff --git a/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl b/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl similarity index 100% rename from src/Models/cAllocationSoilT/cAllocationSoilT_none.jl rename to SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl diff --git a/src/Models/cAllocationSoilW/cAllocationSoilW.jl b/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW.jl similarity index 100% rename from src/Models/cAllocationSoilW/cAllocationSoilW.jl rename to SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW.jl diff --git a/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl diff --git a/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl b/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl similarity index 100% rename from src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl rename to SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl diff --git a/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl b/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl similarity index 100% rename from src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl rename to SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl diff --git a/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl b/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl similarity index 100% rename from src/Models/cAllocationSoilW/cAllocationSoilW_none.jl rename to SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl diff --git a/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl b/SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl similarity index 100% rename from src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl rename to SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl diff --git a/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl b/SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl similarity index 100% rename from src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl rename to SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl diff --git a/src/Models/cBiomass/cBiomass.jl b/SINDBAD/src/Models/cBiomass/cBiomass.jl similarity index 100% rename from src/Models/cBiomass/cBiomass.jl rename to SINDBAD/src/Models/cBiomass/cBiomass.jl diff --git a/src/Models/cBiomass/cBiomass_simple.jl b/SINDBAD/src/Models/cBiomass/cBiomass_simple.jl similarity index 100% rename from src/Models/cBiomass/cBiomass_simple.jl rename to SINDBAD/src/Models/cBiomass/cBiomass_simple.jl diff --git a/src/Models/cBiomass/cBiomass_treeGrass.jl b/SINDBAD/src/Models/cBiomass/cBiomass_treeGrass.jl similarity index 100% rename from src/Models/cBiomass/cBiomass_treeGrass.jl rename to SINDBAD/src/Models/cBiomass/cBiomass_treeGrass.jl diff --git a/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl b/SINDBAD/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl similarity index 100% rename from src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl rename to SINDBAD/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl diff --git a/src/Models/cCycle/cCycle.jl b/SINDBAD/src/Models/cCycle/cCycle.jl similarity index 100% rename from src/Models/cCycle/cCycle.jl rename to SINDBAD/src/Models/cCycle/cCycle.jl diff --git a/src/Models/cCycle/cCycle_CASA.jl b/SINDBAD/src/Models/cCycle/cCycle_CASA.jl similarity index 100% rename from src/Models/cCycle/cCycle_CASA.jl rename to SINDBAD/src/Models/cCycle/cCycle_CASA.jl diff --git a/src/Models/cCycle/cCycle_GSI.jl b/SINDBAD/src/Models/cCycle/cCycle_GSI.jl similarity index 100% rename from src/Models/cCycle/cCycle_GSI.jl rename to SINDBAD/src/Models/cCycle/cCycle_GSI.jl diff --git a/src/Models/cCycle/cCycle_simple.jl b/SINDBAD/src/Models/cCycle/cCycle_simple.jl similarity index 100% rename from src/Models/cCycle/cCycle_simple.jl rename to SINDBAD/src/Models/cCycle/cCycle_simple.jl diff --git a/src/Models/cCycleBase/cCycleBase.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase.jl diff --git a/src/Models/cCycleBase/cCycleBase_CASA.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase_CASA.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase_CASA.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase_CASA.jl diff --git a/src/Models/cCycleBase/cCycleBase_GSI.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase_GSI.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase_GSI.jl diff --git a/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl diff --git a/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl diff --git a/src/Models/cCycleBase/cCycleBase_simple.jl b/SINDBAD/src/Models/cCycleBase/cCycleBase_simple.jl similarity index 100% rename from src/Models/cCycleBase/cCycleBase_simple.jl rename to SINDBAD/src/Models/cCycleBase/cCycleBase_simple.jl diff --git a/src/Models/cCycleConsistency/cCycleConsistency.jl b/SINDBAD/src/Models/cCycleConsistency/cCycleConsistency.jl similarity index 100% rename from src/Models/cCycleConsistency/cCycleConsistency.jl rename to SINDBAD/src/Models/cCycleConsistency/cCycleConsistency.jl diff --git a/src/Models/cCycleConsistency/cCycleConsistency_simple.jl b/SINDBAD/src/Models/cCycleConsistency/cCycleConsistency_simple.jl similarity index 100% rename from src/Models/cCycleConsistency/cCycleConsistency_simple.jl rename to SINDBAD/src/Models/cCycleConsistency/cCycleConsistency_simple.jl diff --git a/src/Models/cCycleDisturbance/cCycleDisturbance.jl b/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance.jl similarity index 100% rename from src/Models/cCycleDisturbance/cCycleDisturbance.jl rename to SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance.jl diff --git a/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl b/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl similarity index 100% rename from src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl rename to SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl diff --git a/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl b/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl similarity index 100% rename from src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl rename to SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl diff --git a/src/Models/cFlow/cFlow.jl b/SINDBAD/src/Models/cFlow/cFlow.jl similarity index 100% rename from src/Models/cFlow/cFlow.jl rename to SINDBAD/src/Models/cFlow/cFlow.jl diff --git a/src/Models/cFlow/cFlow_CASA.jl b/SINDBAD/src/Models/cFlow/cFlow_CASA.jl similarity index 100% rename from src/Models/cFlow/cFlow_CASA.jl rename to SINDBAD/src/Models/cFlow/cFlow_CASA.jl diff --git a/src/Models/cFlow/cFlow_GSI.jl b/SINDBAD/src/Models/cFlow/cFlow_GSI.jl similarity index 100% rename from src/Models/cFlow/cFlow_GSI.jl rename to SINDBAD/src/Models/cFlow/cFlow_GSI.jl diff --git a/src/Models/cFlow/cFlow_none.jl b/SINDBAD/src/Models/cFlow/cFlow_none.jl similarity index 100% rename from src/Models/cFlow/cFlow_none.jl rename to SINDBAD/src/Models/cFlow/cFlow_none.jl diff --git a/src/Models/cFlow/cFlow_simple.jl b/SINDBAD/src/Models/cFlow/cFlow_simple.jl similarity index 100% rename from src/Models/cFlow/cFlow_simple.jl rename to SINDBAD/src/Models/cFlow/cFlow_simple.jl diff --git a/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl b/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl similarity index 100% rename from src/Models/cFlowSoilProperties/cFlowSoilProperties.jl rename to SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl diff --git a/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl b/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl similarity index 100% rename from src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl rename to SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl diff --git a/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl b/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl similarity index 100% rename from src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl rename to SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl diff --git a/src/Models/cFlowVegProperties/cFlowVegProperties.jl b/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties.jl similarity index 100% rename from src/Models/cFlowVegProperties/cFlowVegProperties.jl rename to SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties.jl diff --git a/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl b/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl similarity index 100% rename from src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl rename to SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl diff --git a/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl b/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl similarity index 100% rename from src/Models/cFlowVegProperties/cFlowVegProperties_none.jl rename to SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl diff --git a/src/Models/cTau/cTau.jl b/SINDBAD/src/Models/cTau/cTau.jl similarity index 100% rename from src/Models/cTau/cTau.jl rename to SINDBAD/src/Models/cTau/cTau.jl diff --git a/src/Models/cTau/cTau_mult.jl b/SINDBAD/src/Models/cTau/cTau_mult.jl similarity index 100% rename from src/Models/cTau/cTau_mult.jl rename to SINDBAD/src/Models/cTau/cTau_mult.jl diff --git a/src/Models/cTau/cTau_none.jl b/SINDBAD/src/Models/cTau/cTau_none.jl similarity index 100% rename from src/Models/cTau/cTau_none.jl rename to SINDBAD/src/Models/cTau/cTau_none.jl diff --git a/src/Models/cTauLAI/cTauLAI.jl b/SINDBAD/src/Models/cTauLAI/cTauLAI.jl similarity index 100% rename from src/Models/cTauLAI/cTauLAI.jl rename to SINDBAD/src/Models/cTauLAI/cTauLAI.jl diff --git a/src/Models/cTauLAI/cTauLAI_CASA.jl b/SINDBAD/src/Models/cTauLAI/cTauLAI_CASA.jl similarity index 100% rename from src/Models/cTauLAI/cTauLAI_CASA.jl rename to SINDBAD/src/Models/cTauLAI/cTauLAI_CASA.jl diff --git a/src/Models/cTauLAI/cTauLAI_none.jl b/SINDBAD/src/Models/cTauLAI/cTauLAI_none.jl similarity index 100% rename from src/Models/cTauLAI/cTauLAI_none.jl rename to SINDBAD/src/Models/cTauLAI/cTauLAI_none.jl diff --git a/src/Models/cTauSoilProperties/cTauSoilProperties.jl b/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties.jl similarity index 100% rename from src/Models/cTauSoilProperties/cTauSoilProperties.jl rename to SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties.jl diff --git a/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl b/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl similarity index 100% rename from src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl rename to SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl diff --git a/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl b/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl similarity index 100% rename from src/Models/cTauSoilProperties/cTauSoilProperties_none.jl rename to SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl diff --git a/src/Models/cTauSoilT/cTauSoilT.jl b/SINDBAD/src/Models/cTauSoilT/cTauSoilT.jl similarity index 100% rename from src/Models/cTauSoilT/cTauSoilT.jl rename to SINDBAD/src/Models/cTauSoilT/cTauSoilT.jl diff --git a/src/Models/cTauSoilT/cTauSoilT_Q10.jl b/SINDBAD/src/Models/cTauSoilT/cTauSoilT_Q10.jl similarity index 100% rename from src/Models/cTauSoilT/cTauSoilT_Q10.jl rename to SINDBAD/src/Models/cTauSoilT/cTauSoilT_Q10.jl diff --git a/src/Models/cTauSoilT/cTauSoilT_none.jl b/SINDBAD/src/Models/cTauSoilT/cTauSoilT_none.jl similarity index 100% rename from src/Models/cTauSoilT/cTauSoilT_none.jl rename to SINDBAD/src/Models/cTauSoilT/cTauSoilT_none.jl diff --git a/src/Models/cTauSoilW/cTauSoilW.jl b/SINDBAD/src/Models/cTauSoilW/cTauSoilW.jl similarity index 100% rename from src/Models/cTauSoilW/cTauSoilW.jl rename to SINDBAD/src/Models/cTauSoilW/cTauSoilW.jl diff --git a/src/Models/cTauSoilW/cTauSoilW_CASA.jl b/SINDBAD/src/Models/cTauSoilW/cTauSoilW_CASA.jl similarity index 100% rename from src/Models/cTauSoilW/cTauSoilW_CASA.jl rename to SINDBAD/src/Models/cTauSoilW/cTauSoilW_CASA.jl diff --git a/src/Models/cTauSoilW/cTauSoilW_GSI.jl b/SINDBAD/src/Models/cTauSoilW/cTauSoilW_GSI.jl similarity index 100% rename from src/Models/cTauSoilW/cTauSoilW_GSI.jl rename to SINDBAD/src/Models/cTauSoilW/cTauSoilW_GSI.jl diff --git a/src/Models/cTauSoilW/cTauSoilW_none.jl b/SINDBAD/src/Models/cTauSoilW/cTauSoilW_none.jl similarity index 100% rename from src/Models/cTauSoilW/cTauSoilW_none.jl rename to SINDBAD/src/Models/cTauSoilW/cTauSoilW_none.jl diff --git a/src/Models/cTauVegProperties/cTauVegProperties.jl b/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties.jl similarity index 100% rename from src/Models/cTauVegProperties/cTauVegProperties.jl rename to SINDBAD/src/Models/cTauVegProperties/cTauVegProperties.jl diff --git a/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl b/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl similarity index 100% rename from src/Models/cTauVegProperties/cTauVegProperties_CASA.jl rename to SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl diff --git a/src/Models/cTauVegProperties/cTauVegProperties_none.jl b/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_none.jl similarity index 100% rename from src/Models/cTauVegProperties/cTauVegProperties_none.jl rename to SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_none.jl diff --git a/src/Models/cVegetationDieOff/cVegetationDieOff.jl b/SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff.jl similarity index 100% rename from src/Models/cVegetationDieOff/cVegetationDieOff.jl rename to SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff.jl diff --git a/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl b/SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl similarity index 100% rename from src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl rename to SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl diff --git a/src/Models/capillaryFlow/capillaryFlow.jl b/SINDBAD/src/Models/capillaryFlow/capillaryFlow.jl similarity index 100% rename from src/Models/capillaryFlow/capillaryFlow.jl rename to SINDBAD/src/Models/capillaryFlow/capillaryFlow.jl diff --git a/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl b/SINDBAD/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl similarity index 100% rename from src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl rename to SINDBAD/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl diff --git a/src/Models/constants/constants.jl b/SINDBAD/src/Models/constants/constants.jl similarity index 100% rename from src/Models/constants/constants.jl rename to SINDBAD/src/Models/constants/constants.jl diff --git a/src/Models/constants/constants_numbers.jl b/SINDBAD/src/Models/constants/constants_numbers.jl similarity index 100% rename from src/Models/constants/constants_numbers.jl rename to SINDBAD/src/Models/constants/constants_numbers.jl diff --git a/src/Models/deriveVariables/deriveVariables.jl b/SINDBAD/src/Models/deriveVariables/deriveVariables.jl similarity index 100% rename from src/Models/deriveVariables/deriveVariables.jl rename to SINDBAD/src/Models/deriveVariables/deriveVariables.jl diff --git a/src/Models/deriveVariables/deriveVariables_simple.jl b/SINDBAD/src/Models/deriveVariables/deriveVariables_simple.jl similarity index 100% rename from src/Models/deriveVariables/deriveVariables_simple.jl rename to SINDBAD/src/Models/deriveVariables/deriveVariables_simple.jl diff --git a/src/Models/drainage/drainage.jl b/SINDBAD/src/Models/drainage/drainage.jl similarity index 100% rename from src/Models/drainage/drainage.jl rename to SINDBAD/src/Models/drainage/drainage.jl diff --git a/src/Models/drainage/drainage_dos.jl b/SINDBAD/src/Models/drainage/drainage_dos.jl similarity index 100% rename from src/Models/drainage/drainage_dos.jl rename to SINDBAD/src/Models/drainage/drainage_dos.jl diff --git a/src/Models/drainage/drainage_kUnsat.jl b/SINDBAD/src/Models/drainage/drainage_kUnsat.jl similarity index 100% rename from src/Models/drainage/drainage_kUnsat.jl rename to SINDBAD/src/Models/drainage/drainage_kUnsat.jl diff --git a/src/Models/drainage/drainage_wFC.jl b/SINDBAD/src/Models/drainage/drainage_wFC.jl similarity index 100% rename from src/Models/drainage/drainage_wFC.jl rename to SINDBAD/src/Models/drainage/drainage_wFC.jl diff --git a/src/Models/evaporation/evaporation.jl b/SINDBAD/src/Models/evaporation/evaporation.jl similarity index 100% rename from src/Models/evaporation/evaporation.jl rename to SINDBAD/src/Models/evaporation/evaporation.jl diff --git a/src/Models/evaporation/evaporation_Snyder2000.jl b/SINDBAD/src/Models/evaporation/evaporation_Snyder2000.jl similarity index 100% rename from src/Models/evaporation/evaporation_Snyder2000.jl rename to SINDBAD/src/Models/evaporation/evaporation_Snyder2000.jl diff --git a/src/Models/evaporation/evaporation_bareFraction.jl b/SINDBAD/src/Models/evaporation/evaporation_bareFraction.jl similarity index 100% rename from src/Models/evaporation/evaporation_bareFraction.jl rename to SINDBAD/src/Models/evaporation/evaporation_bareFraction.jl diff --git a/src/Models/evaporation/evaporation_demandSupply.jl b/SINDBAD/src/Models/evaporation/evaporation_demandSupply.jl similarity index 100% rename from src/Models/evaporation/evaporation_demandSupply.jl rename to SINDBAD/src/Models/evaporation/evaporation_demandSupply.jl diff --git a/src/Models/evaporation/evaporation_fAPAR.jl b/SINDBAD/src/Models/evaporation/evaporation_fAPAR.jl similarity index 100% rename from src/Models/evaporation/evaporation_fAPAR.jl rename to SINDBAD/src/Models/evaporation/evaporation_fAPAR.jl diff --git a/src/Models/evaporation/evaporation_none.jl b/SINDBAD/src/Models/evaporation/evaporation_none.jl similarity index 100% rename from src/Models/evaporation/evaporation_none.jl rename to SINDBAD/src/Models/evaporation/evaporation_none.jl diff --git a/src/Models/evaporation/evaporation_vegFraction.jl b/SINDBAD/src/Models/evaporation/evaporation_vegFraction.jl similarity index 100% rename from src/Models/evaporation/evaporation_vegFraction.jl rename to SINDBAD/src/Models/evaporation/evaporation_vegFraction.jl diff --git a/src/Models/evapotranspiration/evapotranspiration.jl b/SINDBAD/src/Models/evapotranspiration/evapotranspiration.jl similarity index 100% rename from src/Models/evapotranspiration/evapotranspiration.jl rename to SINDBAD/src/Models/evapotranspiration/evapotranspiration.jl diff --git a/src/Models/evapotranspiration/evapotranspiration_sum.jl b/SINDBAD/src/Models/evapotranspiration/evapotranspiration_sum.jl similarity index 100% rename from src/Models/evapotranspiration/evapotranspiration_sum.jl rename to SINDBAD/src/Models/evapotranspiration/evapotranspiration_sum.jl diff --git a/src/Models/fAPAR/fAPAR.jl b/SINDBAD/src/Models/fAPAR/fAPAR.jl similarity index 100% rename from src/Models/fAPAR/fAPAR.jl rename to SINDBAD/src/Models/fAPAR/fAPAR.jl diff --git a/src/Models/fAPAR/fAPAR_EVI.jl b/SINDBAD/src/Models/fAPAR/fAPAR_EVI.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_EVI.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_EVI.jl diff --git a/src/Models/fAPAR/fAPAR_LAI.jl b/SINDBAD/src/Models/fAPAR/fAPAR_LAI.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_LAI.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_LAI.jl diff --git a/src/Models/fAPAR/fAPAR_cVegLeaf.jl b/SINDBAD/src/Models/fAPAR/fAPAR_cVegLeaf.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_cVegLeaf.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_cVegLeaf.jl diff --git a/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl b/SINDBAD/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl diff --git a/src/Models/fAPAR/fAPAR_constant.jl b/SINDBAD/src/Models/fAPAR/fAPAR_constant.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_constant.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_constant.jl diff --git a/src/Models/fAPAR/fAPAR_forcing.jl b/SINDBAD/src/Models/fAPAR/fAPAR_forcing.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_forcing.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_forcing.jl diff --git a/src/Models/fAPAR/fAPAR_vegFraction.jl b/SINDBAD/src/Models/fAPAR/fAPAR_vegFraction.jl similarity index 100% rename from src/Models/fAPAR/fAPAR_vegFraction.jl rename to SINDBAD/src/Models/fAPAR/fAPAR_vegFraction.jl diff --git a/src/Models/getPools/getPools.jl b/SINDBAD/src/Models/getPools/getPools.jl similarity index 100% rename from src/Models/getPools/getPools.jl rename to SINDBAD/src/Models/getPools/getPools.jl diff --git a/src/Models/getPools/getPools_simple.jl b/SINDBAD/src/Models/getPools/getPools_simple.jl similarity index 100% rename from src/Models/getPools/getPools_simple.jl rename to SINDBAD/src/Models/getPools/getPools_simple.jl diff --git a/src/Models/gpp/gpp.jl b/SINDBAD/src/Models/gpp/gpp.jl similarity index 100% rename from src/Models/gpp/gpp.jl rename to SINDBAD/src/Models/gpp/gpp.jl diff --git a/src/Models/gpp/gpp_coupled.jl b/SINDBAD/src/Models/gpp/gpp_coupled.jl similarity index 100% rename from src/Models/gpp/gpp_coupled.jl rename to SINDBAD/src/Models/gpp/gpp_coupled.jl diff --git a/src/Models/gpp/gpp_min.jl b/SINDBAD/src/Models/gpp/gpp_min.jl similarity index 100% rename from src/Models/gpp/gpp_min.jl rename to SINDBAD/src/Models/gpp/gpp_min.jl diff --git a/src/Models/gpp/gpp_mult.jl b/SINDBAD/src/Models/gpp/gpp_mult.jl similarity index 100% rename from src/Models/gpp/gpp_mult.jl rename to SINDBAD/src/Models/gpp/gpp_mult.jl diff --git a/src/Models/gpp/gpp_none.jl b/SINDBAD/src/Models/gpp/gpp_none.jl similarity index 100% rename from src/Models/gpp/gpp_none.jl rename to SINDBAD/src/Models/gpp/gpp_none.jl diff --git a/src/Models/gpp/gpp_transpirationWUE.jl b/SINDBAD/src/Models/gpp/gpp_transpirationWUE.jl similarity index 100% rename from src/Models/gpp/gpp_transpirationWUE.jl rename to SINDBAD/src/Models/gpp/gpp_transpirationWUE.jl diff --git a/src/Models/gppAirT/gppAirT.jl b/SINDBAD/src/Models/gppAirT/gppAirT.jl similarity index 100% rename from src/Models/gppAirT/gppAirT.jl rename to SINDBAD/src/Models/gppAirT/gppAirT.jl diff --git a/src/Models/gppAirT/gppAirT_CASA.jl b/SINDBAD/src/Models/gppAirT/gppAirT_CASA.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_CASA.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_CASA.jl diff --git a/src/Models/gppAirT/gppAirT_GSI.jl b/SINDBAD/src/Models/gppAirT/gppAirT_GSI.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_GSI.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_GSI.jl diff --git a/src/Models/gppAirT/gppAirT_MOD17.jl b/SINDBAD/src/Models/gppAirT/gppAirT_MOD17.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_MOD17.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_MOD17.jl diff --git a/src/Models/gppAirT/gppAirT_Maekelae2008.jl b/SINDBAD/src/Models/gppAirT/gppAirT_Maekelae2008.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_Maekelae2008.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_Maekelae2008.jl diff --git a/src/Models/gppAirT/gppAirT_TEM.jl b/SINDBAD/src/Models/gppAirT/gppAirT_TEM.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_TEM.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_TEM.jl diff --git a/src/Models/gppAirT/gppAirT_Wang2014.jl b/SINDBAD/src/Models/gppAirT/gppAirT_Wang2014.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_Wang2014.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_Wang2014.jl diff --git a/src/Models/gppAirT/gppAirT_none.jl b/SINDBAD/src/Models/gppAirT/gppAirT_none.jl similarity index 100% rename from src/Models/gppAirT/gppAirT_none.jl rename to SINDBAD/src/Models/gppAirT/gppAirT_none.jl diff --git a/src/Models/gppDemand/gppDemand.jl b/SINDBAD/src/Models/gppDemand/gppDemand.jl similarity index 100% rename from src/Models/gppDemand/gppDemand.jl rename to SINDBAD/src/Models/gppDemand/gppDemand.jl diff --git a/src/Models/gppDemand/gppDemand_min.jl b/SINDBAD/src/Models/gppDemand/gppDemand_min.jl similarity index 100% rename from src/Models/gppDemand/gppDemand_min.jl rename to SINDBAD/src/Models/gppDemand/gppDemand_min.jl diff --git a/src/Models/gppDemand/gppDemand_mult.jl b/SINDBAD/src/Models/gppDemand/gppDemand_mult.jl similarity index 100% rename from src/Models/gppDemand/gppDemand_mult.jl rename to SINDBAD/src/Models/gppDemand/gppDemand_mult.jl diff --git a/src/Models/gppDemand/gppDemand_none.jl b/SINDBAD/src/Models/gppDemand/gppDemand_none.jl similarity index 100% rename from src/Models/gppDemand/gppDemand_none.jl rename to SINDBAD/src/Models/gppDemand/gppDemand_none.jl diff --git a/src/Models/gppDiffRadiation/gppDiffRadiation.jl b/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation.jl similarity index 100% rename from src/Models/gppDiffRadiation/gppDiffRadiation.jl rename to SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation.jl diff --git a/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl b/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl similarity index 100% rename from src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl rename to SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl diff --git a/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl b/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl similarity index 100% rename from src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl rename to SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl diff --git a/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl b/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl similarity index 100% rename from src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl rename to SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl diff --git a/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl b/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl similarity index 100% rename from src/Models/gppDiffRadiation/gppDiffRadiation_none.jl rename to SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl diff --git a/src/Models/gppDirRadiation/gppDirRadiation.jl b/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation.jl similarity index 100% rename from src/Models/gppDirRadiation/gppDirRadiation.jl rename to SINDBAD/src/Models/gppDirRadiation/gppDirRadiation.jl diff --git a/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl b/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl similarity index 100% rename from src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl rename to SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl diff --git a/src/Models/gppDirRadiation/gppDirRadiation_none.jl b/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_none.jl similarity index 100% rename from src/Models/gppDirRadiation/gppDirRadiation_none.jl rename to SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_none.jl diff --git a/src/Models/gppPotential/gppPotential.jl b/SINDBAD/src/Models/gppPotential/gppPotential.jl similarity index 100% rename from src/Models/gppPotential/gppPotential.jl rename to SINDBAD/src/Models/gppPotential/gppPotential.jl diff --git a/src/Models/gppPotential/gppPotential_Monteith.jl b/SINDBAD/src/Models/gppPotential/gppPotential_Monteith.jl similarity index 100% rename from src/Models/gppPotential/gppPotential_Monteith.jl rename to SINDBAD/src/Models/gppPotential/gppPotential_Monteith.jl diff --git a/src/Models/gppSoilW/gppSoilW.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW.jl diff --git a/src/Models/gppSoilW/gppSoilW_CASA.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW_CASA.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW_CASA.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW_CASA.jl diff --git a/src/Models/gppSoilW/gppSoilW_GSI.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW_GSI.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW_GSI.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW_GSI.jl diff --git a/src/Models/gppSoilW/gppSoilW_Keenan2009.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW_Keenan2009.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW_Keenan2009.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW_Keenan2009.jl diff --git a/src/Models/gppSoilW/gppSoilW_Stocker2020.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW_Stocker2020.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW_Stocker2020.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW_Stocker2020.jl diff --git a/src/Models/gppSoilW/gppSoilW_none.jl b/SINDBAD/src/Models/gppSoilW/gppSoilW_none.jl similarity index 100% rename from src/Models/gppSoilW/gppSoilW_none.jl rename to SINDBAD/src/Models/gppSoilW/gppSoilW_none.jl diff --git a/src/Models/gppVPD/gppVPD.jl b/SINDBAD/src/Models/gppVPD/gppVPD.jl similarity index 100% rename from src/Models/gppVPD/gppVPD.jl rename to SINDBAD/src/Models/gppVPD/gppVPD.jl diff --git a/src/Models/gppVPD/gppVPD_MOD17.jl b/SINDBAD/src/Models/gppVPD/gppVPD_MOD17.jl similarity index 100% rename from src/Models/gppVPD/gppVPD_MOD17.jl rename to SINDBAD/src/Models/gppVPD/gppVPD_MOD17.jl diff --git a/src/Models/gppVPD/gppVPD_Maekelae2008.jl b/SINDBAD/src/Models/gppVPD/gppVPD_Maekelae2008.jl similarity index 100% rename from src/Models/gppVPD/gppVPD_Maekelae2008.jl rename to SINDBAD/src/Models/gppVPD/gppVPD_Maekelae2008.jl diff --git a/src/Models/gppVPD/gppVPD_PRELES.jl b/SINDBAD/src/Models/gppVPD/gppVPD_PRELES.jl similarity index 100% rename from src/Models/gppVPD/gppVPD_PRELES.jl rename to SINDBAD/src/Models/gppVPD/gppVPD_PRELES.jl diff --git a/src/Models/gppVPD/gppVPD_expco2.jl b/SINDBAD/src/Models/gppVPD/gppVPD_expco2.jl similarity index 100% rename from src/Models/gppVPD/gppVPD_expco2.jl rename to SINDBAD/src/Models/gppVPD/gppVPD_expco2.jl diff --git a/src/Models/gppVPD/gppVPD_none.jl b/SINDBAD/src/Models/gppVPD/gppVPD_none.jl similarity index 100% rename from src/Models/gppVPD/gppVPD_none.jl rename to SINDBAD/src/Models/gppVPD/gppVPD_none.jl diff --git a/src/Models/groundWRecharge/groundWRecharge.jl b/SINDBAD/src/Models/groundWRecharge/groundWRecharge.jl similarity index 100% rename from src/Models/groundWRecharge/groundWRecharge.jl rename to SINDBAD/src/Models/groundWRecharge/groundWRecharge.jl diff --git a/src/Models/groundWRecharge/groundWRecharge_dos.jl b/SINDBAD/src/Models/groundWRecharge/groundWRecharge_dos.jl similarity index 100% rename from src/Models/groundWRecharge/groundWRecharge_dos.jl rename to SINDBAD/src/Models/groundWRecharge/groundWRecharge_dos.jl diff --git a/src/Models/groundWRecharge/groundWRecharge_fraction.jl b/SINDBAD/src/Models/groundWRecharge/groundWRecharge_fraction.jl similarity index 100% rename from src/Models/groundWRecharge/groundWRecharge_fraction.jl rename to SINDBAD/src/Models/groundWRecharge/groundWRecharge_fraction.jl diff --git a/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl b/SINDBAD/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl similarity index 100% rename from src/Models/groundWRecharge/groundWRecharge_kUnsat.jl rename to SINDBAD/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl diff --git a/src/Models/groundWRecharge/groundWRecharge_none.jl b/SINDBAD/src/Models/groundWRecharge/groundWRecharge_none.jl similarity index 100% rename from src/Models/groundWRecharge/groundWRecharge_none.jl rename to SINDBAD/src/Models/groundWRecharge/groundWRecharge_none.jl diff --git a/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl b/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl similarity index 100% rename from src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl rename to SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl diff --git a/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl b/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl similarity index 100% rename from src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl rename to SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl diff --git a/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl b/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl similarity index 100% rename from src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl rename to SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl diff --git a/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl b/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl similarity index 100% rename from src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl rename to SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl diff --git a/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl b/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl similarity index 100% rename from src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl rename to SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl diff --git a/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl b/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl similarity index 100% rename from src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl rename to SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl diff --git a/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl b/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl similarity index 100% rename from src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl rename to SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl diff --git a/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl b/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl similarity index 100% rename from src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl rename to SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl diff --git a/src/Models/interception/interception.jl b/SINDBAD/src/Models/interception/interception.jl similarity index 100% rename from src/Models/interception/interception.jl rename to SINDBAD/src/Models/interception/interception.jl diff --git a/src/Models/interception/interception_Miralles2010.jl b/SINDBAD/src/Models/interception/interception_Miralles2010.jl similarity index 100% rename from src/Models/interception/interception_Miralles2010.jl rename to SINDBAD/src/Models/interception/interception_Miralles2010.jl diff --git a/src/Models/interception/interception_fAPAR.jl b/SINDBAD/src/Models/interception/interception_fAPAR.jl similarity index 100% rename from src/Models/interception/interception_fAPAR.jl rename to SINDBAD/src/Models/interception/interception_fAPAR.jl diff --git a/src/Models/interception/interception_none.jl b/SINDBAD/src/Models/interception/interception_none.jl similarity index 100% rename from src/Models/interception/interception_none.jl rename to SINDBAD/src/Models/interception/interception_none.jl diff --git a/src/Models/interception/interception_vegFraction.jl b/SINDBAD/src/Models/interception/interception_vegFraction.jl similarity index 100% rename from src/Models/interception/interception_vegFraction.jl rename to SINDBAD/src/Models/interception/interception_vegFraction.jl diff --git a/src/Models/percolation/percolation.jl b/SINDBAD/src/Models/percolation/percolation.jl similarity index 100% rename from src/Models/percolation/percolation.jl rename to SINDBAD/src/Models/percolation/percolation.jl diff --git a/src/Models/percolation/percolation_WBP.jl b/SINDBAD/src/Models/percolation/percolation_WBP.jl similarity index 100% rename from src/Models/percolation/percolation_WBP.jl rename to SINDBAD/src/Models/percolation/percolation_WBP.jl diff --git a/src/Models/plantForm/plantForm.jl b/SINDBAD/src/Models/plantForm/plantForm.jl similarity index 100% rename from src/Models/plantForm/plantForm.jl rename to SINDBAD/src/Models/plantForm/plantForm.jl diff --git a/src/Models/plantForm/plantForm_PFT.jl b/SINDBAD/src/Models/plantForm/plantForm_PFT.jl similarity index 100% rename from src/Models/plantForm/plantForm_PFT.jl rename to SINDBAD/src/Models/plantForm/plantForm_PFT.jl diff --git a/src/Models/plantForm/plantForm_fixed.jl b/SINDBAD/src/Models/plantForm/plantForm_fixed.jl similarity index 100% rename from src/Models/plantForm/plantForm_fixed.jl rename to SINDBAD/src/Models/plantForm/plantForm_fixed.jl diff --git a/src/Models/rainIntensity/rainIntensity.jl b/SINDBAD/src/Models/rainIntensity/rainIntensity.jl similarity index 100% rename from src/Models/rainIntensity/rainIntensity.jl rename to SINDBAD/src/Models/rainIntensity/rainIntensity.jl diff --git a/src/Models/rainIntensity/rainIntensity_forcing.jl b/SINDBAD/src/Models/rainIntensity/rainIntensity_forcing.jl similarity index 100% rename from src/Models/rainIntensity/rainIntensity_forcing.jl rename to SINDBAD/src/Models/rainIntensity/rainIntensity_forcing.jl diff --git a/src/Models/rainIntensity/rainIntensity_simple.jl b/SINDBAD/src/Models/rainIntensity/rainIntensity_simple.jl similarity index 100% rename from src/Models/rainIntensity/rainIntensity_simple.jl rename to SINDBAD/src/Models/rainIntensity/rainIntensity_simple.jl diff --git a/src/Models/rainSnow/rainSnow.jl b/SINDBAD/src/Models/rainSnow/rainSnow.jl similarity index 100% rename from src/Models/rainSnow/rainSnow.jl rename to SINDBAD/src/Models/rainSnow/rainSnow.jl diff --git a/src/Models/rainSnow/rainSnow_Tair.jl b/SINDBAD/src/Models/rainSnow/rainSnow_Tair.jl similarity index 100% rename from src/Models/rainSnow/rainSnow_Tair.jl rename to SINDBAD/src/Models/rainSnow/rainSnow_Tair.jl diff --git a/src/Models/rainSnow/rainSnow_forcing.jl b/SINDBAD/src/Models/rainSnow/rainSnow_forcing.jl similarity index 100% rename from src/Models/rainSnow/rainSnow_forcing.jl rename to SINDBAD/src/Models/rainSnow/rainSnow_forcing.jl diff --git a/src/Models/rainSnow/rainSnow_rain.jl b/SINDBAD/src/Models/rainSnow/rainSnow_rain.jl similarity index 100% rename from src/Models/rainSnow/rainSnow_rain.jl rename to SINDBAD/src/Models/rainSnow/rainSnow_rain.jl diff --git a/src/Models/rootMaximumDepth/rootMaximumDepth.jl b/SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth.jl similarity index 100% rename from src/Models/rootMaximumDepth/rootMaximumDepth.jl rename to SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth.jl diff --git a/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl b/SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl similarity index 100% rename from src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl rename to SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl diff --git a/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl b/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl similarity index 100% rename from src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl rename to SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl diff --git a/src/Models/rootWaterUptake/rootWaterUptake.jl b/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake.jl similarity index 100% rename from src/Models/rootWaterUptake/rootWaterUptake.jl rename to SINDBAD/src/Models/rootWaterUptake/rootWaterUptake.jl diff --git a/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl b/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl similarity index 100% rename from src/Models/rootWaterUptake/rootWaterUptake_proportion.jl rename to SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl diff --git a/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl b/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl similarity index 100% rename from src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl rename to SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl diff --git a/src/Models/runoff/runoff.jl b/SINDBAD/src/Models/runoff/runoff.jl similarity index 100% rename from src/Models/runoff/runoff.jl rename to SINDBAD/src/Models/runoff/runoff.jl diff --git a/src/Models/runoff/runoff_sum.jl b/SINDBAD/src/Models/runoff/runoff_sum.jl similarity index 100% rename from src/Models/runoff/runoff_sum.jl rename to SINDBAD/src/Models/runoff/runoff_sum.jl diff --git a/src/Models/runoffBase/runoffBase.jl b/SINDBAD/src/Models/runoffBase/runoffBase.jl similarity index 100% rename from src/Models/runoffBase/runoffBase.jl rename to SINDBAD/src/Models/runoffBase/runoffBase.jl diff --git a/src/Models/runoffBase/runoffBase_Zhang2008.jl b/SINDBAD/src/Models/runoffBase/runoffBase_Zhang2008.jl similarity index 100% rename from src/Models/runoffBase/runoffBase_Zhang2008.jl rename to SINDBAD/src/Models/runoffBase/runoffBase_Zhang2008.jl diff --git a/src/Models/runoffBase/runoffBase_none.jl b/SINDBAD/src/Models/runoffBase/runoffBase_none.jl similarity index 100% rename from src/Models/runoffBase/runoffBase_none.jl rename to SINDBAD/src/Models/runoffBase/runoffBase_none.jl diff --git a/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl b/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl similarity index 100% rename from src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl rename to SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl diff --git a/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl b/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl similarity index 100% rename from src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl rename to SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl diff --git a/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl b/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl similarity index 100% rename from src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl rename to SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl diff --git a/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl b/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl similarity index 100% rename from src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl rename to SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl diff --git a/src/Models/runoffInterflow/runoffInterflow.jl b/SINDBAD/src/Models/runoffInterflow/runoffInterflow.jl similarity index 100% rename from src/Models/runoffInterflow/runoffInterflow.jl rename to SINDBAD/src/Models/runoffInterflow/runoffInterflow.jl diff --git a/src/Models/runoffInterflow/runoffInterflow_none.jl b/SINDBAD/src/Models/runoffInterflow/runoffInterflow_none.jl similarity index 100% rename from src/Models/runoffInterflow/runoffInterflow_none.jl rename to SINDBAD/src/Models/runoffInterflow/runoffInterflow_none.jl diff --git a/src/Models/runoffInterflow/runoffInterflow_residual.jl b/SINDBAD/src/Models/runoffInterflow/runoffInterflow_residual.jl similarity index 100% rename from src/Models/runoffInterflow/runoffInterflow_residual.jl rename to SINDBAD/src/Models/runoffInterflow/runoffInterflow_residual.jl diff --git a/src/Models/runoffOverland/runoffOverland.jl b/SINDBAD/src/Models/runoffOverland/runoffOverland.jl similarity index 100% rename from src/Models/runoffOverland/runoffOverland.jl rename to SINDBAD/src/Models/runoffOverland/runoffOverland.jl diff --git a/src/Models/runoffOverland/runoffOverland_Inf.jl b/SINDBAD/src/Models/runoffOverland/runoffOverland_Inf.jl similarity index 100% rename from src/Models/runoffOverland/runoffOverland_Inf.jl rename to SINDBAD/src/Models/runoffOverland/runoffOverland_Inf.jl diff --git a/src/Models/runoffOverland/runoffOverland_InfIntSat.jl b/SINDBAD/src/Models/runoffOverland/runoffOverland_InfIntSat.jl similarity index 100% rename from src/Models/runoffOverland/runoffOverland_InfIntSat.jl rename to SINDBAD/src/Models/runoffOverland/runoffOverland_InfIntSat.jl diff --git a/src/Models/runoffOverland/runoffOverland_Sat.jl b/SINDBAD/src/Models/runoffOverland/runoffOverland_Sat.jl similarity index 100% rename from src/Models/runoffOverland/runoffOverland_Sat.jl rename to SINDBAD/src/Models/runoffOverland/runoffOverland_Sat.jl diff --git a/src/Models/runoffOverland/runoffOverland_none.jl b/SINDBAD/src/Models/runoffOverland/runoffOverland_none.jl similarity index 100% rename from src/Models/runoffOverland/runoffOverland_none.jl rename to SINDBAD/src/Models/runoffOverland/runoffOverland_none.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl diff --git a/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl b/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl similarity index 100% rename from src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl rename to SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl diff --git a/src/Models/runoffSurface/runoffSurface.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface.jl diff --git a/src/Models/runoffSurface/runoffSurface_Orth2013.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_Orth2013.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_Orth2013.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_Orth2013.jl diff --git a/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_Trautmann2018.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl diff --git a/src/Models/runoffSurface/runoffSurface_all.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_all.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_all.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_all.jl diff --git a/src/Models/runoffSurface/runoffSurface_directIndirect.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirect.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_directIndirect.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirect.jl diff --git a/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl diff --git a/src/Models/runoffSurface/runoffSurface_indirect.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_indirect.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_indirect.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_indirect.jl diff --git a/src/Models/runoffSurface/runoffSurface_none.jl b/SINDBAD/src/Models/runoffSurface/runoffSurface_none.jl similarity index 100% rename from src/Models/runoffSurface/runoffSurface_none.jl rename to SINDBAD/src/Models/runoffSurface/runoffSurface_none.jl diff --git a/src/Models/saturatedFraction/saturatedFraction.jl b/SINDBAD/src/Models/saturatedFraction/saturatedFraction.jl similarity index 100% rename from src/Models/saturatedFraction/saturatedFraction.jl rename to SINDBAD/src/Models/saturatedFraction/saturatedFraction.jl diff --git a/src/Models/saturatedFraction/saturatedFraction_none.jl b/SINDBAD/src/Models/saturatedFraction/saturatedFraction_none.jl similarity index 100% rename from src/Models/saturatedFraction/saturatedFraction_none.jl rename to SINDBAD/src/Models/saturatedFraction/saturatedFraction_none.jl diff --git a/src/Models/snowFraction/snowFraction.jl b/SINDBAD/src/Models/snowFraction/snowFraction.jl similarity index 100% rename from src/Models/snowFraction/snowFraction.jl rename to SINDBAD/src/Models/snowFraction/snowFraction.jl diff --git a/src/Models/snowFraction/snowFraction_HTESSEL.jl b/SINDBAD/src/Models/snowFraction/snowFraction_HTESSEL.jl similarity index 100% rename from src/Models/snowFraction/snowFraction_HTESSEL.jl rename to SINDBAD/src/Models/snowFraction/snowFraction_HTESSEL.jl diff --git a/src/Models/snowFraction/snowFraction_binary.jl b/SINDBAD/src/Models/snowFraction/snowFraction_binary.jl similarity index 100% rename from src/Models/snowFraction/snowFraction_binary.jl rename to SINDBAD/src/Models/snowFraction/snowFraction_binary.jl diff --git a/src/Models/snowFraction/snowFraction_none.jl b/SINDBAD/src/Models/snowFraction/snowFraction_none.jl similarity index 100% rename from src/Models/snowFraction/snowFraction_none.jl rename to SINDBAD/src/Models/snowFraction/snowFraction_none.jl diff --git a/src/Models/snowMelt/snowMelt.jl b/SINDBAD/src/Models/snowMelt/snowMelt.jl similarity index 100% rename from src/Models/snowMelt/snowMelt.jl rename to SINDBAD/src/Models/snowMelt/snowMelt.jl diff --git a/src/Models/snowMelt/snowMelt_Tair.jl b/SINDBAD/src/Models/snowMelt/snowMelt_Tair.jl similarity index 100% rename from src/Models/snowMelt/snowMelt_Tair.jl rename to SINDBAD/src/Models/snowMelt/snowMelt_Tair.jl diff --git a/src/Models/snowMelt/snowMelt_TairRn.jl b/SINDBAD/src/Models/snowMelt/snowMelt_TairRn.jl similarity index 100% rename from src/Models/snowMelt/snowMelt_TairRn.jl rename to SINDBAD/src/Models/snowMelt/snowMelt_TairRn.jl diff --git a/src/Models/soilProperties/soilProperties.jl b/SINDBAD/src/Models/soilProperties/soilProperties.jl similarity index 100% rename from src/Models/soilProperties/soilProperties.jl rename to SINDBAD/src/Models/soilProperties/soilProperties.jl diff --git a/src/Models/soilProperties/soilProperties_Saxton1986.jl b/SINDBAD/src/Models/soilProperties/soilProperties_Saxton1986.jl similarity index 100% rename from src/Models/soilProperties/soilProperties_Saxton1986.jl rename to SINDBAD/src/Models/soilProperties/soilProperties_Saxton1986.jl diff --git a/src/Models/soilProperties/soilProperties_Saxton2006.jl b/SINDBAD/src/Models/soilProperties/soilProperties_Saxton2006.jl similarity index 100% rename from src/Models/soilProperties/soilProperties_Saxton2006.jl rename to SINDBAD/src/Models/soilProperties/soilProperties_Saxton2006.jl diff --git a/src/Models/soilTexture/soilTexture.jl b/SINDBAD/src/Models/soilTexture/soilTexture.jl similarity index 100% rename from src/Models/soilTexture/soilTexture.jl rename to SINDBAD/src/Models/soilTexture/soilTexture.jl diff --git a/src/Models/soilTexture/soilTexture_constant.jl b/SINDBAD/src/Models/soilTexture/soilTexture_constant.jl similarity index 100% rename from src/Models/soilTexture/soilTexture_constant.jl rename to SINDBAD/src/Models/soilTexture/soilTexture_constant.jl diff --git a/src/Models/soilTexture/soilTexture_forcing.jl b/SINDBAD/src/Models/soilTexture/soilTexture_forcing.jl similarity index 100% rename from src/Models/soilTexture/soilTexture_forcing.jl rename to SINDBAD/src/Models/soilTexture/soilTexture_forcing.jl diff --git a/src/Models/soilWBase/soilWBase.jl b/SINDBAD/src/Models/soilWBase/soilWBase.jl similarity index 100% rename from src/Models/soilWBase/soilWBase.jl rename to SINDBAD/src/Models/soilWBase/soilWBase.jl diff --git a/src/Models/soilWBase/soilWBase_smax1Layer.jl b/SINDBAD/src/Models/soilWBase/soilWBase_smax1Layer.jl similarity index 100% rename from src/Models/soilWBase/soilWBase_smax1Layer.jl rename to SINDBAD/src/Models/soilWBase/soilWBase_smax1Layer.jl diff --git a/src/Models/soilWBase/soilWBase_smax2Layer.jl b/SINDBAD/src/Models/soilWBase/soilWBase_smax2Layer.jl similarity index 100% rename from src/Models/soilWBase/soilWBase_smax2Layer.jl rename to SINDBAD/src/Models/soilWBase/soilWBase_smax2Layer.jl diff --git a/src/Models/soilWBase/soilWBase_smax2fRD4.jl b/SINDBAD/src/Models/soilWBase/soilWBase_smax2fRD4.jl similarity index 100% rename from src/Models/soilWBase/soilWBase_smax2fRD4.jl rename to SINDBAD/src/Models/soilWBase/soilWBase_smax2fRD4.jl diff --git a/src/Models/soilWBase/soilWBase_uniform.jl b/SINDBAD/src/Models/soilWBase/soilWBase_uniform.jl similarity index 100% rename from src/Models/soilWBase/soilWBase_uniform.jl rename to SINDBAD/src/Models/soilWBase/soilWBase_uniform.jl diff --git a/src/Models/standardSindbadModels.jl b/SINDBAD/src/Models/standardSindbadModels.jl similarity index 100% rename from src/Models/standardSindbadModels.jl rename to SINDBAD/src/Models/standardSindbadModels.jl diff --git a/src/Models/sublimation/sublimation.jl b/SINDBAD/src/Models/sublimation/sublimation.jl similarity index 100% rename from src/Models/sublimation/sublimation.jl rename to SINDBAD/src/Models/sublimation/sublimation.jl diff --git a/src/Models/sublimation/sublimation_GLEAM.jl b/SINDBAD/src/Models/sublimation/sublimation_GLEAM.jl similarity index 100% rename from src/Models/sublimation/sublimation_GLEAM.jl rename to SINDBAD/src/Models/sublimation/sublimation_GLEAM.jl diff --git a/src/Models/sublimation/sublimation_none.jl b/SINDBAD/src/Models/sublimation/sublimation_none.jl similarity index 100% rename from src/Models/sublimation/sublimation_none.jl rename to SINDBAD/src/Models/sublimation/sublimation_none.jl diff --git a/src/Models/transpiration/transpiration.jl b/SINDBAD/src/Models/transpiration/transpiration.jl similarity index 100% rename from src/Models/transpiration/transpiration.jl rename to SINDBAD/src/Models/transpiration/transpiration.jl diff --git a/src/Models/transpiration/transpiration_coupled.jl b/SINDBAD/src/Models/transpiration/transpiration_coupled.jl similarity index 100% rename from src/Models/transpiration/transpiration_coupled.jl rename to SINDBAD/src/Models/transpiration/transpiration_coupled.jl diff --git a/src/Models/transpiration/transpiration_demandSupply.jl b/SINDBAD/src/Models/transpiration/transpiration_demandSupply.jl similarity index 100% rename from src/Models/transpiration/transpiration_demandSupply.jl rename to SINDBAD/src/Models/transpiration/transpiration_demandSupply.jl diff --git a/src/Models/transpiration/transpiration_none.jl b/SINDBAD/src/Models/transpiration/transpiration_none.jl similarity index 100% rename from src/Models/transpiration/transpiration_none.jl rename to SINDBAD/src/Models/transpiration/transpiration_none.jl diff --git a/src/Models/transpirationDemand/transpirationDemand.jl b/SINDBAD/src/Models/transpirationDemand/transpirationDemand.jl similarity index 100% rename from src/Models/transpirationDemand/transpirationDemand.jl rename to SINDBAD/src/Models/transpirationDemand/transpirationDemand.jl diff --git a/src/Models/transpirationDemand/transpirationDemand_CASA.jl b/SINDBAD/src/Models/transpirationDemand/transpirationDemand_CASA.jl similarity index 100% rename from src/Models/transpirationDemand/transpirationDemand_CASA.jl rename to SINDBAD/src/Models/transpirationDemand/transpirationDemand_CASA.jl diff --git a/src/Models/transpirationDemand/transpirationDemand_PET.jl b/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PET.jl similarity index 100% rename from src/Models/transpirationDemand/transpirationDemand_PET.jl rename to SINDBAD/src/Models/transpirationDemand/transpirationDemand_PET.jl diff --git a/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl b/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl similarity index 100% rename from src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl rename to SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl diff --git a/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl b/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl similarity index 100% rename from src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl rename to SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl diff --git a/src/Models/transpirationSupply/transpirationSupply.jl b/SINDBAD/src/Models/transpirationSupply/transpirationSupply.jl similarity index 100% rename from src/Models/transpirationSupply/transpirationSupply.jl rename to SINDBAD/src/Models/transpirationSupply/transpirationSupply.jl diff --git a/src/Models/transpirationSupply/transpirationSupply_CASA.jl b/SINDBAD/src/Models/transpirationSupply/transpirationSupply_CASA.jl similarity index 100% rename from src/Models/transpirationSupply/transpirationSupply_CASA.jl rename to SINDBAD/src/Models/transpirationSupply/transpirationSupply_CASA.jl diff --git a/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl b/SINDBAD/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl similarity index 100% rename from src/Models/transpirationSupply/transpirationSupply_Federer1982.jl rename to SINDBAD/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl diff --git a/src/Models/transpirationSupply/transpirationSupply_wAWC.jl b/SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWC.jl similarity index 100% rename from src/Models/transpirationSupply/transpirationSupply_wAWC.jl rename to SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWC.jl diff --git a/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl b/SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl similarity index 100% rename from src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl rename to SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl diff --git a/src/Models/treeFraction/treeFraction.jl b/SINDBAD/src/Models/treeFraction/treeFraction.jl similarity index 100% rename from src/Models/treeFraction/treeFraction.jl rename to SINDBAD/src/Models/treeFraction/treeFraction.jl diff --git a/src/Models/treeFraction/treeFraction_constant.jl b/SINDBAD/src/Models/treeFraction/treeFraction_constant.jl similarity index 100% rename from src/Models/treeFraction/treeFraction_constant.jl rename to SINDBAD/src/Models/treeFraction/treeFraction_constant.jl diff --git a/src/Models/treeFraction/treeFraction_forcing.jl b/SINDBAD/src/Models/treeFraction/treeFraction_forcing.jl similarity index 100% rename from src/Models/treeFraction/treeFraction_forcing.jl rename to SINDBAD/src/Models/treeFraction/treeFraction_forcing.jl diff --git a/src/Models/vegAvailableWater/vegAvailableWater.jl b/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater.jl similarity index 100% rename from src/Models/vegAvailableWater/vegAvailableWater.jl rename to SINDBAD/src/Models/vegAvailableWater/vegAvailableWater.jl diff --git a/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl b/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl similarity index 100% rename from src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl rename to SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl diff --git a/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl b/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl similarity index 100% rename from src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl rename to SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl diff --git a/src/Models/vegFraction/vegFraction.jl b/SINDBAD/src/Models/vegFraction/vegFraction.jl similarity index 100% rename from src/Models/vegFraction/vegFraction.jl rename to SINDBAD/src/Models/vegFraction/vegFraction.jl diff --git a/src/Models/vegFraction/vegFraction_constant.jl b/SINDBAD/src/Models/vegFraction/vegFraction_constant.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_constant.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_constant.jl diff --git a/src/Models/vegFraction/vegFraction_forcing.jl b/SINDBAD/src/Models/vegFraction/vegFraction_forcing.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_forcing.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_forcing.jl diff --git a/src/Models/vegFraction/vegFraction_scaledEVI.jl b/SINDBAD/src/Models/vegFraction/vegFraction_scaledEVI.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_scaledEVI.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_scaledEVI.jl diff --git a/src/Models/vegFraction/vegFraction_scaledLAI.jl b/SINDBAD/src/Models/vegFraction/vegFraction_scaledLAI.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_scaledLAI.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_scaledLAI.jl diff --git a/src/Models/vegFraction/vegFraction_scaledNDVI.jl b/SINDBAD/src/Models/vegFraction/vegFraction_scaledNDVI.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_scaledNDVI.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_scaledNDVI.jl diff --git a/src/Models/vegFraction/vegFraction_scaledNIRv.jl b/SINDBAD/src/Models/vegFraction/vegFraction_scaledNIRv.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_scaledNIRv.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_scaledNIRv.jl diff --git a/src/Models/vegFraction/vegFraction_scaledfAPAR.jl b/SINDBAD/src/Models/vegFraction/vegFraction_scaledfAPAR.jl similarity index 100% rename from src/Models/vegFraction/vegFraction_scaledfAPAR.jl rename to SINDBAD/src/Models/vegFraction/vegFraction_scaledfAPAR.jl diff --git a/src/Models/wCycle/wCycle.jl b/SINDBAD/src/Models/wCycle/wCycle.jl similarity index 100% rename from src/Models/wCycle/wCycle.jl rename to SINDBAD/src/Models/wCycle/wCycle.jl diff --git a/src/Models/wCycle/wCycle_combined.jl b/SINDBAD/src/Models/wCycle/wCycle_combined.jl similarity index 100% rename from src/Models/wCycle/wCycle_combined.jl rename to SINDBAD/src/Models/wCycle/wCycle_combined.jl diff --git a/src/Models/wCycle/wCycle_components.jl b/SINDBAD/src/Models/wCycle/wCycle_components.jl similarity index 100% rename from src/Models/wCycle/wCycle_components.jl rename to SINDBAD/src/Models/wCycle/wCycle_components.jl diff --git a/src/Models/wCycleBase/wCycleBase.jl b/SINDBAD/src/Models/wCycleBase/wCycleBase.jl similarity index 100% rename from src/Models/wCycleBase/wCycleBase.jl rename to SINDBAD/src/Models/wCycleBase/wCycleBase.jl diff --git a/src/Models/wCycleBase/wCycleBase_simple.jl b/SINDBAD/src/Models/wCycleBase/wCycleBase_simple.jl similarity index 100% rename from src/Models/wCycleBase/wCycleBase_simple.jl rename to SINDBAD/src/Models/wCycleBase/wCycleBase_simple.jl diff --git a/src/Models/waterBalance/waterBalance.jl b/SINDBAD/src/Models/waterBalance/waterBalance.jl similarity index 100% rename from src/Models/waterBalance/waterBalance.jl rename to SINDBAD/src/Models/waterBalance/waterBalance.jl diff --git a/src/Models/waterBalance/waterBalance_simple.jl b/SINDBAD/src/Models/waterBalance/waterBalance_simple.jl similarity index 100% rename from src/Models/waterBalance/waterBalance_simple.jl rename to SINDBAD/src/Models/waterBalance/waterBalance_simple.jl diff --git a/src/Sindbad.jl b/SINDBAD/src/Sindbad.jl similarity index 100% rename from src/Sindbad.jl rename to SINDBAD/src/Sindbad.jl diff --git a/src/Types/ArrayTypes.jl b/SINDBAD/src/Types/ArrayTypes.jl similarity index 100% rename from src/Types/ArrayTypes.jl rename to SINDBAD/src/Types/ArrayTypes.jl diff --git a/src/Types/ExperimentTypes.jl b/SINDBAD/src/Types/ExperimentTypes.jl similarity index 100% rename from src/Types/ExperimentTypes.jl rename to SINDBAD/src/Types/ExperimentTypes.jl diff --git a/src/Types/InputTypes.jl b/SINDBAD/src/Types/InputTypes.jl similarity index 100% rename from src/Types/InputTypes.jl rename to SINDBAD/src/Types/InputTypes.jl diff --git a/src/Types/LandTypes.jl b/SINDBAD/src/Types/LandTypes.jl similarity index 100% rename from src/Types/LandTypes.jl rename to SINDBAD/src/Types/LandTypes.jl diff --git a/src/Types/LongTuple.jl b/SINDBAD/src/Types/LongTuple.jl similarity index 100% rename from src/Types/LongTuple.jl rename to SINDBAD/src/Types/LongTuple.jl diff --git a/src/Types/MLTypes.jl b/SINDBAD/src/Types/MLTypes.jl similarity index 100% rename from src/Types/MLTypes.jl rename to SINDBAD/src/Types/MLTypes.jl diff --git a/src/Types/MetricsTypes.jl b/SINDBAD/src/Types/MetricsTypes.jl similarity index 100% rename from src/Types/MetricsTypes.jl rename to SINDBAD/src/Types/MetricsTypes.jl diff --git a/src/Types/ModelTypes.jl b/SINDBAD/src/Types/ModelTypes.jl similarity index 100% rename from src/Types/ModelTypes.jl rename to SINDBAD/src/Types/ModelTypes.jl diff --git a/src/Types/OptimizationTypes.jl b/SINDBAD/src/Types/OptimizationTypes.jl similarity index 100% rename from src/Types/OptimizationTypes.jl rename to SINDBAD/src/Types/OptimizationTypes.jl diff --git a/src/Types/SpinupTypes.jl b/SINDBAD/src/Types/SpinupTypes.jl similarity index 100% rename from src/Types/SpinupTypes.jl rename to SINDBAD/src/Types/SpinupTypes.jl diff --git a/src/Types/TimeTypes.jl b/SINDBAD/src/Types/TimeTypes.jl similarity index 100% rename from src/Types/TimeTypes.jl rename to SINDBAD/src/Types/TimeTypes.jl diff --git a/src/Types/Types.jl b/SINDBAD/src/Types/Types.jl similarity index 100% rename from src/Types/Types.jl rename to SINDBAD/src/Types/Types.jl diff --git a/src/Types/TypesFunctions.jl b/SINDBAD/src/Types/TypesFunctions.jl similarity index 100% rename from src/Types/TypesFunctions.jl rename to SINDBAD/src/Types/TypesFunctions.jl diff --git a/src/Types/docStringForTypes.jl b/SINDBAD/src/Types/docStringForTypes.jl similarity index 100% rename from src/Types/docStringForTypes.jl rename to SINDBAD/src/Types/docStringForTypes.jl diff --git a/src/generateCode.jl b/SINDBAD/src/generateCode.jl similarity index 100% rename from src/generateCode.jl rename to SINDBAD/src/generateCode.jl diff --git a/src/modelTools.jl b/SINDBAD/src/modelTools.jl similarity index 100% rename from src/modelTools.jl rename to SINDBAD/src/modelTools.jl diff --git a/src/sindbadVariableCatalog.jl b/SINDBAD/src/sindbadVariableCatalog.jl similarity index 100% rename from src/sindbadVariableCatalog.jl rename to SINDBAD/src/sindbadVariableCatalog.jl diff --git a/src/utilsCore.jl b/SINDBAD/src/utilsCore.jl similarity index 100% rename from src/utilsCore.jl rename to SINDBAD/src/utilsCore.jl diff --git a/test/Models/ambientCO2.jl b/SINDBAD/test/Models/ambientCO2.jl similarity index 100% rename from test/Models/ambientCO2.jl rename to SINDBAD/test/Models/ambientCO2.jl diff --git a/test/Models/autoRespiration.jl b/SINDBAD/test/Models/autoRespiration.jl similarity index 100% rename from test/Models/autoRespiration.jl rename to SINDBAD/test/Models/autoRespiration.jl diff --git a/test/Models/models.jl b/SINDBAD/test/Models/models.jl similarity index 100% rename from test/Models/models.jl rename to SINDBAD/test/Models/models.jl diff --git a/test/Project.toml b/SINDBAD/test/Project.toml similarity index 100% rename from test/Project.toml rename to SINDBAD/test/Project.toml diff --git a/test/mock_input/forcing.jl b/SINDBAD/test/mock_input/forcing.jl similarity index 100% rename from test/mock_input/forcing.jl rename to SINDBAD/test/mock_input/forcing.jl diff --git a/test/mock_input/helpers.jl b/SINDBAD/test/mock_input/helpers.jl similarity index 100% rename from test/mock_input/helpers.jl rename to SINDBAD/test/mock_input/helpers.jl diff --git a/test/mock_input/land.jl b/SINDBAD/test/mock_input/land.jl similarity index 100% rename from test/mock_input/land.jl rename to SINDBAD/test/mock_input/land.jl diff --git a/test/runtests.jl b/SINDBAD/test/runtests.jl similarity index 100% rename from test/runtests.jl rename to SINDBAD/test/runtests.jl diff --git a/test/utilsCore.jl b/SINDBAD/test/utilsCore.jl similarity index 100% rename from test/utilsCore.jl rename to SINDBAD/test/utilsCore.jl diff --git a/test/README.md b/test/README.md deleted file mode 100644 index 32a7a8693..000000000 --- a/test/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# What are we testing for here? - -## For Models - -1. Proper `subtyping` of model structs. -2. Allocations. It should be **ZERO** for core models. -3. The expected result for packed variables (your variables at the @pack_nt step). Is the math correct? -- More? suggestions welcome. - -Note that this done for `one time step`. \ No newline at end of file From 0945d606723239c96234c12529dd69cf79017db7 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Wed, 5 Nov 2025 22:25:17 +0100 Subject: [PATCH 02/36] mv utils --- {lib/SindbadUtils/src => SINDBAD/src/utils}/SindbadUtils.jl | 0 {lib/SindbadUtils/src => SINDBAD/src/utils}/getArrayView.jl | 0 {lib/SindbadUtils/src => SINDBAD/src/utils}/utils.jl | 0 {lib/SindbadUtils/src => SINDBAD/src/utils}/utilsNT.jl | 0 {lib/SindbadUtils/src => SINDBAD/src/utils}/utilsTemporal.jl | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename {lib/SindbadUtils/src => SINDBAD/src/utils}/SindbadUtils.jl (100%) rename {lib/SindbadUtils/src => SINDBAD/src/utils}/getArrayView.jl (100%) rename {lib/SindbadUtils/src => SINDBAD/src/utils}/utils.jl (100%) rename {lib/SindbadUtils/src => SINDBAD/src/utils}/utilsNT.jl (100%) rename {lib/SindbadUtils/src => SINDBAD/src/utils}/utilsTemporal.jl (100%) diff --git a/lib/SindbadUtils/src/SindbadUtils.jl b/SINDBAD/src/utils/SindbadUtils.jl similarity index 100% rename from lib/SindbadUtils/src/SindbadUtils.jl rename to SINDBAD/src/utils/SindbadUtils.jl diff --git a/lib/SindbadUtils/src/getArrayView.jl b/SINDBAD/src/utils/getArrayView.jl similarity index 100% rename from lib/SindbadUtils/src/getArrayView.jl rename to SINDBAD/src/utils/getArrayView.jl diff --git a/lib/SindbadUtils/src/utils.jl b/SINDBAD/src/utils/utils.jl similarity index 100% rename from lib/SindbadUtils/src/utils.jl rename to SINDBAD/src/utils/utils.jl diff --git a/lib/SindbadUtils/src/utilsNT.jl b/SINDBAD/src/utils/utilsNT.jl similarity index 100% rename from lib/SindbadUtils/src/utilsNT.jl rename to SINDBAD/src/utils/utilsNT.jl diff --git a/lib/SindbadUtils/src/utilsTemporal.jl b/SINDBAD/src/utils/utilsTemporal.jl similarity index 100% rename from lib/SindbadUtils/src/utilsTemporal.jl rename to SINDBAD/src/utils/utilsTemporal.jl From 20f5c2bf5f3e8051c1e430560afdbf7ed97e9560 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Wed, 5 Nov 2025 22:57:05 +0100 Subject: [PATCH 03/36] running --- SINDBAD/Project.toml | 8 +++++++- SINDBAD/src/Sindbad.jl | 3 +++ SINDBAD/src/utils/SindbadUtils.jl | 4 +++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/SINDBAD/Project.toml b/SINDBAD/Project.toml index d94d68016..6b5f4e0c9 100644 --- a/SINDBAD/Project.toml +++ b/SINDBAD/Project.toml @@ -1,7 +1,7 @@ name = "Sindbad" uuid = "6686e6de-2010-4bf8-9178-b2bcc470766e" -authors = ["SINDBAD Contributors "] version = "0.1.0" +authors = ["SINDBAD Contributors "] [deps] Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" @@ -9,9 +9,11 @@ CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" Crayons = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" +FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" FieldMetadata = "bf96fef3-21d2-5d20-8afa-0e7d4c32a885" Flatten = "4c728ea3-d9ee-5c9a-9642-b6f7d7dc04fa" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Missings = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" NaNStatistics = "b946abbf-3ea7-4610-9019-9858bfdeaf2d" Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" @@ -20,15 +22,19 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [compat] Accessors = "0.1.42" Crayons = "4.1.1" Dates = "1.10, 1.11.0" +FIGlet = "0.2.2" +Logging = "1.11.0" NaNStatistics = "0.6.50" Pkg = "1.10.0" Reexport = "1.2.2" +StyledStrings = "1.11.0" TypedTables = "1.4.6" julia = "1.10" diff --git a/SINDBAD/src/Sindbad.jl b/SINDBAD/src/Sindbad.jl index 06d1afbeb..d321bb107 100644 --- a/SINDBAD/src/Sindbad.jl +++ b/SINDBAD/src/Sindbad.jl @@ -107,6 +107,9 @@ module Sindbad include("Models/Models.jl") include("generateCode.jl") @reexport using .Models + # ? maybe rename module, a shorter name? + include("utils/SindbadUtils.jl") + @reexport using .SindbadUtils # append the docstring of the LandEcosystem type to the docstring of the Sindbad module so that all the methods of the LandEcosystem type are included after the models have been described @doc """ diff --git a/SINDBAD/src/utils/SindbadUtils.jl b/SINDBAD/src/utils/SindbadUtils.jl index b1abd3ea8..9464d3468 100644 --- a/SINDBAD/src/utils/SindbadUtils.jl +++ b/SINDBAD/src/utils/SindbadUtils.jl @@ -29,11 +29,13 @@ This package is designed to provide reusable utilities for data manipulation, st """ module SindbadUtils - using Sindbad + using ..Sindbad.Types using Crayons using StyledStrings using FIGlet using Logging + using Accessors + using Dates include("getArrayView.jl") include("utils.jl") From dfbda3a8c253a109821f6ff7c53bf1592dfe08e3 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Wed, 5 Nov 2025 23:05:42 +0100 Subject: [PATCH 04/36] update CI --- .github/workflows/CI.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 202344a1e..f31079827 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,12 +1,16 @@ -name: CI +name: Sindbad.jl on: pull_request: + paths-ignore: + - 'docs/**' + - '*.md' branches: - main push: + tags: + - '*' branches: - main - tags: '*' jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -17,6 +21,7 @@ jobs: version: - '1.10' - '1.11' + - '1' os: - ubuntu-latest - macOS-latest @@ -50,4 +55,4 @@ jobs: - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v5 with: - file: lcov.info \ No newline at end of file + files: lcov.info \ No newline at end of file From 2859ce708438949216338e9ba8119cece7c6e863 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 08:21:09 +0100 Subject: [PATCH 05/36] mv runModels --- SINDBAD/src/Models/Models.jl | 3 ++- {lib/SindbadTEM/src => SINDBAD/src/Models}/runModels.jl | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename {lib/SindbadTEM/src => SINDBAD/src/Models}/runModels.jl (100%) diff --git a/SINDBAD/src/Models/Models.jl b/SINDBAD/src/Models/Models.jl index eac56ca06..a76c6e828 100644 --- a/SINDBAD/src/Models/Models.jl +++ b/SINDBAD/src/Models/Models.jl @@ -58,6 +58,7 @@ module Models # Import & export necessary modules/functions using ..Sindbad import ..Sindbad.Types: purpose, LandEcosystem + using ..SindbadUtils using FieldMetadata: @metadata using Parameters: @with_kw @metadata timescale "" String @@ -383,6 +384,6 @@ module Models # now having this ordered list is independent from the step including the models into this `module`. include(joinpath(@__DIR__, "standardSindbadModels.jl")) - + include("runModels.jl") end diff --git a/lib/SindbadTEM/src/runModels.jl b/SINDBAD/src/Models/runModels.jl similarity index 100% rename from lib/SindbadTEM/src/runModels.jl rename to SINDBAD/src/Models/runModels.jl From 6ddfb6abf61487e0885472a2d5f3309ed088f3fb Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 08:41:20 +0100 Subject: [PATCH 06/36] mv runModels --- SINDBAD/src/Models/Models.jl | 1 - SINDBAD/src/Models/runModels.jl | 24 ++++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/SINDBAD/src/Models/Models.jl b/SINDBAD/src/Models/Models.jl index a76c6e828..e62969e58 100644 --- a/SINDBAD/src/Models/Models.jl +++ b/SINDBAD/src/Models/Models.jl @@ -58,7 +58,6 @@ module Models # Import & export necessary modules/functions using ..Sindbad import ..Sindbad.Types: purpose, LandEcosystem - using ..SindbadUtils using FieldMetadata: @metadata using Parameters: @with_kw @metadata timescale "" String diff --git a/SINDBAD/src/Models/runModels.jl b/SINDBAD/src/Models/runModels.jl index 0feb49898..7fb48ee0c 100644 --- a/SINDBAD/src/Models/runModels.jl +++ b/SINDBAD/src/Models/runModels.jl @@ -19,7 +19,7 @@ function computeTEM(models::Tuple, forcing, land, model_helpers, ::DoDebugModel) otype = typeof(land) return foldlUnrolled(models; init=land) do _land, model println("compute: $(typeof(model))") - @time _land = Models.compute(model, forcing, _land, model_helpers)::otype + @time _land = compute(model, forcing, _land, model_helpers)::otype end end @@ -54,7 +54,7 @@ run the compute function of SINDBAD models """ function computeTEM(models::LongTuple, forcing, _land, model_helpers) return foldlLongTuple(models, init=_land) do model, _land - Models.compute(model, forcing, _land, model_helpers) + compute(model, forcing, _land, model_helpers) end end @@ -72,7 +72,7 @@ run the compute function of SINDBAD models """ function computeTEM(models::Tuple, forcing, land, model_helpers) return foldlUnrolled(models; init=land) do _land, model - _land = Models.compute(model, forcing, _land, model_helpers) + _land = compute(model, forcing, _land, model_helpers) end end @@ -89,7 +89,7 @@ run the define and precompute functions of SINDBAD models to instantiate all fie """ function defineTEM(models::Tuple, forcing, land, model_helpers) return foldlUnrolled(models; init=land) do _land, model - _land = Models.define(model, forcing, _land, model_helpers) + _land = define(model, forcing, _land, model_helpers) end end @@ -106,7 +106,7 @@ run the precompute function of SINDBAD models to instantiate all fields of land """ function defineTEM(models::LongTuple, forcing, _land, model_helpers) return foldlLongTuple(models, init=_land) do model, _land - _land = Models.define(model, forcing, _land, model_helpers) + _land = define(model, forcing, _land, model_helpers) end end @@ -124,8 +124,8 @@ run the define and precompute functions of SINDBAD models to instantiate all fie """ function definePrecomputeTEM(models::Tuple, forcing, land, model_helpers) return foldlUnrolled(models; init=land) do _land, model - _land = Models.define(model, forcing, _land, model_helpers) - _land = Models.precompute(model, forcing, _land, model_helpers) + _land = define(model, forcing, _land, model_helpers) + _land = precompute(model, forcing, _land, model_helpers) end end @@ -142,8 +142,8 @@ run the precompute function of SINDBAD models to instantiate all fields of land """ function definePrecomputeTEM(models::LongTuple, forcing, _land, model_helpers) return foldlLongTuple(models, init=_land) do model, _land - _land = Models.define(model, forcing, _land, model_helpers) - _land = Models.precompute(model, forcing, _land, model_helpers) + _land = define(model, forcing, _land, model_helpers) + _land = precompute(model, forcing, _land, model_helpers) end end @@ -164,7 +164,7 @@ function precomputeTEM(models::Tuple, forcing, land, model_helpers, ::DoDebugMod otype = typeof(land) return foldlUnrolled(models; init=land) do _land, model println("precompute: $(typeof(model))") - @time _land = Models.precompute(model, forcing, _land, model_helpers)::otype + @time _land = precompute(model, forcing, _land, model_helpers)::otype end end @@ -199,7 +199,7 @@ run the precompute function of SINDBAD models to instantiate all fields of land """ function precomputeTEM(models::LongTuple, forcing, _land, model_helpers) return foldlLongTuple(models, init=_land) do model, _land - Models.precompute(model, forcing, _land, model_helpers) + precompute(model, forcing, _land, model_helpers) end end @@ -216,7 +216,7 @@ run the precompute function of SINDBAD models to instantiate all fields of land """ function precomputeTEM(models::Tuple, forcing, land, model_helpers) return foldlUnrolled(models; init=land) do _land, model - _land = Models.precompute(model, forcing, _land, model_helpers) + _land = precompute(model, forcing, _land, model_helpers) end end From 31360e5558d2480a9ec4f6164f76e5bae01940ce Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 09:10:59 +0100 Subject: [PATCH 07/36] rename --- SINDBAD/src/Sindbad.jl | 8 ++++---- .../SindbadUtils.jl => Utilities/Utilities.jl} | 12 ++++++------ SINDBAD/src/{utils => Utilities}/getArrayView.jl | 0 SINDBAD/src/{utils => Utilities}/utilsNT.jl | 0 .../src/{utils/utils.jl => Utilities/utilsStacks.jl} | 0 SINDBAD/src/{utils => Utilities}/utilsTemporal.jl | 0 6 files changed, 10 insertions(+), 10 deletions(-) rename SINDBAD/src/{utils/SindbadUtils.jl => Utilities/Utilities.jl} (70%) rename SINDBAD/src/{utils => Utilities}/getArrayView.jl (100%) rename SINDBAD/src/{utils => Utilities}/utilsNT.jl (100%) rename SINDBAD/src/{utils/utils.jl => Utilities/utilsStacks.jl} (100%) rename SINDBAD/src/{utils => Utilities}/utilsTemporal.jl (100%) diff --git a/SINDBAD/src/Sindbad.jl b/SINDBAD/src/Sindbad.jl index d321bb107..dcd76e339 100644 --- a/SINDBAD/src/Sindbad.jl +++ b/SINDBAD/src/Sindbad.jl @@ -75,14 +75,14 @@ module Sindbad @reexport using CodeTracking @reexport using DataStructures: DataStructures @reexport using Dates - @reexport using Flatten: flatten, metaflatten, fieldnameflatten, parentnameflatten + # @reexport using Flatten: flatten, metaflatten, fieldnameflatten, parentnameflatten @reexport using InteractiveUtils @reexport using StaticArraysCore: StaticArray, SVector, MArray, SizedArray @reexport using TypedTables: Table @reexport using Accessors: @set @reexport using StatsBase @reexport using NaNStatistics - @reexport using Crayons + # @reexport using Crayons # create a tmp_ file for tracking the creation of new approaches. This is needed because precompiler is not consistently loading the newly created approaches. This file is appended every time a new model/approach is created which forces precompile in the next use of Sindbad. file_path = file_path = joinpath(@__DIR__, "tmp_precompile_placeholder.jl") @@ -108,8 +108,8 @@ module Sindbad include("generateCode.jl") @reexport using .Models # ? maybe rename module, a shorter name? - include("utils/SindbadUtils.jl") - @reexport using .SindbadUtils + include("Utilities/Utilities.jl") + @reexport using .Utilities # append the docstring of the LandEcosystem type to the docstring of the Sindbad module so that all the methods of the LandEcosystem type are included after the models have been described @doc """ diff --git a/SINDBAD/src/utils/SindbadUtils.jl b/SINDBAD/src/Utilities/Utilities.jl similarity index 70% rename from SINDBAD/src/utils/SindbadUtils.jl rename to SINDBAD/src/Utilities/Utilities.jl index 9464d3468..f6f6fb113 100644 --- a/SINDBAD/src/utils/SindbadUtils.jl +++ b/SINDBAD/src/Utilities/Utilities.jl @@ -1,10 +1,10 @@ """ - SindbadUtils + Utilities -The `SindbadUtils` package provides a collection of utility functions and tools for handling data, managing NamedTuples, and performing spatial and temporal operations in the SINDBAD framework. It serves as a foundational package for simplifying common tasks and ensuring consistency across SINDBAD experiments. +The `Utilities` module provides a collection of utility functions and tools for handling data, managing NamedTuples, and performing spatial and temporal operations in the SINDBAD framework. It serves as a foundational module for simplifying common tasks and ensuring consistency across SINDBAD experiments. # Purpose: -This package is designed to provide reusable utilities for data manipulation, statistical operations, and spatial/temporal processing. +This module is designed to provide reusable utilities for data manipulation, statistical operations, and spatial/temporal processing. # Dependencies: - `Sindbad`: Provides the core SINDBAD models and types. @@ -28,7 +28,7 @@ This package is designed to provide reusable utilities for data manipulation, st - Handles temporal operations, including time-based filtering and aggregation. """ -module SindbadUtils +module Utilities using ..Sindbad.Types using Crayons using StyledStrings @@ -38,8 +38,8 @@ module SindbadUtils using Dates include("getArrayView.jl") - include("utils.jl") + include("utilsStacks.jl") include("utilsNT.jl") include("utilsTemporal.jl") -end # module SindbadUtils +end # module Utilities diff --git a/SINDBAD/src/utils/getArrayView.jl b/SINDBAD/src/Utilities/getArrayView.jl similarity index 100% rename from SINDBAD/src/utils/getArrayView.jl rename to SINDBAD/src/Utilities/getArrayView.jl diff --git a/SINDBAD/src/utils/utilsNT.jl b/SINDBAD/src/Utilities/utilsNT.jl similarity index 100% rename from SINDBAD/src/utils/utilsNT.jl rename to SINDBAD/src/Utilities/utilsNT.jl diff --git a/SINDBAD/src/utils/utils.jl b/SINDBAD/src/Utilities/utilsStacks.jl similarity index 100% rename from SINDBAD/src/utils/utils.jl rename to SINDBAD/src/Utilities/utilsStacks.jl diff --git a/SINDBAD/src/utils/utilsTemporal.jl b/SINDBAD/src/Utilities/utilsTemporal.jl similarity index 100% rename from SINDBAD/src/utils/utilsTemporal.jl rename to SINDBAD/src/Utilities/utilsTemporal.jl From ad139fa3bc1bd9867cbbb0ef3578b2d9a289fa92 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 09:28:01 +0100 Subject: [PATCH 08/36] start cleanup --- SINDBAD/src/Utilities/utilsStacks.jl | 2 +- SINDBAD/src/Utilities/utilsTemporal.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SINDBAD/src/Utilities/utilsStacks.jl b/SINDBAD/src/Utilities/utilsStacks.jl index b4293d70b..6cd9b3a23 100644 --- a/SINDBAD/src/Utilities/utilsStacks.jl +++ b/SINDBAD/src/Utilities/utilsStacks.jl @@ -240,7 +240,7 @@ Displays the given text as a banner using Figlets. """ function sindbadBanner(disp_text="SINDBAD", c_olor=true) if c_olor - print(SindbadUtils.Crayon(; foreground=rand(0:255)), "\n") + print(Crayon(; foreground=rand(0:255)), "\n") end println("######################################################################################################\n") FIGlet.render(disp_text, rand(figlet_fonts)) diff --git a/SINDBAD/src/Utilities/utilsTemporal.jl b/SINDBAD/src/Utilities/utilsTemporal.jl index 245d0a231..8b683d962 100644 --- a/SINDBAD/src/Utilities/utilsTemporal.jl +++ b/SINDBAD/src/Utilities/utilsTemporal.jl @@ -250,7 +250,7 @@ end function getTimeAggregatorTypeInstance(aggr::String) uc_first = toUpperCaseFirst(aggr, "Time") - return getfield(SindbadUtils, uc_first)() + return getfield(Utilities, uc_first)() end From a2a78177694a33c1a13a9ed289c3a97f175fa5bc Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 09:42:15 +0100 Subject: [PATCH 09/36] fixes CI --- .github/workflows/CI.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f31079827..0690f1e4c 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,6 +11,11 @@ on: - '*' branches: - main + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -49,10 +54,17 @@ jobs: restore-keys: | ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- - ${{ runner.os }}- - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 + - name: Develop and test SINDBAD + shell: julia --project=SINDBAD {0} + run: | + using Pkg + pkg"registry up" + Pkg.update() + pkg"dev ." + Pkg.test("SINDBAD"; coverage=true) - uses: julia-actions/julia-processcoverage@v1 + with: + directories: SINDBAD/src - uses: codecov/codecov-action@v5 with: files: lcov.info \ No newline at end of file From bb9bdc7dca813ddc195cf6bd4986cc403070f9a3 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 09:49:26 +0100 Subject: [PATCH 10/36] working d --- .github/workflows/CI.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0690f1e4c..0417828bf 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -55,7 +55,8 @@ jobs: ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- - name: Develop and test SINDBAD - shell: julia --project=SINDBAD {0} + working-directory: ./SINDBAD + shell: julia --project {0} run: | using Pkg pkg"registry up" From 831ba555e34bfdfca9828d9103ea6372184c03ef Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 09:55:52 +0100 Subject: [PATCH 11/36] no name --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0417828bf..87e26c9f0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -62,7 +62,7 @@ jobs: pkg"registry up" Pkg.update() pkg"dev ." - Pkg.test("SINDBAD"; coverage=true) + Pkg.test(coverage=true) - uses: julia-actions/julia-processcoverage@v1 with: directories: SINDBAD/src From 3f32aa5f295e7b7e8663aff4fe7e674db8741a13 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 10:05:15 +0100 Subject: [PATCH 12/36] do a test_env instead --- .github/workflows/CI.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 87e26c9f0..732804fd6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -55,14 +55,13 @@ jobs: ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- - name: Develop and test SINDBAD - working-directory: ./SINDBAD - shell: julia --project {0} + shell: julia --project=test_env {0} run: | using Pkg pkg"registry up" Pkg.update() - pkg"dev ." - Pkg.test(coverage=true) + pkg"dev ./SINDBAD" + Pkg.test("SINDBAD"; coverage=true) - uses: julia-actions/julia-processcoverage@v1 with: directories: SINDBAD/src From b6db029b2b44d388fcd75f994eda93527e998731 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 10:16:38 +0100 Subject: [PATCH 13/36] lowercase --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 732804fd6..573e54edc 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -60,8 +60,8 @@ jobs: using Pkg pkg"registry up" Pkg.update() - pkg"dev ./SINDBAD" - Pkg.test("SINDBAD"; coverage=true) + pkg"dev ./SINDBAD" # Develop the package in the SINDBAD directory + Pkg.test("Sindbad"; coverage=true) # Test the package named "Sindbad" - uses: julia-actions/julia-processcoverage@v1 with: directories: SINDBAD/src From d9871667d764f607e43b278c126174d4d1c588c8 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 10:51:53 +0100 Subject: [PATCH 14/36] be consistent, rename --- {SINDBAD => Sindbad}/Project.toml | 0 {SINDBAD => Sindbad}/src/Models/EVI/EVI.jl | 0 {SINDBAD => Sindbad}/src/Models/EVI/EVI_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/EVI/EVI_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/LAI/LAI.jl | 0 {SINDBAD => Sindbad}/src/Models/LAI/LAI_cVegLeaf.jl | 0 {SINDBAD => Sindbad}/src/Models/LAI/LAI_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/LAI/LAI_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/Models.jl | 0 {SINDBAD => Sindbad}/src/Models/NDVI/NDVI.jl | 0 {SINDBAD => Sindbad}/src/Models/NDVI/NDVI_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/NDVI/NDVI_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/NDWI/NDWI.jl | 0 {SINDBAD => Sindbad}/src/Models/NDWI/NDWI_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/NDWI/NDWI_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/NIRv/NIRv.jl | 0 {SINDBAD => Sindbad}/src/Models/NIRv/NIRv_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/NIRv/NIRv_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/PET/PET.jl | 0 {SINDBAD => Sindbad}/src/Models/PET/PET_Lu2005.jl | 0 {SINDBAD => Sindbad}/src/Models/PET/PET_PriestleyTaylor1972.jl | 0 {SINDBAD => Sindbad}/src/Models/PET/PET_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/PFT/PFT.jl | 0 {SINDBAD => Sindbad}/src/Models/PFT/PFT_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE_Medlyn2011.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE_VPDDay.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE_VPDDayCo2.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/WUE/WUE_expVPDDayCo2.jl | 0 {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2.jl | 0 {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2_forcing.jl | 0 .../src/Models/autoRespiration/autoRespiration.jl | 0 .../src/Models/autoRespiration/autoRespiration_Thornley2000A.jl | 0 .../src/Models/autoRespiration/autoRespiration_Thornley2000B.jl | 0 .../src/Models/autoRespiration/autoRespiration_Thornley2000C.jl | 0 .../src/Models/autoRespiration/autoRespiration_none.jl | 0 .../src/Models/autoRespirationAirT/autoRespirationAirT.jl | 0 .../src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl | 0 .../src/Models/autoRespirationAirT/autoRespirationAirT_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation.jl | 0 .../src/Models/cAllocation/cAllocation_Friedlingstein1999.jl | 0 {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_fixed.jl | 0 {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cAllocationLAI/cAllocationLAI.jl | 0 .../Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl | 0 .../src/Models/cAllocationLAI/cAllocationLAI_none.jl | 0 .../src/Models/cAllocationNutrients/cAllocationNutrients.jl | 0 .../cAllocationNutrients_Friedlingstein1999.jl | 0 .../src/Models/cAllocationNutrients/cAllocationNutrients_none.jl | 0 .../src/Models/cAllocationRadiation/cAllocationRadiation.jl | 0 .../src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl | 0 .../src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl | 0 .../src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl | 0 .../src/Models/cAllocationRadiation/cAllocationRadiation_none.jl | 0 .../src/Models/cAllocationSoilT/cAllocationSoilT.jl | 0 .../cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl | 0 .../src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl | 0 .../src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl | 0 .../src/Models/cAllocationSoilT/cAllocationSoilT_none.jl | 0 .../src/Models/cAllocationSoilW/cAllocationSoilW.jl | 0 .../cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl | 0 .../src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl | 0 .../src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl | 0 .../src/Models/cAllocationSoilW/cAllocationSoilW_none.jl | 0 .../src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl | 0 .../cAllocationTreeFraction_Friedlingstein1999.jl | 0 {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass.jl | 0 {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass_treeGrass.jl | 0 .../src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycle/cCycle.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_GSI.jl | 0 .../src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl | 0 .../Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl | 0 {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_simple.jl | 0 .../src/Models/cCycleConsistency/cCycleConsistency.jl | 0 .../src/Models/cCycleConsistency/cCycleConsistency_simple.jl | 0 .../src/Models/cCycleDisturbance/cCycleDisturbance.jl | 0 .../src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl | 0 .../src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl | 0 {SINDBAD => Sindbad}/src/Models/cFlow/cFlow.jl | 0 {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_simple.jl | 0 .../src/Models/cFlowSoilProperties/cFlowSoilProperties.jl | 0 .../src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl | 0 .../src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl | 0 .../src/Models/cFlowVegProperties/cFlowVegProperties.jl | 0 .../src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl | 0 .../src/Models/cFlowVegProperties/cFlowVegProperties_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cTau/cTau.jl | 0 {SINDBAD => Sindbad}/src/Models/cTau/cTau_mult.jl | 0 {SINDBAD => Sindbad}/src/Models/cTau/cTau_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI_none.jl | 0 .../src/Models/cTauSoilProperties/cTauSoilProperties.jl | 0 .../src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl | 0 .../src/Models/cTauSoilProperties/cTauSoilProperties_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT_Q10.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT_none.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_none.jl | 0 .../src/Models/cTauVegProperties/cTauVegProperties.jl | 0 .../src/Models/cTauVegProperties/cTauVegProperties_CASA.jl | 0 .../src/Models/cTauVegProperties/cTauVegProperties_none.jl | 0 .../src/Models/cVegetationDieOff/cVegetationDieOff.jl | 0 .../src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/capillaryFlow/capillaryFlow.jl | 0 .../src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl | 0 {SINDBAD => Sindbad}/src/Models/constants/constants.jl | 0 {SINDBAD => Sindbad}/src/Models/constants/constants_numbers.jl | 0 .../src/Models/deriveVariables/deriveVariables.jl | 0 .../src/Models/deriveVariables/deriveVariables_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/drainage/drainage.jl | 0 {SINDBAD => Sindbad}/src/Models/drainage/drainage_dos.jl | 0 {SINDBAD => Sindbad}/src/Models/drainage/drainage_kUnsat.jl | 0 {SINDBAD => Sindbad}/src/Models/drainage/drainage_wFC.jl | 0 {SINDBAD => Sindbad}/src/Models/evaporation/evaporation.jl | 0 .../src/Models/evaporation/evaporation_Snyder2000.jl | 0 .../src/Models/evaporation/evaporation_bareFraction.jl | 0 .../src/Models/evaporation/evaporation_demandSupply.jl | 0 {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_fAPAR.jl | 0 {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_none.jl | 0 .../src/Models/evaporation/evaporation_vegFraction.jl | 0 .../src/Models/evapotranspiration/evapotranspiration.jl | 0 .../src/Models/evapotranspiration/evapotranspiration_sum.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_EVI.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_LAI.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_cVegLeaf.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_constant.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_vegFraction.jl | 0 {SINDBAD => Sindbad}/src/Models/getPools/getPools.jl | 0 {SINDBAD => Sindbad}/src/Models/getPools/getPools_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp_coupled.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp_min.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp_mult.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp_none.jl | 0 {SINDBAD => Sindbad}/src/Models/gpp/gpp_transpirationWUE.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_MOD17.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_Maekelae2008.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_TEM.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_Wang2014.jl | 0 {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_none.jl | 0 {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand.jl | 0 {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_min.jl | 0 {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_mult.jl | 0 {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_none.jl | 0 .../src/Models/gppDiffRadiation/gppDiffRadiation.jl | 0 .../src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl | 0 .../src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl | 0 .../src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl | 0 .../src/Models/gppDiffRadiation/gppDiffRadiation_none.jl | 0 .../src/Models/gppDirRadiation/gppDirRadiation.jl | 0 .../src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl | 0 .../src/Models/gppDirRadiation/gppDirRadiation_none.jl | 0 {SINDBAD => Sindbad}/src/Models/gppPotential/gppPotential.jl | 0 .../src/Models/gppPotential/gppPotential_Monteith.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_CASA.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_GSI.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_Keenan2009.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_Stocker2020.jl | 0 {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_none.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_MOD17.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_Maekelae2008.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_PRELES.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_expco2.jl | 0 {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_none.jl | 0 .../src/Models/groundWRecharge/groundWRecharge.jl | 0 .../src/Models/groundWRecharge/groundWRecharge_dos.jl | 0 .../src/Models/groundWRecharge/groundWRecharge_fraction.jl | 0 .../src/Models/groundWRecharge/groundWRecharge_kUnsat.jl | 0 .../src/Models/groundWRecharge/groundWRecharge_none.jl | 0 .../src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl | 0 .../groundWSoilWInteraction_VanDijk2010.jl | 0 .../groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl | 0 .../groundWSoilWInteraction_gradientNeg.jl | 0 .../groundWSoilWInteraction/groundWSoilWInteraction_none.jl | 0 .../groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl | 0 .../groundWSurfaceWInteraction_fracGradient.jl | 0 .../groundWSurfaceWInteraction_fracGroundW.jl | 0 {SINDBAD => Sindbad}/src/Models/interception/interception.jl | 0 .../src/Models/interception/interception_Miralles2010.jl | 0 .../src/Models/interception/interception_fAPAR.jl | 0 {SINDBAD => Sindbad}/src/Models/interception/interception_none.jl | 0 .../src/Models/interception/interception_vegFraction.jl | 0 {SINDBAD => Sindbad}/src/Models/percolation/percolation.jl | 0 {SINDBAD => Sindbad}/src/Models/percolation/percolation_WBP.jl | 0 {SINDBAD => Sindbad}/src/Models/plantForm/plantForm.jl | 0 {SINDBAD => Sindbad}/src/Models/plantForm/plantForm_PFT.jl | 0 {SINDBAD => Sindbad}/src/Models/plantForm/plantForm_fixed.jl | 0 {SINDBAD => Sindbad}/src/Models/rainIntensity/rainIntensity.jl | 0 .../src/Models/rainIntensity/rainIntensity_forcing.jl | 0 .../src/Models/rainIntensity/rainIntensity_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow.jl | 0 {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_Tair.jl | 0 {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_rain.jl | 0 .../src/Models/rootMaximumDepth/rootMaximumDepth.jl | 0 .../src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl | 0 .../src/Models/rootWaterEfficiency/rootWaterEfficiency.jl | 0 .../Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl | 0 .../Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl | 0 .../src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl | 0 .../src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl | 0 .../rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl | 0 .../src/Models/rootWaterUptake/rootWaterUptake.jl | 0 .../src/Models/rootWaterUptake/rootWaterUptake_proportion.jl | 0 .../src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl | 0 {SINDBAD => Sindbad}/src/Models/runModels.jl | 0 {SINDBAD => Sindbad}/src/Models/runoff/runoff.jl | 0 {SINDBAD => Sindbad}/src/Models/runoff/runoff_sum.jl | 0 {SINDBAD => Sindbad}/src/Models/runoffBase/runoffBase.jl | 0 .../src/Models/runoffBase/runoffBase_Zhang2008.jl | 0 {SINDBAD => Sindbad}/src/Models/runoffBase/runoffBase_none.jl | 0 .../Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl | 0 .../runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl | 0 .../runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl | 0 .../runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl | 0 .../src/Models/runoffInterflow/runoffInterflow.jl | 0 .../src/Models/runoffInterflow/runoffInterflow_none.jl | 0 .../src/Models/runoffInterflow/runoffInterflow_residual.jl | 0 {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland.jl | 0 .../src/Models/runoffOverland/runoffOverland_Inf.jl | 0 .../src/Models/runoffOverland/runoffOverland_InfIntSat.jl | 0 .../src/Models/runoffOverland/runoffOverland_Sat.jl | 0 .../src/Models/runoffOverland/runoffOverland_none.jl | 0 .../src/Models/runoffSaturationExcess/runoffSaturationExcess.jl | 0 .../runoffSaturationExcess_Bergstroem1992.jl | 0 .../runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl | 0 .../runoffSaturationExcess_Bergstroem1992VegFraction.jl | 0 .../runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl | 0 .../runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl | 0 .../runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl | 0 .../Models/runoffSaturationExcess/runoffSaturationExcess_none.jl | 0 .../runoffSaturationExcess/runoffSaturationExcess_satFraction.jl | 0 {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface.jl | 0 .../src/Models/runoffSurface/runoffSurface_Orth2013.jl | 0 .../src/Models/runoffSurface/runoffSurface_Trautmann2018.jl | 0 .../src/Models/runoffSurface/runoffSurface_all.jl | 0 .../src/Models/runoffSurface/runoffSurface_directIndirect.jl | 0 .../Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl | 0 .../src/Models/runoffSurface/runoffSurface_indirect.jl | 0 .../src/Models/runoffSurface/runoffSurface_none.jl | 0 .../src/Models/saturatedFraction/saturatedFraction.jl | 0 .../src/Models/saturatedFraction/saturatedFraction_none.jl | 0 {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction.jl | 0 .../src/Models/snowFraction/snowFraction_HTESSEL.jl | 0 .../src/Models/snowFraction/snowFraction_binary.jl | 0 {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction_none.jl | 0 {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt.jl | 0 {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt_Tair.jl | 0 {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt_TairRn.jl | 0 {SINDBAD => Sindbad}/src/Models/soilProperties/soilProperties.jl | 0 .../src/Models/soilProperties/soilProperties_Saxton1986.jl | 0 .../src/Models/soilProperties/soilProperties_Saxton2006.jl | 0 {SINDBAD => Sindbad}/src/Models/soilTexture/soilTexture.jl | 0 .../src/Models/soilTexture/soilTexture_constant.jl | 0 .../src/Models/soilTexture/soilTexture_forcing.jl | 0 {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase.jl | 0 {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax1Layer.jl | 0 {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax2Layer.jl | 0 {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax2fRD4.jl | 0 {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_uniform.jl | 0 {SINDBAD => Sindbad}/src/Models/standardSindbadModels.jl | 0 {SINDBAD => Sindbad}/src/Models/sublimation/sublimation.jl | 0 {SINDBAD => Sindbad}/src/Models/sublimation/sublimation_GLEAM.jl | 0 {SINDBAD => Sindbad}/src/Models/sublimation/sublimation_none.jl | 0 {SINDBAD => Sindbad}/src/Models/transpiration/transpiration.jl | 0 .../src/Models/transpiration/transpiration_coupled.jl | 0 .../src/Models/transpiration/transpiration_demandSupply.jl | 0 .../src/Models/transpiration/transpiration_none.jl | 0 .../src/Models/transpirationDemand/transpirationDemand.jl | 0 .../src/Models/transpirationDemand/transpirationDemand_CASA.jl | 0 .../src/Models/transpirationDemand/transpirationDemand_PET.jl | 0 .../Models/transpirationDemand/transpirationDemand_PETfAPAR.jl | 0 .../transpirationDemand/transpirationDemand_PETvegFraction.jl | 0 .../src/Models/transpirationSupply/transpirationSupply.jl | 0 .../src/Models/transpirationSupply/transpirationSupply_CASA.jl | 0 .../Models/transpirationSupply/transpirationSupply_Federer1982.jl | 0 .../src/Models/transpirationSupply/transpirationSupply_wAWC.jl | 0 .../transpirationSupply/transpirationSupply_wAWCvegFraction.jl | 0 {SINDBAD => Sindbad}/src/Models/treeFraction/treeFraction.jl | 0 .../src/Models/treeFraction/treeFraction_constant.jl | 0 .../src/Models/treeFraction/treeFraction_forcing.jl | 0 .../src/Models/vegAvailableWater/vegAvailableWater.jl | 0 .../vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl | 0 .../src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl | 0 {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction.jl | 0 .../src/Models/vegFraction/vegFraction_constant.jl | 0 .../src/Models/vegFraction/vegFraction_forcing.jl | 0 .../src/Models/vegFraction/vegFraction_scaledEVI.jl | 0 .../src/Models/vegFraction/vegFraction_scaledLAI.jl | 0 .../src/Models/vegFraction/vegFraction_scaledNDVI.jl | 0 .../src/Models/vegFraction/vegFraction_scaledNIRv.jl | 0 .../src/Models/vegFraction/vegFraction_scaledfAPAR.jl | 0 {SINDBAD => Sindbad}/src/Models/wCycle/wCycle.jl | 0 {SINDBAD => Sindbad}/src/Models/wCycle/wCycle_combined.jl | 0 {SINDBAD => Sindbad}/src/Models/wCycle/wCycle_components.jl | 0 {SINDBAD => Sindbad}/src/Models/wCycleBase/wCycleBase.jl | 0 {SINDBAD => Sindbad}/src/Models/wCycleBase/wCycleBase_simple.jl | 0 {SINDBAD => Sindbad}/src/Models/waterBalance/waterBalance.jl | 0 .../src/Models/waterBalance/waterBalance_simple.jl | 0 {SINDBAD => Sindbad}/src/Sindbad.jl | 0 {SINDBAD => Sindbad}/src/Types/ArrayTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/ExperimentTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/InputTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/LandTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/LongTuple.jl | 0 {SINDBAD => Sindbad}/src/Types/MLTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/MetricsTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/ModelTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/OptimizationTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/SpinupTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/TimeTypes.jl | 0 {SINDBAD => Sindbad}/src/Types/Types.jl | 0 {SINDBAD => Sindbad}/src/Types/TypesFunctions.jl | 0 {SINDBAD => Sindbad}/src/Types/docStringForTypes.jl | 0 {SINDBAD => Sindbad}/src/Utilities/Utilities.jl | 0 {SINDBAD => Sindbad}/src/Utilities/getArrayView.jl | 0 {SINDBAD => Sindbad}/src/Utilities/utilsNT.jl | 0 {SINDBAD => Sindbad}/src/Utilities/utilsStacks.jl | 0 {SINDBAD => Sindbad}/src/Utilities/utilsTemporal.jl | 0 {SINDBAD => Sindbad}/src/generateCode.jl | 0 {SINDBAD => Sindbad}/src/modelTools.jl | 0 {SINDBAD => Sindbad}/src/sindbadVariableCatalog.jl | 0 {SINDBAD => Sindbad}/src/utilsCore.jl | 0 {SINDBAD => Sindbad}/test/Models/ambientCO2.jl | 0 {SINDBAD => Sindbad}/test/Models/autoRespiration.jl | 0 {SINDBAD => Sindbad}/test/Models/models.jl | 0 {SINDBAD => Sindbad}/test/Project.toml | 0 {SINDBAD => Sindbad}/test/mock_input/forcing.jl | 0 {SINDBAD => Sindbad}/test/mock_input/helpers.jl | 0 {SINDBAD => Sindbad}/test/mock_input/land.jl | 0 {SINDBAD => Sindbad}/test/runtests.jl | 0 {SINDBAD => Sindbad}/test/utilsCore.jl | 0 357 files changed, 0 insertions(+), 0 deletions(-) rename {SINDBAD => Sindbad}/Project.toml (100%) rename {SINDBAD => Sindbad}/src/Models/EVI/EVI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/EVI/EVI_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/EVI/EVI_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/LAI/LAI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/LAI/LAI_cVegLeaf.jl (100%) rename {SINDBAD => Sindbad}/src/Models/LAI/LAI_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/LAI/LAI_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/Models.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDVI/NDVI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDVI/NDVI_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDVI/NDVI_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDWI/NDWI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDWI/NDWI_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NDWI/NDWI_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NIRv/NIRv.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NIRv/NIRv_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/NIRv/NIRv_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PET/PET.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PET/PET_Lu2005.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PET/PET_PriestleyTaylor1972.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PET/PET_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PFT/PFT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/PFT/PFT_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE_Medlyn2011.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE_VPDDay.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE_VPDDayCo2.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/WUE/WUE_expVPDDayCo2.jl (100%) rename {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2.jl (100%) rename {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/ambientCO2/ambientCO2_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespiration/autoRespiration.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespiration/autoRespiration_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespirationAirT/autoRespirationAirT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl (100%) rename {SINDBAD => Sindbad}/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_fixed.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocation/cAllocation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationLAI/cAllocationLAI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationLAI/cAllocationLAI_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationNutrients/cAllocationNutrients.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationRadiation/cAllocationRadiation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilT/cAllocationSoilT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilW/cAllocationSoilW.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass_treeGrass.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycle/cCycle.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycle/cCycle_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleBase/cCycleBase_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleConsistency/cCycleConsistency.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleConsistency/cCycleConsistency_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleDisturbance/cCycleDisturbance.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlow/cFlow.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlow/cFlow_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowVegProperties/cFlowVegProperties.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTau/cTau.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTau/cTau_mult.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTau/cTau_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauLAI/cTauLAI_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilProperties/cTauSoilProperties.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT_Q10.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilT/cTauSoilT_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauSoilW/cTauSoilW_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauVegProperties/cTauVegProperties.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cTauVegProperties/cTauVegProperties_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cVegetationDieOff/cVegetationDieOff.jl (100%) rename {SINDBAD => Sindbad}/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/capillaryFlow/capillaryFlow.jl (100%) rename {SINDBAD => Sindbad}/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl (100%) rename {SINDBAD => Sindbad}/src/Models/constants/constants.jl (100%) rename {SINDBAD => Sindbad}/src/Models/constants/constants_numbers.jl (100%) rename {SINDBAD => Sindbad}/src/Models/deriveVariables/deriveVariables.jl (100%) rename {SINDBAD => Sindbad}/src/Models/deriveVariables/deriveVariables_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/drainage/drainage.jl (100%) rename {SINDBAD => Sindbad}/src/Models/drainage/drainage_dos.jl (100%) rename {SINDBAD => Sindbad}/src/Models/drainage/drainage_kUnsat.jl (100%) rename {SINDBAD => Sindbad}/src/Models/drainage/drainage_wFC.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_Snyder2000.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_bareFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_demandSupply.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_fAPAR.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evaporation/evaporation_vegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evapotranspiration/evapotranspiration.jl (100%) rename {SINDBAD => Sindbad}/src/Models/evapotranspiration/evapotranspiration_sum.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_EVI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_LAI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_cVegLeaf.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/fAPAR/fAPAR_vegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/getPools/getPools.jl (100%) rename {SINDBAD => Sindbad}/src/Models/getPools/getPools_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp_coupled.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp_min.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp_mult.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gpp/gpp_transpirationWUE.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_MOD17.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_Maekelae2008.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_TEM.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_Wang2014.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppAirT/gppAirT_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_min.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_mult.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDemand/gppDemand_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDiffRadiation/gppDiffRadiation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDirRadiation/gppDirRadiation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppDirRadiation/gppDirRadiation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppPotential/gppPotential.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppPotential/gppPotential_Monteith.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_GSI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_Keenan2009.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_Stocker2020.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppSoilW/gppSoilW_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_MOD17.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_Maekelae2008.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_PRELES.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_expco2.jl (100%) rename {SINDBAD => Sindbad}/src/Models/gppVPD/gppVPD_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWRecharge/groundWRecharge.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWRecharge/groundWRecharge_dos.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWRecharge/groundWRecharge_fraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWRecharge/groundWRecharge_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl (100%) rename {SINDBAD => Sindbad}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl (100%) rename {SINDBAD => Sindbad}/src/Models/interception/interception.jl (100%) rename {SINDBAD => Sindbad}/src/Models/interception/interception_Miralles2010.jl (100%) rename {SINDBAD => Sindbad}/src/Models/interception/interception_fAPAR.jl (100%) rename {SINDBAD => Sindbad}/src/Models/interception/interception_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/interception/interception_vegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/percolation/percolation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/percolation/percolation_WBP.jl (100%) rename {SINDBAD => Sindbad}/src/Models/plantForm/plantForm.jl (100%) rename {SINDBAD => Sindbad}/src/Models/plantForm/plantForm_PFT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/plantForm/plantForm_fixed.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainIntensity/rainIntensity.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainIntensity/rainIntensity_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainIntensity/rainIntensity_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_Tair.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rainSnow/rainSnow_rain.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootMaximumDepth/rootMaximumDepth.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterUptake/rootWaterUptake.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl (100%) rename {SINDBAD => Sindbad}/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runModels.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoff/runoff.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoff/runoff_sum.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffBase/runoffBase.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffBase/runoffBase_Zhang2008.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffBase/runoffBase_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInterflow/runoffInterflow.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInterflow/runoffInterflow_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffInterflow/runoffInterflow_residual.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland_Inf.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland_InfIntSat.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland_Sat.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffOverland/runoffOverland_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_Orth2013.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_all.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_directIndirect.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_indirect.jl (100%) rename {SINDBAD => Sindbad}/src/Models/runoffSurface/runoffSurface_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/saturatedFraction/saturatedFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/saturatedFraction/saturatedFraction_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction_HTESSEL.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction_binary.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowFraction/snowFraction_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt_Tair.jl (100%) rename {SINDBAD => Sindbad}/src/Models/snowMelt/snowMelt_TairRn.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilProperties/soilProperties.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilProperties/soilProperties_Saxton1986.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilProperties/soilProperties_Saxton2006.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilTexture/soilTexture.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilTexture/soilTexture_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilTexture/soilTexture_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax1Layer.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax2Layer.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_smax2fRD4.jl (100%) rename {SINDBAD => Sindbad}/src/Models/soilWBase/soilWBase_uniform.jl (100%) rename {SINDBAD => Sindbad}/src/Models/standardSindbadModels.jl (100%) rename {SINDBAD => Sindbad}/src/Models/sublimation/sublimation.jl (100%) rename {SINDBAD => Sindbad}/src/Models/sublimation/sublimation_GLEAM.jl (100%) rename {SINDBAD => Sindbad}/src/Models/sublimation/sublimation_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpiration/transpiration.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpiration/transpiration_coupled.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpiration/transpiration_demandSupply.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpiration/transpiration_none.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationDemand/transpirationDemand.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationDemand/transpirationDemand_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationDemand/transpirationDemand_PET.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationSupply/transpirationSupply.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationSupply/transpirationSupply_CASA.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationSupply/transpirationSupply_wAWC.jl (100%) rename {SINDBAD => Sindbad}/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/treeFraction/treeFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/treeFraction/treeFraction_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/treeFraction/treeFraction_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegAvailableWater/vegAvailableWater.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_constant.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_forcing.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_scaledEVI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_scaledLAI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_scaledNDVI.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_scaledNIRv.jl (100%) rename {SINDBAD => Sindbad}/src/Models/vegFraction/vegFraction_scaledfAPAR.jl (100%) rename {SINDBAD => Sindbad}/src/Models/wCycle/wCycle.jl (100%) rename {SINDBAD => Sindbad}/src/Models/wCycle/wCycle_combined.jl (100%) rename {SINDBAD => Sindbad}/src/Models/wCycle/wCycle_components.jl (100%) rename {SINDBAD => Sindbad}/src/Models/wCycleBase/wCycleBase.jl (100%) rename {SINDBAD => Sindbad}/src/Models/wCycleBase/wCycleBase_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Models/waterBalance/waterBalance.jl (100%) rename {SINDBAD => Sindbad}/src/Models/waterBalance/waterBalance_simple.jl (100%) rename {SINDBAD => Sindbad}/src/Sindbad.jl (100%) rename {SINDBAD => Sindbad}/src/Types/ArrayTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/ExperimentTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/InputTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/LandTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/LongTuple.jl (100%) rename {SINDBAD => Sindbad}/src/Types/MLTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/MetricsTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/ModelTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/OptimizationTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/SpinupTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/TimeTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Types/Types.jl (100%) rename {SINDBAD => Sindbad}/src/Types/TypesFunctions.jl (100%) rename {SINDBAD => Sindbad}/src/Types/docStringForTypes.jl (100%) rename {SINDBAD => Sindbad}/src/Utilities/Utilities.jl (100%) rename {SINDBAD => Sindbad}/src/Utilities/getArrayView.jl (100%) rename {SINDBAD => Sindbad}/src/Utilities/utilsNT.jl (100%) rename {SINDBAD => Sindbad}/src/Utilities/utilsStacks.jl (100%) rename {SINDBAD => Sindbad}/src/Utilities/utilsTemporal.jl (100%) rename {SINDBAD => Sindbad}/src/generateCode.jl (100%) rename {SINDBAD => Sindbad}/src/modelTools.jl (100%) rename {SINDBAD => Sindbad}/src/sindbadVariableCatalog.jl (100%) rename {SINDBAD => Sindbad}/src/utilsCore.jl (100%) rename {SINDBAD => Sindbad}/test/Models/ambientCO2.jl (100%) rename {SINDBAD => Sindbad}/test/Models/autoRespiration.jl (100%) rename {SINDBAD => Sindbad}/test/Models/models.jl (100%) rename {SINDBAD => Sindbad}/test/Project.toml (100%) rename {SINDBAD => Sindbad}/test/mock_input/forcing.jl (100%) rename {SINDBAD => Sindbad}/test/mock_input/helpers.jl (100%) rename {SINDBAD => Sindbad}/test/mock_input/land.jl (100%) rename {SINDBAD => Sindbad}/test/runtests.jl (100%) rename {SINDBAD => Sindbad}/test/utilsCore.jl (100%) diff --git a/SINDBAD/Project.toml b/Sindbad/Project.toml similarity index 100% rename from SINDBAD/Project.toml rename to Sindbad/Project.toml diff --git a/SINDBAD/src/Models/EVI/EVI.jl b/Sindbad/src/Models/EVI/EVI.jl similarity index 100% rename from SINDBAD/src/Models/EVI/EVI.jl rename to Sindbad/src/Models/EVI/EVI.jl diff --git a/SINDBAD/src/Models/EVI/EVI_constant.jl b/Sindbad/src/Models/EVI/EVI_constant.jl similarity index 100% rename from SINDBAD/src/Models/EVI/EVI_constant.jl rename to Sindbad/src/Models/EVI/EVI_constant.jl diff --git a/SINDBAD/src/Models/EVI/EVI_forcing.jl b/Sindbad/src/Models/EVI/EVI_forcing.jl similarity index 100% rename from SINDBAD/src/Models/EVI/EVI_forcing.jl rename to Sindbad/src/Models/EVI/EVI_forcing.jl diff --git a/SINDBAD/src/Models/LAI/LAI.jl b/Sindbad/src/Models/LAI/LAI.jl similarity index 100% rename from SINDBAD/src/Models/LAI/LAI.jl rename to Sindbad/src/Models/LAI/LAI.jl diff --git a/SINDBAD/src/Models/LAI/LAI_cVegLeaf.jl b/Sindbad/src/Models/LAI/LAI_cVegLeaf.jl similarity index 100% rename from SINDBAD/src/Models/LAI/LAI_cVegLeaf.jl rename to Sindbad/src/Models/LAI/LAI_cVegLeaf.jl diff --git a/SINDBAD/src/Models/LAI/LAI_constant.jl b/Sindbad/src/Models/LAI/LAI_constant.jl similarity index 100% rename from SINDBAD/src/Models/LAI/LAI_constant.jl rename to Sindbad/src/Models/LAI/LAI_constant.jl diff --git a/SINDBAD/src/Models/LAI/LAI_forcing.jl b/Sindbad/src/Models/LAI/LAI_forcing.jl similarity index 100% rename from SINDBAD/src/Models/LAI/LAI_forcing.jl rename to Sindbad/src/Models/LAI/LAI_forcing.jl diff --git a/SINDBAD/src/Models/Models.jl b/Sindbad/src/Models/Models.jl similarity index 100% rename from SINDBAD/src/Models/Models.jl rename to Sindbad/src/Models/Models.jl diff --git a/SINDBAD/src/Models/NDVI/NDVI.jl b/Sindbad/src/Models/NDVI/NDVI.jl similarity index 100% rename from SINDBAD/src/Models/NDVI/NDVI.jl rename to Sindbad/src/Models/NDVI/NDVI.jl diff --git a/SINDBAD/src/Models/NDVI/NDVI_constant.jl b/Sindbad/src/Models/NDVI/NDVI_constant.jl similarity index 100% rename from SINDBAD/src/Models/NDVI/NDVI_constant.jl rename to Sindbad/src/Models/NDVI/NDVI_constant.jl diff --git a/SINDBAD/src/Models/NDVI/NDVI_forcing.jl b/Sindbad/src/Models/NDVI/NDVI_forcing.jl similarity index 100% rename from SINDBAD/src/Models/NDVI/NDVI_forcing.jl rename to Sindbad/src/Models/NDVI/NDVI_forcing.jl diff --git a/SINDBAD/src/Models/NDWI/NDWI.jl b/Sindbad/src/Models/NDWI/NDWI.jl similarity index 100% rename from SINDBAD/src/Models/NDWI/NDWI.jl rename to Sindbad/src/Models/NDWI/NDWI.jl diff --git a/SINDBAD/src/Models/NDWI/NDWI_constant.jl b/Sindbad/src/Models/NDWI/NDWI_constant.jl similarity index 100% rename from SINDBAD/src/Models/NDWI/NDWI_constant.jl rename to Sindbad/src/Models/NDWI/NDWI_constant.jl diff --git a/SINDBAD/src/Models/NDWI/NDWI_forcing.jl b/Sindbad/src/Models/NDWI/NDWI_forcing.jl similarity index 100% rename from SINDBAD/src/Models/NDWI/NDWI_forcing.jl rename to Sindbad/src/Models/NDWI/NDWI_forcing.jl diff --git a/SINDBAD/src/Models/NIRv/NIRv.jl b/Sindbad/src/Models/NIRv/NIRv.jl similarity index 100% rename from SINDBAD/src/Models/NIRv/NIRv.jl rename to Sindbad/src/Models/NIRv/NIRv.jl diff --git a/SINDBAD/src/Models/NIRv/NIRv_constant.jl b/Sindbad/src/Models/NIRv/NIRv_constant.jl similarity index 100% rename from SINDBAD/src/Models/NIRv/NIRv_constant.jl rename to Sindbad/src/Models/NIRv/NIRv_constant.jl diff --git a/SINDBAD/src/Models/NIRv/NIRv_forcing.jl b/Sindbad/src/Models/NIRv/NIRv_forcing.jl similarity index 100% rename from SINDBAD/src/Models/NIRv/NIRv_forcing.jl rename to Sindbad/src/Models/NIRv/NIRv_forcing.jl diff --git a/SINDBAD/src/Models/PET/PET.jl b/Sindbad/src/Models/PET/PET.jl similarity index 100% rename from SINDBAD/src/Models/PET/PET.jl rename to Sindbad/src/Models/PET/PET.jl diff --git a/SINDBAD/src/Models/PET/PET_Lu2005.jl b/Sindbad/src/Models/PET/PET_Lu2005.jl similarity index 100% rename from SINDBAD/src/Models/PET/PET_Lu2005.jl rename to Sindbad/src/Models/PET/PET_Lu2005.jl diff --git a/SINDBAD/src/Models/PET/PET_PriestleyTaylor1972.jl b/Sindbad/src/Models/PET/PET_PriestleyTaylor1972.jl similarity index 100% rename from SINDBAD/src/Models/PET/PET_PriestleyTaylor1972.jl rename to Sindbad/src/Models/PET/PET_PriestleyTaylor1972.jl diff --git a/SINDBAD/src/Models/PET/PET_forcing.jl b/Sindbad/src/Models/PET/PET_forcing.jl similarity index 100% rename from SINDBAD/src/Models/PET/PET_forcing.jl rename to Sindbad/src/Models/PET/PET_forcing.jl diff --git a/SINDBAD/src/Models/PFT/PFT.jl b/Sindbad/src/Models/PFT/PFT.jl similarity index 100% rename from SINDBAD/src/Models/PFT/PFT.jl rename to Sindbad/src/Models/PFT/PFT.jl diff --git a/SINDBAD/src/Models/PFT/PFT_constant.jl b/Sindbad/src/Models/PFT/PFT_constant.jl similarity index 100% rename from SINDBAD/src/Models/PFT/PFT_constant.jl rename to Sindbad/src/Models/PFT/PFT_constant.jl diff --git a/SINDBAD/src/Models/WUE/WUE.jl b/Sindbad/src/Models/WUE/WUE.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE.jl rename to Sindbad/src/Models/WUE/WUE.jl diff --git a/SINDBAD/src/Models/WUE/WUE_Medlyn2011.jl b/Sindbad/src/Models/WUE/WUE_Medlyn2011.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE_Medlyn2011.jl rename to Sindbad/src/Models/WUE/WUE_Medlyn2011.jl diff --git a/SINDBAD/src/Models/WUE/WUE_VPDDay.jl b/Sindbad/src/Models/WUE/WUE_VPDDay.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE_VPDDay.jl rename to Sindbad/src/Models/WUE/WUE_VPDDay.jl diff --git a/SINDBAD/src/Models/WUE/WUE_VPDDayCo2.jl b/Sindbad/src/Models/WUE/WUE_VPDDayCo2.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE_VPDDayCo2.jl rename to Sindbad/src/Models/WUE/WUE_VPDDayCo2.jl diff --git a/SINDBAD/src/Models/WUE/WUE_constant.jl b/Sindbad/src/Models/WUE/WUE_constant.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE_constant.jl rename to Sindbad/src/Models/WUE/WUE_constant.jl diff --git a/SINDBAD/src/Models/WUE/WUE_expVPDDayCo2.jl b/Sindbad/src/Models/WUE/WUE_expVPDDayCo2.jl similarity index 100% rename from SINDBAD/src/Models/WUE/WUE_expVPDDayCo2.jl rename to Sindbad/src/Models/WUE/WUE_expVPDDayCo2.jl diff --git a/SINDBAD/src/Models/ambientCO2/ambientCO2.jl b/Sindbad/src/Models/ambientCO2/ambientCO2.jl similarity index 100% rename from SINDBAD/src/Models/ambientCO2/ambientCO2.jl rename to Sindbad/src/Models/ambientCO2/ambientCO2.jl diff --git a/SINDBAD/src/Models/ambientCO2/ambientCO2_constant.jl b/Sindbad/src/Models/ambientCO2/ambientCO2_constant.jl similarity index 100% rename from SINDBAD/src/Models/ambientCO2/ambientCO2_constant.jl rename to Sindbad/src/Models/ambientCO2/ambientCO2_constant.jl diff --git a/SINDBAD/src/Models/ambientCO2/ambientCO2_forcing.jl b/Sindbad/src/Models/ambientCO2/ambientCO2_forcing.jl similarity index 100% rename from SINDBAD/src/Models/ambientCO2/ambientCO2_forcing.jl rename to Sindbad/src/Models/ambientCO2/ambientCO2_forcing.jl diff --git a/SINDBAD/src/Models/autoRespiration/autoRespiration.jl b/Sindbad/src/Models/autoRespiration/autoRespiration.jl similarity index 100% rename from SINDBAD/src/Models/autoRespiration/autoRespiration.jl rename to Sindbad/src/Models/autoRespiration/autoRespiration.jl diff --git a/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl b/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl similarity index 100% rename from SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl rename to Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl diff --git a/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl b/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl similarity index 100% rename from SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl rename to Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl diff --git a/SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl b/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl similarity index 100% rename from SINDBAD/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl rename to Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl diff --git a/SINDBAD/src/Models/autoRespiration/autoRespiration_none.jl b/Sindbad/src/Models/autoRespiration/autoRespiration_none.jl similarity index 100% rename from SINDBAD/src/Models/autoRespiration/autoRespiration_none.jl rename to Sindbad/src/Models/autoRespiration/autoRespiration_none.jl diff --git a/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT.jl b/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT.jl similarity index 100% rename from SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT.jl rename to Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT.jl diff --git a/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl b/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl similarity index 100% rename from SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl rename to Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl diff --git a/SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl b/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl similarity index 100% rename from SINDBAD/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl rename to Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl diff --git a/SINDBAD/src/Models/cAllocation/cAllocation.jl b/Sindbad/src/Models/cAllocation/cAllocation.jl similarity index 100% rename from SINDBAD/src/Models/cAllocation/cAllocation.jl rename to Sindbad/src/Models/cAllocation/cAllocation.jl diff --git a/SINDBAD/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cAllocation/cAllocation_GSI.jl b/Sindbad/src/Models/cAllocation/cAllocation_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cAllocation/cAllocation_GSI.jl rename to Sindbad/src/Models/cAllocation/cAllocation_GSI.jl diff --git a/SINDBAD/src/Models/cAllocation/cAllocation_fixed.jl b/Sindbad/src/Models/cAllocation/cAllocation_fixed.jl similarity index 100% rename from SINDBAD/src/Models/cAllocation/cAllocation_fixed.jl rename to Sindbad/src/Models/cAllocation/cAllocation_fixed.jl diff --git a/SINDBAD/src/Models/cAllocation/cAllocation_none.jl b/Sindbad/src/Models/cAllocation/cAllocation_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocation/cAllocation_none.jl rename to Sindbad/src/Models/cAllocation/cAllocation_none.jl diff --git a/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI.jl b/Sindbad/src/Models/cAllocationLAI/cAllocationLAI.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationLAI/cAllocationLAI.jl rename to Sindbad/src/Models/cAllocationLAI/cAllocationLAI.jl diff --git a/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_none.jl b/Sindbad/src/Models/cAllocationLAI/cAllocationLAI_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationLAI/cAllocationLAI_none.jl rename to Sindbad/src/Models/cAllocationLAI/cAllocationLAI_none.jl diff --git a/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients.jl b/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients.jl rename to Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients.jl diff --git a/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl b/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl rename to Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl diff --git a/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation.jl b/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation.jl rename to Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation.jl diff --git a/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl b/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl rename to Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl diff --git a/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl b/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl rename to Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl diff --git a/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl b/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl rename to Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl diff --git a/SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl b/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl rename to Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl diff --git a/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT.jl b/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT.jl rename to Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT.jl diff --git a/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl b/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl rename to Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl diff --git a/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl b/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl rename to Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl diff --git a/SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl b/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl rename to Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl diff --git a/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW.jl b/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW.jl rename to Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW.jl diff --git a/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl b/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl rename to Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl diff --git a/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl b/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl rename to Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl diff --git a/SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl b/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl rename to Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl diff --git a/SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl b/Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl rename to Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl diff --git a/SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl b/Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl similarity index 100% rename from SINDBAD/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl rename to Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl diff --git a/SINDBAD/src/Models/cBiomass/cBiomass.jl b/Sindbad/src/Models/cBiomass/cBiomass.jl similarity index 100% rename from SINDBAD/src/Models/cBiomass/cBiomass.jl rename to Sindbad/src/Models/cBiomass/cBiomass.jl diff --git a/SINDBAD/src/Models/cBiomass/cBiomass_simple.jl b/Sindbad/src/Models/cBiomass/cBiomass_simple.jl similarity index 100% rename from SINDBAD/src/Models/cBiomass/cBiomass_simple.jl rename to Sindbad/src/Models/cBiomass/cBiomass_simple.jl diff --git a/SINDBAD/src/Models/cBiomass/cBiomass_treeGrass.jl b/Sindbad/src/Models/cBiomass/cBiomass_treeGrass.jl similarity index 100% rename from SINDBAD/src/Models/cBiomass/cBiomass_treeGrass.jl rename to Sindbad/src/Models/cBiomass/cBiomass_treeGrass.jl diff --git a/SINDBAD/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl b/Sindbad/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl similarity index 100% rename from SINDBAD/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl rename to Sindbad/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl diff --git a/SINDBAD/src/Models/cCycle/cCycle.jl b/Sindbad/src/Models/cCycle/cCycle.jl similarity index 100% rename from SINDBAD/src/Models/cCycle/cCycle.jl rename to Sindbad/src/Models/cCycle/cCycle.jl diff --git a/SINDBAD/src/Models/cCycle/cCycle_CASA.jl b/Sindbad/src/Models/cCycle/cCycle_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cCycle/cCycle_CASA.jl rename to Sindbad/src/Models/cCycle/cCycle_CASA.jl diff --git a/SINDBAD/src/Models/cCycle/cCycle_GSI.jl b/Sindbad/src/Models/cCycle/cCycle_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cCycle/cCycle_GSI.jl rename to Sindbad/src/Models/cCycle/cCycle_GSI.jl diff --git a/SINDBAD/src/Models/cCycle/cCycle_simple.jl b/Sindbad/src/Models/cCycle/cCycle_simple.jl similarity index 100% rename from SINDBAD/src/Models/cCycle/cCycle_simple.jl rename to Sindbad/src/Models/cCycle/cCycle_simple.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase.jl b/Sindbad/src/Models/cCycleBase/cCycleBase.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase_CASA.jl b/Sindbad/src/Models/cCycleBase/cCycleBase_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase_CASA.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase_CASA.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI.jl b/Sindbad/src/Models/cCycleBase/cCycleBase_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase_GSI.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase_GSI.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl b/Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl b/Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl diff --git a/SINDBAD/src/Models/cCycleBase/cCycleBase_simple.jl b/Sindbad/src/Models/cCycleBase/cCycleBase_simple.jl similarity index 100% rename from SINDBAD/src/Models/cCycleBase/cCycleBase_simple.jl rename to Sindbad/src/Models/cCycleBase/cCycleBase_simple.jl diff --git a/SINDBAD/src/Models/cCycleConsistency/cCycleConsistency.jl b/Sindbad/src/Models/cCycleConsistency/cCycleConsistency.jl similarity index 100% rename from SINDBAD/src/Models/cCycleConsistency/cCycleConsistency.jl rename to Sindbad/src/Models/cCycleConsistency/cCycleConsistency.jl diff --git a/SINDBAD/src/Models/cCycleConsistency/cCycleConsistency_simple.jl b/Sindbad/src/Models/cCycleConsistency/cCycleConsistency_simple.jl similarity index 100% rename from SINDBAD/src/Models/cCycleConsistency/cCycleConsistency_simple.jl rename to Sindbad/src/Models/cCycleConsistency/cCycleConsistency_simple.jl diff --git a/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance.jl b/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance.jl similarity index 100% rename from SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance.jl rename to Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance.jl diff --git a/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl b/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl similarity index 100% rename from SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl rename to Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl diff --git a/SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl b/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl similarity index 100% rename from SINDBAD/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl rename to Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl diff --git a/SINDBAD/src/Models/cFlow/cFlow.jl b/Sindbad/src/Models/cFlow/cFlow.jl similarity index 100% rename from SINDBAD/src/Models/cFlow/cFlow.jl rename to Sindbad/src/Models/cFlow/cFlow.jl diff --git a/SINDBAD/src/Models/cFlow/cFlow_CASA.jl b/Sindbad/src/Models/cFlow/cFlow_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cFlow/cFlow_CASA.jl rename to Sindbad/src/Models/cFlow/cFlow_CASA.jl diff --git a/SINDBAD/src/Models/cFlow/cFlow_GSI.jl b/Sindbad/src/Models/cFlow/cFlow_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cFlow/cFlow_GSI.jl rename to Sindbad/src/Models/cFlow/cFlow_GSI.jl diff --git a/SINDBAD/src/Models/cFlow/cFlow_none.jl b/Sindbad/src/Models/cFlow/cFlow_none.jl similarity index 100% rename from SINDBAD/src/Models/cFlow/cFlow_none.jl rename to Sindbad/src/Models/cFlow/cFlow_none.jl diff --git a/SINDBAD/src/Models/cFlow/cFlow_simple.jl b/Sindbad/src/Models/cFlow/cFlow_simple.jl similarity index 100% rename from SINDBAD/src/Models/cFlow/cFlow_simple.jl rename to Sindbad/src/Models/cFlow/cFlow_simple.jl diff --git a/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl b/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl similarity index 100% rename from SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl rename to Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl diff --git a/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl b/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl rename to Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl diff --git a/SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl b/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl similarity index 100% rename from SINDBAD/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl rename to Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl diff --git a/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties.jl b/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties.jl similarity index 100% rename from SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties.jl rename to Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties.jl diff --git a/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl b/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl rename to Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl diff --git a/SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl b/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl similarity index 100% rename from SINDBAD/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl rename to Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl diff --git a/SINDBAD/src/Models/cTau/cTau.jl b/Sindbad/src/Models/cTau/cTau.jl similarity index 100% rename from SINDBAD/src/Models/cTau/cTau.jl rename to Sindbad/src/Models/cTau/cTau.jl diff --git a/SINDBAD/src/Models/cTau/cTau_mult.jl b/Sindbad/src/Models/cTau/cTau_mult.jl similarity index 100% rename from SINDBAD/src/Models/cTau/cTau_mult.jl rename to Sindbad/src/Models/cTau/cTau_mult.jl diff --git a/SINDBAD/src/Models/cTau/cTau_none.jl b/Sindbad/src/Models/cTau/cTau_none.jl similarity index 100% rename from SINDBAD/src/Models/cTau/cTau_none.jl rename to Sindbad/src/Models/cTau/cTau_none.jl diff --git a/SINDBAD/src/Models/cTauLAI/cTauLAI.jl b/Sindbad/src/Models/cTauLAI/cTauLAI.jl similarity index 100% rename from SINDBAD/src/Models/cTauLAI/cTauLAI.jl rename to Sindbad/src/Models/cTauLAI/cTauLAI.jl diff --git a/SINDBAD/src/Models/cTauLAI/cTauLAI_CASA.jl b/Sindbad/src/Models/cTauLAI/cTauLAI_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cTauLAI/cTauLAI_CASA.jl rename to Sindbad/src/Models/cTauLAI/cTauLAI_CASA.jl diff --git a/SINDBAD/src/Models/cTauLAI/cTauLAI_none.jl b/Sindbad/src/Models/cTauLAI/cTauLAI_none.jl similarity index 100% rename from SINDBAD/src/Models/cTauLAI/cTauLAI_none.jl rename to Sindbad/src/Models/cTauLAI/cTauLAI_none.jl diff --git a/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties.jl b/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties.jl rename to Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties.jl diff --git a/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl b/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl rename to Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl diff --git a/SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl b/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl rename to Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl diff --git a/SINDBAD/src/Models/cTauSoilT/cTauSoilT.jl b/Sindbad/src/Models/cTauSoilT/cTauSoilT.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilT/cTauSoilT.jl rename to Sindbad/src/Models/cTauSoilT/cTauSoilT.jl diff --git a/SINDBAD/src/Models/cTauSoilT/cTauSoilT_Q10.jl b/Sindbad/src/Models/cTauSoilT/cTauSoilT_Q10.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilT/cTauSoilT_Q10.jl rename to Sindbad/src/Models/cTauSoilT/cTauSoilT_Q10.jl diff --git a/SINDBAD/src/Models/cTauSoilT/cTauSoilT_none.jl b/Sindbad/src/Models/cTauSoilT/cTauSoilT_none.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilT/cTauSoilT_none.jl rename to Sindbad/src/Models/cTauSoilT/cTauSoilT_none.jl diff --git a/SINDBAD/src/Models/cTauSoilW/cTauSoilW.jl b/Sindbad/src/Models/cTauSoilW/cTauSoilW.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilW/cTauSoilW.jl rename to Sindbad/src/Models/cTauSoilW/cTauSoilW.jl diff --git a/SINDBAD/src/Models/cTauSoilW/cTauSoilW_CASA.jl b/Sindbad/src/Models/cTauSoilW/cTauSoilW_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilW/cTauSoilW_CASA.jl rename to Sindbad/src/Models/cTauSoilW/cTauSoilW_CASA.jl diff --git a/SINDBAD/src/Models/cTauSoilW/cTauSoilW_GSI.jl b/Sindbad/src/Models/cTauSoilW/cTauSoilW_GSI.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilW/cTauSoilW_GSI.jl rename to Sindbad/src/Models/cTauSoilW/cTauSoilW_GSI.jl diff --git a/SINDBAD/src/Models/cTauSoilW/cTauSoilW_none.jl b/Sindbad/src/Models/cTauSoilW/cTauSoilW_none.jl similarity index 100% rename from SINDBAD/src/Models/cTauSoilW/cTauSoilW_none.jl rename to Sindbad/src/Models/cTauSoilW/cTauSoilW_none.jl diff --git a/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties.jl b/Sindbad/src/Models/cTauVegProperties/cTauVegProperties.jl similarity index 100% rename from SINDBAD/src/Models/cTauVegProperties/cTauVegProperties.jl rename to Sindbad/src/Models/cTauVegProperties/cTauVegProperties.jl diff --git a/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl b/Sindbad/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl similarity index 100% rename from SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl rename to Sindbad/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl diff --git a/SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_none.jl b/Sindbad/src/Models/cTauVegProperties/cTauVegProperties_none.jl similarity index 100% rename from SINDBAD/src/Models/cTauVegProperties/cTauVegProperties_none.jl rename to Sindbad/src/Models/cTauVegProperties/cTauVegProperties_none.jl diff --git a/SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff.jl b/Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff.jl similarity index 100% rename from SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff.jl rename to Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff.jl diff --git a/SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl b/Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl similarity index 100% rename from SINDBAD/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl rename to Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl diff --git a/SINDBAD/src/Models/capillaryFlow/capillaryFlow.jl b/Sindbad/src/Models/capillaryFlow/capillaryFlow.jl similarity index 100% rename from SINDBAD/src/Models/capillaryFlow/capillaryFlow.jl rename to Sindbad/src/Models/capillaryFlow/capillaryFlow.jl diff --git a/SINDBAD/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl b/Sindbad/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl similarity index 100% rename from SINDBAD/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl rename to Sindbad/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl diff --git a/SINDBAD/src/Models/constants/constants.jl b/Sindbad/src/Models/constants/constants.jl similarity index 100% rename from SINDBAD/src/Models/constants/constants.jl rename to Sindbad/src/Models/constants/constants.jl diff --git a/SINDBAD/src/Models/constants/constants_numbers.jl b/Sindbad/src/Models/constants/constants_numbers.jl similarity index 100% rename from SINDBAD/src/Models/constants/constants_numbers.jl rename to Sindbad/src/Models/constants/constants_numbers.jl diff --git a/SINDBAD/src/Models/deriveVariables/deriveVariables.jl b/Sindbad/src/Models/deriveVariables/deriveVariables.jl similarity index 100% rename from SINDBAD/src/Models/deriveVariables/deriveVariables.jl rename to Sindbad/src/Models/deriveVariables/deriveVariables.jl diff --git a/SINDBAD/src/Models/deriveVariables/deriveVariables_simple.jl b/Sindbad/src/Models/deriveVariables/deriveVariables_simple.jl similarity index 100% rename from SINDBAD/src/Models/deriveVariables/deriveVariables_simple.jl rename to Sindbad/src/Models/deriveVariables/deriveVariables_simple.jl diff --git a/SINDBAD/src/Models/drainage/drainage.jl b/Sindbad/src/Models/drainage/drainage.jl similarity index 100% rename from SINDBAD/src/Models/drainage/drainage.jl rename to Sindbad/src/Models/drainage/drainage.jl diff --git a/SINDBAD/src/Models/drainage/drainage_dos.jl b/Sindbad/src/Models/drainage/drainage_dos.jl similarity index 100% rename from SINDBAD/src/Models/drainage/drainage_dos.jl rename to Sindbad/src/Models/drainage/drainage_dos.jl diff --git a/SINDBAD/src/Models/drainage/drainage_kUnsat.jl b/Sindbad/src/Models/drainage/drainage_kUnsat.jl similarity index 100% rename from SINDBAD/src/Models/drainage/drainage_kUnsat.jl rename to Sindbad/src/Models/drainage/drainage_kUnsat.jl diff --git a/SINDBAD/src/Models/drainage/drainage_wFC.jl b/Sindbad/src/Models/drainage/drainage_wFC.jl similarity index 100% rename from SINDBAD/src/Models/drainage/drainage_wFC.jl rename to Sindbad/src/Models/drainage/drainage_wFC.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation.jl b/Sindbad/src/Models/evaporation/evaporation.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation.jl rename to Sindbad/src/Models/evaporation/evaporation.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_Snyder2000.jl b/Sindbad/src/Models/evaporation/evaporation_Snyder2000.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_Snyder2000.jl rename to Sindbad/src/Models/evaporation/evaporation_Snyder2000.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_bareFraction.jl b/Sindbad/src/Models/evaporation/evaporation_bareFraction.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_bareFraction.jl rename to Sindbad/src/Models/evaporation/evaporation_bareFraction.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_demandSupply.jl b/Sindbad/src/Models/evaporation/evaporation_demandSupply.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_demandSupply.jl rename to Sindbad/src/Models/evaporation/evaporation_demandSupply.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_fAPAR.jl b/Sindbad/src/Models/evaporation/evaporation_fAPAR.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_fAPAR.jl rename to Sindbad/src/Models/evaporation/evaporation_fAPAR.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_none.jl b/Sindbad/src/Models/evaporation/evaporation_none.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_none.jl rename to Sindbad/src/Models/evaporation/evaporation_none.jl diff --git a/SINDBAD/src/Models/evaporation/evaporation_vegFraction.jl b/Sindbad/src/Models/evaporation/evaporation_vegFraction.jl similarity index 100% rename from SINDBAD/src/Models/evaporation/evaporation_vegFraction.jl rename to Sindbad/src/Models/evaporation/evaporation_vegFraction.jl diff --git a/SINDBAD/src/Models/evapotranspiration/evapotranspiration.jl b/Sindbad/src/Models/evapotranspiration/evapotranspiration.jl similarity index 100% rename from SINDBAD/src/Models/evapotranspiration/evapotranspiration.jl rename to Sindbad/src/Models/evapotranspiration/evapotranspiration.jl diff --git a/SINDBAD/src/Models/evapotranspiration/evapotranspiration_sum.jl b/Sindbad/src/Models/evapotranspiration/evapotranspiration_sum.jl similarity index 100% rename from SINDBAD/src/Models/evapotranspiration/evapotranspiration_sum.jl rename to Sindbad/src/Models/evapotranspiration/evapotranspiration_sum.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR.jl b/Sindbad/src/Models/fAPAR/fAPAR.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR.jl rename to Sindbad/src/Models/fAPAR/fAPAR.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_EVI.jl b/Sindbad/src/Models/fAPAR/fAPAR_EVI.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_EVI.jl rename to Sindbad/src/Models/fAPAR/fAPAR_EVI.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_LAI.jl b/Sindbad/src/Models/fAPAR/fAPAR_LAI.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_LAI.jl rename to Sindbad/src/Models/fAPAR/fAPAR_LAI.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_cVegLeaf.jl b/Sindbad/src/Models/fAPAR/fAPAR_cVegLeaf.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_cVegLeaf.jl rename to Sindbad/src/Models/fAPAR/fAPAR_cVegLeaf.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl b/Sindbad/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl rename to Sindbad/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_constant.jl b/Sindbad/src/Models/fAPAR/fAPAR_constant.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_constant.jl rename to Sindbad/src/Models/fAPAR/fAPAR_constant.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_forcing.jl b/Sindbad/src/Models/fAPAR/fAPAR_forcing.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_forcing.jl rename to Sindbad/src/Models/fAPAR/fAPAR_forcing.jl diff --git a/SINDBAD/src/Models/fAPAR/fAPAR_vegFraction.jl b/Sindbad/src/Models/fAPAR/fAPAR_vegFraction.jl similarity index 100% rename from SINDBAD/src/Models/fAPAR/fAPAR_vegFraction.jl rename to Sindbad/src/Models/fAPAR/fAPAR_vegFraction.jl diff --git a/SINDBAD/src/Models/getPools/getPools.jl b/Sindbad/src/Models/getPools/getPools.jl similarity index 100% rename from SINDBAD/src/Models/getPools/getPools.jl rename to Sindbad/src/Models/getPools/getPools.jl diff --git a/SINDBAD/src/Models/getPools/getPools_simple.jl b/Sindbad/src/Models/getPools/getPools_simple.jl similarity index 100% rename from SINDBAD/src/Models/getPools/getPools_simple.jl rename to Sindbad/src/Models/getPools/getPools_simple.jl diff --git a/SINDBAD/src/Models/gpp/gpp.jl b/Sindbad/src/Models/gpp/gpp.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp.jl rename to Sindbad/src/Models/gpp/gpp.jl diff --git a/SINDBAD/src/Models/gpp/gpp_coupled.jl b/Sindbad/src/Models/gpp/gpp_coupled.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp_coupled.jl rename to Sindbad/src/Models/gpp/gpp_coupled.jl diff --git a/SINDBAD/src/Models/gpp/gpp_min.jl b/Sindbad/src/Models/gpp/gpp_min.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp_min.jl rename to Sindbad/src/Models/gpp/gpp_min.jl diff --git a/SINDBAD/src/Models/gpp/gpp_mult.jl b/Sindbad/src/Models/gpp/gpp_mult.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp_mult.jl rename to Sindbad/src/Models/gpp/gpp_mult.jl diff --git a/SINDBAD/src/Models/gpp/gpp_none.jl b/Sindbad/src/Models/gpp/gpp_none.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp_none.jl rename to Sindbad/src/Models/gpp/gpp_none.jl diff --git a/SINDBAD/src/Models/gpp/gpp_transpirationWUE.jl b/Sindbad/src/Models/gpp/gpp_transpirationWUE.jl similarity index 100% rename from SINDBAD/src/Models/gpp/gpp_transpirationWUE.jl rename to Sindbad/src/Models/gpp/gpp_transpirationWUE.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT.jl b/Sindbad/src/Models/gppAirT/gppAirT.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT.jl rename to Sindbad/src/Models/gppAirT/gppAirT.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_CASA.jl b/Sindbad/src/Models/gppAirT/gppAirT_CASA.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_CASA.jl rename to Sindbad/src/Models/gppAirT/gppAirT_CASA.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_GSI.jl b/Sindbad/src/Models/gppAirT/gppAirT_GSI.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_GSI.jl rename to Sindbad/src/Models/gppAirT/gppAirT_GSI.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_MOD17.jl b/Sindbad/src/Models/gppAirT/gppAirT_MOD17.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_MOD17.jl rename to Sindbad/src/Models/gppAirT/gppAirT_MOD17.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_Maekelae2008.jl b/Sindbad/src/Models/gppAirT/gppAirT_Maekelae2008.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_Maekelae2008.jl rename to Sindbad/src/Models/gppAirT/gppAirT_Maekelae2008.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_TEM.jl b/Sindbad/src/Models/gppAirT/gppAirT_TEM.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_TEM.jl rename to Sindbad/src/Models/gppAirT/gppAirT_TEM.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_Wang2014.jl b/Sindbad/src/Models/gppAirT/gppAirT_Wang2014.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_Wang2014.jl rename to Sindbad/src/Models/gppAirT/gppAirT_Wang2014.jl diff --git a/SINDBAD/src/Models/gppAirT/gppAirT_none.jl b/Sindbad/src/Models/gppAirT/gppAirT_none.jl similarity index 100% rename from SINDBAD/src/Models/gppAirT/gppAirT_none.jl rename to Sindbad/src/Models/gppAirT/gppAirT_none.jl diff --git a/SINDBAD/src/Models/gppDemand/gppDemand.jl b/Sindbad/src/Models/gppDemand/gppDemand.jl similarity index 100% rename from SINDBAD/src/Models/gppDemand/gppDemand.jl rename to Sindbad/src/Models/gppDemand/gppDemand.jl diff --git a/SINDBAD/src/Models/gppDemand/gppDemand_min.jl b/Sindbad/src/Models/gppDemand/gppDemand_min.jl similarity index 100% rename from SINDBAD/src/Models/gppDemand/gppDemand_min.jl rename to Sindbad/src/Models/gppDemand/gppDemand_min.jl diff --git a/SINDBAD/src/Models/gppDemand/gppDemand_mult.jl b/Sindbad/src/Models/gppDemand/gppDemand_mult.jl similarity index 100% rename from SINDBAD/src/Models/gppDemand/gppDemand_mult.jl rename to Sindbad/src/Models/gppDemand/gppDemand_mult.jl diff --git a/SINDBAD/src/Models/gppDemand/gppDemand_none.jl b/Sindbad/src/Models/gppDemand/gppDemand_none.jl similarity index 100% rename from SINDBAD/src/Models/gppDemand/gppDemand_none.jl rename to Sindbad/src/Models/gppDemand/gppDemand_none.jl diff --git a/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation.jl b/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation.jl similarity index 100% rename from SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation.jl rename to Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation.jl diff --git a/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl b/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl similarity index 100% rename from SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl rename to Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl diff --git a/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl b/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl similarity index 100% rename from SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl rename to Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl diff --git a/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl b/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl similarity index 100% rename from SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl rename to Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl diff --git a/SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl b/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl similarity index 100% rename from SINDBAD/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl rename to Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl diff --git a/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation.jl b/Sindbad/src/Models/gppDirRadiation/gppDirRadiation.jl similarity index 100% rename from SINDBAD/src/Models/gppDirRadiation/gppDirRadiation.jl rename to Sindbad/src/Models/gppDirRadiation/gppDirRadiation.jl diff --git a/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl b/Sindbad/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl similarity index 100% rename from SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl rename to Sindbad/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl diff --git a/SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_none.jl b/Sindbad/src/Models/gppDirRadiation/gppDirRadiation_none.jl similarity index 100% rename from SINDBAD/src/Models/gppDirRadiation/gppDirRadiation_none.jl rename to Sindbad/src/Models/gppDirRadiation/gppDirRadiation_none.jl diff --git a/SINDBAD/src/Models/gppPotential/gppPotential.jl b/Sindbad/src/Models/gppPotential/gppPotential.jl similarity index 100% rename from SINDBAD/src/Models/gppPotential/gppPotential.jl rename to Sindbad/src/Models/gppPotential/gppPotential.jl diff --git a/SINDBAD/src/Models/gppPotential/gppPotential_Monteith.jl b/Sindbad/src/Models/gppPotential/gppPotential_Monteith.jl similarity index 100% rename from SINDBAD/src/Models/gppPotential/gppPotential_Monteith.jl rename to Sindbad/src/Models/gppPotential/gppPotential_Monteith.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW.jl b/Sindbad/src/Models/gppSoilW/gppSoilW.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW_CASA.jl b/Sindbad/src/Models/gppSoilW/gppSoilW_CASA.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW_CASA.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW_CASA.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW_GSI.jl b/Sindbad/src/Models/gppSoilW/gppSoilW_GSI.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW_GSI.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW_GSI.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW_Keenan2009.jl b/Sindbad/src/Models/gppSoilW/gppSoilW_Keenan2009.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW_Keenan2009.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW_Keenan2009.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW_Stocker2020.jl b/Sindbad/src/Models/gppSoilW/gppSoilW_Stocker2020.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW_Stocker2020.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW_Stocker2020.jl diff --git a/SINDBAD/src/Models/gppSoilW/gppSoilW_none.jl b/Sindbad/src/Models/gppSoilW/gppSoilW_none.jl similarity index 100% rename from SINDBAD/src/Models/gppSoilW/gppSoilW_none.jl rename to Sindbad/src/Models/gppSoilW/gppSoilW_none.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD.jl b/Sindbad/src/Models/gppVPD/gppVPD.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD.jl rename to Sindbad/src/Models/gppVPD/gppVPD.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD_MOD17.jl b/Sindbad/src/Models/gppVPD/gppVPD_MOD17.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD_MOD17.jl rename to Sindbad/src/Models/gppVPD/gppVPD_MOD17.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD_Maekelae2008.jl b/Sindbad/src/Models/gppVPD/gppVPD_Maekelae2008.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD_Maekelae2008.jl rename to Sindbad/src/Models/gppVPD/gppVPD_Maekelae2008.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD_PRELES.jl b/Sindbad/src/Models/gppVPD/gppVPD_PRELES.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD_PRELES.jl rename to Sindbad/src/Models/gppVPD/gppVPD_PRELES.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD_expco2.jl b/Sindbad/src/Models/gppVPD/gppVPD_expco2.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD_expco2.jl rename to Sindbad/src/Models/gppVPD/gppVPD_expco2.jl diff --git a/SINDBAD/src/Models/gppVPD/gppVPD_none.jl b/Sindbad/src/Models/gppVPD/gppVPD_none.jl similarity index 100% rename from SINDBAD/src/Models/gppVPD/gppVPD_none.jl rename to Sindbad/src/Models/gppVPD/gppVPD_none.jl diff --git a/SINDBAD/src/Models/groundWRecharge/groundWRecharge.jl b/Sindbad/src/Models/groundWRecharge/groundWRecharge.jl similarity index 100% rename from SINDBAD/src/Models/groundWRecharge/groundWRecharge.jl rename to Sindbad/src/Models/groundWRecharge/groundWRecharge.jl diff --git a/SINDBAD/src/Models/groundWRecharge/groundWRecharge_dos.jl b/Sindbad/src/Models/groundWRecharge/groundWRecharge_dos.jl similarity index 100% rename from SINDBAD/src/Models/groundWRecharge/groundWRecharge_dos.jl rename to Sindbad/src/Models/groundWRecharge/groundWRecharge_dos.jl diff --git a/SINDBAD/src/Models/groundWRecharge/groundWRecharge_fraction.jl b/Sindbad/src/Models/groundWRecharge/groundWRecharge_fraction.jl similarity index 100% rename from SINDBAD/src/Models/groundWRecharge/groundWRecharge_fraction.jl rename to Sindbad/src/Models/groundWRecharge/groundWRecharge_fraction.jl diff --git a/SINDBAD/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl b/Sindbad/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl similarity index 100% rename from SINDBAD/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl rename to Sindbad/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl diff --git a/SINDBAD/src/Models/groundWRecharge/groundWRecharge_none.jl b/Sindbad/src/Models/groundWRecharge/groundWRecharge_none.jl similarity index 100% rename from SINDBAD/src/Models/groundWRecharge/groundWRecharge_none.jl rename to Sindbad/src/Models/groundWRecharge/groundWRecharge_none.jl diff --git a/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl b/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl similarity index 100% rename from SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl rename to Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl diff --git a/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl b/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl similarity index 100% rename from SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl rename to Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl diff --git a/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl b/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl similarity index 100% rename from SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl rename to Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl diff --git a/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl b/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl similarity index 100% rename from SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl rename to Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl diff --git a/SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl b/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl similarity index 100% rename from SINDBAD/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl rename to Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl diff --git a/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl b/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl similarity index 100% rename from SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl rename to Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl diff --git a/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl b/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl similarity index 100% rename from SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl rename to Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl diff --git a/SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl b/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl similarity index 100% rename from SINDBAD/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl rename to Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl diff --git a/SINDBAD/src/Models/interception/interception.jl b/Sindbad/src/Models/interception/interception.jl similarity index 100% rename from SINDBAD/src/Models/interception/interception.jl rename to Sindbad/src/Models/interception/interception.jl diff --git a/SINDBAD/src/Models/interception/interception_Miralles2010.jl b/Sindbad/src/Models/interception/interception_Miralles2010.jl similarity index 100% rename from SINDBAD/src/Models/interception/interception_Miralles2010.jl rename to Sindbad/src/Models/interception/interception_Miralles2010.jl diff --git a/SINDBAD/src/Models/interception/interception_fAPAR.jl b/Sindbad/src/Models/interception/interception_fAPAR.jl similarity index 100% rename from SINDBAD/src/Models/interception/interception_fAPAR.jl rename to Sindbad/src/Models/interception/interception_fAPAR.jl diff --git a/SINDBAD/src/Models/interception/interception_none.jl b/Sindbad/src/Models/interception/interception_none.jl similarity index 100% rename from SINDBAD/src/Models/interception/interception_none.jl rename to Sindbad/src/Models/interception/interception_none.jl diff --git a/SINDBAD/src/Models/interception/interception_vegFraction.jl b/Sindbad/src/Models/interception/interception_vegFraction.jl similarity index 100% rename from SINDBAD/src/Models/interception/interception_vegFraction.jl rename to Sindbad/src/Models/interception/interception_vegFraction.jl diff --git a/SINDBAD/src/Models/percolation/percolation.jl b/Sindbad/src/Models/percolation/percolation.jl similarity index 100% rename from SINDBAD/src/Models/percolation/percolation.jl rename to Sindbad/src/Models/percolation/percolation.jl diff --git a/SINDBAD/src/Models/percolation/percolation_WBP.jl b/Sindbad/src/Models/percolation/percolation_WBP.jl similarity index 100% rename from SINDBAD/src/Models/percolation/percolation_WBP.jl rename to Sindbad/src/Models/percolation/percolation_WBP.jl diff --git a/SINDBAD/src/Models/plantForm/plantForm.jl b/Sindbad/src/Models/plantForm/plantForm.jl similarity index 100% rename from SINDBAD/src/Models/plantForm/plantForm.jl rename to Sindbad/src/Models/plantForm/plantForm.jl diff --git a/SINDBAD/src/Models/plantForm/plantForm_PFT.jl b/Sindbad/src/Models/plantForm/plantForm_PFT.jl similarity index 100% rename from SINDBAD/src/Models/plantForm/plantForm_PFT.jl rename to Sindbad/src/Models/plantForm/plantForm_PFT.jl diff --git a/SINDBAD/src/Models/plantForm/plantForm_fixed.jl b/Sindbad/src/Models/plantForm/plantForm_fixed.jl similarity index 100% rename from SINDBAD/src/Models/plantForm/plantForm_fixed.jl rename to Sindbad/src/Models/plantForm/plantForm_fixed.jl diff --git a/SINDBAD/src/Models/rainIntensity/rainIntensity.jl b/Sindbad/src/Models/rainIntensity/rainIntensity.jl similarity index 100% rename from SINDBAD/src/Models/rainIntensity/rainIntensity.jl rename to Sindbad/src/Models/rainIntensity/rainIntensity.jl diff --git a/SINDBAD/src/Models/rainIntensity/rainIntensity_forcing.jl b/Sindbad/src/Models/rainIntensity/rainIntensity_forcing.jl similarity index 100% rename from SINDBAD/src/Models/rainIntensity/rainIntensity_forcing.jl rename to Sindbad/src/Models/rainIntensity/rainIntensity_forcing.jl diff --git a/SINDBAD/src/Models/rainIntensity/rainIntensity_simple.jl b/Sindbad/src/Models/rainIntensity/rainIntensity_simple.jl similarity index 100% rename from SINDBAD/src/Models/rainIntensity/rainIntensity_simple.jl rename to Sindbad/src/Models/rainIntensity/rainIntensity_simple.jl diff --git a/SINDBAD/src/Models/rainSnow/rainSnow.jl b/Sindbad/src/Models/rainSnow/rainSnow.jl similarity index 100% rename from SINDBAD/src/Models/rainSnow/rainSnow.jl rename to Sindbad/src/Models/rainSnow/rainSnow.jl diff --git a/SINDBAD/src/Models/rainSnow/rainSnow_Tair.jl b/Sindbad/src/Models/rainSnow/rainSnow_Tair.jl similarity index 100% rename from SINDBAD/src/Models/rainSnow/rainSnow_Tair.jl rename to Sindbad/src/Models/rainSnow/rainSnow_Tair.jl diff --git a/SINDBAD/src/Models/rainSnow/rainSnow_forcing.jl b/Sindbad/src/Models/rainSnow/rainSnow_forcing.jl similarity index 100% rename from SINDBAD/src/Models/rainSnow/rainSnow_forcing.jl rename to Sindbad/src/Models/rainSnow/rainSnow_forcing.jl diff --git a/SINDBAD/src/Models/rainSnow/rainSnow_rain.jl b/Sindbad/src/Models/rainSnow/rainSnow_rain.jl similarity index 100% rename from SINDBAD/src/Models/rainSnow/rainSnow_rain.jl rename to Sindbad/src/Models/rainSnow/rainSnow_rain.jl diff --git a/SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth.jl b/Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth.jl similarity index 100% rename from SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth.jl rename to Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth.jl diff --git a/SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl b/Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl similarity index 100% rename from SINDBAD/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl rename to Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl diff --git a/SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl b/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl rename to Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl diff --git a/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake.jl b/Sindbad/src/Models/rootWaterUptake/rootWaterUptake.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterUptake/rootWaterUptake.jl rename to Sindbad/src/Models/rootWaterUptake/rootWaterUptake.jl diff --git a/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl b/Sindbad/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl rename to Sindbad/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl diff --git a/SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl b/Sindbad/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl similarity index 100% rename from SINDBAD/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl rename to Sindbad/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl diff --git a/SINDBAD/src/Models/runModels.jl b/Sindbad/src/Models/runModels.jl similarity index 100% rename from SINDBAD/src/Models/runModels.jl rename to Sindbad/src/Models/runModels.jl diff --git a/SINDBAD/src/Models/runoff/runoff.jl b/Sindbad/src/Models/runoff/runoff.jl similarity index 100% rename from SINDBAD/src/Models/runoff/runoff.jl rename to Sindbad/src/Models/runoff/runoff.jl diff --git a/SINDBAD/src/Models/runoff/runoff_sum.jl b/Sindbad/src/Models/runoff/runoff_sum.jl similarity index 100% rename from SINDBAD/src/Models/runoff/runoff_sum.jl rename to Sindbad/src/Models/runoff/runoff_sum.jl diff --git a/SINDBAD/src/Models/runoffBase/runoffBase.jl b/Sindbad/src/Models/runoffBase/runoffBase.jl similarity index 100% rename from SINDBAD/src/Models/runoffBase/runoffBase.jl rename to Sindbad/src/Models/runoffBase/runoffBase.jl diff --git a/SINDBAD/src/Models/runoffBase/runoffBase_Zhang2008.jl b/Sindbad/src/Models/runoffBase/runoffBase_Zhang2008.jl similarity index 100% rename from SINDBAD/src/Models/runoffBase/runoffBase_Zhang2008.jl rename to Sindbad/src/Models/runoffBase/runoffBase_Zhang2008.jl diff --git a/SINDBAD/src/Models/runoffBase/runoffBase_none.jl b/Sindbad/src/Models/runoffBase/runoffBase_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffBase/runoffBase_none.jl rename to Sindbad/src/Models/runoffBase/runoffBase_none.jl diff --git a/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl b/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl similarity index 100% rename from SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl rename to Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl diff --git a/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl b/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl similarity index 100% rename from SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl rename to Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl diff --git a/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl b/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl similarity index 100% rename from SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl rename to Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl diff --git a/SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl b/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl rename to Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl diff --git a/SINDBAD/src/Models/runoffInterflow/runoffInterflow.jl b/Sindbad/src/Models/runoffInterflow/runoffInterflow.jl similarity index 100% rename from SINDBAD/src/Models/runoffInterflow/runoffInterflow.jl rename to Sindbad/src/Models/runoffInterflow/runoffInterflow.jl diff --git a/SINDBAD/src/Models/runoffInterflow/runoffInterflow_none.jl b/Sindbad/src/Models/runoffInterflow/runoffInterflow_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffInterflow/runoffInterflow_none.jl rename to Sindbad/src/Models/runoffInterflow/runoffInterflow_none.jl diff --git a/SINDBAD/src/Models/runoffInterflow/runoffInterflow_residual.jl b/Sindbad/src/Models/runoffInterflow/runoffInterflow_residual.jl similarity index 100% rename from SINDBAD/src/Models/runoffInterflow/runoffInterflow_residual.jl rename to Sindbad/src/Models/runoffInterflow/runoffInterflow_residual.jl diff --git a/SINDBAD/src/Models/runoffOverland/runoffOverland.jl b/Sindbad/src/Models/runoffOverland/runoffOverland.jl similarity index 100% rename from SINDBAD/src/Models/runoffOverland/runoffOverland.jl rename to Sindbad/src/Models/runoffOverland/runoffOverland.jl diff --git a/SINDBAD/src/Models/runoffOverland/runoffOverland_Inf.jl b/Sindbad/src/Models/runoffOverland/runoffOverland_Inf.jl similarity index 100% rename from SINDBAD/src/Models/runoffOverland/runoffOverland_Inf.jl rename to Sindbad/src/Models/runoffOverland/runoffOverland_Inf.jl diff --git a/SINDBAD/src/Models/runoffOverland/runoffOverland_InfIntSat.jl b/Sindbad/src/Models/runoffOverland/runoffOverland_InfIntSat.jl similarity index 100% rename from SINDBAD/src/Models/runoffOverland/runoffOverland_InfIntSat.jl rename to Sindbad/src/Models/runoffOverland/runoffOverland_InfIntSat.jl diff --git a/SINDBAD/src/Models/runoffOverland/runoffOverland_Sat.jl b/Sindbad/src/Models/runoffOverland/runoffOverland_Sat.jl similarity index 100% rename from SINDBAD/src/Models/runoffOverland/runoffOverland_Sat.jl rename to Sindbad/src/Models/runoffOverland/runoffOverland_Sat.jl diff --git a/SINDBAD/src/Models/runoffOverland/runoffOverland_none.jl b/Sindbad/src/Models/runoffOverland/runoffOverland_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffOverland/runoffOverland_none.jl rename to Sindbad/src/Models/runoffOverland/runoffOverland_none.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl diff --git a/SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl b/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl similarity index 100% rename from SINDBAD/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl rename to Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface.jl b/Sindbad/src/Models/runoffSurface/runoffSurface.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_Orth2013.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_Orth2013.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_Orth2013.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_Orth2013.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_all.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_all.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_all.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_all.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirect.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_directIndirect.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirect.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_directIndirect.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_indirect.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_indirect.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_indirect.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_indirect.jl diff --git a/SINDBAD/src/Models/runoffSurface/runoffSurface_none.jl b/Sindbad/src/Models/runoffSurface/runoffSurface_none.jl similarity index 100% rename from SINDBAD/src/Models/runoffSurface/runoffSurface_none.jl rename to Sindbad/src/Models/runoffSurface/runoffSurface_none.jl diff --git a/SINDBAD/src/Models/saturatedFraction/saturatedFraction.jl b/Sindbad/src/Models/saturatedFraction/saturatedFraction.jl similarity index 100% rename from SINDBAD/src/Models/saturatedFraction/saturatedFraction.jl rename to Sindbad/src/Models/saturatedFraction/saturatedFraction.jl diff --git a/SINDBAD/src/Models/saturatedFraction/saturatedFraction_none.jl b/Sindbad/src/Models/saturatedFraction/saturatedFraction_none.jl similarity index 100% rename from SINDBAD/src/Models/saturatedFraction/saturatedFraction_none.jl rename to Sindbad/src/Models/saturatedFraction/saturatedFraction_none.jl diff --git a/SINDBAD/src/Models/snowFraction/snowFraction.jl b/Sindbad/src/Models/snowFraction/snowFraction.jl similarity index 100% rename from SINDBAD/src/Models/snowFraction/snowFraction.jl rename to Sindbad/src/Models/snowFraction/snowFraction.jl diff --git a/SINDBAD/src/Models/snowFraction/snowFraction_HTESSEL.jl b/Sindbad/src/Models/snowFraction/snowFraction_HTESSEL.jl similarity index 100% rename from SINDBAD/src/Models/snowFraction/snowFraction_HTESSEL.jl rename to Sindbad/src/Models/snowFraction/snowFraction_HTESSEL.jl diff --git a/SINDBAD/src/Models/snowFraction/snowFraction_binary.jl b/Sindbad/src/Models/snowFraction/snowFraction_binary.jl similarity index 100% rename from SINDBAD/src/Models/snowFraction/snowFraction_binary.jl rename to Sindbad/src/Models/snowFraction/snowFraction_binary.jl diff --git a/SINDBAD/src/Models/snowFraction/snowFraction_none.jl b/Sindbad/src/Models/snowFraction/snowFraction_none.jl similarity index 100% rename from SINDBAD/src/Models/snowFraction/snowFraction_none.jl rename to Sindbad/src/Models/snowFraction/snowFraction_none.jl diff --git a/SINDBAD/src/Models/snowMelt/snowMelt.jl b/Sindbad/src/Models/snowMelt/snowMelt.jl similarity index 100% rename from SINDBAD/src/Models/snowMelt/snowMelt.jl rename to Sindbad/src/Models/snowMelt/snowMelt.jl diff --git a/SINDBAD/src/Models/snowMelt/snowMelt_Tair.jl b/Sindbad/src/Models/snowMelt/snowMelt_Tair.jl similarity index 100% rename from SINDBAD/src/Models/snowMelt/snowMelt_Tair.jl rename to Sindbad/src/Models/snowMelt/snowMelt_Tair.jl diff --git a/SINDBAD/src/Models/snowMelt/snowMelt_TairRn.jl b/Sindbad/src/Models/snowMelt/snowMelt_TairRn.jl similarity index 100% rename from SINDBAD/src/Models/snowMelt/snowMelt_TairRn.jl rename to Sindbad/src/Models/snowMelt/snowMelt_TairRn.jl diff --git a/SINDBAD/src/Models/soilProperties/soilProperties.jl b/Sindbad/src/Models/soilProperties/soilProperties.jl similarity index 100% rename from SINDBAD/src/Models/soilProperties/soilProperties.jl rename to Sindbad/src/Models/soilProperties/soilProperties.jl diff --git a/SINDBAD/src/Models/soilProperties/soilProperties_Saxton1986.jl b/Sindbad/src/Models/soilProperties/soilProperties_Saxton1986.jl similarity index 100% rename from SINDBAD/src/Models/soilProperties/soilProperties_Saxton1986.jl rename to Sindbad/src/Models/soilProperties/soilProperties_Saxton1986.jl diff --git a/SINDBAD/src/Models/soilProperties/soilProperties_Saxton2006.jl b/Sindbad/src/Models/soilProperties/soilProperties_Saxton2006.jl similarity index 100% rename from SINDBAD/src/Models/soilProperties/soilProperties_Saxton2006.jl rename to Sindbad/src/Models/soilProperties/soilProperties_Saxton2006.jl diff --git a/SINDBAD/src/Models/soilTexture/soilTexture.jl b/Sindbad/src/Models/soilTexture/soilTexture.jl similarity index 100% rename from SINDBAD/src/Models/soilTexture/soilTexture.jl rename to Sindbad/src/Models/soilTexture/soilTexture.jl diff --git a/SINDBAD/src/Models/soilTexture/soilTexture_constant.jl b/Sindbad/src/Models/soilTexture/soilTexture_constant.jl similarity index 100% rename from SINDBAD/src/Models/soilTexture/soilTexture_constant.jl rename to Sindbad/src/Models/soilTexture/soilTexture_constant.jl diff --git a/SINDBAD/src/Models/soilTexture/soilTexture_forcing.jl b/Sindbad/src/Models/soilTexture/soilTexture_forcing.jl similarity index 100% rename from SINDBAD/src/Models/soilTexture/soilTexture_forcing.jl rename to Sindbad/src/Models/soilTexture/soilTexture_forcing.jl diff --git a/SINDBAD/src/Models/soilWBase/soilWBase.jl b/Sindbad/src/Models/soilWBase/soilWBase.jl similarity index 100% rename from SINDBAD/src/Models/soilWBase/soilWBase.jl rename to Sindbad/src/Models/soilWBase/soilWBase.jl diff --git a/SINDBAD/src/Models/soilWBase/soilWBase_smax1Layer.jl b/Sindbad/src/Models/soilWBase/soilWBase_smax1Layer.jl similarity index 100% rename from SINDBAD/src/Models/soilWBase/soilWBase_smax1Layer.jl rename to Sindbad/src/Models/soilWBase/soilWBase_smax1Layer.jl diff --git a/SINDBAD/src/Models/soilWBase/soilWBase_smax2Layer.jl b/Sindbad/src/Models/soilWBase/soilWBase_smax2Layer.jl similarity index 100% rename from SINDBAD/src/Models/soilWBase/soilWBase_smax2Layer.jl rename to Sindbad/src/Models/soilWBase/soilWBase_smax2Layer.jl diff --git a/SINDBAD/src/Models/soilWBase/soilWBase_smax2fRD4.jl b/Sindbad/src/Models/soilWBase/soilWBase_smax2fRD4.jl similarity index 100% rename from SINDBAD/src/Models/soilWBase/soilWBase_smax2fRD4.jl rename to Sindbad/src/Models/soilWBase/soilWBase_smax2fRD4.jl diff --git a/SINDBAD/src/Models/soilWBase/soilWBase_uniform.jl b/Sindbad/src/Models/soilWBase/soilWBase_uniform.jl similarity index 100% rename from SINDBAD/src/Models/soilWBase/soilWBase_uniform.jl rename to Sindbad/src/Models/soilWBase/soilWBase_uniform.jl diff --git a/SINDBAD/src/Models/standardSindbadModels.jl b/Sindbad/src/Models/standardSindbadModels.jl similarity index 100% rename from SINDBAD/src/Models/standardSindbadModels.jl rename to Sindbad/src/Models/standardSindbadModels.jl diff --git a/SINDBAD/src/Models/sublimation/sublimation.jl b/Sindbad/src/Models/sublimation/sublimation.jl similarity index 100% rename from SINDBAD/src/Models/sublimation/sublimation.jl rename to Sindbad/src/Models/sublimation/sublimation.jl diff --git a/SINDBAD/src/Models/sublimation/sublimation_GLEAM.jl b/Sindbad/src/Models/sublimation/sublimation_GLEAM.jl similarity index 100% rename from SINDBAD/src/Models/sublimation/sublimation_GLEAM.jl rename to Sindbad/src/Models/sublimation/sublimation_GLEAM.jl diff --git a/SINDBAD/src/Models/sublimation/sublimation_none.jl b/Sindbad/src/Models/sublimation/sublimation_none.jl similarity index 100% rename from SINDBAD/src/Models/sublimation/sublimation_none.jl rename to Sindbad/src/Models/sublimation/sublimation_none.jl diff --git a/SINDBAD/src/Models/transpiration/transpiration.jl b/Sindbad/src/Models/transpiration/transpiration.jl similarity index 100% rename from SINDBAD/src/Models/transpiration/transpiration.jl rename to Sindbad/src/Models/transpiration/transpiration.jl diff --git a/SINDBAD/src/Models/transpiration/transpiration_coupled.jl b/Sindbad/src/Models/transpiration/transpiration_coupled.jl similarity index 100% rename from SINDBAD/src/Models/transpiration/transpiration_coupled.jl rename to Sindbad/src/Models/transpiration/transpiration_coupled.jl diff --git a/SINDBAD/src/Models/transpiration/transpiration_demandSupply.jl b/Sindbad/src/Models/transpiration/transpiration_demandSupply.jl similarity index 100% rename from SINDBAD/src/Models/transpiration/transpiration_demandSupply.jl rename to Sindbad/src/Models/transpiration/transpiration_demandSupply.jl diff --git a/SINDBAD/src/Models/transpiration/transpiration_none.jl b/Sindbad/src/Models/transpiration/transpiration_none.jl similarity index 100% rename from SINDBAD/src/Models/transpiration/transpiration_none.jl rename to Sindbad/src/Models/transpiration/transpiration_none.jl diff --git a/SINDBAD/src/Models/transpirationDemand/transpirationDemand.jl b/Sindbad/src/Models/transpirationDemand/transpirationDemand.jl similarity index 100% rename from SINDBAD/src/Models/transpirationDemand/transpirationDemand.jl rename to Sindbad/src/Models/transpirationDemand/transpirationDemand.jl diff --git a/SINDBAD/src/Models/transpirationDemand/transpirationDemand_CASA.jl b/Sindbad/src/Models/transpirationDemand/transpirationDemand_CASA.jl similarity index 100% rename from SINDBAD/src/Models/transpirationDemand/transpirationDemand_CASA.jl rename to Sindbad/src/Models/transpirationDemand/transpirationDemand_CASA.jl diff --git a/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PET.jl b/Sindbad/src/Models/transpirationDemand/transpirationDemand_PET.jl similarity index 100% rename from SINDBAD/src/Models/transpirationDemand/transpirationDemand_PET.jl rename to Sindbad/src/Models/transpirationDemand/transpirationDemand_PET.jl diff --git a/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl b/Sindbad/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl similarity index 100% rename from SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl rename to Sindbad/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl diff --git a/SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl b/Sindbad/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl similarity index 100% rename from SINDBAD/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl rename to Sindbad/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl diff --git a/SINDBAD/src/Models/transpirationSupply/transpirationSupply.jl b/Sindbad/src/Models/transpirationSupply/transpirationSupply.jl similarity index 100% rename from SINDBAD/src/Models/transpirationSupply/transpirationSupply.jl rename to Sindbad/src/Models/transpirationSupply/transpirationSupply.jl diff --git a/SINDBAD/src/Models/transpirationSupply/transpirationSupply_CASA.jl b/Sindbad/src/Models/transpirationSupply/transpirationSupply_CASA.jl similarity index 100% rename from SINDBAD/src/Models/transpirationSupply/transpirationSupply_CASA.jl rename to Sindbad/src/Models/transpirationSupply/transpirationSupply_CASA.jl diff --git a/SINDBAD/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl b/Sindbad/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl similarity index 100% rename from SINDBAD/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl rename to Sindbad/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl diff --git a/SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWC.jl b/Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWC.jl similarity index 100% rename from SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWC.jl rename to Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWC.jl diff --git a/SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl b/Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl similarity index 100% rename from SINDBAD/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl rename to Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl diff --git a/SINDBAD/src/Models/treeFraction/treeFraction.jl b/Sindbad/src/Models/treeFraction/treeFraction.jl similarity index 100% rename from SINDBAD/src/Models/treeFraction/treeFraction.jl rename to Sindbad/src/Models/treeFraction/treeFraction.jl diff --git a/SINDBAD/src/Models/treeFraction/treeFraction_constant.jl b/Sindbad/src/Models/treeFraction/treeFraction_constant.jl similarity index 100% rename from SINDBAD/src/Models/treeFraction/treeFraction_constant.jl rename to Sindbad/src/Models/treeFraction/treeFraction_constant.jl diff --git a/SINDBAD/src/Models/treeFraction/treeFraction_forcing.jl b/Sindbad/src/Models/treeFraction/treeFraction_forcing.jl similarity index 100% rename from SINDBAD/src/Models/treeFraction/treeFraction_forcing.jl rename to Sindbad/src/Models/treeFraction/treeFraction_forcing.jl diff --git a/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater.jl b/Sindbad/src/Models/vegAvailableWater/vegAvailableWater.jl similarity index 100% rename from SINDBAD/src/Models/vegAvailableWater/vegAvailableWater.jl rename to Sindbad/src/Models/vegAvailableWater/vegAvailableWater.jl diff --git a/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl b/Sindbad/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl similarity index 100% rename from SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl rename to Sindbad/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl diff --git a/SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl b/Sindbad/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl similarity index 100% rename from SINDBAD/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl rename to Sindbad/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction.jl b/Sindbad/src/Models/vegFraction/vegFraction.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction.jl rename to Sindbad/src/Models/vegFraction/vegFraction.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_constant.jl b/Sindbad/src/Models/vegFraction/vegFraction_constant.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_constant.jl rename to Sindbad/src/Models/vegFraction/vegFraction_constant.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_forcing.jl b/Sindbad/src/Models/vegFraction/vegFraction_forcing.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_forcing.jl rename to Sindbad/src/Models/vegFraction/vegFraction_forcing.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_scaledEVI.jl b/Sindbad/src/Models/vegFraction/vegFraction_scaledEVI.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_scaledEVI.jl rename to Sindbad/src/Models/vegFraction/vegFraction_scaledEVI.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_scaledLAI.jl b/Sindbad/src/Models/vegFraction/vegFraction_scaledLAI.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_scaledLAI.jl rename to Sindbad/src/Models/vegFraction/vegFraction_scaledLAI.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_scaledNDVI.jl b/Sindbad/src/Models/vegFraction/vegFraction_scaledNDVI.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_scaledNDVI.jl rename to Sindbad/src/Models/vegFraction/vegFraction_scaledNDVI.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_scaledNIRv.jl b/Sindbad/src/Models/vegFraction/vegFraction_scaledNIRv.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_scaledNIRv.jl rename to Sindbad/src/Models/vegFraction/vegFraction_scaledNIRv.jl diff --git a/SINDBAD/src/Models/vegFraction/vegFraction_scaledfAPAR.jl b/Sindbad/src/Models/vegFraction/vegFraction_scaledfAPAR.jl similarity index 100% rename from SINDBAD/src/Models/vegFraction/vegFraction_scaledfAPAR.jl rename to Sindbad/src/Models/vegFraction/vegFraction_scaledfAPAR.jl diff --git a/SINDBAD/src/Models/wCycle/wCycle.jl b/Sindbad/src/Models/wCycle/wCycle.jl similarity index 100% rename from SINDBAD/src/Models/wCycle/wCycle.jl rename to Sindbad/src/Models/wCycle/wCycle.jl diff --git a/SINDBAD/src/Models/wCycle/wCycle_combined.jl b/Sindbad/src/Models/wCycle/wCycle_combined.jl similarity index 100% rename from SINDBAD/src/Models/wCycle/wCycle_combined.jl rename to Sindbad/src/Models/wCycle/wCycle_combined.jl diff --git a/SINDBAD/src/Models/wCycle/wCycle_components.jl b/Sindbad/src/Models/wCycle/wCycle_components.jl similarity index 100% rename from SINDBAD/src/Models/wCycle/wCycle_components.jl rename to Sindbad/src/Models/wCycle/wCycle_components.jl diff --git a/SINDBAD/src/Models/wCycleBase/wCycleBase.jl b/Sindbad/src/Models/wCycleBase/wCycleBase.jl similarity index 100% rename from SINDBAD/src/Models/wCycleBase/wCycleBase.jl rename to Sindbad/src/Models/wCycleBase/wCycleBase.jl diff --git a/SINDBAD/src/Models/wCycleBase/wCycleBase_simple.jl b/Sindbad/src/Models/wCycleBase/wCycleBase_simple.jl similarity index 100% rename from SINDBAD/src/Models/wCycleBase/wCycleBase_simple.jl rename to Sindbad/src/Models/wCycleBase/wCycleBase_simple.jl diff --git a/SINDBAD/src/Models/waterBalance/waterBalance.jl b/Sindbad/src/Models/waterBalance/waterBalance.jl similarity index 100% rename from SINDBAD/src/Models/waterBalance/waterBalance.jl rename to Sindbad/src/Models/waterBalance/waterBalance.jl diff --git a/SINDBAD/src/Models/waterBalance/waterBalance_simple.jl b/Sindbad/src/Models/waterBalance/waterBalance_simple.jl similarity index 100% rename from SINDBAD/src/Models/waterBalance/waterBalance_simple.jl rename to Sindbad/src/Models/waterBalance/waterBalance_simple.jl diff --git a/SINDBAD/src/Sindbad.jl b/Sindbad/src/Sindbad.jl similarity index 100% rename from SINDBAD/src/Sindbad.jl rename to Sindbad/src/Sindbad.jl diff --git a/SINDBAD/src/Types/ArrayTypes.jl b/Sindbad/src/Types/ArrayTypes.jl similarity index 100% rename from SINDBAD/src/Types/ArrayTypes.jl rename to Sindbad/src/Types/ArrayTypes.jl diff --git a/SINDBAD/src/Types/ExperimentTypes.jl b/Sindbad/src/Types/ExperimentTypes.jl similarity index 100% rename from SINDBAD/src/Types/ExperimentTypes.jl rename to Sindbad/src/Types/ExperimentTypes.jl diff --git a/SINDBAD/src/Types/InputTypes.jl b/Sindbad/src/Types/InputTypes.jl similarity index 100% rename from SINDBAD/src/Types/InputTypes.jl rename to Sindbad/src/Types/InputTypes.jl diff --git a/SINDBAD/src/Types/LandTypes.jl b/Sindbad/src/Types/LandTypes.jl similarity index 100% rename from SINDBAD/src/Types/LandTypes.jl rename to Sindbad/src/Types/LandTypes.jl diff --git a/SINDBAD/src/Types/LongTuple.jl b/Sindbad/src/Types/LongTuple.jl similarity index 100% rename from SINDBAD/src/Types/LongTuple.jl rename to Sindbad/src/Types/LongTuple.jl diff --git a/SINDBAD/src/Types/MLTypes.jl b/Sindbad/src/Types/MLTypes.jl similarity index 100% rename from SINDBAD/src/Types/MLTypes.jl rename to Sindbad/src/Types/MLTypes.jl diff --git a/SINDBAD/src/Types/MetricsTypes.jl b/Sindbad/src/Types/MetricsTypes.jl similarity index 100% rename from SINDBAD/src/Types/MetricsTypes.jl rename to Sindbad/src/Types/MetricsTypes.jl diff --git a/SINDBAD/src/Types/ModelTypes.jl b/Sindbad/src/Types/ModelTypes.jl similarity index 100% rename from SINDBAD/src/Types/ModelTypes.jl rename to Sindbad/src/Types/ModelTypes.jl diff --git a/SINDBAD/src/Types/OptimizationTypes.jl b/Sindbad/src/Types/OptimizationTypes.jl similarity index 100% rename from SINDBAD/src/Types/OptimizationTypes.jl rename to Sindbad/src/Types/OptimizationTypes.jl diff --git a/SINDBAD/src/Types/SpinupTypes.jl b/Sindbad/src/Types/SpinupTypes.jl similarity index 100% rename from SINDBAD/src/Types/SpinupTypes.jl rename to Sindbad/src/Types/SpinupTypes.jl diff --git a/SINDBAD/src/Types/TimeTypes.jl b/Sindbad/src/Types/TimeTypes.jl similarity index 100% rename from SINDBAD/src/Types/TimeTypes.jl rename to Sindbad/src/Types/TimeTypes.jl diff --git a/SINDBAD/src/Types/Types.jl b/Sindbad/src/Types/Types.jl similarity index 100% rename from SINDBAD/src/Types/Types.jl rename to Sindbad/src/Types/Types.jl diff --git a/SINDBAD/src/Types/TypesFunctions.jl b/Sindbad/src/Types/TypesFunctions.jl similarity index 100% rename from SINDBAD/src/Types/TypesFunctions.jl rename to Sindbad/src/Types/TypesFunctions.jl diff --git a/SINDBAD/src/Types/docStringForTypes.jl b/Sindbad/src/Types/docStringForTypes.jl similarity index 100% rename from SINDBAD/src/Types/docStringForTypes.jl rename to Sindbad/src/Types/docStringForTypes.jl diff --git a/SINDBAD/src/Utilities/Utilities.jl b/Sindbad/src/Utilities/Utilities.jl similarity index 100% rename from SINDBAD/src/Utilities/Utilities.jl rename to Sindbad/src/Utilities/Utilities.jl diff --git a/SINDBAD/src/Utilities/getArrayView.jl b/Sindbad/src/Utilities/getArrayView.jl similarity index 100% rename from SINDBAD/src/Utilities/getArrayView.jl rename to Sindbad/src/Utilities/getArrayView.jl diff --git a/SINDBAD/src/Utilities/utilsNT.jl b/Sindbad/src/Utilities/utilsNT.jl similarity index 100% rename from SINDBAD/src/Utilities/utilsNT.jl rename to Sindbad/src/Utilities/utilsNT.jl diff --git a/SINDBAD/src/Utilities/utilsStacks.jl b/Sindbad/src/Utilities/utilsStacks.jl similarity index 100% rename from SINDBAD/src/Utilities/utilsStacks.jl rename to Sindbad/src/Utilities/utilsStacks.jl diff --git a/SINDBAD/src/Utilities/utilsTemporal.jl b/Sindbad/src/Utilities/utilsTemporal.jl similarity index 100% rename from SINDBAD/src/Utilities/utilsTemporal.jl rename to Sindbad/src/Utilities/utilsTemporal.jl diff --git a/SINDBAD/src/generateCode.jl b/Sindbad/src/generateCode.jl similarity index 100% rename from SINDBAD/src/generateCode.jl rename to Sindbad/src/generateCode.jl diff --git a/SINDBAD/src/modelTools.jl b/Sindbad/src/modelTools.jl similarity index 100% rename from SINDBAD/src/modelTools.jl rename to Sindbad/src/modelTools.jl diff --git a/SINDBAD/src/sindbadVariableCatalog.jl b/Sindbad/src/sindbadVariableCatalog.jl similarity index 100% rename from SINDBAD/src/sindbadVariableCatalog.jl rename to Sindbad/src/sindbadVariableCatalog.jl diff --git a/SINDBAD/src/utilsCore.jl b/Sindbad/src/utilsCore.jl similarity index 100% rename from SINDBAD/src/utilsCore.jl rename to Sindbad/src/utilsCore.jl diff --git a/SINDBAD/test/Models/ambientCO2.jl b/Sindbad/test/Models/ambientCO2.jl similarity index 100% rename from SINDBAD/test/Models/ambientCO2.jl rename to Sindbad/test/Models/ambientCO2.jl diff --git a/SINDBAD/test/Models/autoRespiration.jl b/Sindbad/test/Models/autoRespiration.jl similarity index 100% rename from SINDBAD/test/Models/autoRespiration.jl rename to Sindbad/test/Models/autoRespiration.jl diff --git a/SINDBAD/test/Models/models.jl b/Sindbad/test/Models/models.jl similarity index 100% rename from SINDBAD/test/Models/models.jl rename to Sindbad/test/Models/models.jl diff --git a/SINDBAD/test/Project.toml b/Sindbad/test/Project.toml similarity index 100% rename from SINDBAD/test/Project.toml rename to Sindbad/test/Project.toml diff --git a/SINDBAD/test/mock_input/forcing.jl b/Sindbad/test/mock_input/forcing.jl similarity index 100% rename from SINDBAD/test/mock_input/forcing.jl rename to Sindbad/test/mock_input/forcing.jl diff --git a/SINDBAD/test/mock_input/helpers.jl b/Sindbad/test/mock_input/helpers.jl similarity index 100% rename from SINDBAD/test/mock_input/helpers.jl rename to Sindbad/test/mock_input/helpers.jl diff --git a/SINDBAD/test/mock_input/land.jl b/Sindbad/test/mock_input/land.jl similarity index 100% rename from SINDBAD/test/mock_input/land.jl rename to Sindbad/test/mock_input/land.jl diff --git a/SINDBAD/test/runtests.jl b/Sindbad/test/runtests.jl similarity index 100% rename from SINDBAD/test/runtests.jl rename to Sindbad/test/runtests.jl diff --git a/SINDBAD/test/utilsCore.jl b/Sindbad/test/utilsCore.jl similarity index 100% rename from SINDBAD/test/utilsCore.jl rename to Sindbad/test/utilsCore.jl From e103109dee70a2425b6b114b9c8446eb660d2cae Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 10:53:12 +0100 Subject: [PATCH 15/36] also --- .github/workflows/CI.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 573e54edc..ec78ec5d1 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -54,17 +54,17 @@ jobs: restore-keys: | ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- - - name: Develop and test SINDBAD + - name: Develop and test Sindbad shell: julia --project=test_env {0} run: | using Pkg pkg"registry up" Pkg.update() - pkg"dev ./SINDBAD" # Develop the package in the SINDBAD directory + pkg"dev ./Sindbad" # Develop the package in the Sindbad directory Pkg.test("Sindbad"; coverage=true) # Test the package named "Sindbad" - uses: julia-actions/julia-processcoverage@v1 with: - directories: SINDBAD/src + directories: Sindbad/src - uses: codecov/codecov-action@v5 with: files: lcov.info \ No newline at end of file From dd4bb8c945ced1d69c2b3b24e3f1ca6388f3cff9 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 11:03:05 +0100 Subject: [PATCH 16/36] expand Logging compat for 1.10 --- Sindbad/Project.toml | 2 +- docs/Project.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sindbad/Project.toml b/Sindbad/Project.toml index 6b5f4e0c9..87fa1f792 100644 --- a/Sindbad/Project.toml +++ b/Sindbad/Project.toml @@ -30,7 +30,7 @@ Accessors = "0.1.42" Crayons = "4.1.1" Dates = "1.10, 1.11.0" FIGlet = "0.2.2" -Logging = "1.11.0" +Logging = "1.10.10, 1.11.0" NaNStatistics = "0.6.50" Pkg = "1.10.0" Reexport = "1.2.2" diff --git a/docs/Project.toml b/docs/Project.toml index 3b8810f57..e7a321ce6 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -16,7 +16,7 @@ SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../"} +Sindbad = {path = "../Sindbad"} SindbadData = {path = "../lib/SindbadData"} SindbadExperiment = {path = "../lib/SindbadExperiment"} SindbadML = {path = "../lib/SindbadML"} From c5dd81b02289effbe30ecb0d4857869fd6bb42cf Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 11:08:10 +0100 Subject: [PATCH 17/36] also SS --- Sindbad/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sindbad/Project.toml b/Sindbad/Project.toml index 87fa1f792..7579af9ce 100644 --- a/Sindbad/Project.toml +++ b/Sindbad/Project.toml @@ -34,7 +34,7 @@ Logging = "1.10.10, 1.11.0" NaNStatistics = "0.6.50" Pkg = "1.10.0" Reexport = "1.2.2" -StyledStrings = "1.11.0" +StyledStrings = "1.0.3, 1.11.0" TypedTables = "1.4.6" julia = "1.10" From bbe9dd685674cbca8f51533bac86c4556e70b02d Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 12:30:48 +0100 Subject: [PATCH 18/36] no more SindbadUtils --- .github/workflows/Documenter.yml | 2 +- docs/Project.toml | 2 +- lib/SindbadData/Project.toml | 4 +--- lib/SindbadData/src/SindbadData.jl | 1 - lib/SindbadExperiment/Project.toml | 4 +--- lib/SindbadExperiment/src/SindbadExperiment.jl | 1 - lib/SindbadML/Project.toml | 6 +----- lib/SindbadML/ext/SindbadMLEnzymeExt.jl | 16 ++++++++++++++++ lib/SindbadML/src/SindbadML.jl | 4 ++-- lib/SindbadML/src/mlGradient.jl | 7 ------- lib/SindbadMetrics/Project.toml | 3 +-- lib/SindbadMetrics/src/SindbadMetrics.jl | 3 +-- lib/SindbadOptimization/Project.toml | 4 +--- .../src/SindbadOptimization.jl | 1 - lib/SindbadSetup/Project.toml | 4 +--- lib/SindbadSetup/src/SindbadSetup.jl | 1 - lib/SindbadTEM/Project.toml | 6 ++---- lib/SindbadTEM/src/SindbadTEM.jl | 2 -- lib/SindbadVisuals/Project.toml | 4 +--- lib/SindbadVisuals/src/SindbadVisuals.jl | 1 - 20 files changed, 30 insertions(+), 46 deletions(-) create mode 100644 lib/SindbadML/ext/SindbadMLEnzymeExt.jl diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index 175d1e62e..57d7466ee 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -33,7 +33,7 @@ jobs: - name: Pull Julia cache uses: julia-actions/cache@v2 - name: Install documentation dependencies - run: julia --project=docs -e 'using Pkg; pkg"dev . ./lib/SindbadUtils ./lib/SindbadData ./lib/SindbadMetrics ./lib/SindbadSetup ./lib/SindbadTEM ./lib/SindbadML"; Pkg.instantiate(); Pkg.precompile(); Pkg.status()' + run: julia --project=docs -e 'using Pkg; pkg"dev ./Sindbad ./lib/SindbadData ./lib/SindbadMetrics ./lib/SindbadSetup ./lib/SindbadTEM ./lib/SindbadML"; Pkg.instantiate(); Pkg.precompile(); Pkg.status()' - name: Build and deploy docs uses: julia-actions/julia-docdeploy@v1 env: diff --git a/docs/Project.toml b/docs/Project.toml index e7a321ce6..0d40dd4c6 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -16,7 +16,7 @@ SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../Sindbad"} +Sindbad = {path = "../../Sindbad"} SindbadData = {path = "../lib/SindbadData"} SindbadExperiment = {path = "../lib/SindbadExperiment"} SindbadML = {path = "../lib/SindbadML"} diff --git a/lib/SindbadData/Project.toml b/lib/SindbadData/Project.toml index 0478fdc35..639e31671 100644 --- a/lib/SindbadData/Project.toml +++ b/lib/SindbadData/Project.toml @@ -10,14 +10,12 @@ FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" NCDatasets = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" NetCDF = "30363a11-5582-574a-97bb-aa9a979735b9" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" YAXArrayBase = "90b8fcef-0c2d-428d-9c56-5f86629e9d14" YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c" Zarr = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99" [sources] -Sindbad = {path = "../.."} -SindbadUtils = {path = "../../lib/SindbadUtils"} +Sindbad = {path = "../../Sindbad"} [compat] AxisKeys = "0.2.15" diff --git a/lib/SindbadData/src/SindbadData.jl b/lib/SindbadData/src/SindbadData.jl index faac7cc24..2e71f006b 100644 --- a/lib/SindbadData/src/SindbadData.jl +++ b/lib/SindbadData/src/SindbadData.jl @@ -39,7 +39,6 @@ This package is designed to streamline the ingestion and preprocessing of input """ module SindbadData using Sindbad - using SindbadUtils using AxisKeys: KeyedArray, AxisKeys using FillArrays using DimensionalData diff --git a/lib/SindbadExperiment/Project.toml b/lib/SindbadExperiment/Project.toml index e2381bfc2..441fabbf8 100644 --- a/lib/SindbadExperiment/Project.toml +++ b/lib/SindbadExperiment/Project.toml @@ -10,15 +10,13 @@ SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadOptimization = {path = "../../lib/SindbadOptimization"} SindbadSetup = {path = "../../lib/SindbadSetup"} SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadUtils = {path = "../../lib/SindbadUtils"} SindbadVisuals = {path = "../../lib/SindbadVisuals"} diff --git a/lib/SindbadExperiment/src/SindbadExperiment.jl b/lib/SindbadExperiment/src/SindbadExperiment.jl index 3fd3bce93..6adb53bcd 100644 --- a/lib/SindbadExperiment/src/SindbadExperiment.jl +++ b/lib/SindbadExperiment/src/SindbadExperiment.jl @@ -41,7 +41,6 @@ runExperimentForward(experiment_config) module SindbadExperiment using Sindbad @reexport using Sindbad - @reexport using SindbadUtils @reexport using SindbadSetup @reexport using SindbadData @reexport using SindbadTEM diff --git a/lib/SindbadML/Project.toml b/lib/SindbadML/Project.toml index 5d2da08c0..195bb183e 100644 --- a/lib/SindbadML/Project.toml +++ b/lib/SindbadML/Project.toml @@ -6,7 +6,6 @@ version = "0.1.0" [deps] DiskArrays = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41" FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" @@ -24,19 +23,16 @@ SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadSetup = {path = "../../lib/SindbadSetup"} SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadUtils = {path = "../../lib/SindbadUtils"} [compat] DiskArrays = "0.4.11" -Enzyme = "0.13.38" PolyesterForwardDiff = "0.1.2" diff --git a/lib/SindbadML/ext/SindbadMLEnzymeExt.jl b/lib/SindbadML/ext/SindbadMLEnzymeExt.jl new file mode 100644 index 000000000..b380b04fb --- /dev/null +++ b/lib/SindbadML/ext/SindbadMLEnzymeExt.jl @@ -0,0 +1,16 @@ +module SindbadMLEnzymeExt + +using SindbadML +import SindbadML: gradientSite +import SindbadML: EnzymeGrad +using Enzyme + +function gradientSite(::EnzymeGrad, x_vals::AbstractArray, gradient_options::NamedTuple,loss_f::F) where {F} + # does not work with `Enzyme.gradient!` but is kept here as placeholder for future development + # Ensure x_vals is a mutable array (Vector) + x_vals = collect(copy(x_vals)) # Convert to a mutable array if necessary + # x_vals = copy(x_vals) + return Enzyme.gradient(Forward, loss_f, x_vals) +end + +end \ No newline at end of file diff --git a/lib/SindbadML/src/SindbadML.jl b/lib/SindbadML/src/SindbadML.jl index ac6661b02..323fab29b 100644 --- a/lib/SindbadML/src/SindbadML.jl +++ b/lib/SindbadML/src/SindbadML.jl @@ -11,7 +11,7 @@ This package brings together all components required for hybrid (process-based + - `Sindbad`, `SindbadTEM`, `SindbadSetup`: Core SINDBAD modules for process-based modeling and setup. - `SindbadData.YAXArrays`, `SindbadData.Zarr`, `SindbadData.AxisKeys`, `SindbadData`: Data handling, array, and cube utilities. - `SindbadMetrics`: Metrics for model performance/loss evaluation. -- `Enzyme`, `Zygote`, `ForwardDiff`, `FiniteDiff`, `FiniteDifferences`, `PolyesterForwardDiff`: Automatic and numerical differentiation libraries for gradient-based learning. +- `PolyesterForwardDiff`, `Enzyme`, `Zygote`, `ForwardDiff`, `FiniteDiff`, `FiniteDifferences`: Automatic and numerical differentiation libraries for gradient-based learning. (Defaults will be Zygote and PolyesterForwardDiff for performance. All others should come as extensions.) - `Flux`: Neural network layers and training utilities for ML models. - `Optimisers`: Optimizers for training neural networks. - `Statistics`: Statistical utilities. @@ -57,7 +57,7 @@ module SindbadML using SindbadData: AllNaN using SindbadData: yaxCubeToKeyedArray, Cube using SindbadMetrics - using Enzyme + # using Enzyme # --- MOVED TO EXTENSION --- using Flux using Optimisers diff --git a/lib/SindbadML/src/mlGradient.jl b/lib/SindbadML/src/mlGradient.jl index 7390bfa2c..7f9131e84 100644 --- a/lib/SindbadML/src/mlGradient.jl +++ b/lib/SindbadML/src/mlGradient.jl @@ -173,13 +173,6 @@ function gradientSite(::ZygoteGrad, x_vals::AbstractArray, gradient_options::Nam return Zygote.gradient(loss_f, x_vals) end -function gradientSite(::EnzymeGrad, x_vals::AbstractArray, gradient_options::NamedTuple,loss_f::F) where {F} - # does not work with `Enzyme.gradient!` but is kept here as placeholder for future development - # Ensure x_vals is a mutable array (Vector) - x_vals = collect(copy(x_vals)) # Convert to a mutable array if necessary - # x_vals = copy(x_vals) - return Enzyme.gradient(Forward, loss_f, x_vals) -end """ gradientBatch!(grads_lib, grads_batch, chunk_size::Int, loss_f::Function, get_inner_args::Function, input_args...; showprog=false) diff --git a/lib/SindbadMetrics/Project.toml b/lib/SindbadMetrics/Project.toml index efa9cd7bb..da7ce7729 100644 --- a/lib/SindbadMetrics/Project.toml +++ b/lib/SindbadMetrics/Project.toml @@ -5,7 +5,6 @@ version = "0.1.0" [deps] Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} diff --git a/lib/SindbadMetrics/src/SindbadMetrics.jl b/lib/SindbadMetrics/src/SindbadMetrics.jl index 18db43dd0..42d4e15f7 100644 --- a/lib/SindbadMetrics/src/SindbadMetrics.jl +++ b/lib/SindbadMetrics/src/SindbadMetrics.jl @@ -47,8 +47,7 @@ correlation = metric(model_output, observations, Pcor()) module SindbadMetrics using Sindbad - using SindbadUtils - + include("handleDataForLoss.jl") include("getMetrics.jl") include("metrics.jl") diff --git a/lib/SindbadOptimization/Project.toml b/lib/SindbadOptimization/Project.toml index 30ba6566b..8d5dc0cb1 100644 --- a/lib/SindbadOptimization/Project.toml +++ b/lib/SindbadOptimization/Project.toml @@ -22,15 +22,13 @@ Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadSetup = {path = "../../lib/SindbadSetup"} SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadUtils = {path = "../../lib/SindbadUtils"} [compat] GlobalSensitivity = "2.7.0" diff --git a/lib/SindbadOptimization/src/SindbadOptimization.jl b/lib/SindbadOptimization/src/SindbadOptimization.jl index 424e8110a..e03f2d10f 100644 --- a/lib/SindbadOptimization/src/SindbadOptimization.jl +++ b/lib/SindbadOptimization/src/SindbadOptimization.jl @@ -84,7 +84,6 @@ module SindbadOptimization using QuasiMonteCarlo using StableRNGs using Sindbad - using SindbadUtils using SindbadSetup using SindbadTEM using SindbadMetrics diff --git a/lib/SindbadSetup/Project.toml b/lib/SindbadSetup/Project.toml index ca4ce834a..f7929e5db 100644 --- a/lib/SindbadSetup/Project.toml +++ b/lib/SindbadSetup/Project.toml @@ -10,11 +10,9 @@ Infiltrator = "5903a43b-9cc3-4c30-8d17-598619ec4e9b" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" [sources] -Sindbad = {path = "../.."} -SindbadUtils = {path = "../../lib/SindbadUtils"} +Sindbad = {path = "../../Sindbad"} [compat] ConstructionBase = "1.5.8" diff --git a/lib/SindbadSetup/src/SindbadSetup.jl b/lib/SindbadSetup/src/SindbadSetup.jl index d53ffcc2b..32e9d8282 100644 --- a/lib/SindbadSetup/src/SindbadSetup.jl +++ b/lib/SindbadSetup/src/SindbadSetup.jl @@ -59,7 +59,6 @@ This package is designed to produce the SINDBAD `info` object, which contains al module SindbadSetup using Sindbad - using SindbadUtils using ConstructionBase @reexport using CSV: CSV @reexport using Infiltrator diff --git a/lib/SindbadTEM/Project.toml b/lib/SindbadTEM/Project.toml index 7ed386282..c6406fa94 100644 --- a/lib/SindbadTEM/Project.toml +++ b/lib/SindbadTEM/Project.toml @@ -12,13 +12,11 @@ Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" ThreadPools = "b189fb0b-2eb5-4ed4-bc0c-d34c51242431" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadUtils = {path = "../../lib/SindbadUtils"} +SindbadSetup = {path = "../../lib/SindbadSetup"} \ No newline at end of file diff --git a/lib/SindbadTEM/src/SindbadTEM.jl b/lib/SindbadTEM/src/SindbadTEM.jl index 101eed0ae..6a7e856a7 100644 --- a/lib/SindbadTEM/src/SindbadTEM.jl +++ b/lib/SindbadTEM/src/SindbadTEM.jl @@ -56,7 +56,6 @@ module SindbadTEM using NLsolve using ProgressMeter using Sindbad - using SindbadUtils using SindbadSetup using SindbadData: YAXArrays @@ -65,7 +64,6 @@ module SindbadTEM include("utilsTEM.jl") include("deriveSpinupForcing.jl") include("prepTEMOut.jl") - include("runModels.jl") include("prepTEM.jl") include("runTEMLoc.jl") include("runTEMSpace.jl") diff --git a/lib/SindbadVisuals/Project.toml b/lib/SindbadVisuals/Project.toml index f04aac664..1a2f4d375 100644 --- a/lib/SindbadVisuals/Project.toml +++ b/lib/SindbadVisuals/Project.toml @@ -7,11 +7,9 @@ version = "0.1.0" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" [sources] -Sindbad = {path = "../.."} -SindbadUtils = {path = "../../lib/SindbadUtils"} +Sindbad = {path = "../../Sindbad"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} [compat] diff --git a/lib/SindbadVisuals/src/SindbadVisuals.jl b/lib/SindbadVisuals/src/SindbadVisuals.jl index 5ab5bb7e0..4b8f28d8b 100644 --- a/lib/SindbadVisuals/src/SindbadVisuals.jl +++ b/lib/SindbadVisuals/src/SindbadVisuals.jl @@ -30,7 +30,6 @@ using SindbadVisuals """ module SindbadVisuals using Sindbad - using SindbadUtils using SindbadMetrics # using GLMakie # @reexport using GLMakie.Makie From 18a046056b5f15c6c05be4f1c1f2a8d97cf0288f Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 13:57:01 +0100 Subject: [PATCH 19/36] docs fixes --- .github/workflows/Documenter.yml | 2 +- docs/Project.toml | 4 +--- docs/make.jl | 26 +++++++++++++------------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index 57d7466ee..b888b8688 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -33,7 +33,7 @@ jobs: - name: Pull Julia cache uses: julia-actions/cache@v2 - name: Install documentation dependencies - run: julia --project=docs -e 'using Pkg; pkg"dev ./Sindbad ./lib/SindbadData ./lib/SindbadMetrics ./lib/SindbadSetup ./lib/SindbadTEM ./lib/SindbadML"; Pkg.instantiate(); Pkg.precompile(); Pkg.status()' + run: julia --project=docs -e 'using Pkg; pkg"dev ./Sindbad ./lib/SindbadData ./lib/SindbadMetrics ./lib/SindbadSetup ./lib/SindbadTEM ./lib/SindbadML ./lib/SindbadOptimization ./lib/SindbadVisuals ./lib/SindbadExperiment"; Pkg.instantiate(); Pkg.precompile(); Pkg.status()' - name: Build and deploy docs uses: julia-actions/julia-docdeploy@v1 env: diff --git a/docs/Project.toml b/docs/Project.toml index 0d40dd4c6..6c65619f0 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -12,11 +12,10 @@ SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../Sindbad"} SindbadData = {path = "../lib/SindbadData"} SindbadExperiment = {path = "../lib/SindbadExperiment"} SindbadML = {path = "../lib/SindbadML"} @@ -24,5 +23,4 @@ SindbadMetrics = {path = "../lib/SindbadMetrics"} SindbadOptimization = {path = "../lib/SindbadOptimization"} SindbadSetup = {path = "../lib/SindbadSetup"} SindbadTEM = {path = "../lib/SindbadTEM"} -SindbadUtils = {path = "../lib/SindbadUtils"} SindbadVisuals = {path = "../lib/SindbadVisuals"} diff --git a/docs/make.jl b/docs/make.jl index 510e868b0..bda2637bd 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -21,25 +21,25 @@ makedocs(; sitename="Sindbad", format=DocumenterVitepress.MarkdownVitepress( repo = "github.com/EarthyScience/SINDBAD", ), - remotes=nothing, - draft=false, + # remotes=nothing, + # draft=false, warnonly=true, - source="src", - build="build", + # source="src", + # build="build", ) +# ! ? why this ? +# final_site_dir = joinpath(@__DIR__,"build/final_site/") +# if !isdir(final_site_dir) +# final_site_dir = joinpath(@__DIR__,"build/1/") +# end -final_site_dir = joinpath(@__DIR__,"build/final_site/") -if !isdir(final_site_dir) - final_site_dir = joinpath(@__DIR__,"build/1/") -end - -if !isdir(joinpath(final_site_dir, "/pages/concept/sindbad_info")) - cp(joinpath(@__DIR__,"src/pages/concept/sindbad_info"), joinpath(final_site_dir, "pages/concept/sindbad_info"); force=true) -end +# if !isdir(joinpath(final_site_dir, "/pages/concept/sindbad_info")) +# cp(joinpath(@__DIR__,"src/pages/concept/sindbad_info"), joinpath(final_site_dir, "pages/concept/sindbad_info"); force=true) +# end deploydocs(; repo = "github.com/EarthyScience/SINDBAD", # this must be the full URL! - target = "build", # this is where Vitepress stores its output + target = joinpath(@__DIR__, "build"), # this is where Vitepress stores its output branch = "gh-pages", devbranch = "main", push_preview = true From 17ebbc9313ba585fbc188c8d132ea5a6cb9dfad0 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 15:51:11 +0100 Subject: [PATCH 20/36] update ci --- .github/workflows/Documenter.yml | 45 ++++++++++++++------------------ 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index b888b8688..384e1ddc1 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -1,43 +1,38 @@ -name: Documenter +name: Docs build and deploy on: - # Runs on pushes targeting the `master` branch. push: branches: - main tags: ['*'] pull_request: - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: write - pages: write - id-token: write - statuses: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. + concurrency: - group: pages - cancel-in-progress: false + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true jobs: - # Build job - build: + build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 + with: + persist-credentials: false - name: Setup Julia uses: julia-actions/setup-julia@v2 - - name: Pull Julia cache + with: + version: '1' + - name: Julia cache uses: julia-actions/cache@v2 - - name: Install documentation dependencies - run: julia --project=docs -e 'using Pkg; pkg"dev ./Sindbad ./lib/SindbadData ./lib/SindbadMetrics ./lib/SindbadSetup ./lib/SindbadTEM ./lib/SindbadML ./lib/SindbadOptimization ./lib/SindbadVisuals ./lib/SindbadExperiment"; Pkg.instantiate(); Pkg.precompile(); Pkg.status()' - name: Build and deploy docs - uses: julia-actions/julia-docdeploy@v1 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key - JULIA_DEBUG: "Documenter" - DATADEPS_ALWAYS_ACCEPT: true \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: > + cd docs; + julia --color=yes make.jl + - name: Upload site as artifact + uses: actions/upload-artifact@v4 + with: + name: Docs build + path: ./docs/build \ No newline at end of file From c76cc433f88baf7ac8913166ea909f9f92032f54 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 16:03:12 +0100 Subject: [PATCH 21/36] activate docs --- docs/make.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/make.jl b/docs/make.jl index bda2637bd..4dff0c367 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,3 +1,9 @@ +using Pkg +cd(@__DIR__) +Pkg.activate(".") +Pkg.instantiate() +Pkg.precompile() + using Sindbad using SindbadTEM using SindbadData From 6c55292f51ff05f7751aee595e9da91c5fd240ee Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 16:50:31 +0100 Subject: [PATCH 22/36] it needs DV in deploy --- docs/make.jl | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 4dff0c367..69ffec50e 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -18,8 +18,6 @@ using InteractiveUtils using DocumenterVitepress using Documenter using DocStringExtensions -# using DocumenterMermaid -# dev ../ ../lib/SindbadUtils ../lib/SindbadData ../lib/SindbadMetrics ../lib/SindbadSetup ../lib/SindbadTEM ../lib/SindbadML makedocs(; sitename="Sindbad", authors="Sindbad Development Team", @@ -27,11 +25,10 @@ makedocs(; sitename="Sindbad", format=DocumenterVitepress.MarkdownVitepress( repo = "github.com/EarthyScience/SINDBAD", ), - # remotes=nothing, - # draft=false, + draft=false, warnonly=true, - # source="src", - # build="build", + source="src", + build="build", ) # ! ? why this ? # final_site_dir = joinpath(@__DIR__,"build/final_site/") @@ -43,7 +40,7 @@ makedocs(; sitename="Sindbad", # cp(joinpath(@__DIR__,"src/pages/concept/sindbad_info"), joinpath(final_site_dir, "pages/concept/sindbad_info"); force=true) # end -deploydocs(; +DocumenterVitepress.deploydocs(; repo = "github.com/EarthyScience/SINDBAD", # this must be the full URL! target = joinpath(@__DIR__, "build"), # this is where Vitepress stores its output branch = "gh-pages", From cb3676d3f7b05be269dcf93525516ddcc969cf03 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 17:18:15 +0100 Subject: [PATCH 23/36] abs path --- docs/src/.vitepress/config.mts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index 9e1cdaef4..105c6832c 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -126,7 +126,7 @@ const sidebar = [ ] export default defineConfig({ - base: '/', + base: 'REPLACE_ME_DOCUMENTER_VITEPRESS', title: "SINDBAD", description: "A model-data integration framework for terrestrial ecosystem processes", lastUpdated: true, @@ -139,6 +139,9 @@ export default defineConfig({ ], vite: { + define: { + __DEPLOY_ABSPATH__: JSON.stringify('REPLACE_ME_DOCUMENTER_VITEPRESS_DEPLOY_ABSPATH'), + }, resolve: { alias: { '@': path.resolve(__dirname, '../components') From 60f94e5042049a0c96e11626348b444ed3bdb3e3 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 6 Nov 2025 18:09:27 +0100 Subject: [PATCH 24/36] merge main --- docs/make.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 69ffec50e..a9f68e0ca 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -30,15 +30,15 @@ makedocs(; sitename="Sindbad", source="src", build="build", ) -# ! ? why this ? -# final_site_dir = joinpath(@__DIR__,"build/final_site/") -# if !isdir(final_site_dir) -# final_site_dir = joinpath(@__DIR__,"build/1/") -# end -# if !isdir(joinpath(final_site_dir, "/pages/concept/sindbad_info")) -# cp(joinpath(@__DIR__,"src/pages/concept/sindbad_info"), joinpath(final_site_dir, "pages/concept/sindbad_info"); force=true) -# end +final_site_dir = joinpath(@__DIR__,"build/final_site/") +if !isdir(final_site_dir) + final_site_dir = joinpath(@__DIR__,"build/1/") +end + +if !isdir(joinpath(final_site_dir, "/pages/concept/sindbad_info")) + cp(joinpath(@__DIR__,"src/pages/concept/sindbad_info"), joinpath(final_site_dir, "pages/concept/sindbad_info"); force=true) +end DocumenterVitepress.deploydocs(; repo = "github.com/EarthyScience/SINDBAD", # this must be the full URL! From c65072a9b6ffd022c8502f778c7d59aa65cf69a0 Mon Sep 17 00:00:00 2001 From: Lazaro Date: Fri, 7 Nov 2025 14:16:32 +0100 Subject: [PATCH 25/36] missing using s --- Sindbad/src/Sindbad.jl | 1 + Sindbad/src/Utilities/Utilities.jl | 3 +++ examples/exp_fluxnet_hybrid/Project.toml | 7 ++----- examples/exp_fluxnet_hybrid/exp_fluxnet_hybrid_clean.jl | 2 -- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Sindbad/src/Sindbad.jl b/Sindbad/src/Sindbad.jl index dcd76e339..f652bba67 100644 --- a/Sindbad/src/Sindbad.jl +++ b/Sindbad/src/Sindbad.jl @@ -82,6 +82,7 @@ module Sindbad @reexport using Accessors: @set @reexport using StatsBase @reexport using NaNStatistics + using Crayons # @reexport using Crayons # create a tmp_ file for tracking the creation of new approaches. This is needed because precompiler is not consistently loading the newly created approaches. This file is appended every time a new model/approach is created which forces precompile in the next use of Sindbad. diff --git a/Sindbad/src/Utilities/Utilities.jl b/Sindbad/src/Utilities/Utilities.jl index f6f6fb113..91ca88471 100644 --- a/Sindbad/src/Utilities/Utilities.jl +++ b/Sindbad/src/Utilities/Utilities.jl @@ -29,6 +29,7 @@ This module is designed to provide reusable utilities for data manipulation, sta """ module Utilities + using ..Sindbad using ..Sindbad.Types using Crayons using StyledStrings @@ -36,6 +37,8 @@ module Utilities using Logging using Accessors using Dates + using DataStructures + using StatsBase include("getArrayView.jl") include("utilsStacks.jl") diff --git a/examples/exp_fluxnet_hybrid/Project.toml b/examples/exp_fluxnet_hybrid/Project.toml index 0f8924d69..c7d88685e 100644 --- a/examples/exp_fluxnet_hybrid/Project.toml +++ b/examples/exp_fluxnet_hybrid/Project.toml @@ -2,7 +2,6 @@ CMAEvolutionStrategy = "8d3b24bd-414e-49e0-94fb-163cc3a3e411" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GCMAES = "4aa9d100-eb0f-11e8-15f1-25748831eb3b" -GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" @@ -11,15 +10,13 @@ SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [sources] -Sindbad = {path = "../.."} +Sindbad = {path = "../../Sindbad"} SindbadData = {path = "../../lib/SindbadData"} SindbadML = {path = "../../lib/SindbadML"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadOptimization = {path = "../../lib/SindbadOptimization"} SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadUtils = {path = "../../lib/SindbadUtils"} +SindbadTEM = {path = "../../lib/SindbadTEM"} \ No newline at end of file diff --git a/examples/exp_fluxnet_hybrid/exp_fluxnet_hybrid_clean.jl b/examples/exp_fluxnet_hybrid/exp_fluxnet_hybrid_clean.jl index 6b3ccbc7e..eddeb999d 100644 --- a/examples/exp_fluxnet_hybrid/exp_fluxnet_hybrid_clean.jl +++ b/examples/exp_fluxnet_hybrid/exp_fluxnet_hybrid_clean.jl @@ -1,11 +1,9 @@ -using SindbadUtils using SindbadTEM using SindbadSetup using SindbadData using SindbadData.DimensionalData using SindbadData.AxisKeys using SindbadData.YAXArrays -# using SindbadTEM using SindbadML using SindbadML.JLD2 using ProgressMeter From 04d159db6f947aa4d3e29fab3d6cbba86927222b Mon Sep 17 00:00:00 2001 From: Lazaro Date: Fri, 7 Nov 2025 14:29:42 +0100 Subject: [PATCH 26/36] LICENSE --- Sindbad/LICENSE | 287 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 Sindbad/LICENSE diff --git a/Sindbad/LICENSE b/Sindbad/LICENSE new file mode 100644 index 000000000..c29ce2f83 --- /dev/null +++ b/Sindbad/LICENSE @@ -0,0 +1,287 @@ + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file From c79d2401cbdc39612f6b8a5f6f067150bd2e4b98 Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 16:03:52 +0100 Subject: [PATCH 27/36] to SindbadCore --- .github/workflows/CI.yml | 4 +- Sindbad/Project.toml => Project.toml | 0 {Sindbad => SindbadCore}/LICENSE | 0 SindbadCore/Project.toml | 45 ++ .../src/Models/EVI/EVI.jl | 0 .../src/Models/EVI/EVI_constant.jl | 0 .../src/Models/EVI/EVI_forcing.jl | 0 .../src/Models/LAI/LAI.jl | 0 .../src/Models/LAI/LAI_cVegLeaf.jl | 0 .../src/Models/LAI/LAI_constant.jl | 0 .../src/Models/LAI/LAI_forcing.jl | 0 {Sindbad => SindbadCore}/src/Models/Models.jl | 12 +- .../src/Models/NDVI/NDVI.jl | 0 .../src/Models/NDVI/NDVI_constant.jl | 0 .../src/Models/NDVI/NDVI_forcing.jl | 0 .../src/Models/NDWI/NDWI.jl | 0 .../src/Models/NDWI/NDWI_constant.jl | 0 .../src/Models/NDWI/NDWI_forcing.jl | 0 .../src/Models/NIRv/NIRv.jl | 0 .../src/Models/NIRv/NIRv_constant.jl | 0 .../src/Models/NIRv/NIRv_forcing.jl | 0 .../src/Models/PET/PET.jl | 0 .../src/Models/PET/PET_Lu2005.jl | 0 .../src/Models/PET/PET_PriestleyTaylor1972.jl | 0 .../src/Models/PET/PET_forcing.jl | 0 .../src/Models/PFT/PFT.jl | 0 .../src/Models/PFT/PFT_constant.jl | 0 .../src/Models/WUE/WUE.jl | 0 .../src/Models/WUE/WUE_Medlyn2011.jl | 0 .../src/Models/WUE/WUE_VPDDay.jl | 0 .../src/Models/WUE/WUE_VPDDayCo2.jl | 0 .../src/Models/WUE/WUE_constant.jl | 0 .../src/Models/WUE/WUE_expVPDDayCo2.jl | 0 .../src/Models/ambientCO2/ambientCO2.jl | 0 .../Models/ambientCO2/ambientCO2_constant.jl | 0 .../Models/ambientCO2/ambientCO2_forcing.jl | 0 .../Models/autoRespiration/autoRespiration.jl | 0 .../autoRespiration_Thornley2000A.jl | 0 .../autoRespiration_Thornley2000B.jl | 0 .../autoRespiration_Thornley2000C.jl | 0 .../autoRespiration/autoRespiration_none.jl | 0 .../autoRespirationAirT.jl | 0 .../autoRespirationAirT_Q10.jl | 0 .../autoRespirationAirT_none.jl | 0 .../src/Models/cAllocation/cAllocation.jl | 0 .../cAllocation_Friedlingstein1999.jl | 0 .../src/Models/cAllocation/cAllocation_GSI.jl | 0 .../Models/cAllocation/cAllocation_fixed.jl | 0 .../Models/cAllocation/cAllocation_none.jl | 0 .../Models/cAllocationLAI/cAllocationLAI.jl | 0 .../cAllocationLAI_Friedlingstein1999.jl | 0 .../cAllocationLAI/cAllocationLAI_none.jl | 0 .../cAllocationNutrients.jl | 0 ...cAllocationNutrients_Friedlingstein1999.jl | 0 .../cAllocationNutrients_none.jl | 0 .../cAllocationRadiation.jl | 0 .../cAllocationRadiation_GSI.jl | 0 .../cAllocationRadiation_RgPot.jl | 0 .../cAllocationRadiation_gpp.jl | 0 .../cAllocationRadiation_none.jl | 0 .../cAllocationSoilT/cAllocationSoilT.jl | 0 .../cAllocationSoilT_Friedlingstein1999.jl | 0 .../cAllocationSoilT/cAllocationSoilT_gpp.jl | 0 .../cAllocationSoilT_gppGSI.jl | 0 .../cAllocationSoilT/cAllocationSoilT_none.jl | 0 .../cAllocationSoilW/cAllocationSoilW.jl | 0 .../cAllocationSoilW_Friedlingstein1999.jl | 0 .../cAllocationSoilW/cAllocationSoilW_gpp.jl | 0 .../cAllocationSoilW_gppGSI.jl | 0 .../cAllocationSoilW/cAllocationSoilW_none.jl | 0 .../cAllocationTreeFraction.jl | 0 ...locationTreeFraction_Friedlingstein1999.jl | 0 .../src/Models/cBiomass/cBiomass.jl | 0 .../src/Models/cBiomass/cBiomass_simple.jl | 0 .../src/Models/cBiomass/cBiomass_treeGrass.jl | 0 .../cBiomass_treeGrass_cVegReserveScaling.jl | 0 .../src/Models/cCycle/cCycle.jl | 0 .../src/Models/cCycle/cCycle_CASA.jl | 0 .../src/Models/cCycle/cCycle_GSI.jl | 0 .../src/Models/cCycle/cCycle_simple.jl | 0 .../src/Models/cCycleBase/cCycleBase.jl | 0 .../src/Models/cCycleBase/cCycleBase_CASA.jl | 0 .../src/Models/cCycleBase/cCycleBase_GSI.jl | 0 .../cCycleBase/cCycleBase_GSI_PlantForm.jl | 0 .../cCycleBase_GSI_PlantForm_LargeKReserve.jl | 0 .../Models/cCycleBase/cCycleBase_simple.jl | 0 .../cCycleConsistency/cCycleConsistency.jl | 0 .../cCycleConsistency_simple.jl | 2 +- .../cCycleDisturbance/cCycleDisturbance.jl | 0 .../cCycleDisturbance_WROASTED.jl | 0 .../cCycleDisturbance_cFlow.jl | 0 .../src/Models/cFlow/cFlow.jl | 0 .../src/Models/cFlow/cFlow_CASA.jl | 0 .../src/Models/cFlow/cFlow_GSI.jl | 0 .../src/Models/cFlow/cFlow_none.jl | 0 .../src/Models/cFlow/cFlow_simple.jl | 0 .../cFlowSoilProperties.jl | 0 .../cFlowSoilProperties_CASA.jl | 0 .../cFlowSoilProperties_none.jl | 0 .../cFlowVegProperties/cFlowVegProperties.jl | 0 .../cFlowVegProperties_CASA.jl | 0 .../cFlowVegProperties_none.jl | 0 .../src/Models/cTau/cTau.jl | 0 .../src/Models/cTau/cTau_mult.jl | 0 .../src/Models/cTau/cTau_none.jl | 0 .../src/Models/cTauLAI/cTauLAI.jl | 0 .../src/Models/cTauLAI/cTauLAI_CASA.jl | 0 .../src/Models/cTauLAI/cTauLAI_none.jl | 0 .../cTauSoilProperties/cTauSoilProperties.jl | 0 .../cTauSoilProperties_CASA.jl | 0 .../cTauSoilProperties_none.jl | 0 .../src/Models/cTauSoilT/cTauSoilT.jl | 0 .../src/Models/cTauSoilT/cTauSoilT_Q10.jl | 0 .../src/Models/cTauSoilT/cTauSoilT_none.jl | 0 .../src/Models/cTauSoilW/cTauSoilW.jl | 0 .../src/Models/cTauSoilW/cTauSoilW_CASA.jl | 0 .../src/Models/cTauSoilW/cTauSoilW_GSI.jl | 0 .../src/Models/cTauSoilW/cTauSoilW_none.jl | 0 .../cTauVegProperties/cTauVegProperties.jl | 0 .../cTauVegProperties_CASA.jl | 0 .../cTauVegProperties_none.jl | 0 .../cVegetationDieOff/cVegetationDieOff.jl | 0 .../cVegetationDieOff_forcing.jl | 0 .../src/Models/capillaryFlow/capillaryFlow.jl | 0 .../capillaryFlow_VanDijk2010.jl | 0 .../src/Models/constants/constants.jl | 0 .../src/Models/constants/constants_numbers.jl | 0 .../Models/deriveVariables/deriveVariables.jl | 0 .../deriveVariables/deriveVariables_simple.jl | 0 .../src/Models/drainage/drainage.jl | 0 .../src/Models/drainage/drainage_dos.jl | 0 .../src/Models/drainage/drainage_kUnsat.jl | 0 .../src/Models/drainage/drainage_wFC.jl | 0 .../src/Models/evaporation/evaporation.jl | 0 .../evaporation/evaporation_Snyder2000.jl | 0 .../evaporation/evaporation_bareFraction.jl | 0 .../evaporation/evaporation_demandSupply.jl | 0 .../Models/evaporation/evaporation_fAPAR.jl | 0 .../Models/evaporation/evaporation_none.jl | 0 .../evaporation/evaporation_vegFraction.jl | 0 .../evapotranspiration/evapotranspiration.jl | 0 .../evapotranspiration_sum.jl | 0 .../src/Models/fAPAR/fAPAR.jl | 0 .../src/Models/fAPAR/fAPAR_EVI.jl | 0 .../src/Models/fAPAR/fAPAR_LAI.jl | 0 .../src/Models/fAPAR/fAPAR_cVegLeaf.jl | 0 .../Models/fAPAR/fAPAR_cVegLeafBareFrac.jl | 0 .../src/Models/fAPAR/fAPAR_constant.jl | 0 .../src/Models/fAPAR/fAPAR_forcing.jl | 0 .../src/Models/fAPAR/fAPAR_vegFraction.jl | 0 .../src/Models/getPools/getPools.jl | 0 .../src/Models/getPools/getPools_simple.jl | 0 .../src/Models/gpp/gpp.jl | 0 .../src/Models/gpp/gpp_coupled.jl | 0 .../src/Models/gpp/gpp_min.jl | 0 .../src/Models/gpp/gpp_mult.jl | 0 .../src/Models/gpp/gpp_none.jl | 0 .../src/Models/gpp/gpp_transpirationWUE.jl | 0 .../src/Models/gppAirT/gppAirT.jl | 0 .../src/Models/gppAirT/gppAirT_CASA.jl | 0 .../src/Models/gppAirT/gppAirT_GSI.jl | 0 .../src/Models/gppAirT/gppAirT_MOD17.jl | 0 .../Models/gppAirT/gppAirT_Maekelae2008.jl | 0 .../src/Models/gppAirT/gppAirT_TEM.jl | 0 .../src/Models/gppAirT/gppAirT_Wang2014.jl | 0 .../src/Models/gppAirT/gppAirT_none.jl | 0 .../src/Models/gppDemand/gppDemand.jl | 0 .../src/Models/gppDemand/gppDemand_min.jl | 0 .../src/Models/gppDemand/gppDemand_mult.jl | 0 .../src/Models/gppDemand/gppDemand_none.jl | 0 .../gppDiffRadiation/gppDiffRadiation.jl | 0 .../gppDiffRadiation/gppDiffRadiation_GSI.jl | 0 .../gppDiffRadiation_Turner2006.jl | 0 .../gppDiffRadiation_Wang2015.jl | 0 .../gppDiffRadiation/gppDiffRadiation_none.jl | 0 .../Models/gppDirRadiation/gppDirRadiation.jl | 0 .../gppDirRadiation_Maekelae2008.jl | 0 .../gppDirRadiation/gppDirRadiation_none.jl | 0 .../src/Models/gppPotential/gppPotential.jl | 0 .../gppPotential/gppPotential_Monteith.jl | 0 .../src/Models/gppSoilW/gppSoilW.jl | 0 .../src/Models/gppSoilW/gppSoilW_CASA.jl | 0 .../src/Models/gppSoilW/gppSoilW_GSI.jl | 0 .../Models/gppSoilW/gppSoilW_Keenan2009.jl | 0 .../Models/gppSoilW/gppSoilW_Stocker2020.jl | 0 .../src/Models/gppSoilW/gppSoilW_none.jl | 0 .../src/Models/gppVPD/gppVPD.jl | 0 .../src/Models/gppVPD/gppVPD_MOD17.jl | 0 .../src/Models/gppVPD/gppVPD_Maekelae2008.jl | 0 .../src/Models/gppVPD/gppVPD_PRELES.jl | 0 .../src/Models/gppVPD/gppVPD_expco2.jl | 0 .../src/Models/gppVPD/gppVPD_none.jl | 0 .../Models/groundWRecharge/groundWRecharge.jl | 0 .../groundWRecharge/groundWRecharge_dos.jl | 0 .../groundWRecharge_fraction.jl | 0 .../groundWRecharge/groundWRecharge_kUnsat.jl | 0 .../groundWRecharge/groundWRecharge_none.jl | 0 .../groundWSoilWInteraction.jl | 0 .../groundWSoilWInteraction_VanDijk2010.jl | 0 .../groundWSoilWInteraction_gradient.jl | 0 .../groundWSoilWInteraction_gradientNeg.jl | 0 .../groundWSoilWInteraction_none.jl | 0 .../groundWSurfaceWInteraction.jl | 0 ...groundWSurfaceWInteraction_fracGradient.jl | 0 .../groundWSurfaceWInteraction_fracGroundW.jl | 0 .../src/Models/interception/interception.jl | 0 .../interception/interception_Miralles2010.jl | 0 .../Models/interception/interception_fAPAR.jl | 0 .../Models/interception/interception_none.jl | 0 .../interception/interception_vegFraction.jl | 0 .../src/Models/percolation/percolation.jl | 0 .../src/Models/percolation/percolation_WBP.jl | 0 .../src/Models/plantForm/plantForm.jl | 0 .../src/Models/plantForm/plantForm_PFT.jl | 0 .../src/Models/plantForm/plantForm_fixed.jl | 0 .../src/Models/rainIntensity/rainIntensity.jl | 0 .../rainIntensity/rainIntensity_forcing.jl | 0 .../rainIntensity/rainIntensity_simple.jl | 0 .../src/Models/rainSnow/rainSnow.jl | 0 .../src/Models/rainSnow/rainSnow_Tair.jl | 0 .../src/Models/rainSnow/rainSnow_forcing.jl | 0 .../src/Models/rainSnow/rainSnow_rain.jl | 0 .../rootMaximumDepth/rootMaximumDepth.jl | 0 .../rootMaximumDepth_fracSoilD.jl | 0 .../rootWaterEfficiency.jl | 0 .../rootWaterEfficiency_constant.jl | 0 .../rootWaterEfficiency_expCvegRoot.jl | 0 .../rootWaterEfficiency_k2Layer.jl | 0 .../rootWaterEfficiency_k2fRD.jl | 0 .../rootWaterEfficiency_k2fvegFraction.jl | 0 .../Models/rootWaterUptake/rootWaterUptake.jl | 0 .../rootWaterUptake_proportion.jl | 0 .../rootWaterUptake_topBottom.jl | 0 .../src/Models/runModels.jl | 0 .../src/Models/runoff/runoff.jl | 0 .../src/Models/runoff/runoff_sum.jl | 0 .../src/Models/runoffBase/runoffBase.jl | 0 .../Models/runoffBase/runoffBase_Zhang2008.jl | 0 .../src/Models/runoffBase/runoffBase_none.jl | 0 .../runoffInfiltrationExcess.jl | 0 .../runoffInfiltrationExcess_Jung.jl | 0 .../runoffInfiltrationExcess_kUnsat.jl | 0 .../runoffInfiltrationExcess_none.jl | 0 .../Models/runoffInterflow/runoffInterflow.jl | 0 .../runoffInterflow/runoffInterflow_none.jl | 0 .../runoffInterflow_residual.jl | 0 .../Models/runoffOverland/runoffOverland.jl | 0 .../runoffOverland/runoffOverland_Inf.jl | 0 .../runoffOverland_InfIntSat.jl | 0 .../runoffOverland/runoffOverland_Sat.jl | 0 .../runoffOverland/runoffOverland_none.jl | 0 .../runoffSaturationExcess.jl | 0 .../runoffSaturationExcess_Bergstroem1992.jl | 0 ...onExcess_Bergstroem1992MixedVegFraction.jl | 0 ...urationExcess_Bergstroem1992VegFraction.jl | 0 ...Excess_Bergstroem1992VegFractionFroSoil.jl | 0 ...tionExcess_Bergstroem1992VegFractionPFT.jl | 0 .../runoffSaturationExcess_Zhang2008.jl | 0 .../runoffSaturationExcess_none.jl | 0 .../runoffSaturationExcess_satFraction.jl | 0 .../src/Models/runoffSurface/runoffSurface.jl | 0 .../runoffSurface/runoffSurface_Orth2013.jl | 0 .../runoffSurface_Trautmann2018.jl | 0 .../Models/runoffSurface/runoffSurface_all.jl | 0 .../runoffSurface_directIndirect.jl | 0 .../runoffSurface_directIndirectFroSoil.jl | 0 .../runoffSurface/runoffSurface_indirect.jl | 0 .../runoffSurface/runoffSurface_none.jl | 0 .../saturatedFraction/saturatedFraction.jl | 0 .../saturatedFraction_none.jl | 0 .../src/Models/snowFraction/snowFraction.jl | 0 .../snowFraction/snowFraction_HTESSEL.jl | 0 .../snowFraction/snowFraction_binary.jl | 0 .../Models/snowFraction/snowFraction_none.jl | 0 .../src/Models/snowMelt/snowMelt.jl | 0 .../src/Models/snowMelt/snowMelt_Tair.jl | 0 .../src/Models/snowMelt/snowMelt_TairRn.jl | 0 .../Models/soilProperties/soilProperties.jl | 0 .../soilProperties_Saxton1986.jl | 0 .../soilProperties_Saxton2006.jl | 0 .../src/Models/soilTexture/soilTexture.jl | 0 .../soilTexture/soilTexture_constant.jl | 0 .../Models/soilTexture/soilTexture_forcing.jl | 0 .../src/Models/soilWBase/soilWBase.jl | 0 .../Models/soilWBase/soilWBase_smax1Layer.jl | 0 .../Models/soilWBase/soilWBase_smax2Layer.jl | 0 .../Models/soilWBase/soilWBase_smax2fRD4.jl | 0 .../src/Models/soilWBase/soilWBase_uniform.jl | 0 .../src/Models/standardSindbadModels.jl | 0 .../src/Models/sublimation/sublimation.jl | 0 .../Models/sublimation/sublimation_GLEAM.jl | 0 .../Models/sublimation/sublimation_none.jl | 0 .../src/Models/transpiration/transpiration.jl | 0 .../transpiration/transpiration_coupled.jl | 0 .../transpiration_demandSupply.jl | 0 .../transpiration/transpiration_none.jl | 0 .../transpirationDemand.jl | 0 .../transpirationDemand_CASA.jl | 0 .../transpirationDemand_PET.jl | 0 .../transpirationDemand_PETfAPAR.jl | 0 .../transpirationDemand_PETvegFraction.jl | 0 .../transpirationSupply.jl | 0 .../transpirationSupply_CASA.jl | 0 .../transpirationSupply_Federer1982.jl | 0 .../transpirationSupply_wAWC.jl | 0 .../transpirationSupply_wAWCvegFraction.jl | 0 .../src/Models/treeFraction/treeFraction.jl | 0 .../treeFraction/treeFraction_constant.jl | 0 .../treeFraction/treeFraction_forcing.jl | 0 .../vegAvailableWater/vegAvailableWater.jl | 0 .../vegAvailableWater_rootWaterEfficiency.jl | 0 .../vegAvailableWater_sigmoid.jl | 0 .../src/Models/vegFraction/vegFraction.jl | 0 .../vegFraction/vegFraction_constant.jl | 0 .../Models/vegFraction/vegFraction_forcing.jl | 0 .../vegFraction/vegFraction_scaledEVI.jl | 0 .../vegFraction/vegFraction_scaledLAI.jl | 0 .../vegFraction/vegFraction_scaledNDVI.jl | 0 .../vegFraction/vegFraction_scaledNIRv.jl | 0 .../vegFraction/vegFraction_scaledfAPAR.jl | 0 .../src/Models/wCycle/wCycle.jl | 0 .../src/Models/wCycle/wCycle_combined.jl | 0 .../src/Models/wCycle/wCycle_components.jl | 0 .../src/Models/wCycleBase/wCycleBase.jl | 0 .../Models/wCycleBase/wCycleBase_simple.jl | 0 .../src/Models/waterBalance/waterBalance.jl | 0 .../waterBalance/waterBalance_simple.jl | 4 +- .../src/SindbadCore.jl | 4 +- .../src/Types/ArrayTypes.jl | 0 .../src/Types/ExperimentTypes.jl | 0 .../src/Types/InputTypes.jl | 0 .../src/Types/LandTypes.jl | 0 .../src/Types/LongTuple.jl | 0 {Sindbad => SindbadCore}/src/Types/MLTypes.jl | 0 .../src/Types/MetricsTypes.jl | 0 .../src/Types/ModelTypes.jl | 0 .../src/Types/OptimizationTypes.jl | 0 .../src/Types/SpinupTypes.jl | 0 .../src/Types/TimeTypes.jl | 0 {Sindbad => SindbadCore}/src/Types/Types.jl | 0 .../src/Types/TypesFunctions.jl | 0 .../src/Types/docStringForTypes.jl | 414 +++++++++--------- .../src/Utilities/Utilities.jl | 4 +- .../src/Utilities/getArrayView.jl | 0 .../src/Utilities/utilsNT.jl | 0 .../src/Utilities/utilsStacks.jl | 2 +- .../src/Utilities/utilsTemporal.jl | 0 {Sindbad => SindbadCore}/src/generateCode.jl | 10 +- {Sindbad => SindbadCore}/src/modelTools.jl | 60 +-- .../src/sindbadVariableCatalog.jl | 0 {Sindbad => SindbadCore}/src/utilsCore.jl | 2 +- .../test/Models/ambientCO2.jl | 2 +- .../test/Models/autoRespiration.jl | 2 +- .../test/Models/models.jl | 2 +- {Sindbad => SindbadCore}/test/Project.toml | 0 .../test/mock_input/forcing.jl | 0 .../test/mock_input/helpers.jl | 0 .../test/mock_input/land.jl | 0 {Sindbad => SindbadCore}/test/runtests.jl | 0 {Sindbad => SindbadCore}/test/utilsCore.jl | 2 +- docs/Project.toml | 2 +- docs/gen_lib_md.jl | 8 +- docs/gen_models_md.jl | 8 +- docs/src/pages/code/models.md | 6 +- docs/src/pages/code/types.md | 12 +- docs/src/pages/develop/helpers.md | 2 +- .../experiment_WROASTED_priors.jl | 2 +- examples/exp_WROASTED/run_WROASTED_fromML.jl | 4 +- examples/exp_fluxnet_hybrid/Project.toml | 2 +- .../analysis/carbon_sums.jl | 2 +- .../exp_fluxnet_hybrid/analysis/fluxnet.jl | 4 +- .../analysis/fluxnet_lines.jl | 4 +- .../exp_fluxnet_hybrid/analysis/justLines.jl | 2 +- .../exp_fluxnet_hybrid/analysis/justMap.jl | 2 +- .../analysis/justMap_fire.jl | 2 +- .../analysis/map_plot_ps.jl | 2 +- .../exp_fluxnet_hybrid/analysis/sums_gpp.jl | 2 +- .../nn_lux_from_ayoub.jl | 2 +- lib/SindbadData/Project.toml | 2 +- lib/SindbadExperiment/Project.toml | 2 +- lib/SindbadML/Project.toml | 2 +- lib/SindbadMetrics/Project.toml | 2 +- lib/SindbadOptimization/Project.toml | 2 +- lib/SindbadSetup/Project.toml | 2 +- lib/SindbadSetup/src/setupExperimentInfo.jl | 6 +- lib/SindbadSetup/src/setupParameters.jl | 4 +- lib/SindbadTEM/Project.toml | 2 +- lib/SindbadTEM/src/prepTEM.jl | 4 +- lib/SindbadTEM/src/spinupTEM.jl | 24 +- lib/SindbadVisuals/Project.toml | 2 +- lib/SindbadVisuals/src/plotFromSindbadInfo.jl | 4 +- 391 files changed, 371 insertions(+), 326 deletions(-) rename Sindbad/Project.toml => Project.toml (100%) rename {Sindbad => SindbadCore}/LICENSE (100%) create mode 100644 SindbadCore/Project.toml rename {Sindbad => SindbadCore}/src/Models/EVI/EVI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/EVI/EVI_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/EVI/EVI_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/LAI/LAI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/LAI/LAI_cVegLeaf.jl (100%) rename {Sindbad => SindbadCore}/src/Models/LAI/LAI_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/LAI/LAI_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/Models.jl (97%) rename {Sindbad => SindbadCore}/src/Models/NDVI/NDVI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NDVI/NDVI_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NDVI/NDVI_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NDWI/NDWI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NDWI/NDWI_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NDWI/NDWI_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NIRv/NIRv.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NIRv/NIRv_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/NIRv/NIRv_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PET/PET.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PET/PET_Lu2005.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PET/PET_PriestleyTaylor1972.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PET/PET_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PFT/PFT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/PFT/PFT_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE_Medlyn2011.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE_VPDDay.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE_VPDDayCo2.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/WUE/WUE_expVPDDayCo2.jl (100%) rename {Sindbad => SindbadCore}/src/Models/ambientCO2/ambientCO2.jl (100%) rename {Sindbad => SindbadCore}/src/Models/ambientCO2/ambientCO2_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/ambientCO2/ambientCO2_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespiration/autoRespiration.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespiration/autoRespiration_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespirationAirT/autoRespirationAirT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl (100%) rename {Sindbad => SindbadCore}/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocation/cAllocation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocation/cAllocation_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocation/cAllocation_fixed.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocation/cAllocation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationLAI/cAllocationLAI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationLAI/cAllocationLAI_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationNutrients/cAllocationNutrients.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationRadiation/cAllocationRadiation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilT/cAllocationSoilT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilW/cAllocationSoilW.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cBiomass/cBiomass.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cBiomass/cBiomass_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cBiomass/cBiomass_treeGrass.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycle/cCycle.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycle/cCycle_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycle/cCycle_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycle/cCycle_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleBase/cCycleBase_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleConsistency/cCycleConsistency.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleConsistency/cCycleConsistency_simple.jl (99%) rename {Sindbad => SindbadCore}/src/Models/cCycleDisturbance/cCycleDisturbance.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlow/cFlow.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlow/cFlow_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlow/cFlow_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlow/cFlow_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlow/cFlow_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowVegProperties/cFlowVegProperties.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTau/cTau.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTau/cTau_mult.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTau/cTau_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauLAI/cTauLAI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauLAI/cTauLAI_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauLAI/cTauLAI_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilProperties/cTauSoilProperties.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilT/cTauSoilT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilT/cTauSoilT_Q10.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilT/cTauSoilT_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilW/cTauSoilW.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilW/cTauSoilW_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilW/cTauSoilW_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauSoilW/cTauSoilW_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauVegProperties/cTauVegProperties.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cTauVegProperties/cTauVegProperties_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cVegetationDieOff/cVegetationDieOff.jl (100%) rename {Sindbad => SindbadCore}/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/capillaryFlow/capillaryFlow.jl (100%) rename {Sindbad => SindbadCore}/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl (100%) rename {Sindbad => SindbadCore}/src/Models/constants/constants.jl (100%) rename {Sindbad => SindbadCore}/src/Models/constants/constants_numbers.jl (100%) rename {Sindbad => SindbadCore}/src/Models/deriveVariables/deriveVariables.jl (100%) rename {Sindbad => SindbadCore}/src/Models/deriveVariables/deriveVariables_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/drainage/drainage.jl (100%) rename {Sindbad => SindbadCore}/src/Models/drainage/drainage_dos.jl (100%) rename {Sindbad => SindbadCore}/src/Models/drainage/drainage_kUnsat.jl (100%) rename {Sindbad => SindbadCore}/src/Models/drainage/drainage_wFC.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_Snyder2000.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_bareFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_demandSupply.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_fAPAR.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evaporation/evaporation_vegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evapotranspiration/evapotranspiration.jl (100%) rename {Sindbad => SindbadCore}/src/Models/evapotranspiration/evapotranspiration_sum.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_EVI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_LAI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_cVegLeaf.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/fAPAR/fAPAR_vegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/getPools/getPools.jl (100%) rename {Sindbad => SindbadCore}/src/Models/getPools/getPools_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp_coupled.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp_min.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp_mult.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gpp/gpp_transpirationWUE.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_MOD17.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_Maekelae2008.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_TEM.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_Wang2014.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppAirT/gppAirT_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDemand/gppDemand.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDemand/gppDemand_min.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDemand/gppDemand_mult.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDemand/gppDemand_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDiffRadiation/gppDiffRadiation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDirRadiation/gppDirRadiation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppDirRadiation/gppDirRadiation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppPotential/gppPotential.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppPotential/gppPotential_Monteith.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW_GSI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW_Keenan2009.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW_Stocker2020.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppSoilW/gppSoilW_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD_MOD17.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD_Maekelae2008.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD_PRELES.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD_expco2.jl (100%) rename {Sindbad => SindbadCore}/src/Models/gppVPD/gppVPD_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWRecharge/groundWRecharge.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWRecharge/groundWRecharge_dos.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWRecharge/groundWRecharge_fraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWRecharge/groundWRecharge_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl (100%) rename {Sindbad => SindbadCore}/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl (100%) rename {Sindbad => SindbadCore}/src/Models/interception/interception.jl (100%) rename {Sindbad => SindbadCore}/src/Models/interception/interception_Miralles2010.jl (100%) rename {Sindbad => SindbadCore}/src/Models/interception/interception_fAPAR.jl (100%) rename {Sindbad => SindbadCore}/src/Models/interception/interception_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/interception/interception_vegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/percolation/percolation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/percolation/percolation_WBP.jl (100%) rename {Sindbad => SindbadCore}/src/Models/plantForm/plantForm.jl (100%) rename {Sindbad => SindbadCore}/src/Models/plantForm/plantForm_PFT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/plantForm/plantForm_fixed.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainIntensity/rainIntensity.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainIntensity/rainIntensity_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainIntensity/rainIntensity_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainSnow/rainSnow.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainSnow/rainSnow_Tair.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainSnow/rainSnow_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rainSnow/rainSnow_rain.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootMaximumDepth/rootMaximumDepth.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterUptake/rootWaterUptake.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl (100%) rename {Sindbad => SindbadCore}/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runModels.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoff/runoff.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoff/runoff_sum.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffBase/runoffBase.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffBase/runoffBase_Zhang2008.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffBase/runoffBase_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInterflow/runoffInterflow.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInterflow/runoffInterflow_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffInterflow/runoffInterflow_residual.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffOverland/runoffOverland.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffOverland/runoffOverland_Inf.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffOverland/runoffOverland_InfIntSat.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffOverland/runoffOverland_Sat.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffOverland/runoffOverland_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_Orth2013.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_all.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_directIndirect.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_indirect.jl (100%) rename {Sindbad => SindbadCore}/src/Models/runoffSurface/runoffSurface_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/saturatedFraction/saturatedFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/saturatedFraction/saturatedFraction_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowFraction/snowFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowFraction/snowFraction_HTESSEL.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowFraction/snowFraction_binary.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowFraction/snowFraction_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowMelt/snowMelt.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowMelt/snowMelt_Tair.jl (100%) rename {Sindbad => SindbadCore}/src/Models/snowMelt/snowMelt_TairRn.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilProperties/soilProperties.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilProperties/soilProperties_Saxton1986.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilProperties/soilProperties_Saxton2006.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilTexture/soilTexture.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilTexture/soilTexture_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilTexture/soilTexture_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilWBase/soilWBase.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilWBase/soilWBase_smax1Layer.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilWBase/soilWBase_smax2Layer.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilWBase/soilWBase_smax2fRD4.jl (100%) rename {Sindbad => SindbadCore}/src/Models/soilWBase/soilWBase_uniform.jl (100%) rename {Sindbad => SindbadCore}/src/Models/standardSindbadModels.jl (100%) rename {Sindbad => SindbadCore}/src/Models/sublimation/sublimation.jl (100%) rename {Sindbad => SindbadCore}/src/Models/sublimation/sublimation_GLEAM.jl (100%) rename {Sindbad => SindbadCore}/src/Models/sublimation/sublimation_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpiration/transpiration.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpiration/transpiration_coupled.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpiration/transpiration_demandSupply.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpiration/transpiration_none.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationDemand/transpirationDemand.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationDemand/transpirationDemand_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationDemand/transpirationDemand_PET.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationSupply/transpirationSupply.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationSupply/transpirationSupply_CASA.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationSupply/transpirationSupply_wAWC.jl (100%) rename {Sindbad => SindbadCore}/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/treeFraction/treeFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/treeFraction/treeFraction_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/treeFraction/treeFraction_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegAvailableWater/vegAvailableWater.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_constant.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_forcing.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_scaledEVI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_scaledLAI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_scaledNDVI.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_scaledNIRv.jl (100%) rename {Sindbad => SindbadCore}/src/Models/vegFraction/vegFraction_scaledfAPAR.jl (100%) rename {Sindbad => SindbadCore}/src/Models/wCycle/wCycle.jl (100%) rename {Sindbad => SindbadCore}/src/Models/wCycle/wCycle_combined.jl (100%) rename {Sindbad => SindbadCore}/src/Models/wCycle/wCycle_components.jl (100%) rename {Sindbad => SindbadCore}/src/Models/wCycleBase/wCycleBase.jl (100%) rename {Sindbad => SindbadCore}/src/Models/wCycleBase/wCycleBase_simple.jl (100%) rename {Sindbad => SindbadCore}/src/Models/waterBalance/waterBalance.jl (100%) rename {Sindbad => SindbadCore}/src/Models/waterBalance/waterBalance_simple.jl (96%) rename Sindbad/src/Sindbad.jl => SindbadCore/src/SindbadCore.jl (99%) rename {Sindbad => SindbadCore}/src/Types/ArrayTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/ExperimentTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/InputTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/LandTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/LongTuple.jl (100%) rename {Sindbad => SindbadCore}/src/Types/MLTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/MetricsTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/ModelTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/OptimizationTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/SpinupTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/TimeTypes.jl (100%) rename {Sindbad => SindbadCore}/src/Types/Types.jl (100%) rename {Sindbad => SindbadCore}/src/Types/TypesFunctions.jl (100%) rename {Sindbad => SindbadCore}/src/Types/docStringForTypes.jl (93%) rename {Sindbad => SindbadCore}/src/Utilities/Utilities.jl (97%) rename {Sindbad => SindbadCore}/src/Utilities/getArrayView.jl (100%) rename {Sindbad => SindbadCore}/src/Utilities/utilsNT.jl (100%) rename {Sindbad => SindbadCore}/src/Utilities/utilsStacks.jl (99%) rename {Sindbad => SindbadCore}/src/Utilities/utilsTemporal.jl (100%) rename {Sindbad => SindbadCore}/src/generateCode.jl (97%) rename {Sindbad => SindbadCore}/src/modelTools.jl (89%) rename {Sindbad => SindbadCore}/src/sindbadVariableCatalog.jl (100%) rename {Sindbad => SindbadCore}/src/utilsCore.jl (99%) rename {Sindbad => SindbadCore}/test/Models/ambientCO2.jl (97%) rename {Sindbad => SindbadCore}/test/Models/autoRespiration.jl (97%) rename {Sindbad => SindbadCore}/test/Models/models.jl (86%) rename {Sindbad => SindbadCore}/test/Project.toml (100%) rename {Sindbad => SindbadCore}/test/mock_input/forcing.jl (100%) rename {Sindbad => SindbadCore}/test/mock_input/helpers.jl (100%) rename {Sindbad => SindbadCore}/test/mock_input/land.jl (100%) rename {Sindbad => SindbadCore}/test/runtests.jl (100%) rename {Sindbad => SindbadCore}/test/utilsCore.jl (96%) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ec78ec5d1..c793d14b1 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,4 +1,4 @@ -name: Sindbad.jl +name: SindbadCore.jl on: pull_request: paths-ignore: @@ -60,7 +60,7 @@ jobs: using Pkg pkg"registry up" Pkg.update() - pkg"dev ./Sindbad" # Develop the package in the Sindbad directory + pkg"dev ./SindbadCore" # Develop the package in the Sindbad directory Pkg.test("Sindbad"; coverage=true) # Test the package named "Sindbad" - uses: julia-actions/julia-processcoverage@v1 with: diff --git a/Sindbad/Project.toml b/Project.toml similarity index 100% rename from Sindbad/Project.toml rename to Project.toml diff --git a/Sindbad/LICENSE b/SindbadCore/LICENSE similarity index 100% rename from Sindbad/LICENSE rename to SindbadCore/LICENSE diff --git a/SindbadCore/Project.toml b/SindbadCore/Project.toml new file mode 100644 index 000000000..6caa97a95 --- /dev/null +++ b/SindbadCore/Project.toml @@ -0,0 +1,45 @@ +name = "SindbadCore" +uuid = "7e5cc002-9bc1-4508-860d-3c0816be375a" +version = "0.1.0" +authors = ["SINDBAD Contributors "] + +[deps] +Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" +CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +Crayons = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" +DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" +FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" +FieldMetadata = "bf96fef3-21d2-5d20-8afa-0e7d4c32a885" +Flatten = "4c728ea3-d9ee-5c9a-9642-b6f7d7dc04fa" +InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" +Missings = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +NaNStatistics = "b946abbf-3ea7-4610-9019-9858bfdeaf2d" +Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +Reexport = "189a3867-3050-52da-a836-e630ba90ab69" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b" +TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" + +[compat] +Accessors = "0.1.42" +Crayons = "4.1.1" +Dates = "1.10, 1.11.0" +FIGlet = "0.2.2" +Logging = "1.10.10, 1.11.0" +NaNStatistics = "0.6.50" +Pkg = "1.10.0" +Reexport = "1.2.2" +StyledStrings = "1.0.3, 1.11.0" +TypedTables = "1.4.6" +julia = "1.10" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/Sindbad/src/Models/EVI/EVI.jl b/SindbadCore/src/Models/EVI/EVI.jl similarity index 100% rename from Sindbad/src/Models/EVI/EVI.jl rename to SindbadCore/src/Models/EVI/EVI.jl diff --git a/Sindbad/src/Models/EVI/EVI_constant.jl b/SindbadCore/src/Models/EVI/EVI_constant.jl similarity index 100% rename from Sindbad/src/Models/EVI/EVI_constant.jl rename to SindbadCore/src/Models/EVI/EVI_constant.jl diff --git a/Sindbad/src/Models/EVI/EVI_forcing.jl b/SindbadCore/src/Models/EVI/EVI_forcing.jl similarity index 100% rename from Sindbad/src/Models/EVI/EVI_forcing.jl rename to SindbadCore/src/Models/EVI/EVI_forcing.jl diff --git a/Sindbad/src/Models/LAI/LAI.jl b/SindbadCore/src/Models/LAI/LAI.jl similarity index 100% rename from Sindbad/src/Models/LAI/LAI.jl rename to SindbadCore/src/Models/LAI/LAI.jl diff --git a/Sindbad/src/Models/LAI/LAI_cVegLeaf.jl b/SindbadCore/src/Models/LAI/LAI_cVegLeaf.jl similarity index 100% rename from Sindbad/src/Models/LAI/LAI_cVegLeaf.jl rename to SindbadCore/src/Models/LAI/LAI_cVegLeaf.jl diff --git a/Sindbad/src/Models/LAI/LAI_constant.jl b/SindbadCore/src/Models/LAI/LAI_constant.jl similarity index 100% rename from Sindbad/src/Models/LAI/LAI_constant.jl rename to SindbadCore/src/Models/LAI/LAI_constant.jl diff --git a/Sindbad/src/Models/LAI/LAI_forcing.jl b/SindbadCore/src/Models/LAI/LAI_forcing.jl similarity index 100% rename from Sindbad/src/Models/LAI/LAI_forcing.jl rename to SindbadCore/src/Models/LAI/LAI_forcing.jl diff --git a/Sindbad/src/Models/Models.jl b/SindbadCore/src/Models/Models.jl similarity index 97% rename from Sindbad/src/Models/Models.jl rename to SindbadCore/src/Models/Models.jl index e62969e58..f36a4a724 100644 --- a/Sindbad/src/Models/Models.jl +++ b/SindbadCore/src/Models/Models.jl @@ -1,10 +1,10 @@ """ - Sindbad.Models + SindbadCore.Models The core module for defining and implementing models and approaches of ecosystem processes in the SINDBAD framework. # Description -The `Sindbad.Models` module provides the infrastructure for defining and implementing terrestrial ecosystem models within the SINDBAD framework. It includes tools for model definition, parameter management, and method implementation. +The `SindbadCore.Models` module provides the infrastructure for defining and implementing terrestrial ecosystem models within the SINDBAD framework. It includes tools for model definition, parameter management, and method implementation. # Key Features - Model definition and inheritance from `LandEcosystem` @@ -29,7 +29,7 @@ All models must implement at least one of the following methods: # Usage ```julia -using Sindbad.Models +using SindbadCore.Models # Define a new model abstract type MyModel <: LandEcosystem end @@ -56,8 +56,8 @@ end module Models # Import & export necessary modules/functions - using ..Sindbad - import ..Sindbad.Types: purpose, LandEcosystem + using ..SindbadCore + import ..SindbadCore.Types: purpose, LandEcosystem using FieldMetadata: @metadata using Parameters: @with_kw @metadata timescale "" String @@ -111,7 +111,7 @@ module Models caller_info = string(stack[2]) # The second entry is the caller c_name = split(caller_info, "at ")[2] c_name = split(c_name, ".jl")[1] - c_type = getproperty(Sindbad.Models, Symbol(c_name)) + c_type = getproperty(SindbadCore.Models, Symbol(c_name)) return getModelDocString(c_type) else return ("Information of the caller file is not available.") diff --git a/Sindbad/src/Models/NDVI/NDVI.jl b/SindbadCore/src/Models/NDVI/NDVI.jl similarity index 100% rename from Sindbad/src/Models/NDVI/NDVI.jl rename to SindbadCore/src/Models/NDVI/NDVI.jl diff --git a/Sindbad/src/Models/NDVI/NDVI_constant.jl b/SindbadCore/src/Models/NDVI/NDVI_constant.jl similarity index 100% rename from Sindbad/src/Models/NDVI/NDVI_constant.jl rename to SindbadCore/src/Models/NDVI/NDVI_constant.jl diff --git a/Sindbad/src/Models/NDVI/NDVI_forcing.jl b/SindbadCore/src/Models/NDVI/NDVI_forcing.jl similarity index 100% rename from Sindbad/src/Models/NDVI/NDVI_forcing.jl rename to SindbadCore/src/Models/NDVI/NDVI_forcing.jl diff --git a/Sindbad/src/Models/NDWI/NDWI.jl b/SindbadCore/src/Models/NDWI/NDWI.jl similarity index 100% rename from Sindbad/src/Models/NDWI/NDWI.jl rename to SindbadCore/src/Models/NDWI/NDWI.jl diff --git a/Sindbad/src/Models/NDWI/NDWI_constant.jl b/SindbadCore/src/Models/NDWI/NDWI_constant.jl similarity index 100% rename from Sindbad/src/Models/NDWI/NDWI_constant.jl rename to SindbadCore/src/Models/NDWI/NDWI_constant.jl diff --git a/Sindbad/src/Models/NDWI/NDWI_forcing.jl b/SindbadCore/src/Models/NDWI/NDWI_forcing.jl similarity index 100% rename from Sindbad/src/Models/NDWI/NDWI_forcing.jl rename to SindbadCore/src/Models/NDWI/NDWI_forcing.jl diff --git a/Sindbad/src/Models/NIRv/NIRv.jl b/SindbadCore/src/Models/NIRv/NIRv.jl similarity index 100% rename from Sindbad/src/Models/NIRv/NIRv.jl rename to SindbadCore/src/Models/NIRv/NIRv.jl diff --git a/Sindbad/src/Models/NIRv/NIRv_constant.jl b/SindbadCore/src/Models/NIRv/NIRv_constant.jl similarity index 100% rename from Sindbad/src/Models/NIRv/NIRv_constant.jl rename to SindbadCore/src/Models/NIRv/NIRv_constant.jl diff --git a/Sindbad/src/Models/NIRv/NIRv_forcing.jl b/SindbadCore/src/Models/NIRv/NIRv_forcing.jl similarity index 100% rename from Sindbad/src/Models/NIRv/NIRv_forcing.jl rename to SindbadCore/src/Models/NIRv/NIRv_forcing.jl diff --git a/Sindbad/src/Models/PET/PET.jl b/SindbadCore/src/Models/PET/PET.jl similarity index 100% rename from Sindbad/src/Models/PET/PET.jl rename to SindbadCore/src/Models/PET/PET.jl diff --git a/Sindbad/src/Models/PET/PET_Lu2005.jl b/SindbadCore/src/Models/PET/PET_Lu2005.jl similarity index 100% rename from Sindbad/src/Models/PET/PET_Lu2005.jl rename to SindbadCore/src/Models/PET/PET_Lu2005.jl diff --git a/Sindbad/src/Models/PET/PET_PriestleyTaylor1972.jl b/SindbadCore/src/Models/PET/PET_PriestleyTaylor1972.jl similarity index 100% rename from Sindbad/src/Models/PET/PET_PriestleyTaylor1972.jl rename to SindbadCore/src/Models/PET/PET_PriestleyTaylor1972.jl diff --git a/Sindbad/src/Models/PET/PET_forcing.jl b/SindbadCore/src/Models/PET/PET_forcing.jl similarity index 100% rename from Sindbad/src/Models/PET/PET_forcing.jl rename to SindbadCore/src/Models/PET/PET_forcing.jl diff --git a/Sindbad/src/Models/PFT/PFT.jl b/SindbadCore/src/Models/PFT/PFT.jl similarity index 100% rename from Sindbad/src/Models/PFT/PFT.jl rename to SindbadCore/src/Models/PFT/PFT.jl diff --git a/Sindbad/src/Models/PFT/PFT_constant.jl b/SindbadCore/src/Models/PFT/PFT_constant.jl similarity index 100% rename from Sindbad/src/Models/PFT/PFT_constant.jl rename to SindbadCore/src/Models/PFT/PFT_constant.jl diff --git a/Sindbad/src/Models/WUE/WUE.jl b/SindbadCore/src/Models/WUE/WUE.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE.jl rename to SindbadCore/src/Models/WUE/WUE.jl diff --git a/Sindbad/src/Models/WUE/WUE_Medlyn2011.jl b/SindbadCore/src/Models/WUE/WUE_Medlyn2011.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE_Medlyn2011.jl rename to SindbadCore/src/Models/WUE/WUE_Medlyn2011.jl diff --git a/Sindbad/src/Models/WUE/WUE_VPDDay.jl b/SindbadCore/src/Models/WUE/WUE_VPDDay.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE_VPDDay.jl rename to SindbadCore/src/Models/WUE/WUE_VPDDay.jl diff --git a/Sindbad/src/Models/WUE/WUE_VPDDayCo2.jl b/SindbadCore/src/Models/WUE/WUE_VPDDayCo2.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE_VPDDayCo2.jl rename to SindbadCore/src/Models/WUE/WUE_VPDDayCo2.jl diff --git a/Sindbad/src/Models/WUE/WUE_constant.jl b/SindbadCore/src/Models/WUE/WUE_constant.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE_constant.jl rename to SindbadCore/src/Models/WUE/WUE_constant.jl diff --git a/Sindbad/src/Models/WUE/WUE_expVPDDayCo2.jl b/SindbadCore/src/Models/WUE/WUE_expVPDDayCo2.jl similarity index 100% rename from Sindbad/src/Models/WUE/WUE_expVPDDayCo2.jl rename to SindbadCore/src/Models/WUE/WUE_expVPDDayCo2.jl diff --git a/Sindbad/src/Models/ambientCO2/ambientCO2.jl b/SindbadCore/src/Models/ambientCO2/ambientCO2.jl similarity index 100% rename from Sindbad/src/Models/ambientCO2/ambientCO2.jl rename to SindbadCore/src/Models/ambientCO2/ambientCO2.jl diff --git a/Sindbad/src/Models/ambientCO2/ambientCO2_constant.jl b/SindbadCore/src/Models/ambientCO2/ambientCO2_constant.jl similarity index 100% rename from Sindbad/src/Models/ambientCO2/ambientCO2_constant.jl rename to SindbadCore/src/Models/ambientCO2/ambientCO2_constant.jl diff --git a/Sindbad/src/Models/ambientCO2/ambientCO2_forcing.jl b/SindbadCore/src/Models/ambientCO2/ambientCO2_forcing.jl similarity index 100% rename from Sindbad/src/Models/ambientCO2/ambientCO2_forcing.jl rename to SindbadCore/src/Models/ambientCO2/ambientCO2_forcing.jl diff --git a/Sindbad/src/Models/autoRespiration/autoRespiration.jl b/SindbadCore/src/Models/autoRespiration/autoRespiration.jl similarity index 100% rename from Sindbad/src/Models/autoRespiration/autoRespiration.jl rename to SindbadCore/src/Models/autoRespiration/autoRespiration.jl diff --git a/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl b/SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl similarity index 100% rename from Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl rename to SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000A.jl diff --git a/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl b/SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl similarity index 100% rename from Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl rename to SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000B.jl diff --git a/Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl b/SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl similarity index 100% rename from Sindbad/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl rename to SindbadCore/src/Models/autoRespiration/autoRespiration_Thornley2000C.jl diff --git a/Sindbad/src/Models/autoRespiration/autoRespiration_none.jl b/SindbadCore/src/Models/autoRespiration/autoRespiration_none.jl similarity index 100% rename from Sindbad/src/Models/autoRespiration/autoRespiration_none.jl rename to SindbadCore/src/Models/autoRespiration/autoRespiration_none.jl diff --git a/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT.jl b/SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT.jl similarity index 100% rename from Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT.jl rename to SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT.jl diff --git a/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl b/SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl similarity index 100% rename from Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl rename to SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT_Q10.jl diff --git a/Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl b/SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl similarity index 100% rename from Sindbad/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl rename to SindbadCore/src/Models/autoRespirationAirT/autoRespirationAirT_none.jl diff --git a/Sindbad/src/Models/cAllocation/cAllocation.jl b/SindbadCore/src/Models/cAllocation/cAllocation.jl similarity index 100% rename from Sindbad/src/Models/cAllocation/cAllocation.jl rename to SindbadCore/src/Models/cAllocation/cAllocation.jl diff --git a/Sindbad/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocation/cAllocation_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cAllocation/cAllocation_GSI.jl b/SindbadCore/src/Models/cAllocation/cAllocation_GSI.jl similarity index 100% rename from Sindbad/src/Models/cAllocation/cAllocation_GSI.jl rename to SindbadCore/src/Models/cAllocation/cAllocation_GSI.jl diff --git a/Sindbad/src/Models/cAllocation/cAllocation_fixed.jl b/SindbadCore/src/Models/cAllocation/cAllocation_fixed.jl similarity index 100% rename from Sindbad/src/Models/cAllocation/cAllocation_fixed.jl rename to SindbadCore/src/Models/cAllocation/cAllocation_fixed.jl diff --git a/Sindbad/src/Models/cAllocation/cAllocation_none.jl b/SindbadCore/src/Models/cAllocation/cAllocation_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocation/cAllocation_none.jl rename to SindbadCore/src/Models/cAllocation/cAllocation_none.jl diff --git a/Sindbad/src/Models/cAllocationLAI/cAllocationLAI.jl b/SindbadCore/src/Models/cAllocationLAI/cAllocationLAI.jl similarity index 100% rename from Sindbad/src/Models/cAllocationLAI/cAllocationLAI.jl rename to SindbadCore/src/Models/cAllocationLAI/cAllocationLAI.jl diff --git a/Sindbad/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocationLAI/cAllocationLAI_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cAllocationLAI/cAllocationLAI_none.jl b/SindbadCore/src/Models/cAllocationLAI/cAllocationLAI_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocationLAI/cAllocationLAI_none.jl rename to SindbadCore/src/Models/cAllocationLAI/cAllocationLAI_none.jl diff --git a/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients.jl b/SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients.jl similarity index 100% rename from Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients.jl rename to SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients.jl diff --git a/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl b/SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl rename to SindbadCore/src/Models/cAllocationNutrients/cAllocationNutrients_none.jl diff --git a/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation.jl b/SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation.jl similarity index 100% rename from Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation.jl rename to SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation.jl diff --git a/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl b/SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl similarity index 100% rename from Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl rename to SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_GSI.jl diff --git a/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl b/SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl similarity index 100% rename from Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl rename to SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_RgPot.jl diff --git a/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl b/SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl similarity index 100% rename from Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl rename to SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_gpp.jl diff --git a/Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl b/SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl rename to SindbadCore/src/Models/cAllocationRadiation/cAllocationRadiation_none.jl diff --git a/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT.jl b/SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT.jl rename to SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT.jl diff --git a/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl b/SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl rename to SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_gpp.jl diff --git a/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl b/SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl rename to SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_gppGSI.jl diff --git a/Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl b/SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl rename to SindbadCore/src/Models/cAllocationSoilT/cAllocationSoilT_none.jl diff --git a/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW.jl b/SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW.jl rename to SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW.jl diff --git a/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl b/SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl rename to SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_gpp.jl diff --git a/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl b/SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl rename to SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_gppGSI.jl diff --git a/Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl b/SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl similarity index 100% rename from Sindbad/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl rename to SindbadCore/src/Models/cAllocationSoilW/cAllocationSoilW_none.jl diff --git a/Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl b/SindbadCore/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl similarity index 100% rename from Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl rename to SindbadCore/src/Models/cAllocationTreeFraction/cAllocationTreeFraction.jl diff --git a/Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl b/SindbadCore/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl similarity index 100% rename from Sindbad/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl rename to SindbadCore/src/Models/cAllocationTreeFraction/cAllocationTreeFraction_Friedlingstein1999.jl diff --git a/Sindbad/src/Models/cBiomass/cBiomass.jl b/SindbadCore/src/Models/cBiomass/cBiomass.jl similarity index 100% rename from Sindbad/src/Models/cBiomass/cBiomass.jl rename to SindbadCore/src/Models/cBiomass/cBiomass.jl diff --git a/Sindbad/src/Models/cBiomass/cBiomass_simple.jl b/SindbadCore/src/Models/cBiomass/cBiomass_simple.jl similarity index 100% rename from Sindbad/src/Models/cBiomass/cBiomass_simple.jl rename to SindbadCore/src/Models/cBiomass/cBiomass_simple.jl diff --git a/Sindbad/src/Models/cBiomass/cBiomass_treeGrass.jl b/SindbadCore/src/Models/cBiomass/cBiomass_treeGrass.jl similarity index 100% rename from Sindbad/src/Models/cBiomass/cBiomass_treeGrass.jl rename to SindbadCore/src/Models/cBiomass/cBiomass_treeGrass.jl diff --git a/Sindbad/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl b/SindbadCore/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl similarity index 100% rename from Sindbad/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl rename to SindbadCore/src/Models/cBiomass/cBiomass_treeGrass_cVegReserveScaling.jl diff --git a/Sindbad/src/Models/cCycle/cCycle.jl b/SindbadCore/src/Models/cCycle/cCycle.jl similarity index 100% rename from Sindbad/src/Models/cCycle/cCycle.jl rename to SindbadCore/src/Models/cCycle/cCycle.jl diff --git a/Sindbad/src/Models/cCycle/cCycle_CASA.jl b/SindbadCore/src/Models/cCycle/cCycle_CASA.jl similarity index 100% rename from Sindbad/src/Models/cCycle/cCycle_CASA.jl rename to SindbadCore/src/Models/cCycle/cCycle_CASA.jl diff --git a/Sindbad/src/Models/cCycle/cCycle_GSI.jl b/SindbadCore/src/Models/cCycle/cCycle_GSI.jl similarity index 100% rename from Sindbad/src/Models/cCycle/cCycle_GSI.jl rename to SindbadCore/src/Models/cCycle/cCycle_GSI.jl diff --git a/Sindbad/src/Models/cCycle/cCycle_simple.jl b/SindbadCore/src/Models/cCycle/cCycle_simple.jl similarity index 100% rename from Sindbad/src/Models/cCycle/cCycle_simple.jl rename to SindbadCore/src/Models/cCycle/cCycle_simple.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase_CASA.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase_CASA.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase_CASA.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase_CASA.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase_GSI.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase_GSI.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase_GSI.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase_GSI.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase_GSI_PlantForm.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase_GSI_PlantForm_LargeKReserve.jl diff --git a/Sindbad/src/Models/cCycleBase/cCycleBase_simple.jl b/SindbadCore/src/Models/cCycleBase/cCycleBase_simple.jl similarity index 100% rename from Sindbad/src/Models/cCycleBase/cCycleBase_simple.jl rename to SindbadCore/src/Models/cCycleBase/cCycleBase_simple.jl diff --git a/Sindbad/src/Models/cCycleConsistency/cCycleConsistency.jl b/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency.jl similarity index 100% rename from Sindbad/src/Models/cCycleConsistency/cCycleConsistency.jl rename to SindbadCore/src/Models/cCycleConsistency/cCycleConsistency.jl diff --git a/Sindbad/src/Models/cCycleConsistency/cCycleConsistency_simple.jl b/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl similarity index 99% rename from Sindbad/src/Models/cCycleConsistency/cCycleConsistency_simple.jl rename to SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl index 68785b7da..9c8edb752 100644 --- a/Sindbad/src/Models/cCycleConsistency/cCycleConsistency_simple.jl +++ b/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl @@ -39,7 +39,7 @@ display and error msg and stop when there is inconsistency function throwError(land, msg) tcPrint(land) if hasproperty(Sindbad, :error_catcher) - push!(Sindbad.error_catcher, land) + push!(SindbadCore.error_catcher, land) end error(msg) end diff --git a/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance.jl b/SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance.jl similarity index 100% rename from Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance.jl rename to SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance.jl diff --git a/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl b/SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl similarity index 100% rename from Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl rename to SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance_WROASTED.jl diff --git a/Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl b/SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl similarity index 100% rename from Sindbad/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl rename to SindbadCore/src/Models/cCycleDisturbance/cCycleDisturbance_cFlow.jl diff --git a/Sindbad/src/Models/cFlow/cFlow.jl b/SindbadCore/src/Models/cFlow/cFlow.jl similarity index 100% rename from Sindbad/src/Models/cFlow/cFlow.jl rename to SindbadCore/src/Models/cFlow/cFlow.jl diff --git a/Sindbad/src/Models/cFlow/cFlow_CASA.jl b/SindbadCore/src/Models/cFlow/cFlow_CASA.jl similarity index 100% rename from Sindbad/src/Models/cFlow/cFlow_CASA.jl rename to SindbadCore/src/Models/cFlow/cFlow_CASA.jl diff --git a/Sindbad/src/Models/cFlow/cFlow_GSI.jl b/SindbadCore/src/Models/cFlow/cFlow_GSI.jl similarity index 100% rename from Sindbad/src/Models/cFlow/cFlow_GSI.jl rename to SindbadCore/src/Models/cFlow/cFlow_GSI.jl diff --git a/Sindbad/src/Models/cFlow/cFlow_none.jl b/SindbadCore/src/Models/cFlow/cFlow_none.jl similarity index 100% rename from Sindbad/src/Models/cFlow/cFlow_none.jl rename to SindbadCore/src/Models/cFlow/cFlow_none.jl diff --git a/Sindbad/src/Models/cFlow/cFlow_simple.jl b/SindbadCore/src/Models/cFlow/cFlow_simple.jl similarity index 100% rename from Sindbad/src/Models/cFlow/cFlow_simple.jl rename to SindbadCore/src/Models/cFlow/cFlow_simple.jl diff --git a/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl b/SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl similarity index 100% rename from Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl rename to SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties.jl diff --git a/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl b/SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl similarity index 100% rename from Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl rename to SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties_CASA.jl diff --git a/Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl b/SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl similarity index 100% rename from Sindbad/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl rename to SindbadCore/src/Models/cFlowSoilProperties/cFlowSoilProperties_none.jl diff --git a/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties.jl b/SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties.jl similarity index 100% rename from Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties.jl rename to SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties.jl diff --git a/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl b/SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl similarity index 100% rename from Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl rename to SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties_CASA.jl diff --git a/Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl b/SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl similarity index 100% rename from Sindbad/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl rename to SindbadCore/src/Models/cFlowVegProperties/cFlowVegProperties_none.jl diff --git a/Sindbad/src/Models/cTau/cTau.jl b/SindbadCore/src/Models/cTau/cTau.jl similarity index 100% rename from Sindbad/src/Models/cTau/cTau.jl rename to SindbadCore/src/Models/cTau/cTau.jl diff --git a/Sindbad/src/Models/cTau/cTau_mult.jl b/SindbadCore/src/Models/cTau/cTau_mult.jl similarity index 100% rename from Sindbad/src/Models/cTau/cTau_mult.jl rename to SindbadCore/src/Models/cTau/cTau_mult.jl diff --git a/Sindbad/src/Models/cTau/cTau_none.jl b/SindbadCore/src/Models/cTau/cTau_none.jl similarity index 100% rename from Sindbad/src/Models/cTau/cTau_none.jl rename to SindbadCore/src/Models/cTau/cTau_none.jl diff --git a/Sindbad/src/Models/cTauLAI/cTauLAI.jl b/SindbadCore/src/Models/cTauLAI/cTauLAI.jl similarity index 100% rename from Sindbad/src/Models/cTauLAI/cTauLAI.jl rename to SindbadCore/src/Models/cTauLAI/cTauLAI.jl diff --git a/Sindbad/src/Models/cTauLAI/cTauLAI_CASA.jl b/SindbadCore/src/Models/cTauLAI/cTauLAI_CASA.jl similarity index 100% rename from Sindbad/src/Models/cTauLAI/cTauLAI_CASA.jl rename to SindbadCore/src/Models/cTauLAI/cTauLAI_CASA.jl diff --git a/Sindbad/src/Models/cTauLAI/cTauLAI_none.jl b/SindbadCore/src/Models/cTauLAI/cTauLAI_none.jl similarity index 100% rename from Sindbad/src/Models/cTauLAI/cTauLAI_none.jl rename to SindbadCore/src/Models/cTauLAI/cTauLAI_none.jl diff --git a/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties.jl b/SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties.jl rename to SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties.jl diff --git a/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl b/SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl rename to SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties_CASA.jl diff --git a/Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl b/SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl rename to SindbadCore/src/Models/cTauSoilProperties/cTauSoilProperties_none.jl diff --git a/Sindbad/src/Models/cTauSoilT/cTauSoilT.jl b/SindbadCore/src/Models/cTauSoilT/cTauSoilT.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilT/cTauSoilT.jl rename to SindbadCore/src/Models/cTauSoilT/cTauSoilT.jl diff --git a/Sindbad/src/Models/cTauSoilT/cTauSoilT_Q10.jl b/SindbadCore/src/Models/cTauSoilT/cTauSoilT_Q10.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilT/cTauSoilT_Q10.jl rename to SindbadCore/src/Models/cTauSoilT/cTauSoilT_Q10.jl diff --git a/Sindbad/src/Models/cTauSoilT/cTauSoilT_none.jl b/SindbadCore/src/Models/cTauSoilT/cTauSoilT_none.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilT/cTauSoilT_none.jl rename to SindbadCore/src/Models/cTauSoilT/cTauSoilT_none.jl diff --git a/Sindbad/src/Models/cTauSoilW/cTauSoilW.jl b/SindbadCore/src/Models/cTauSoilW/cTauSoilW.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilW/cTauSoilW.jl rename to SindbadCore/src/Models/cTauSoilW/cTauSoilW.jl diff --git a/Sindbad/src/Models/cTauSoilW/cTauSoilW_CASA.jl b/SindbadCore/src/Models/cTauSoilW/cTauSoilW_CASA.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilW/cTauSoilW_CASA.jl rename to SindbadCore/src/Models/cTauSoilW/cTauSoilW_CASA.jl diff --git a/Sindbad/src/Models/cTauSoilW/cTauSoilW_GSI.jl b/SindbadCore/src/Models/cTauSoilW/cTauSoilW_GSI.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilW/cTauSoilW_GSI.jl rename to SindbadCore/src/Models/cTauSoilW/cTauSoilW_GSI.jl diff --git a/Sindbad/src/Models/cTauSoilW/cTauSoilW_none.jl b/SindbadCore/src/Models/cTauSoilW/cTauSoilW_none.jl similarity index 100% rename from Sindbad/src/Models/cTauSoilW/cTauSoilW_none.jl rename to SindbadCore/src/Models/cTauSoilW/cTauSoilW_none.jl diff --git a/Sindbad/src/Models/cTauVegProperties/cTauVegProperties.jl b/SindbadCore/src/Models/cTauVegProperties/cTauVegProperties.jl similarity index 100% rename from Sindbad/src/Models/cTauVegProperties/cTauVegProperties.jl rename to SindbadCore/src/Models/cTauVegProperties/cTauVegProperties.jl diff --git a/Sindbad/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl b/SindbadCore/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl similarity index 100% rename from Sindbad/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl rename to SindbadCore/src/Models/cTauVegProperties/cTauVegProperties_CASA.jl diff --git a/Sindbad/src/Models/cTauVegProperties/cTauVegProperties_none.jl b/SindbadCore/src/Models/cTauVegProperties/cTauVegProperties_none.jl similarity index 100% rename from Sindbad/src/Models/cTauVegProperties/cTauVegProperties_none.jl rename to SindbadCore/src/Models/cTauVegProperties/cTauVegProperties_none.jl diff --git a/Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff.jl b/SindbadCore/src/Models/cVegetationDieOff/cVegetationDieOff.jl similarity index 100% rename from Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff.jl rename to SindbadCore/src/Models/cVegetationDieOff/cVegetationDieOff.jl diff --git a/Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl b/SindbadCore/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl similarity index 100% rename from Sindbad/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl rename to SindbadCore/src/Models/cVegetationDieOff/cVegetationDieOff_forcing.jl diff --git a/Sindbad/src/Models/capillaryFlow/capillaryFlow.jl b/SindbadCore/src/Models/capillaryFlow/capillaryFlow.jl similarity index 100% rename from Sindbad/src/Models/capillaryFlow/capillaryFlow.jl rename to SindbadCore/src/Models/capillaryFlow/capillaryFlow.jl diff --git a/Sindbad/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl b/SindbadCore/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl similarity index 100% rename from Sindbad/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl rename to SindbadCore/src/Models/capillaryFlow/capillaryFlow_VanDijk2010.jl diff --git a/Sindbad/src/Models/constants/constants.jl b/SindbadCore/src/Models/constants/constants.jl similarity index 100% rename from Sindbad/src/Models/constants/constants.jl rename to SindbadCore/src/Models/constants/constants.jl diff --git a/Sindbad/src/Models/constants/constants_numbers.jl b/SindbadCore/src/Models/constants/constants_numbers.jl similarity index 100% rename from Sindbad/src/Models/constants/constants_numbers.jl rename to SindbadCore/src/Models/constants/constants_numbers.jl diff --git a/Sindbad/src/Models/deriveVariables/deriveVariables.jl b/SindbadCore/src/Models/deriveVariables/deriveVariables.jl similarity index 100% rename from Sindbad/src/Models/deriveVariables/deriveVariables.jl rename to SindbadCore/src/Models/deriveVariables/deriveVariables.jl diff --git a/Sindbad/src/Models/deriveVariables/deriveVariables_simple.jl b/SindbadCore/src/Models/deriveVariables/deriveVariables_simple.jl similarity index 100% rename from Sindbad/src/Models/deriveVariables/deriveVariables_simple.jl rename to SindbadCore/src/Models/deriveVariables/deriveVariables_simple.jl diff --git a/Sindbad/src/Models/drainage/drainage.jl b/SindbadCore/src/Models/drainage/drainage.jl similarity index 100% rename from Sindbad/src/Models/drainage/drainage.jl rename to SindbadCore/src/Models/drainage/drainage.jl diff --git a/Sindbad/src/Models/drainage/drainage_dos.jl b/SindbadCore/src/Models/drainage/drainage_dos.jl similarity index 100% rename from Sindbad/src/Models/drainage/drainage_dos.jl rename to SindbadCore/src/Models/drainage/drainage_dos.jl diff --git a/Sindbad/src/Models/drainage/drainage_kUnsat.jl b/SindbadCore/src/Models/drainage/drainage_kUnsat.jl similarity index 100% rename from Sindbad/src/Models/drainage/drainage_kUnsat.jl rename to SindbadCore/src/Models/drainage/drainage_kUnsat.jl diff --git a/Sindbad/src/Models/drainage/drainage_wFC.jl b/SindbadCore/src/Models/drainage/drainage_wFC.jl similarity index 100% rename from Sindbad/src/Models/drainage/drainage_wFC.jl rename to SindbadCore/src/Models/drainage/drainage_wFC.jl diff --git a/Sindbad/src/Models/evaporation/evaporation.jl b/SindbadCore/src/Models/evaporation/evaporation.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation.jl rename to SindbadCore/src/Models/evaporation/evaporation.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_Snyder2000.jl b/SindbadCore/src/Models/evaporation/evaporation_Snyder2000.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_Snyder2000.jl rename to SindbadCore/src/Models/evaporation/evaporation_Snyder2000.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_bareFraction.jl b/SindbadCore/src/Models/evaporation/evaporation_bareFraction.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_bareFraction.jl rename to SindbadCore/src/Models/evaporation/evaporation_bareFraction.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_demandSupply.jl b/SindbadCore/src/Models/evaporation/evaporation_demandSupply.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_demandSupply.jl rename to SindbadCore/src/Models/evaporation/evaporation_demandSupply.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_fAPAR.jl b/SindbadCore/src/Models/evaporation/evaporation_fAPAR.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_fAPAR.jl rename to SindbadCore/src/Models/evaporation/evaporation_fAPAR.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_none.jl b/SindbadCore/src/Models/evaporation/evaporation_none.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_none.jl rename to SindbadCore/src/Models/evaporation/evaporation_none.jl diff --git a/Sindbad/src/Models/evaporation/evaporation_vegFraction.jl b/SindbadCore/src/Models/evaporation/evaporation_vegFraction.jl similarity index 100% rename from Sindbad/src/Models/evaporation/evaporation_vegFraction.jl rename to SindbadCore/src/Models/evaporation/evaporation_vegFraction.jl diff --git a/Sindbad/src/Models/evapotranspiration/evapotranspiration.jl b/SindbadCore/src/Models/evapotranspiration/evapotranspiration.jl similarity index 100% rename from Sindbad/src/Models/evapotranspiration/evapotranspiration.jl rename to SindbadCore/src/Models/evapotranspiration/evapotranspiration.jl diff --git a/Sindbad/src/Models/evapotranspiration/evapotranspiration_sum.jl b/SindbadCore/src/Models/evapotranspiration/evapotranspiration_sum.jl similarity index 100% rename from Sindbad/src/Models/evapotranspiration/evapotranspiration_sum.jl rename to SindbadCore/src/Models/evapotranspiration/evapotranspiration_sum.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR.jl b/SindbadCore/src/Models/fAPAR/fAPAR.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR.jl rename to SindbadCore/src/Models/fAPAR/fAPAR.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_EVI.jl b/SindbadCore/src/Models/fAPAR/fAPAR_EVI.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_EVI.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_EVI.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_LAI.jl b/SindbadCore/src/Models/fAPAR/fAPAR_LAI.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_LAI.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_LAI.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_cVegLeaf.jl b/SindbadCore/src/Models/fAPAR/fAPAR_cVegLeaf.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_cVegLeaf.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_cVegLeaf.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl b/SindbadCore/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_cVegLeafBareFrac.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_constant.jl b/SindbadCore/src/Models/fAPAR/fAPAR_constant.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_constant.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_constant.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_forcing.jl b/SindbadCore/src/Models/fAPAR/fAPAR_forcing.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_forcing.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_forcing.jl diff --git a/Sindbad/src/Models/fAPAR/fAPAR_vegFraction.jl b/SindbadCore/src/Models/fAPAR/fAPAR_vegFraction.jl similarity index 100% rename from Sindbad/src/Models/fAPAR/fAPAR_vegFraction.jl rename to SindbadCore/src/Models/fAPAR/fAPAR_vegFraction.jl diff --git a/Sindbad/src/Models/getPools/getPools.jl b/SindbadCore/src/Models/getPools/getPools.jl similarity index 100% rename from Sindbad/src/Models/getPools/getPools.jl rename to SindbadCore/src/Models/getPools/getPools.jl diff --git a/Sindbad/src/Models/getPools/getPools_simple.jl b/SindbadCore/src/Models/getPools/getPools_simple.jl similarity index 100% rename from Sindbad/src/Models/getPools/getPools_simple.jl rename to SindbadCore/src/Models/getPools/getPools_simple.jl diff --git a/Sindbad/src/Models/gpp/gpp.jl b/SindbadCore/src/Models/gpp/gpp.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp.jl rename to SindbadCore/src/Models/gpp/gpp.jl diff --git a/Sindbad/src/Models/gpp/gpp_coupled.jl b/SindbadCore/src/Models/gpp/gpp_coupled.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp_coupled.jl rename to SindbadCore/src/Models/gpp/gpp_coupled.jl diff --git a/Sindbad/src/Models/gpp/gpp_min.jl b/SindbadCore/src/Models/gpp/gpp_min.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp_min.jl rename to SindbadCore/src/Models/gpp/gpp_min.jl diff --git a/Sindbad/src/Models/gpp/gpp_mult.jl b/SindbadCore/src/Models/gpp/gpp_mult.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp_mult.jl rename to SindbadCore/src/Models/gpp/gpp_mult.jl diff --git a/Sindbad/src/Models/gpp/gpp_none.jl b/SindbadCore/src/Models/gpp/gpp_none.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp_none.jl rename to SindbadCore/src/Models/gpp/gpp_none.jl diff --git a/Sindbad/src/Models/gpp/gpp_transpirationWUE.jl b/SindbadCore/src/Models/gpp/gpp_transpirationWUE.jl similarity index 100% rename from Sindbad/src/Models/gpp/gpp_transpirationWUE.jl rename to SindbadCore/src/Models/gpp/gpp_transpirationWUE.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT.jl b/SindbadCore/src/Models/gppAirT/gppAirT.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT.jl rename to SindbadCore/src/Models/gppAirT/gppAirT.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_CASA.jl b/SindbadCore/src/Models/gppAirT/gppAirT_CASA.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_CASA.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_CASA.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_GSI.jl b/SindbadCore/src/Models/gppAirT/gppAirT_GSI.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_GSI.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_GSI.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_MOD17.jl b/SindbadCore/src/Models/gppAirT/gppAirT_MOD17.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_MOD17.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_MOD17.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_Maekelae2008.jl b/SindbadCore/src/Models/gppAirT/gppAirT_Maekelae2008.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_Maekelae2008.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_Maekelae2008.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_TEM.jl b/SindbadCore/src/Models/gppAirT/gppAirT_TEM.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_TEM.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_TEM.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_Wang2014.jl b/SindbadCore/src/Models/gppAirT/gppAirT_Wang2014.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_Wang2014.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_Wang2014.jl diff --git a/Sindbad/src/Models/gppAirT/gppAirT_none.jl b/SindbadCore/src/Models/gppAirT/gppAirT_none.jl similarity index 100% rename from Sindbad/src/Models/gppAirT/gppAirT_none.jl rename to SindbadCore/src/Models/gppAirT/gppAirT_none.jl diff --git a/Sindbad/src/Models/gppDemand/gppDemand.jl b/SindbadCore/src/Models/gppDemand/gppDemand.jl similarity index 100% rename from Sindbad/src/Models/gppDemand/gppDemand.jl rename to SindbadCore/src/Models/gppDemand/gppDemand.jl diff --git a/Sindbad/src/Models/gppDemand/gppDemand_min.jl b/SindbadCore/src/Models/gppDemand/gppDemand_min.jl similarity index 100% rename from Sindbad/src/Models/gppDemand/gppDemand_min.jl rename to SindbadCore/src/Models/gppDemand/gppDemand_min.jl diff --git a/Sindbad/src/Models/gppDemand/gppDemand_mult.jl b/SindbadCore/src/Models/gppDemand/gppDemand_mult.jl similarity index 100% rename from Sindbad/src/Models/gppDemand/gppDemand_mult.jl rename to SindbadCore/src/Models/gppDemand/gppDemand_mult.jl diff --git a/Sindbad/src/Models/gppDemand/gppDemand_none.jl b/SindbadCore/src/Models/gppDemand/gppDemand_none.jl similarity index 100% rename from Sindbad/src/Models/gppDemand/gppDemand_none.jl rename to SindbadCore/src/Models/gppDemand/gppDemand_none.jl diff --git a/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation.jl b/SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation.jl similarity index 100% rename from Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation.jl rename to SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation.jl diff --git a/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl b/SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl similarity index 100% rename from Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl rename to SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_GSI.jl diff --git a/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl b/SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl similarity index 100% rename from Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl rename to SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_Turner2006.jl diff --git a/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl b/SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl similarity index 100% rename from Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl rename to SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_Wang2015.jl diff --git a/Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl b/SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl similarity index 100% rename from Sindbad/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl rename to SindbadCore/src/Models/gppDiffRadiation/gppDiffRadiation_none.jl diff --git a/Sindbad/src/Models/gppDirRadiation/gppDirRadiation.jl b/SindbadCore/src/Models/gppDirRadiation/gppDirRadiation.jl similarity index 100% rename from Sindbad/src/Models/gppDirRadiation/gppDirRadiation.jl rename to SindbadCore/src/Models/gppDirRadiation/gppDirRadiation.jl diff --git a/Sindbad/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl b/SindbadCore/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl similarity index 100% rename from Sindbad/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl rename to SindbadCore/src/Models/gppDirRadiation/gppDirRadiation_Maekelae2008.jl diff --git a/Sindbad/src/Models/gppDirRadiation/gppDirRadiation_none.jl b/SindbadCore/src/Models/gppDirRadiation/gppDirRadiation_none.jl similarity index 100% rename from Sindbad/src/Models/gppDirRadiation/gppDirRadiation_none.jl rename to SindbadCore/src/Models/gppDirRadiation/gppDirRadiation_none.jl diff --git a/Sindbad/src/Models/gppPotential/gppPotential.jl b/SindbadCore/src/Models/gppPotential/gppPotential.jl similarity index 100% rename from Sindbad/src/Models/gppPotential/gppPotential.jl rename to SindbadCore/src/Models/gppPotential/gppPotential.jl diff --git a/Sindbad/src/Models/gppPotential/gppPotential_Monteith.jl b/SindbadCore/src/Models/gppPotential/gppPotential_Monteith.jl similarity index 100% rename from Sindbad/src/Models/gppPotential/gppPotential_Monteith.jl rename to SindbadCore/src/Models/gppPotential/gppPotential_Monteith.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW_CASA.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW_CASA.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW_CASA.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW_CASA.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW_GSI.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW_GSI.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW_GSI.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW_GSI.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW_Keenan2009.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW_Keenan2009.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW_Keenan2009.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW_Keenan2009.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW_Stocker2020.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW_Stocker2020.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW_Stocker2020.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW_Stocker2020.jl diff --git a/Sindbad/src/Models/gppSoilW/gppSoilW_none.jl b/SindbadCore/src/Models/gppSoilW/gppSoilW_none.jl similarity index 100% rename from Sindbad/src/Models/gppSoilW/gppSoilW_none.jl rename to SindbadCore/src/Models/gppSoilW/gppSoilW_none.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD.jl b/SindbadCore/src/Models/gppVPD/gppVPD.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD.jl rename to SindbadCore/src/Models/gppVPD/gppVPD.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD_MOD17.jl b/SindbadCore/src/Models/gppVPD/gppVPD_MOD17.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD_MOD17.jl rename to SindbadCore/src/Models/gppVPD/gppVPD_MOD17.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD_Maekelae2008.jl b/SindbadCore/src/Models/gppVPD/gppVPD_Maekelae2008.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD_Maekelae2008.jl rename to SindbadCore/src/Models/gppVPD/gppVPD_Maekelae2008.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD_PRELES.jl b/SindbadCore/src/Models/gppVPD/gppVPD_PRELES.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD_PRELES.jl rename to SindbadCore/src/Models/gppVPD/gppVPD_PRELES.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD_expco2.jl b/SindbadCore/src/Models/gppVPD/gppVPD_expco2.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD_expco2.jl rename to SindbadCore/src/Models/gppVPD/gppVPD_expco2.jl diff --git a/Sindbad/src/Models/gppVPD/gppVPD_none.jl b/SindbadCore/src/Models/gppVPD/gppVPD_none.jl similarity index 100% rename from Sindbad/src/Models/gppVPD/gppVPD_none.jl rename to SindbadCore/src/Models/gppVPD/gppVPD_none.jl diff --git a/Sindbad/src/Models/groundWRecharge/groundWRecharge.jl b/SindbadCore/src/Models/groundWRecharge/groundWRecharge.jl similarity index 100% rename from Sindbad/src/Models/groundWRecharge/groundWRecharge.jl rename to SindbadCore/src/Models/groundWRecharge/groundWRecharge.jl diff --git a/Sindbad/src/Models/groundWRecharge/groundWRecharge_dos.jl b/SindbadCore/src/Models/groundWRecharge/groundWRecharge_dos.jl similarity index 100% rename from Sindbad/src/Models/groundWRecharge/groundWRecharge_dos.jl rename to SindbadCore/src/Models/groundWRecharge/groundWRecharge_dos.jl diff --git a/Sindbad/src/Models/groundWRecharge/groundWRecharge_fraction.jl b/SindbadCore/src/Models/groundWRecharge/groundWRecharge_fraction.jl similarity index 100% rename from Sindbad/src/Models/groundWRecharge/groundWRecharge_fraction.jl rename to SindbadCore/src/Models/groundWRecharge/groundWRecharge_fraction.jl diff --git a/Sindbad/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl b/SindbadCore/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl similarity index 100% rename from Sindbad/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl rename to SindbadCore/src/Models/groundWRecharge/groundWRecharge_kUnsat.jl diff --git a/Sindbad/src/Models/groundWRecharge/groundWRecharge_none.jl b/SindbadCore/src/Models/groundWRecharge/groundWRecharge_none.jl similarity index 100% rename from Sindbad/src/Models/groundWRecharge/groundWRecharge_none.jl rename to SindbadCore/src/Models/groundWRecharge/groundWRecharge_none.jl diff --git a/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl b/SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl similarity index 100% rename from Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl rename to SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction.jl diff --git a/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl b/SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl similarity index 100% rename from Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl rename to SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_VanDijk2010.jl diff --git a/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl b/SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl similarity index 100% rename from Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl rename to SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradient.jl diff --git a/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl b/SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl similarity index 100% rename from Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl rename to SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_gradientNeg.jl diff --git a/Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl b/SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl similarity index 100% rename from Sindbad/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl rename to SindbadCore/src/Models/groundWSoilWInteraction/groundWSoilWInteraction_none.jl diff --git a/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl b/SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl similarity index 100% rename from Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl rename to SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction.jl diff --git a/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl b/SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl similarity index 100% rename from Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl rename to SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGradient.jl diff --git a/Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl b/SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl similarity index 100% rename from Sindbad/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl rename to SindbadCore/src/Models/groundWSurfaceWInteraction/groundWSurfaceWInteraction_fracGroundW.jl diff --git a/Sindbad/src/Models/interception/interception.jl b/SindbadCore/src/Models/interception/interception.jl similarity index 100% rename from Sindbad/src/Models/interception/interception.jl rename to SindbadCore/src/Models/interception/interception.jl diff --git a/Sindbad/src/Models/interception/interception_Miralles2010.jl b/SindbadCore/src/Models/interception/interception_Miralles2010.jl similarity index 100% rename from Sindbad/src/Models/interception/interception_Miralles2010.jl rename to SindbadCore/src/Models/interception/interception_Miralles2010.jl diff --git a/Sindbad/src/Models/interception/interception_fAPAR.jl b/SindbadCore/src/Models/interception/interception_fAPAR.jl similarity index 100% rename from Sindbad/src/Models/interception/interception_fAPAR.jl rename to SindbadCore/src/Models/interception/interception_fAPAR.jl diff --git a/Sindbad/src/Models/interception/interception_none.jl b/SindbadCore/src/Models/interception/interception_none.jl similarity index 100% rename from Sindbad/src/Models/interception/interception_none.jl rename to SindbadCore/src/Models/interception/interception_none.jl diff --git a/Sindbad/src/Models/interception/interception_vegFraction.jl b/SindbadCore/src/Models/interception/interception_vegFraction.jl similarity index 100% rename from Sindbad/src/Models/interception/interception_vegFraction.jl rename to SindbadCore/src/Models/interception/interception_vegFraction.jl diff --git a/Sindbad/src/Models/percolation/percolation.jl b/SindbadCore/src/Models/percolation/percolation.jl similarity index 100% rename from Sindbad/src/Models/percolation/percolation.jl rename to SindbadCore/src/Models/percolation/percolation.jl diff --git a/Sindbad/src/Models/percolation/percolation_WBP.jl b/SindbadCore/src/Models/percolation/percolation_WBP.jl similarity index 100% rename from Sindbad/src/Models/percolation/percolation_WBP.jl rename to SindbadCore/src/Models/percolation/percolation_WBP.jl diff --git a/Sindbad/src/Models/plantForm/plantForm.jl b/SindbadCore/src/Models/plantForm/plantForm.jl similarity index 100% rename from Sindbad/src/Models/plantForm/plantForm.jl rename to SindbadCore/src/Models/plantForm/plantForm.jl diff --git a/Sindbad/src/Models/plantForm/plantForm_PFT.jl b/SindbadCore/src/Models/plantForm/plantForm_PFT.jl similarity index 100% rename from Sindbad/src/Models/plantForm/plantForm_PFT.jl rename to SindbadCore/src/Models/plantForm/plantForm_PFT.jl diff --git a/Sindbad/src/Models/plantForm/plantForm_fixed.jl b/SindbadCore/src/Models/plantForm/plantForm_fixed.jl similarity index 100% rename from Sindbad/src/Models/plantForm/plantForm_fixed.jl rename to SindbadCore/src/Models/plantForm/plantForm_fixed.jl diff --git a/Sindbad/src/Models/rainIntensity/rainIntensity.jl b/SindbadCore/src/Models/rainIntensity/rainIntensity.jl similarity index 100% rename from Sindbad/src/Models/rainIntensity/rainIntensity.jl rename to SindbadCore/src/Models/rainIntensity/rainIntensity.jl diff --git a/Sindbad/src/Models/rainIntensity/rainIntensity_forcing.jl b/SindbadCore/src/Models/rainIntensity/rainIntensity_forcing.jl similarity index 100% rename from Sindbad/src/Models/rainIntensity/rainIntensity_forcing.jl rename to SindbadCore/src/Models/rainIntensity/rainIntensity_forcing.jl diff --git a/Sindbad/src/Models/rainIntensity/rainIntensity_simple.jl b/SindbadCore/src/Models/rainIntensity/rainIntensity_simple.jl similarity index 100% rename from Sindbad/src/Models/rainIntensity/rainIntensity_simple.jl rename to SindbadCore/src/Models/rainIntensity/rainIntensity_simple.jl diff --git a/Sindbad/src/Models/rainSnow/rainSnow.jl b/SindbadCore/src/Models/rainSnow/rainSnow.jl similarity index 100% rename from Sindbad/src/Models/rainSnow/rainSnow.jl rename to SindbadCore/src/Models/rainSnow/rainSnow.jl diff --git a/Sindbad/src/Models/rainSnow/rainSnow_Tair.jl b/SindbadCore/src/Models/rainSnow/rainSnow_Tair.jl similarity index 100% rename from Sindbad/src/Models/rainSnow/rainSnow_Tair.jl rename to SindbadCore/src/Models/rainSnow/rainSnow_Tair.jl diff --git a/Sindbad/src/Models/rainSnow/rainSnow_forcing.jl b/SindbadCore/src/Models/rainSnow/rainSnow_forcing.jl similarity index 100% rename from Sindbad/src/Models/rainSnow/rainSnow_forcing.jl rename to SindbadCore/src/Models/rainSnow/rainSnow_forcing.jl diff --git a/Sindbad/src/Models/rainSnow/rainSnow_rain.jl b/SindbadCore/src/Models/rainSnow/rainSnow_rain.jl similarity index 100% rename from Sindbad/src/Models/rainSnow/rainSnow_rain.jl rename to SindbadCore/src/Models/rainSnow/rainSnow_rain.jl diff --git a/Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth.jl b/SindbadCore/src/Models/rootMaximumDepth/rootMaximumDepth.jl similarity index 100% rename from Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth.jl rename to SindbadCore/src/Models/rootMaximumDepth/rootMaximumDepth.jl diff --git a/Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl b/SindbadCore/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl similarity index 100% rename from Sindbad/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl rename to SindbadCore/src/Models/rootMaximumDepth/rootMaximumDepth_fracSoilD.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_constant.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_expCvegRoot.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2Layer.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fRD.jl diff --git a/Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl b/SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl similarity index 100% rename from Sindbad/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl rename to SindbadCore/src/Models/rootWaterEfficiency/rootWaterEfficiency_k2fvegFraction.jl diff --git a/Sindbad/src/Models/rootWaterUptake/rootWaterUptake.jl b/SindbadCore/src/Models/rootWaterUptake/rootWaterUptake.jl similarity index 100% rename from Sindbad/src/Models/rootWaterUptake/rootWaterUptake.jl rename to SindbadCore/src/Models/rootWaterUptake/rootWaterUptake.jl diff --git a/Sindbad/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl b/SindbadCore/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl similarity index 100% rename from Sindbad/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl rename to SindbadCore/src/Models/rootWaterUptake/rootWaterUptake_proportion.jl diff --git a/Sindbad/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl b/SindbadCore/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl similarity index 100% rename from Sindbad/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl rename to SindbadCore/src/Models/rootWaterUptake/rootWaterUptake_topBottom.jl diff --git a/Sindbad/src/Models/runModels.jl b/SindbadCore/src/Models/runModels.jl similarity index 100% rename from Sindbad/src/Models/runModels.jl rename to SindbadCore/src/Models/runModels.jl diff --git a/Sindbad/src/Models/runoff/runoff.jl b/SindbadCore/src/Models/runoff/runoff.jl similarity index 100% rename from Sindbad/src/Models/runoff/runoff.jl rename to SindbadCore/src/Models/runoff/runoff.jl diff --git a/Sindbad/src/Models/runoff/runoff_sum.jl b/SindbadCore/src/Models/runoff/runoff_sum.jl similarity index 100% rename from Sindbad/src/Models/runoff/runoff_sum.jl rename to SindbadCore/src/Models/runoff/runoff_sum.jl diff --git a/Sindbad/src/Models/runoffBase/runoffBase.jl b/SindbadCore/src/Models/runoffBase/runoffBase.jl similarity index 100% rename from Sindbad/src/Models/runoffBase/runoffBase.jl rename to SindbadCore/src/Models/runoffBase/runoffBase.jl diff --git a/Sindbad/src/Models/runoffBase/runoffBase_Zhang2008.jl b/SindbadCore/src/Models/runoffBase/runoffBase_Zhang2008.jl similarity index 100% rename from Sindbad/src/Models/runoffBase/runoffBase_Zhang2008.jl rename to SindbadCore/src/Models/runoffBase/runoffBase_Zhang2008.jl diff --git a/Sindbad/src/Models/runoffBase/runoffBase_none.jl b/SindbadCore/src/Models/runoffBase/runoffBase_none.jl similarity index 100% rename from Sindbad/src/Models/runoffBase/runoffBase_none.jl rename to SindbadCore/src/Models/runoffBase/runoffBase_none.jl diff --git a/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl b/SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl similarity index 100% rename from Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl rename to SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess.jl diff --git a/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl b/SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl similarity index 100% rename from Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl rename to SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_Jung.jl diff --git a/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl b/SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl similarity index 100% rename from Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl rename to SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_kUnsat.jl diff --git a/Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl b/SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl similarity index 100% rename from Sindbad/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl rename to SindbadCore/src/Models/runoffInfiltrationExcess/runoffInfiltrationExcess_none.jl diff --git a/Sindbad/src/Models/runoffInterflow/runoffInterflow.jl b/SindbadCore/src/Models/runoffInterflow/runoffInterflow.jl similarity index 100% rename from Sindbad/src/Models/runoffInterflow/runoffInterflow.jl rename to SindbadCore/src/Models/runoffInterflow/runoffInterflow.jl diff --git a/Sindbad/src/Models/runoffInterflow/runoffInterflow_none.jl b/SindbadCore/src/Models/runoffInterflow/runoffInterflow_none.jl similarity index 100% rename from Sindbad/src/Models/runoffInterflow/runoffInterflow_none.jl rename to SindbadCore/src/Models/runoffInterflow/runoffInterflow_none.jl diff --git a/Sindbad/src/Models/runoffInterflow/runoffInterflow_residual.jl b/SindbadCore/src/Models/runoffInterflow/runoffInterflow_residual.jl similarity index 100% rename from Sindbad/src/Models/runoffInterflow/runoffInterflow_residual.jl rename to SindbadCore/src/Models/runoffInterflow/runoffInterflow_residual.jl diff --git a/Sindbad/src/Models/runoffOverland/runoffOverland.jl b/SindbadCore/src/Models/runoffOverland/runoffOverland.jl similarity index 100% rename from Sindbad/src/Models/runoffOverland/runoffOverland.jl rename to SindbadCore/src/Models/runoffOverland/runoffOverland.jl diff --git a/Sindbad/src/Models/runoffOverland/runoffOverland_Inf.jl b/SindbadCore/src/Models/runoffOverland/runoffOverland_Inf.jl similarity index 100% rename from Sindbad/src/Models/runoffOverland/runoffOverland_Inf.jl rename to SindbadCore/src/Models/runoffOverland/runoffOverland_Inf.jl diff --git a/Sindbad/src/Models/runoffOverland/runoffOverland_InfIntSat.jl b/SindbadCore/src/Models/runoffOverland/runoffOverland_InfIntSat.jl similarity index 100% rename from Sindbad/src/Models/runoffOverland/runoffOverland_InfIntSat.jl rename to SindbadCore/src/Models/runoffOverland/runoffOverland_InfIntSat.jl diff --git a/Sindbad/src/Models/runoffOverland/runoffOverland_Sat.jl b/SindbadCore/src/Models/runoffOverland/runoffOverland_Sat.jl similarity index 100% rename from Sindbad/src/Models/runoffOverland/runoffOverland_Sat.jl rename to SindbadCore/src/Models/runoffOverland/runoffOverland_Sat.jl diff --git a/Sindbad/src/Models/runoffOverland/runoffOverland_none.jl b/SindbadCore/src/Models/runoffOverland/runoffOverland_none.jl similarity index 100% rename from Sindbad/src/Models/runoffOverland/runoffOverland_none.jl rename to SindbadCore/src/Models/runoffOverland/runoffOverland_none.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992MixedVegFraction.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFraction.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionFroSoil.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Bergstroem1992VegFractionPFT.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_Zhang2008.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_none.jl diff --git a/Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl b/SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl similarity index 100% rename from Sindbad/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl rename to SindbadCore/src/Models/runoffSaturationExcess/runoffSaturationExcess_satFraction.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_Orth2013.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_Orth2013.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_Orth2013.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_Orth2013.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_Trautmann2018.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_all.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_all.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_all.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_all.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_directIndirect.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_directIndirect.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_directIndirect.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_directIndirect.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_directIndirectFroSoil.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_indirect.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_indirect.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_indirect.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_indirect.jl diff --git a/Sindbad/src/Models/runoffSurface/runoffSurface_none.jl b/SindbadCore/src/Models/runoffSurface/runoffSurface_none.jl similarity index 100% rename from Sindbad/src/Models/runoffSurface/runoffSurface_none.jl rename to SindbadCore/src/Models/runoffSurface/runoffSurface_none.jl diff --git a/Sindbad/src/Models/saturatedFraction/saturatedFraction.jl b/SindbadCore/src/Models/saturatedFraction/saturatedFraction.jl similarity index 100% rename from Sindbad/src/Models/saturatedFraction/saturatedFraction.jl rename to SindbadCore/src/Models/saturatedFraction/saturatedFraction.jl diff --git a/Sindbad/src/Models/saturatedFraction/saturatedFraction_none.jl b/SindbadCore/src/Models/saturatedFraction/saturatedFraction_none.jl similarity index 100% rename from Sindbad/src/Models/saturatedFraction/saturatedFraction_none.jl rename to SindbadCore/src/Models/saturatedFraction/saturatedFraction_none.jl diff --git a/Sindbad/src/Models/snowFraction/snowFraction.jl b/SindbadCore/src/Models/snowFraction/snowFraction.jl similarity index 100% rename from Sindbad/src/Models/snowFraction/snowFraction.jl rename to SindbadCore/src/Models/snowFraction/snowFraction.jl diff --git a/Sindbad/src/Models/snowFraction/snowFraction_HTESSEL.jl b/SindbadCore/src/Models/snowFraction/snowFraction_HTESSEL.jl similarity index 100% rename from Sindbad/src/Models/snowFraction/snowFraction_HTESSEL.jl rename to SindbadCore/src/Models/snowFraction/snowFraction_HTESSEL.jl diff --git a/Sindbad/src/Models/snowFraction/snowFraction_binary.jl b/SindbadCore/src/Models/snowFraction/snowFraction_binary.jl similarity index 100% rename from Sindbad/src/Models/snowFraction/snowFraction_binary.jl rename to SindbadCore/src/Models/snowFraction/snowFraction_binary.jl diff --git a/Sindbad/src/Models/snowFraction/snowFraction_none.jl b/SindbadCore/src/Models/snowFraction/snowFraction_none.jl similarity index 100% rename from Sindbad/src/Models/snowFraction/snowFraction_none.jl rename to SindbadCore/src/Models/snowFraction/snowFraction_none.jl diff --git a/Sindbad/src/Models/snowMelt/snowMelt.jl b/SindbadCore/src/Models/snowMelt/snowMelt.jl similarity index 100% rename from Sindbad/src/Models/snowMelt/snowMelt.jl rename to SindbadCore/src/Models/snowMelt/snowMelt.jl diff --git a/Sindbad/src/Models/snowMelt/snowMelt_Tair.jl b/SindbadCore/src/Models/snowMelt/snowMelt_Tair.jl similarity index 100% rename from Sindbad/src/Models/snowMelt/snowMelt_Tair.jl rename to SindbadCore/src/Models/snowMelt/snowMelt_Tair.jl diff --git a/Sindbad/src/Models/snowMelt/snowMelt_TairRn.jl b/SindbadCore/src/Models/snowMelt/snowMelt_TairRn.jl similarity index 100% rename from Sindbad/src/Models/snowMelt/snowMelt_TairRn.jl rename to SindbadCore/src/Models/snowMelt/snowMelt_TairRn.jl diff --git a/Sindbad/src/Models/soilProperties/soilProperties.jl b/SindbadCore/src/Models/soilProperties/soilProperties.jl similarity index 100% rename from Sindbad/src/Models/soilProperties/soilProperties.jl rename to SindbadCore/src/Models/soilProperties/soilProperties.jl diff --git a/Sindbad/src/Models/soilProperties/soilProperties_Saxton1986.jl b/SindbadCore/src/Models/soilProperties/soilProperties_Saxton1986.jl similarity index 100% rename from Sindbad/src/Models/soilProperties/soilProperties_Saxton1986.jl rename to SindbadCore/src/Models/soilProperties/soilProperties_Saxton1986.jl diff --git a/Sindbad/src/Models/soilProperties/soilProperties_Saxton2006.jl b/SindbadCore/src/Models/soilProperties/soilProperties_Saxton2006.jl similarity index 100% rename from Sindbad/src/Models/soilProperties/soilProperties_Saxton2006.jl rename to SindbadCore/src/Models/soilProperties/soilProperties_Saxton2006.jl diff --git a/Sindbad/src/Models/soilTexture/soilTexture.jl b/SindbadCore/src/Models/soilTexture/soilTexture.jl similarity index 100% rename from Sindbad/src/Models/soilTexture/soilTexture.jl rename to SindbadCore/src/Models/soilTexture/soilTexture.jl diff --git a/Sindbad/src/Models/soilTexture/soilTexture_constant.jl b/SindbadCore/src/Models/soilTexture/soilTexture_constant.jl similarity index 100% rename from Sindbad/src/Models/soilTexture/soilTexture_constant.jl rename to SindbadCore/src/Models/soilTexture/soilTexture_constant.jl diff --git a/Sindbad/src/Models/soilTexture/soilTexture_forcing.jl b/SindbadCore/src/Models/soilTexture/soilTexture_forcing.jl similarity index 100% rename from Sindbad/src/Models/soilTexture/soilTexture_forcing.jl rename to SindbadCore/src/Models/soilTexture/soilTexture_forcing.jl diff --git a/Sindbad/src/Models/soilWBase/soilWBase.jl b/SindbadCore/src/Models/soilWBase/soilWBase.jl similarity index 100% rename from Sindbad/src/Models/soilWBase/soilWBase.jl rename to SindbadCore/src/Models/soilWBase/soilWBase.jl diff --git a/Sindbad/src/Models/soilWBase/soilWBase_smax1Layer.jl b/SindbadCore/src/Models/soilWBase/soilWBase_smax1Layer.jl similarity index 100% rename from Sindbad/src/Models/soilWBase/soilWBase_smax1Layer.jl rename to SindbadCore/src/Models/soilWBase/soilWBase_smax1Layer.jl diff --git a/Sindbad/src/Models/soilWBase/soilWBase_smax2Layer.jl b/SindbadCore/src/Models/soilWBase/soilWBase_smax2Layer.jl similarity index 100% rename from Sindbad/src/Models/soilWBase/soilWBase_smax2Layer.jl rename to SindbadCore/src/Models/soilWBase/soilWBase_smax2Layer.jl diff --git a/Sindbad/src/Models/soilWBase/soilWBase_smax2fRD4.jl b/SindbadCore/src/Models/soilWBase/soilWBase_smax2fRD4.jl similarity index 100% rename from Sindbad/src/Models/soilWBase/soilWBase_smax2fRD4.jl rename to SindbadCore/src/Models/soilWBase/soilWBase_smax2fRD4.jl diff --git a/Sindbad/src/Models/soilWBase/soilWBase_uniform.jl b/SindbadCore/src/Models/soilWBase/soilWBase_uniform.jl similarity index 100% rename from Sindbad/src/Models/soilWBase/soilWBase_uniform.jl rename to SindbadCore/src/Models/soilWBase/soilWBase_uniform.jl diff --git a/Sindbad/src/Models/standardSindbadModels.jl b/SindbadCore/src/Models/standardSindbadModels.jl similarity index 100% rename from Sindbad/src/Models/standardSindbadModels.jl rename to SindbadCore/src/Models/standardSindbadModels.jl diff --git a/Sindbad/src/Models/sublimation/sublimation.jl b/SindbadCore/src/Models/sublimation/sublimation.jl similarity index 100% rename from Sindbad/src/Models/sublimation/sublimation.jl rename to SindbadCore/src/Models/sublimation/sublimation.jl diff --git a/Sindbad/src/Models/sublimation/sublimation_GLEAM.jl b/SindbadCore/src/Models/sublimation/sublimation_GLEAM.jl similarity index 100% rename from Sindbad/src/Models/sublimation/sublimation_GLEAM.jl rename to SindbadCore/src/Models/sublimation/sublimation_GLEAM.jl diff --git a/Sindbad/src/Models/sublimation/sublimation_none.jl b/SindbadCore/src/Models/sublimation/sublimation_none.jl similarity index 100% rename from Sindbad/src/Models/sublimation/sublimation_none.jl rename to SindbadCore/src/Models/sublimation/sublimation_none.jl diff --git a/Sindbad/src/Models/transpiration/transpiration.jl b/SindbadCore/src/Models/transpiration/transpiration.jl similarity index 100% rename from Sindbad/src/Models/transpiration/transpiration.jl rename to SindbadCore/src/Models/transpiration/transpiration.jl diff --git a/Sindbad/src/Models/transpiration/transpiration_coupled.jl b/SindbadCore/src/Models/transpiration/transpiration_coupled.jl similarity index 100% rename from Sindbad/src/Models/transpiration/transpiration_coupled.jl rename to SindbadCore/src/Models/transpiration/transpiration_coupled.jl diff --git a/Sindbad/src/Models/transpiration/transpiration_demandSupply.jl b/SindbadCore/src/Models/transpiration/transpiration_demandSupply.jl similarity index 100% rename from Sindbad/src/Models/transpiration/transpiration_demandSupply.jl rename to SindbadCore/src/Models/transpiration/transpiration_demandSupply.jl diff --git a/Sindbad/src/Models/transpiration/transpiration_none.jl b/SindbadCore/src/Models/transpiration/transpiration_none.jl similarity index 100% rename from Sindbad/src/Models/transpiration/transpiration_none.jl rename to SindbadCore/src/Models/transpiration/transpiration_none.jl diff --git a/Sindbad/src/Models/transpirationDemand/transpirationDemand.jl b/SindbadCore/src/Models/transpirationDemand/transpirationDemand.jl similarity index 100% rename from Sindbad/src/Models/transpirationDemand/transpirationDemand.jl rename to SindbadCore/src/Models/transpirationDemand/transpirationDemand.jl diff --git a/Sindbad/src/Models/transpirationDemand/transpirationDemand_CASA.jl b/SindbadCore/src/Models/transpirationDemand/transpirationDemand_CASA.jl similarity index 100% rename from Sindbad/src/Models/transpirationDemand/transpirationDemand_CASA.jl rename to SindbadCore/src/Models/transpirationDemand/transpirationDemand_CASA.jl diff --git a/Sindbad/src/Models/transpirationDemand/transpirationDemand_PET.jl b/SindbadCore/src/Models/transpirationDemand/transpirationDemand_PET.jl similarity index 100% rename from Sindbad/src/Models/transpirationDemand/transpirationDemand_PET.jl rename to SindbadCore/src/Models/transpirationDemand/transpirationDemand_PET.jl diff --git a/Sindbad/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl b/SindbadCore/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl similarity index 100% rename from Sindbad/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl rename to SindbadCore/src/Models/transpirationDemand/transpirationDemand_PETfAPAR.jl diff --git a/Sindbad/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl b/SindbadCore/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl similarity index 100% rename from Sindbad/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl rename to SindbadCore/src/Models/transpirationDemand/transpirationDemand_PETvegFraction.jl diff --git a/Sindbad/src/Models/transpirationSupply/transpirationSupply.jl b/SindbadCore/src/Models/transpirationSupply/transpirationSupply.jl similarity index 100% rename from Sindbad/src/Models/transpirationSupply/transpirationSupply.jl rename to SindbadCore/src/Models/transpirationSupply/transpirationSupply.jl diff --git a/Sindbad/src/Models/transpirationSupply/transpirationSupply_CASA.jl b/SindbadCore/src/Models/transpirationSupply/transpirationSupply_CASA.jl similarity index 100% rename from Sindbad/src/Models/transpirationSupply/transpirationSupply_CASA.jl rename to SindbadCore/src/Models/transpirationSupply/transpirationSupply_CASA.jl diff --git a/Sindbad/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl b/SindbadCore/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl similarity index 100% rename from Sindbad/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl rename to SindbadCore/src/Models/transpirationSupply/transpirationSupply_Federer1982.jl diff --git a/Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWC.jl b/SindbadCore/src/Models/transpirationSupply/transpirationSupply_wAWC.jl similarity index 100% rename from Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWC.jl rename to SindbadCore/src/Models/transpirationSupply/transpirationSupply_wAWC.jl diff --git a/Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl b/SindbadCore/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl similarity index 100% rename from Sindbad/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl rename to SindbadCore/src/Models/transpirationSupply/transpirationSupply_wAWCvegFraction.jl diff --git a/Sindbad/src/Models/treeFraction/treeFraction.jl b/SindbadCore/src/Models/treeFraction/treeFraction.jl similarity index 100% rename from Sindbad/src/Models/treeFraction/treeFraction.jl rename to SindbadCore/src/Models/treeFraction/treeFraction.jl diff --git a/Sindbad/src/Models/treeFraction/treeFraction_constant.jl b/SindbadCore/src/Models/treeFraction/treeFraction_constant.jl similarity index 100% rename from Sindbad/src/Models/treeFraction/treeFraction_constant.jl rename to SindbadCore/src/Models/treeFraction/treeFraction_constant.jl diff --git a/Sindbad/src/Models/treeFraction/treeFraction_forcing.jl b/SindbadCore/src/Models/treeFraction/treeFraction_forcing.jl similarity index 100% rename from Sindbad/src/Models/treeFraction/treeFraction_forcing.jl rename to SindbadCore/src/Models/treeFraction/treeFraction_forcing.jl diff --git a/Sindbad/src/Models/vegAvailableWater/vegAvailableWater.jl b/SindbadCore/src/Models/vegAvailableWater/vegAvailableWater.jl similarity index 100% rename from Sindbad/src/Models/vegAvailableWater/vegAvailableWater.jl rename to SindbadCore/src/Models/vegAvailableWater/vegAvailableWater.jl diff --git a/Sindbad/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl b/SindbadCore/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl similarity index 100% rename from Sindbad/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl rename to SindbadCore/src/Models/vegAvailableWater/vegAvailableWater_rootWaterEfficiency.jl diff --git a/Sindbad/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl b/SindbadCore/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl similarity index 100% rename from Sindbad/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl rename to SindbadCore/src/Models/vegAvailableWater/vegAvailableWater_sigmoid.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction.jl b/SindbadCore/src/Models/vegFraction/vegFraction.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction.jl rename to SindbadCore/src/Models/vegFraction/vegFraction.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_constant.jl b/SindbadCore/src/Models/vegFraction/vegFraction_constant.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_constant.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_constant.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_forcing.jl b/SindbadCore/src/Models/vegFraction/vegFraction_forcing.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_forcing.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_forcing.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_scaledEVI.jl b/SindbadCore/src/Models/vegFraction/vegFraction_scaledEVI.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_scaledEVI.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_scaledEVI.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_scaledLAI.jl b/SindbadCore/src/Models/vegFraction/vegFraction_scaledLAI.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_scaledLAI.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_scaledLAI.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_scaledNDVI.jl b/SindbadCore/src/Models/vegFraction/vegFraction_scaledNDVI.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_scaledNDVI.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_scaledNDVI.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_scaledNIRv.jl b/SindbadCore/src/Models/vegFraction/vegFraction_scaledNIRv.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_scaledNIRv.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_scaledNIRv.jl diff --git a/Sindbad/src/Models/vegFraction/vegFraction_scaledfAPAR.jl b/SindbadCore/src/Models/vegFraction/vegFraction_scaledfAPAR.jl similarity index 100% rename from Sindbad/src/Models/vegFraction/vegFraction_scaledfAPAR.jl rename to SindbadCore/src/Models/vegFraction/vegFraction_scaledfAPAR.jl diff --git a/Sindbad/src/Models/wCycle/wCycle.jl b/SindbadCore/src/Models/wCycle/wCycle.jl similarity index 100% rename from Sindbad/src/Models/wCycle/wCycle.jl rename to SindbadCore/src/Models/wCycle/wCycle.jl diff --git a/Sindbad/src/Models/wCycle/wCycle_combined.jl b/SindbadCore/src/Models/wCycle/wCycle_combined.jl similarity index 100% rename from Sindbad/src/Models/wCycle/wCycle_combined.jl rename to SindbadCore/src/Models/wCycle/wCycle_combined.jl diff --git a/Sindbad/src/Models/wCycle/wCycle_components.jl b/SindbadCore/src/Models/wCycle/wCycle_components.jl similarity index 100% rename from Sindbad/src/Models/wCycle/wCycle_components.jl rename to SindbadCore/src/Models/wCycle/wCycle_components.jl diff --git a/Sindbad/src/Models/wCycleBase/wCycleBase.jl b/SindbadCore/src/Models/wCycleBase/wCycleBase.jl similarity index 100% rename from Sindbad/src/Models/wCycleBase/wCycleBase.jl rename to SindbadCore/src/Models/wCycleBase/wCycleBase.jl diff --git a/Sindbad/src/Models/wCycleBase/wCycleBase_simple.jl b/SindbadCore/src/Models/wCycleBase/wCycleBase_simple.jl similarity index 100% rename from Sindbad/src/Models/wCycleBase/wCycleBase_simple.jl rename to SindbadCore/src/Models/wCycleBase/wCycleBase_simple.jl diff --git a/Sindbad/src/Models/waterBalance/waterBalance.jl b/SindbadCore/src/Models/waterBalance/waterBalance.jl similarity index 100% rename from Sindbad/src/Models/waterBalance/waterBalance.jl rename to SindbadCore/src/Models/waterBalance/waterBalance.jl diff --git a/Sindbad/src/Models/waterBalance/waterBalance_simple.jl b/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl similarity index 96% rename from Sindbad/src/Models/waterBalance/waterBalance_simple.jl rename to SindbadCore/src/Models/waterBalance/waterBalance_simple.jl index 39d410e6b..f55563456 100644 --- a/Sindbad/src/Models/waterBalance/waterBalance_simple.jl +++ b/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl @@ -9,8 +9,8 @@ function throwError(forcing, land, msg, water_balance, total_water, total_water_ @show forcing println(msg) if hasproperty(Sindbad, :error_catcher) - push!(Sindbad.error_catcher, land) - push!(Sindbad.error_catcher, msg) + push!(SindbadCore.error_catcher, land) + push!(SindbadCore.error_catcher, msg) end error(msg) end diff --git a/Sindbad/src/Sindbad.jl b/SindbadCore/src/SindbadCore.jl similarity index 99% rename from Sindbad/src/Sindbad.jl rename to SindbadCore/src/SindbadCore.jl index f652bba67..98f704f0c 100644 --- a/Sindbad/src/Sindbad.jl +++ b/SindbadCore/src/SindbadCore.jl @@ -68,7 +68,7 @@ using Sindbad catalog = getVariableCatalog() ``` """ -module Sindbad +module SindbadCore using Reexport: @reexport @reexport using Reexport @reexport using Pkg @@ -85,7 +85,7 @@ module Sindbad using Crayons # @reexport using Crayons - # create a tmp_ file for tracking the creation of new approaches. This is needed because precompiler is not consistently loading the newly created approaches. This file is appended every time a new model/approach is created which forces precompile in the next use of Sindbad. + # create a tmp_ file for tracking the creation of new approaches. This is needed because precompiler is not consistently loading the newly created approaches. This file is appended every time a new model/approach is created which forces precompile in the next use of SindbadCore. file_path = file_path = joinpath(@__DIR__, "tmp_precompile_placeholder.jl") # Check if the file exists if isfile(file_path) diff --git a/Sindbad/src/Types/ArrayTypes.jl b/SindbadCore/src/Types/ArrayTypes.jl similarity index 100% rename from Sindbad/src/Types/ArrayTypes.jl rename to SindbadCore/src/Types/ArrayTypes.jl diff --git a/Sindbad/src/Types/ExperimentTypes.jl b/SindbadCore/src/Types/ExperimentTypes.jl similarity index 100% rename from Sindbad/src/Types/ExperimentTypes.jl rename to SindbadCore/src/Types/ExperimentTypes.jl diff --git a/Sindbad/src/Types/InputTypes.jl b/SindbadCore/src/Types/InputTypes.jl similarity index 100% rename from Sindbad/src/Types/InputTypes.jl rename to SindbadCore/src/Types/InputTypes.jl diff --git a/Sindbad/src/Types/LandTypes.jl b/SindbadCore/src/Types/LandTypes.jl similarity index 100% rename from Sindbad/src/Types/LandTypes.jl rename to SindbadCore/src/Types/LandTypes.jl diff --git a/Sindbad/src/Types/LongTuple.jl b/SindbadCore/src/Types/LongTuple.jl similarity index 100% rename from Sindbad/src/Types/LongTuple.jl rename to SindbadCore/src/Types/LongTuple.jl diff --git a/Sindbad/src/Types/MLTypes.jl b/SindbadCore/src/Types/MLTypes.jl similarity index 100% rename from Sindbad/src/Types/MLTypes.jl rename to SindbadCore/src/Types/MLTypes.jl diff --git a/Sindbad/src/Types/MetricsTypes.jl b/SindbadCore/src/Types/MetricsTypes.jl similarity index 100% rename from Sindbad/src/Types/MetricsTypes.jl rename to SindbadCore/src/Types/MetricsTypes.jl diff --git a/Sindbad/src/Types/ModelTypes.jl b/SindbadCore/src/Types/ModelTypes.jl similarity index 100% rename from Sindbad/src/Types/ModelTypes.jl rename to SindbadCore/src/Types/ModelTypes.jl diff --git a/Sindbad/src/Types/OptimizationTypes.jl b/SindbadCore/src/Types/OptimizationTypes.jl similarity index 100% rename from Sindbad/src/Types/OptimizationTypes.jl rename to SindbadCore/src/Types/OptimizationTypes.jl diff --git a/Sindbad/src/Types/SpinupTypes.jl b/SindbadCore/src/Types/SpinupTypes.jl similarity index 100% rename from Sindbad/src/Types/SpinupTypes.jl rename to SindbadCore/src/Types/SpinupTypes.jl diff --git a/Sindbad/src/Types/TimeTypes.jl b/SindbadCore/src/Types/TimeTypes.jl similarity index 100% rename from Sindbad/src/Types/TimeTypes.jl rename to SindbadCore/src/Types/TimeTypes.jl diff --git a/Sindbad/src/Types/Types.jl b/SindbadCore/src/Types/Types.jl similarity index 100% rename from Sindbad/src/Types/Types.jl rename to SindbadCore/src/Types/Types.jl diff --git a/Sindbad/src/Types/TypesFunctions.jl b/SindbadCore/src/Types/TypesFunctions.jl similarity index 100% rename from Sindbad/src/Types/TypesFunctions.jl rename to SindbadCore/src/Types/TypesFunctions.jl diff --git a/Sindbad/src/Types/docStringForTypes.jl b/SindbadCore/src/Types/docStringForTypes.jl similarity index 93% rename from Sindbad/src/Types/docStringForTypes.jl rename to SindbadCore/src/Types/docStringForTypes.jl index c09fed978..5a058dfb8 100644 --- a/Sindbad/src/Types/docStringForTypes.jl +++ b/SindbadCore/src/Types/docStringForTypes.jl @@ -27,7 +27,7 @@ Abstract type for all array types in SINDBAD """ -Sindbad.Types.ArrayTypes +SindbadCore.Types.ArrayTypes @doc """ @@ -52,7 +52,7 @@ Abstract type for internal model array types in SINDBAD """ -Sindbad.Types.ModelArrayType +SindbadCore.Types.ModelArrayType @doc """ @@ -66,7 +66,7 @@ Use standard Julia arrays for model variables """ -Sindbad.Types.ModelArrayArray +SindbadCore.Types.ModelArrayArray @doc """ @@ -80,7 +80,7 @@ Use StaticArrays for model variables """ -Sindbad.Types.ModelArrayStaticArray +SindbadCore.Types.ModelArrayStaticArray @doc """ @@ -94,7 +94,7 @@ Use array views for model variables """ -Sindbad.Types.ModelArrayView +SindbadCore.Types.ModelArrayView @doc """ @@ -120,7 +120,7 @@ Abstract type for output array types in SINDBAD """ -Sindbad.Types.OutputArrayType +SindbadCore.Types.OutputArrayType @doc """ @@ -134,7 +134,7 @@ Use standard Julia arrays for output """ -Sindbad.Types.OutputArray +SindbadCore.Types.OutputArray @doc """ @@ -148,7 +148,7 @@ Use MArray for output """ -Sindbad.Types.OutputMArray +SindbadCore.Types.OutputMArray @doc """ @@ -162,7 +162,7 @@ Use SizedArray for output """ -Sindbad.Types.OutputSizedArray +SindbadCore.Types.OutputSizedArray @doc """ @@ -176,7 +176,7 @@ Use YAXArray for output """ -Sindbad.Types.OutputYAXArray +SindbadCore.Types.OutputYAXArray @doc """ @@ -227,7 +227,7 @@ Abstract type for model run flags and experimental setup and simulations in SIND """ -Sindbad.Types.ExperimentTypes +SindbadCore.Types.ExperimentTypes @doc """ @@ -253,7 +253,7 @@ Abstract type for model output strategies in SINDBAD """ -Sindbad.Types.OutputStrategy +SindbadCore.Types.OutputStrategy @doc """ @@ -267,7 +267,7 @@ Disable output of all model variables """ -Sindbad.Types.DoNotOutputAll +SindbadCore.Types.DoNotOutputAll @doc """ @@ -281,7 +281,7 @@ Save output variables in separate files """ -Sindbad.Types.DoNotSaveSingleFile +SindbadCore.Types.DoNotSaveSingleFile @doc """ @@ -295,7 +295,7 @@ Enable output of all model variables """ -Sindbad.Types.DoOutputAll +SindbadCore.Types.DoOutputAll @doc """ @@ -309,7 +309,7 @@ Save all output variables in a single file """ -Sindbad.Types.DoSaveSingleFile +SindbadCore.Types.DoSaveSingleFile @doc """ @@ -333,7 +333,7 @@ Abstract type for using different parallelization packages in SINDBAD """ -Sindbad.Types.ParallelizationPackage +SindbadCore.Types.ParallelizationPackage @doc """ @@ -347,7 +347,7 @@ Use Qbmap for parallelization """ -Sindbad.Types.QbmapParallelization +SindbadCore.Types.QbmapParallelization @doc """ @@ -361,7 +361,7 @@ Use Julia threads for parallelization """ -Sindbad.Types.ThreadsParallelization +SindbadCore.Types.ThreadsParallelization @doc """ @@ -403,7 +403,7 @@ Abstract type for model run configuration flags in SINDBAD """ -Sindbad.Types.RunFlag +SindbadCore.Types.RunFlag @doc """ @@ -417,7 +417,7 @@ Enable cost calculation between model output and observations """ -Sindbad.Types.DoCalcCost +SindbadCore.Types.DoCalcCost @doc """ @@ -431,7 +431,7 @@ Enable model debugging mode """ -Sindbad.Types.DoDebugModel +SindbadCore.Types.DoDebugModel @doc """ @@ -445,7 +445,7 @@ Enable filtering of NaN values in spatial data """ -Sindbad.Types.DoFilterNanPixels +SindbadCore.Types.DoFilterNanPixels @doc """ @@ -459,7 +459,7 @@ Enable inline updates of model state """ -Sindbad.Types.DoInlineUpdate +SindbadCore.Types.DoInlineUpdate @doc """ @@ -473,7 +473,7 @@ Disable cost calculation between model output and observations """ -Sindbad.Types.DoNotCalcCost +SindbadCore.Types.DoNotCalcCost @doc """ @@ -487,7 +487,7 @@ Disable model debugging mode """ -Sindbad.Types.DoNotDebugModel +SindbadCore.Types.DoNotDebugModel @doc """ @@ -501,7 +501,7 @@ Disable filtering of NaN values in spatial data """ -Sindbad.Types.DoNotFilterNanPixels +SindbadCore.Types.DoNotFilterNanPixels @doc """ @@ -515,7 +515,7 @@ Disable inline updates of model state """ -Sindbad.Types.DoNotInlineUpdate +SindbadCore.Types.DoNotInlineUpdate @doc """ @@ -529,7 +529,7 @@ Disable forward model run """ -Sindbad.Types.DoNotRunForward +SindbadCore.Types.DoNotRunForward @doc """ @@ -543,7 +543,7 @@ Disable model parameter optimization """ -Sindbad.Types.DoNotRunOptimization +SindbadCore.Types.DoNotRunOptimization @doc """ @@ -557,7 +557,7 @@ Disable saving of model information """ -Sindbad.Types.DoNotSaveInfo +SindbadCore.Types.DoNotSaveInfo @doc """ @@ -571,7 +571,7 @@ Disable terrestrial ecosystem model spinup """ -Sindbad.Types.DoNotSpinupTEM +SindbadCore.Types.DoNotSpinupTEM @doc """ @@ -585,7 +585,7 @@ Disable storing of spinup results """ -Sindbad.Types.DoNotStoreSpinup +SindbadCore.Types.DoNotStoreSpinup @doc """ @@ -599,7 +599,7 @@ Disable forward mode automatic differentiation """ -Sindbad.Types.DoNotUseForwardDiff +SindbadCore.Types.DoNotUseForwardDiff @doc """ @@ -613,7 +613,7 @@ Enable forward model run """ -Sindbad.Types.DoRunForward +SindbadCore.Types.DoRunForward @doc """ @@ -627,7 +627,7 @@ Enable model parameter optimization """ -Sindbad.Types.DoRunOptimization +SindbadCore.Types.DoRunOptimization @doc """ @@ -641,7 +641,7 @@ Enable saving of model information """ -Sindbad.Types.DoSaveInfo +SindbadCore.Types.DoSaveInfo @doc """ @@ -655,7 +655,7 @@ Enable terrestrial ecosystem model spinup """ -Sindbad.Types.DoSpinupTEM +SindbadCore.Types.DoSpinupTEM @doc """ @@ -669,7 +669,7 @@ Enable storing of spinup results """ -Sindbad.Types.DoStoreSpinup +SindbadCore.Types.DoStoreSpinup @doc """ @@ -683,7 +683,7 @@ Enable forward mode automatic differentiation """ -Sindbad.Types.DoUseForwardDiff +SindbadCore.Types.DoUseForwardDiff @doc """ @@ -725,7 +725,7 @@ Abstract type for input data and processing related options in SINDBAD """ -Sindbad.Types.InputTypes +SindbadCore.Types.InputTypes @doc """ @@ -749,7 +749,7 @@ Abstract type for input data backends in SINDBAD """ -Sindbad.Types.DataFormatBackend +SindbadCore.Types.DataFormatBackend @doc """ @@ -763,7 +763,7 @@ Use NetCDF format for input data """ -Sindbad.Types.BackendNetcdf +SindbadCore.Types.BackendNetcdf @doc """ @@ -777,7 +777,7 @@ Use Zarr format for input data """ -Sindbad.Types.BackendZarr +SindbadCore.Types.BackendZarr @doc """ @@ -791,7 +791,7 @@ Forcing variable with time dimension """ -Sindbad.Types.ForcingWithTime +SindbadCore.Types.ForcingWithTime @doc """ @@ -805,7 +805,7 @@ Forcing variable without time dimension """ -Sindbad.Types.ForcingWithoutTime +SindbadCore.Types.ForcingWithoutTime @doc """ @@ -831,7 +831,7 @@ Abstract type for input data array types in SINDBAD """ -Sindbad.Types.InputArrayBackend +SindbadCore.Types.InputArrayBackend @doc """ @@ -845,7 +845,7 @@ Use standard Julia arrays for input data """ -Sindbad.Types.InputArray +SindbadCore.Types.InputArray @doc """ @@ -859,7 +859,7 @@ Use keyed arrays for input data """ -Sindbad.Types.InputKeyedArray +SindbadCore.Types.InputKeyedArray @doc """ @@ -873,7 +873,7 @@ Use named dimension arrays for input data """ -Sindbad.Types.InputNamedDimsArray +SindbadCore.Types.InputNamedDimsArray @doc """ @@ -887,7 +887,7 @@ Use YAXArray for input data """ -Sindbad.Types.InputYaxArray +SindbadCore.Types.InputYaxArray @doc """ @@ -917,7 +917,7 @@ Abstract type for spatial subsetting methods in SINDBAD """ -Sindbad.Types.SpatialSubsetter +SindbadCore.Types.SpatialSubsetter @doc """ @@ -931,7 +931,7 @@ Use site ID (all caps) for spatial subsetting """ -Sindbad.Types.SpaceID +SindbadCore.Types.SpaceID @doc """ @@ -945,7 +945,7 @@ Use site ID (capitalized) for spatial subsetting """ -Sindbad.Types.SpaceId +SindbadCore.Types.SpaceId @doc """ @@ -959,7 +959,7 @@ Use site ID for spatial subsetting """ -Sindbad.Types.Spaceid +SindbadCore.Types.Spaceid @doc """ @@ -973,7 +973,7 @@ Use latitude for spatial subsetting """ -Sindbad.Types.Spacelat +SindbadCore.Types.Spacelat @doc """ @@ -987,7 +987,7 @@ Use full latitude for spatial subsetting """ -Sindbad.Types.Spacelatitude +SindbadCore.Types.Spacelatitude @doc """ @@ -1001,7 +1001,7 @@ Use longitude for spatial subsetting """ -Sindbad.Types.Spacelon +SindbadCore.Types.Spacelon @doc """ @@ -1015,7 +1015,7 @@ Use full longitude for spatial subsetting """ -Sindbad.Types.Spacelongitude +SindbadCore.Types.Spacelongitude @doc """ @@ -1029,7 +1029,7 @@ Use site location for spatial subsetting """ -Sindbad.Types.Spacesite +SindbadCore.Types.Spacesite @doc """ @@ -1062,7 +1062,7 @@ Abstract type for land related types that are typically used in preparing object """ -Sindbad.Types.LandTypes +SindbadCore.Types.LandTypes @doc """ @@ -1091,7 +1091,7 @@ Abstract type for preallocated land helpers types in prepTEM of SINDBAD """ -Sindbad.Types.PreAlloc +SindbadCore.Types.PreAlloc @doc """ @@ -1105,7 +1105,7 @@ use a preallocated array for model output """ -Sindbad.Types.PreAllocArray +SindbadCore.Types.PreAllocArray @doc """ @@ -1119,7 +1119,7 @@ use a preallocated array to output all land variables """ -Sindbad.Types.PreAllocArrayAll +SindbadCore.Types.PreAllocArrayAll @doc """ @@ -1133,7 +1133,7 @@ use a preallocated array for finite difference (FD) hybrid experiments """ -Sindbad.Types.PreAllocArrayFD +SindbadCore.Types.PreAllocArrayFD @doc """ @@ -1147,7 +1147,7 @@ use arrays of nThreads size for land model output for replicates of multiple thr """ -Sindbad.Types.PreAllocArrayMT +SindbadCore.Types.PreAllocArrayMT @doc """ @@ -1161,7 +1161,7 @@ save output as a stacked vector of land using map over temporal dimension """ -Sindbad.Types.PreAllocStacked +SindbadCore.Types.PreAllocStacked @doc """ @@ -1175,7 +1175,7 @@ save land output as a preallocated vector for time series of land """ -Sindbad.Types.PreAllocTimeseries +SindbadCore.Types.PreAllocTimeseries @doc """ @@ -1189,7 +1189,7 @@ use YAX arrays for model output """ -Sindbad.Types.PreAllocYAXArray +SindbadCore.Types.PreAllocYAXArray @doc """ @@ -1218,7 +1218,7 @@ Abstract type for types in machine learning related methods in SINDBAD """ -Sindbad.Types.MLTypes +SindbadCore.Types.MLTypes @doc """ @@ -1246,7 +1246,7 @@ Abstract type for automatic differentiation or finite differences for gradient c """ -Sindbad.Types.MLGradType +SindbadCore.Types.MLGradType @doc """ @@ -1260,7 +1260,7 @@ Use Enzyme.jl for automatic differentiation """ -Sindbad.Types.EnzymeGrad +SindbadCore.Types.EnzymeGrad @doc """ @@ -1274,7 +1274,7 @@ Use FiniteDiff.jl for finite difference calculations """ -Sindbad.Types.FiniteDiffGrad +SindbadCore.Types.FiniteDiffGrad @doc """ @@ -1288,7 +1288,7 @@ Use FiniteDifferences.jl for finite difference calculations """ -Sindbad.Types.FiniteDifferencesGrad +SindbadCore.Types.FiniteDifferencesGrad @doc """ @@ -1302,7 +1302,7 @@ Use ForwardDiff.jl for automatic differentiation """ -Sindbad.Types.ForwardDiffGrad +SindbadCore.Types.ForwardDiffGrad @doc """ @@ -1316,7 +1316,7 @@ Use PolyesterForwardDiff.jl for automatic differentiation """ -Sindbad.Types.PolyesterForwardDiffGrad +SindbadCore.Types.PolyesterForwardDiffGrad @doc """ @@ -1330,7 +1330,7 @@ Use Zygote.jl for automatic differentiation """ -Sindbad.Types.ZygoteGrad +SindbadCore.Types.ZygoteGrad @doc """ @@ -1385,7 +1385,7 @@ Abstract type for performance metrics and cost calculation methods in SINDBAD """ -Sindbad.Types.MetricTypes +SindbadCore.Types.MetricTypes @doc """ @@ -1409,7 +1409,7 @@ Abstract type for data aggregation order in SINDBAD """ -Sindbad.Types.DataAggrOrder +SindbadCore.Types.DataAggrOrder @doc """ @@ -1423,7 +1423,7 @@ Aggregate data first over space, then over time """ -Sindbad.Types.SpaceTime +SindbadCore.Types.SpaceTime @doc """ @@ -1437,7 +1437,7 @@ Aggregate data first over time, then over space """ -Sindbad.Types.TimeSpace +SindbadCore.Types.TimeSpace @doc """ @@ -1482,7 +1482,7 @@ Abstract type for performance metrics in SINDBAD """ -Sindbad.Types.PerfMetric +SindbadCore.Types.PerfMetric @doc """ @@ -1496,7 +1496,7 @@ Mean Squared Error: Measures the average squared difference between predicted an """ -Sindbad.Types.MSE +SindbadCore.Types.MSE @doc """ @@ -1510,7 +1510,7 @@ Normalized Absolute Mean Error with 1/R scaling: Measures the absolute differenc """ -Sindbad.Types.NAME1R +SindbadCore.Types.NAME1R @doc """ @@ -1524,7 +1524,7 @@ Normalized Mean Absolute Error with 1/R scaling: Measures the average absolute e """ -Sindbad.Types.NMAE1R +SindbadCore.Types.NMAE1R @doc """ @@ -1538,7 +1538,7 @@ Normalized Nash-Sutcliffe Efficiency: Measures model performance relative to the """ -Sindbad.Types.NNSE +SindbadCore.Types.NNSE @doc """ @@ -1552,7 +1552,7 @@ Inverse Normalized Nash-Sutcliffe Efficiency: Inverse of NNSE for minimization p """ -Sindbad.Types.NNSEInv +SindbadCore.Types.NNSEInv @doc """ @@ -1566,7 +1566,7 @@ Normalized Nash-Sutcliffe Efficiency with uncertainty: Incorporates observation """ -Sindbad.Types.NNSEσ +SindbadCore.Types.NNSEσ @doc """ @@ -1580,7 +1580,7 @@ Inverse Normalized Nash-Sutcliffe Efficiency with uncertainty: Inverse of NNSEσ """ -Sindbad.Types.NNSEσInv +SindbadCore.Types.NNSEσInv @doc """ @@ -1594,7 +1594,7 @@ Normalized Pearson Correlation: Measures linear correlation between predictions """ -Sindbad.Types.NPcor +SindbadCore.Types.NPcor @doc """ @@ -1608,7 +1608,7 @@ Inverse Normalized Pearson Correlation: Inverse of NPcor for minimization proble """ -Sindbad.Types.NPcorInv +SindbadCore.Types.NPcorInv @doc """ @@ -1622,7 +1622,7 @@ Nash-Sutcliffe Efficiency: Measures model performance relative to the mean of ob """ -Sindbad.Types.NSE +SindbadCore.Types.NSE @doc """ @@ -1636,7 +1636,7 @@ Inverse Nash-Sutcliffe Efficiency: Inverse of NSE for minimization problems """ -Sindbad.Types.NSEInv +SindbadCore.Types.NSEInv @doc """ @@ -1650,7 +1650,7 @@ Nash-Sutcliffe Efficiency with uncertainty: Incorporates observation uncertainty """ -Sindbad.Types.NSEσ +SindbadCore.Types.NSEσ @doc """ @@ -1664,7 +1664,7 @@ Inverse Nash-Sutcliffe Efficiency with uncertainty: Inverse of NSEσ for minimiz """ -Sindbad.Types.NSEσInv +SindbadCore.Types.NSEσInv @doc """ @@ -1678,7 +1678,7 @@ Normalized Spearman Correlation: Measures monotonic relationship between predict """ -Sindbad.Types.NScor +SindbadCore.Types.NScor @doc """ @@ -1692,7 +1692,7 @@ Inverse Normalized Spearman Correlation: Inverse of NScor for minimization probl """ -Sindbad.Types.NScorInv +SindbadCore.Types.NScorInv @doc """ @@ -1706,7 +1706,7 @@ Pearson Correlation: Measures linear correlation between predictions and observa """ -Sindbad.Types.Pcor +SindbadCore.Types.Pcor @doc """ @@ -1720,7 +1720,7 @@ Squared Pearson Correlation: Measures the strength of linear relationship betwee """ -Sindbad.Types.Pcor2 +SindbadCore.Types.Pcor2 @doc """ @@ -1734,7 +1734,7 @@ Inverse Squared Pearson Correlation: Inverse of Pcor2 for minimization problems """ -Sindbad.Types.Pcor2Inv +SindbadCore.Types.Pcor2Inv @doc """ @@ -1748,7 +1748,7 @@ Inverse Pearson Correlation: Inverse of Pcor for minimization problems """ -Sindbad.Types.PcorInv +SindbadCore.Types.PcorInv @doc """ @@ -1762,7 +1762,7 @@ Spearman Correlation: Measures monotonic relationship between predictions and ob """ -Sindbad.Types.Scor +SindbadCore.Types.Scor @doc """ @@ -1776,7 +1776,7 @@ Squared Spearman Correlation: Measures the strength of monotonic relationship be """ -Sindbad.Types.Scor2 +SindbadCore.Types.Scor2 @doc """ @@ -1790,7 +1790,7 @@ Inverse Squared Spearman Correlation: Inverse of Scor2 for minimization problems """ -Sindbad.Types.Scor2Inv +SindbadCore.Types.Scor2Inv @doc """ @@ -1804,7 +1804,7 @@ Inverse Spearman Correlation: Inverse of Scor for minimization problems """ -Sindbad.Types.ScorInv +SindbadCore.Types.ScorInv @doc """ @@ -1818,7 +1818,7 @@ Abstract type for spatial data aggregation methods in SINDBAD """ -Sindbad.Types.SpatialDataAggr +SindbadCore.Types.SpatialDataAggr @doc """ @@ -1844,7 +1844,7 @@ Abstract type for spatial metric aggregation methods in SINDBAD """ -Sindbad.Types.SpatialMetricAggr +SindbadCore.Types.SpatialMetricAggr @doc """ @@ -1858,7 +1858,7 @@ Take maximum value across spatial dimensions """ -Sindbad.Types.MetricMaximum +SindbadCore.Types.MetricMaximum @doc """ @@ -1872,7 +1872,7 @@ Take minimum value across spatial dimensions """ -Sindbad.Types.MetricMinimum +SindbadCore.Types.MetricMinimum @doc """ @@ -1886,7 +1886,7 @@ Apply spatial aggregation to metrics """ -Sindbad.Types.MetricSpatial +SindbadCore.Types.MetricSpatial @doc """ @@ -1900,7 +1900,7 @@ Sum values across spatial dimensions """ -Sindbad.Types.MetricSum +SindbadCore.Types.MetricSum @doc """ @@ -2246,7 +2246,7 @@ Root allocation is further divided into fine (cf2Root) and coarse roots (cf2Root """ -Sindbad.Types.ModelTypes +SindbadCore.Types.ModelTypes @doc """ @@ -2260,7 +2260,7 @@ Enable error catching during model execution """ -Sindbad.Types.DoCatchModelErrors +SindbadCore.Types.DoCatchModelErrors @doc """ @@ -2274,7 +2274,7 @@ Disable error catching during model execution """ -Sindbad.Types.DoNotCatchModelErrors +SindbadCore.Types.DoNotCatchModelErrors @doc """ @@ -2325,7 +2325,7 @@ Abstract type for optimization related functions and methods in SINDBAD """ -Sindbad.Types.OptimizationTypes +SindbadCore.Types.OptimizationTypes @doc """ @@ -2351,7 +2351,7 @@ Abstract type for cost calculation methods in SINDBAD """ -Sindbad.Types.CostMethod +SindbadCore.Types.CostMethod @doc """ @@ -2365,7 +2365,7 @@ cost calculation between model output and observations """ -Sindbad.Types.CostModelObs +SindbadCore.Types.CostModelObs @doc """ @@ -2379,7 +2379,7 @@ cost calculation between land model output and time series observations """ -Sindbad.Types.CostModelObsLandTS +SindbadCore.Types.CostModelObsLandTS @doc """ @@ -2393,7 +2393,7 @@ multi-threaded cost calculation between model output and observations """ -Sindbad.Types.CostModelObsMT +SindbadCore.Types.CostModelObsMT @doc """ @@ -2407,7 +2407,7 @@ cost calculation between model output, observations, and priors. NOTE THAT THIS """ -Sindbad.Types.CostModelObsPriors +SindbadCore.Types.CostModelObsPriors @doc """ @@ -2432,7 +2432,7 @@ Abstract type for global sensitivity analysis methods in SINDBAD """ -Sindbad.Types.GSAMethod +SindbadCore.Types.GSAMethod @doc """ @@ -2446,7 +2446,7 @@ Morris method for global sensitivity analysis """ -Sindbad.Types.GSAMorris +SindbadCore.Types.GSAMorris @doc """ @@ -2460,7 +2460,7 @@ Sobol method for global sensitivity analysis """ -Sindbad.Types.GSASobol +SindbadCore.Types.GSASobol @doc """ @@ -2474,7 +2474,7 @@ Sobol method with derivative-based measures for global sensitivity analysis """ -Sindbad.Types.GSASobolDM +SindbadCore.Types.GSASobolDM @doc """ @@ -2511,7 +2511,7 @@ Abstract type for optimization methods in SINDBAD """ -Sindbad.Types.OptimizationMethod +SindbadCore.Types.OptimizationMethod @doc """ @@ -2525,7 +2525,7 @@ Bayesian Optimization using Matern 5/2 kernel with Automatic Relevance Determina """ -Sindbad.Types.BayesOptKMaternARD5 +SindbadCore.Types.BayesOptKMaternARD5 @doc """ @@ -2539,7 +2539,7 @@ Covariance Matrix Adaptation Evolution Strategy (CMA-ES) from CMAEvolutionStrate """ -Sindbad.Types.CMAEvolutionStrategyCMAES +SindbadCore.Types.CMAEvolutionStrategyCMAES @doc """ @@ -2553,7 +2553,7 @@ Evolutionary version of CMA-ES optimization from Evolutionary.jl """ -Sindbad.Types.EvolutionaryCMAES +SindbadCore.Types.EvolutionaryCMAES @doc """ @@ -2567,7 +2567,7 @@ Broyden-Fletcher-Goldfarb-Shanno (BFGS) from Optim.jl """ -Sindbad.Types.OptimBFGS +SindbadCore.Types.OptimBFGS @doc """ @@ -2581,7 +2581,7 @@ Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) from Optim.jl """ -Sindbad.Types.OptimLBFGS +SindbadCore.Types.OptimLBFGS @doc """ @@ -2595,7 +2595,7 @@ Black Box Optimization with adaptive parameters from Optimization.jl """ -Sindbad.Types.OptimizationBBOadaptive +SindbadCore.Types.OptimizationBBOadaptive @doc """ @@ -2609,7 +2609,7 @@ Black Box Optimization using Natural Evolution Strategy (xNES) from Optimization """ -Sindbad.Types.OptimizationBBOxnes +SindbadCore.Types.OptimizationBBOxnes @doc """ @@ -2623,7 +2623,7 @@ BFGS optimization with box constraints from Optimization.jl """ -Sindbad.Types.OptimizationBFGS +SindbadCore.Types.OptimizationBFGS @doc """ @@ -2637,7 +2637,7 @@ Gradient descent optimization with box constraints from Optimization.jl """ -Sindbad.Types.OptimizationFminboxGradientDescent +SindbadCore.Types.OptimizationFminboxGradientDescent @doc """ @@ -2651,7 +2651,7 @@ Gradient descent optimization with box constraints using forward differentiation """ -Sindbad.Types.OptimizationFminboxGradientDescentFD +SindbadCore.Types.OptimizationFminboxGradientDescentFD @doc """ @@ -2665,7 +2665,7 @@ Global CMA-ES optimization with default settings from Optimization.jl """ -Sindbad.Types.OptimizationGCMAESDef +SindbadCore.Types.OptimizationGCMAESDef @doc """ @@ -2679,7 +2679,7 @@ Global CMA-ES optimization using forward differentiation from Optimization.jl """ -Sindbad.Types.OptimizationGCMAESFD +SindbadCore.Types.OptimizationGCMAESFD @doc """ @@ -2693,7 +2693,7 @@ Multi-start optimization to find global optimum from Optimization.jl """ -Sindbad.Types.OptimizationMultistartOptimization +SindbadCore.Types.OptimizationMultistartOptimization @doc """ @@ -2707,7 +2707,7 @@ Nelder-Mead simplex optimization method from Optimization.jl """ -Sindbad.Types.OptimizationNelderMead +SindbadCore.Types.OptimizationNelderMead @doc """ @@ -2721,7 +2721,7 @@ Quadratic Direct optimization method from Optimization.jl """ -Sindbad.Types.OptimizationQuadDirect +SindbadCore.Types.OptimizationQuadDirect @doc """ @@ -2746,7 +2746,7 @@ Abstract type for parameter scaling methods in SINDBAD """ -Sindbad.Types.ParameterScaling +SindbadCore.Types.ParameterScaling @doc """ @@ -2760,7 +2760,7 @@ Scale parameters relative to their bounds """ -Sindbad.Types.ScaleBounds +SindbadCore.Types.ScaleBounds @doc """ @@ -2774,7 +2774,7 @@ Scale parameters relative to default values """ -Sindbad.Types.ScaleDefault +SindbadCore.Types.ScaleDefault @doc """ @@ -2788,7 +2788,7 @@ No parameter scaling applied """ -Sindbad.Types.ScaleNone +SindbadCore.Types.ScaleNone @doc """ @@ -2830,7 +2830,7 @@ Abstract type for model spinup related functions and methods in SINDBAD """ -Sindbad.Types.SpinupTypes +SindbadCore.Types.SpinupTypes @doc """ @@ -2869,7 +2869,7 @@ Abstract type for model spinup modes in SINDBAD """ -Sindbad.Types.SpinupMode +SindbadCore.Types.SpinupMode @doc """ @@ -2883,7 +2883,7 @@ Use all forward models for spinup """ -Sindbad.Types.AllForwardModels +SindbadCore.Types.AllForwardModels @doc """ @@ -2897,7 +2897,7 @@ scale carbon pools using diagnostic scalars for ηH and c_remain """ -Sindbad.Types.EtaScaleA0H +SindbadCore.Types.EtaScaleA0H @doc """ @@ -2911,7 +2911,7 @@ scale carbon pools of CWD (cLitSlow) using ηH and set vegetation pools to c_rem """ -Sindbad.Types.EtaScaleA0HCWD +SindbadCore.Types.EtaScaleA0HCWD @doc """ @@ -2925,7 +2925,7 @@ scale carbon pools using diagnostic scalars for ηH and ηA """ -Sindbad.Types.EtaScaleAH +SindbadCore.Types.EtaScaleAH @doc """ @@ -2939,7 +2939,7 @@ scale carbon pools of CWD (cLitSlow) using ηH and scale vegetation pools by ηA """ -Sindbad.Types.EtaScaleAHCWD +SindbadCore.Types.EtaScaleAHCWD @doc """ @@ -2953,7 +2953,7 @@ use a fixed-point nonlinear solver with trust region for carbon pools (cEco) """ -Sindbad.Types.NlsolveFixedpointTrustregionCEco +SindbadCore.Types.NlsolveFixedpointTrustregionCEco @doc """ @@ -2967,7 +2967,7 @@ use a fixed-point nonlinear solver with trust region for both cEco and TWS """ -Sindbad.Types.NlsolveFixedpointTrustregionCEcoTWS +SindbadCore.Types.NlsolveFixedpointTrustregionCEcoTWS @doc """ @@ -2981,7 +2981,7 @@ use a fixed-point nonlinearsolver with trust region for Total Water Storage (TWS """ -Sindbad.Types.NlsolveFixedpointTrustregionTWS +SindbadCore.Types.NlsolveFixedpointTrustregionTWS @doc """ @@ -2995,7 +2995,7 @@ use the AutoVern7(Rodas5) method from DifferentialEquations.jl for solving ODEs """ -Sindbad.Types.ODEAutoTsit5Rodas5 +SindbadCore.Types.ODEAutoTsit5Rodas5 @doc """ @@ -3009,7 +3009,7 @@ use the DP5 method from DifferentialEquations.jl for solving ODEs """ -Sindbad.Types.ODEDP5 +SindbadCore.Types.ODEDP5 @doc """ @@ -3023,7 +3023,7 @@ use the Tsit5 method from DifferentialEquations.jl for solving ODEs """ -Sindbad.Types.ODETsit5 +SindbadCore.Types.ODETsit5 @doc """ @@ -3037,7 +3037,7 @@ use the SteadyState solver with DynamicSS and Tsit5 methods """ -Sindbad.Types.SSPDynamicSSTsit5 +SindbadCore.Types.SSPDynamicSSTsit5 @doc """ @@ -3051,7 +3051,7 @@ use the SteadyState solver with SSRootfind method """ -Sindbad.Types.SSPSSRootfind +SindbadCore.Types.SSPSSRootfind @doc """ @@ -3065,7 +3065,7 @@ run only the models selected for spinup in the model structure """ -Sindbad.Types.SelSpinupModels +SindbadCore.Types.SelSpinupModels @doc """ @@ -3079,7 +3079,7 @@ Spinup spinup_mode for Total Water Storage (TWS) """ -Sindbad.Types.Spinup_TWS +SindbadCore.Types.Spinup_TWS @doc """ @@ -3093,7 +3093,7 @@ Spinup spinup_mode for cEco """ -Sindbad.Types.Spinup_cEco +SindbadCore.Types.Spinup_cEco @doc """ @@ -3107,7 +3107,7 @@ Spinup spinup_mode for cEco and TWS """ -Sindbad.Types.Spinup_cEco_TWS +SindbadCore.Types.Spinup_cEco_TWS @doc """ @@ -3121,7 +3121,7 @@ Basic Spinup sequence without time aggregation """ -Sindbad.Types.SpinupSequence +SindbadCore.Types.SpinupSequence @doc """ @@ -3135,7 +3135,7 @@ Spinup sequence with time aggregation for corresponding forcingtime series """ -Sindbad.Types.SpinupSequenceWithAggregator +SindbadCore.Types.SpinupSequenceWithAggregator @doc """ @@ -3184,7 +3184,7 @@ Abstract type for implementing time subset and aggregation types in SINDBAD """ -Sindbad.Types.TimeTypes +SindbadCore.Types.TimeTypes @doc """ @@ -3231,7 +3231,7 @@ Abstract type for time aggregation methods in SINDBAD """ -Sindbad.Types.TimeAggregation +SindbadCore.Types.TimeAggregation @doc """ @@ -3245,7 +3245,7 @@ aggregation/slicing to include all years """ -Sindbad.Types.TimeAllYears +SindbadCore.Types.TimeAllYears @doc """ @@ -3259,7 +3259,7 @@ use array-based time aggregation """ -Sindbad.Types.TimeArray +SindbadCore.Types.TimeArray @doc """ @@ -3273,7 +3273,7 @@ aggregation to daily time steps """ -Sindbad.Types.TimeDay +SindbadCore.Types.TimeDay @doc """ @@ -3287,7 +3287,7 @@ aggregation to daily anomalies """ -Sindbad.Types.TimeDayAnomaly +SindbadCore.Types.TimeDayAnomaly @doc """ @@ -3301,7 +3301,7 @@ aggregation to daily IAV """ -Sindbad.Types.TimeDayIAV +SindbadCore.Types.TimeDayIAV @doc """ @@ -3315,7 +3315,7 @@ aggregation to daily MSC """ -Sindbad.Types.TimeDayMSC +SindbadCore.Types.TimeDayMSC @doc """ @@ -3329,7 +3329,7 @@ aggregation to daily MSC anomalies """ -Sindbad.Types.TimeDayMSCAnomaly +SindbadCore.Types.TimeDayMSCAnomaly @doc """ @@ -3343,7 +3343,7 @@ aggregation to time differences, e.g. monthly anomalies """ -Sindbad.Types.TimeDiff +SindbadCore.Types.TimeDiff @doc """ @@ -3357,7 +3357,7 @@ aggregation/slicing of the first year """ -Sindbad.Types.TimeFirstYear +SindbadCore.Types.TimeFirstYear @doc """ @@ -3371,7 +3371,7 @@ aggregation to hourly time steps """ -Sindbad.Types.TimeHour +SindbadCore.Types.TimeHour @doc """ @@ -3385,7 +3385,7 @@ aggregation to hourly anomalies """ -Sindbad.Types.TimeHourAnomaly +SindbadCore.Types.TimeHourAnomaly @doc """ @@ -3399,7 +3399,7 @@ aggregation to mean of hourly data over days """ -Sindbad.Types.TimeHourDayMean +SindbadCore.Types.TimeHourDayMean @doc """ @@ -3413,7 +3413,7 @@ aggregation using time indices, e.g., TimeFirstYear """ -Sindbad.Types.TimeIndexed +SindbadCore.Types.TimeIndexed @doc """ @@ -3427,7 +3427,7 @@ aggregation to mean over all time steps """ -Sindbad.Types.TimeMean +SindbadCore.Types.TimeMean @doc """ @@ -3441,7 +3441,7 @@ aggregation to monthly time steps """ -Sindbad.Types.TimeMonth +SindbadCore.Types.TimeMonth @doc """ @@ -3455,7 +3455,7 @@ aggregation to monthly anomalies """ -Sindbad.Types.TimeMonthAnomaly +SindbadCore.Types.TimeMonthAnomaly @doc """ @@ -3469,7 +3469,7 @@ aggregation to monthly IAV """ -Sindbad.Types.TimeMonthIAV +SindbadCore.Types.TimeMonthIAV @doc """ @@ -3483,7 +3483,7 @@ aggregation to monthly MSC """ -Sindbad.Types.TimeMonthMSC +SindbadCore.Types.TimeMonthMSC @doc """ @@ -3497,7 +3497,7 @@ aggregation to monthly MSC anomalies """ -Sindbad.Types.TimeMonthMSCAnomaly +SindbadCore.Types.TimeMonthMSCAnomaly @doc """ @@ -3511,7 +3511,7 @@ aggregation without time differences """ -Sindbad.Types.TimeNoDiff +SindbadCore.Types.TimeNoDiff @doc """ @@ -3525,7 +3525,7 @@ aggregation/slicing of a random year """ -Sindbad.Types.TimeRandomYear +SindbadCore.Types.TimeRandomYear @doc """ @@ -3539,7 +3539,7 @@ aggregation/slicing/selection of shuffled years """ -Sindbad.Types.TimeShuffleYears +SindbadCore.Types.TimeShuffleYears @doc """ @@ -3553,7 +3553,7 @@ aggregation to a sized array """ -Sindbad.Types.TimeSizedArray +SindbadCore.Types.TimeSizedArray @doc """ @@ -3567,7 +3567,7 @@ aggregation to yearly time steps """ -Sindbad.Types.TimeYear +SindbadCore.Types.TimeYear @doc """ @@ -3581,7 +3581,7 @@ aggregation to yearly anomalies """ -Sindbad.Types.TimeYearAnomaly +SindbadCore.Types.TimeYearAnomaly @doc """ @@ -3604,7 +3604,7 @@ Abstract type for machine learning models used in SINDBAD """ -Sindbad.Types.MLModelType +SindbadCore.Types.MLModelType @doc """ @@ -3618,7 +3618,7 @@ simple dense neural network model implemented in Flux.jl """ -Sindbad.Types.FluxDenseNN +SindbadCore.Types.FluxDenseNN @doc """ @@ -3641,7 +3641,7 @@ Abstract type for optimizers used for training ML models in SINDBAD """ -Sindbad.Types.MLOptimizerType +SindbadCore.Types.MLOptimizerType @doc """ @@ -3655,7 +3655,7 @@ Use Optimisers.jl Adam optimizer for training ML models in SINDBAD """ -Sindbad.Types.OptimisersAdam +SindbadCore.Types.OptimisersAdam @doc """ @@ -3678,7 +3678,7 @@ Abstract type for training a hybrid algorithm in SINDBAD """ -Sindbad.Types.MLTrainingType +SindbadCore.Types.MLTrainingType @doc """ @@ -3692,7 +3692,7 @@ Use a mixed gradient approach for training using gradient from multiple methods """ -Sindbad.Types.MixedGradient +SindbadCore.Types.MixedGradient @doc """ @@ -3706,7 +3706,7 @@ Use a split of the data to calculate the folds for cross-validation. The default """ -Sindbad.Types.CalcFoldFromSplit +SindbadCore.Types.CalcFoldFromSplit @doc """ @@ -3720,7 +3720,7 @@ Use precalculated data to load the folds for cross-validation. In this case, the """ -Sindbad.Types.LoadFoldFromFile +SindbadCore.Types.LoadFoldFromFile @doc """ @@ -3745,7 +3745,7 @@ Abstract type for activation functions used in ML models """ -Sindbad.Types.ActivationType +SindbadCore.Types.ActivationType @doc """ @@ -3759,7 +3759,7 @@ Use Flux.jl ReLU activation function """ -Sindbad.Types.FluxRelu +SindbadCore.Types.FluxRelu @doc """ @@ -3773,7 +3773,7 @@ Use Flux.jl Sigmoid activation function """ -Sindbad.Types.FluxSigmoid +SindbadCore.Types.FluxSigmoid @doc """ @@ -3787,7 +3787,7 @@ Use Flux.jl Tanh activation function """ -Sindbad.Types.FluxTanh +SindbadCore.Types.FluxTanh @doc """ @@ -3801,7 +3801,7 @@ Loss function using metrics between the predicted model and observation as defin """ -Sindbad.Types.LossModelObsML +SindbadCore.Types.LossModelObsML @doc """ @@ -3815,7 +3815,7 @@ Use a custom sigmoid activation function. In this case, the `k_σ` parameter in """ -Sindbad.Types.CustomSigmoid +SindbadCore.Types.CustomSigmoid @doc """ @@ -3829,5 +3829,5 @@ Use Optimisers.jl Descent optimizer for training ML models in SINDBAD """ -Sindbad.Types.OptimisersDescent +SindbadCore.Types.OptimisersDescent diff --git a/Sindbad/src/Utilities/Utilities.jl b/SindbadCore/src/Utilities/Utilities.jl similarity index 97% rename from Sindbad/src/Utilities/Utilities.jl rename to SindbadCore/src/Utilities/Utilities.jl index 91ca88471..cd00b16ae 100644 --- a/Sindbad/src/Utilities/Utilities.jl +++ b/SindbadCore/src/Utilities/Utilities.jl @@ -29,8 +29,8 @@ This module is designed to provide reusable utilities for data manipulation, sta """ module Utilities - using ..Sindbad - using ..Sindbad.Types + using ..SindbadCore + using ..SindbadCore.Types using Crayons using StyledStrings using FIGlet diff --git a/Sindbad/src/Utilities/getArrayView.jl b/SindbadCore/src/Utilities/getArrayView.jl similarity index 100% rename from Sindbad/src/Utilities/getArrayView.jl rename to SindbadCore/src/Utilities/getArrayView.jl diff --git a/Sindbad/src/Utilities/utilsNT.jl b/SindbadCore/src/Utilities/utilsNT.jl similarity index 100% rename from Sindbad/src/Utilities/utilsNT.jl rename to SindbadCore/src/Utilities/utilsNT.jl diff --git a/Sindbad/src/Utilities/utilsStacks.jl b/SindbadCore/src/Utilities/utilsStacks.jl similarity index 99% rename from Sindbad/src/Utilities/utilsStacks.jl rename to SindbadCore/src/Utilities/utilsStacks.jl index 6cd9b3a23..74d629248 100644 --- a/Sindbad/src/Utilities/utilsStacks.jl +++ b/SindbadCore/src/Utilities/utilsStacks.jl @@ -35,7 +35,7 @@ Adds a specified Julia package to the environment of a given module or project. # Notes: - This function assumes that the `where_to_add` module or project is structured with a standard Julia project layout. -- It requires the `Pkg` module for package management, which is re-exported from core Sindbad. +- It requires the `Pkg` module for package management, which is re-exported from core SindbadCore. # Example: ```julia diff --git a/Sindbad/src/Utilities/utilsTemporal.jl b/SindbadCore/src/Utilities/utilsTemporal.jl similarity index 100% rename from Sindbad/src/Utilities/utilsTemporal.jl rename to SindbadCore/src/Utilities/utilsTemporal.jl diff --git a/Sindbad/src/generateCode.jl b/SindbadCore/src/generateCode.jl similarity index 97% rename from Sindbad/src/generateCode.jl rename to SindbadCore/src/generateCode.jl index 1819d56a6..182a8f222 100644 --- a/Sindbad/src/generateCode.jl +++ b/SindbadCore/src/generateCode.jl @@ -209,9 +209,9 @@ function generateSindbadApproach(model_name::Symbol, model_purpose::String, appr appr_name = Symbol(string(model_name) *"_"* string(appr_name)) end model_type_exists = model_name in nameof.(subtypes(LandEcosystem)) - model_path = joinpath(split(pathof(Sindbad),"/Sindbad.jl")[1], "Models", "$(model_name)", "$(model_name).jl") + model_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(model_name).jl") model_path_exists = isfile(model_path) - appr_path = joinpath(split(pathof(Sindbad),"/Sindbad.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") + appr_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") appr_path_exists = isfile(appr_path) model_path_exists = over_write_model ? false : model_path_exists @@ -249,8 +249,8 @@ function generateSindbadApproach(model_name::Symbol, model_purpose::String, appr appr_exists = false appr_type_exists = false - if hasproperty(Sindbad.Models, model_name) - model_type = getproperty(Sindbad.Models, model_name) + if hasproperty(SindbadCore.Models, model_name) + model_type = getproperty(SindbadCore.Models, model_name) appr_types = nameof.(subtypes(model_type)) appr_type_exists = appr_name in appr_types end @@ -271,7 +271,7 @@ function generateSindbadApproach(model_name::Symbol, model_purpose::String, appr if appr_exists @info "Not generating approach." else - appr_path = joinpath(split(pathof(Sindbad),"/Sindbad.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") + appr_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") @info "Generating a new approach: $(appr_name) for existing model: $(model_name) at:\n$(appr_path)" confirm_ = Base.prompt("Continue: y | n") if startswith(confirm_, "y") diff --git a/Sindbad/src/modelTools.jl b/SindbadCore/src/modelTools.jl similarity index 89% rename from Sindbad/src/modelTools.jl rename to SindbadCore/src/modelTools.jl index d6f902c8a..f488b3cdc 100644 --- a/Sindbad/src/modelTools.jl +++ b/SindbadCore/src/modelTools.jl @@ -8,14 +8,14 @@ export modelParameters """ - getInOutModel(model::Sindbad.Types.LandEcosystem) - getInOutModel(model::Sindbad.Types.LandEcosystem, model_func::Symbol) - getInOutModel(model::Sindbad.Types.LandEcosystem, model_funcs::Tuple) + getInOutModel(model::SindbadCore.Types.LandEcosystem) + getInOutModel(model::SindbadCore.Types.LandEcosystem, model_func::Symbol) + getInOutModel(model::SindbadCore.Types.LandEcosystem, model_funcs::Tuple) Parses and retrieves the inputs, outputs, and parameters (I/O/P) of SINDBAD models for specified functions or all functions. # Arguments: -- `model::Sindbad.Types.LandEcosystem`: A SINDBAD model instance. If no additional arguments are provided, parses all inputs, outputs, and parameters for all functions of the model. +- `model::SindbadCore.Types.LandEcosystem`: A SINDBAD model instance. If no additional arguments are provided, parses all inputs, outputs, and parameters for all functions of the model. - `model_func::Symbol`: (Optional) A single symbol representing a specific model function to parse (e.g., `:precompute`, `:parameters`, `:compute`). - `model_funcs::Tuple`: (Optional) A tuple of symbols representing multiple model functions to parse (e.g., `(:precompute, :parameters)`). @@ -56,15 +56,15 @@ io_data = getInOutModel(my_model, (:precompute, :parameters)) function getInOutModel end -function getInOutModel(T::Type{<:Sindbad.Types.LandEcosystem}; verbose=false) +function getInOutModel(T::Type{<:SindbadCore.Types.LandEcosystem}; verbose=false) return getInOutModel(T(), verbose=verbose) end -function getInOutModel(model::Sindbad.Types.LandEcosystem; verbose=true) +function getInOutModel(model::SindbadCore.Types.LandEcosystem; verbose=true) if verbose println(" collecting I/O/P of: $(nameof(typeof(model))).jl") end - mo_in_out=Sindbad.DataStructures.OrderedDict() + mo_in_out=SindbadCore.DataStructures.OrderedDict() for func in (:parameters, :compute, :define, :precompute, :update) if verbose println(" ...$(func)...") @@ -76,8 +76,8 @@ function getInOutModel(model::Sindbad.Types.LandEcosystem; verbose=true) end -function getInOutModel(model::Sindbad.Types.LandEcosystem, model_funcs::Tuple) - mo_in_out=Sindbad.DataStructures.OrderedDict() +function getInOutModel(model::SindbadCore.Types.LandEcosystem, model_funcs::Tuple) + mo_in_out=SindbadCore.DataStructures.OrderedDict() println(" collecting I/O/P of: $(nameof(typeof(model))).jl") for func in model_funcs println(" ...$(func)...") @@ -99,19 +99,19 @@ end function getInOutModel(model, model_func::Symbol) model_name = string(nameof(typeof(model))) - mod_vars = Sindbad.DataStructures.OrderedDict{Symbol, Any}() + mod_vars = SindbadCore.DataStructures.OrderedDict{Symbol, Any}() mod_vars[:approach] = model_name if model_func == :compute - mod_code = @code_string Sindbad.Models.compute(model, nothing, nothing, nothing) + mod_code = @code_string SindbadCore.Models.compute(model, nothing, nothing, nothing) elseif model_func == :define - mod_code = @code_string Sindbad.Models.define(model, nothing, nothing, nothing) + mod_code = @code_string SindbadCore.Models.define(model, nothing, nothing, nothing) elseif model_func == :parameters # mod_vars = modelParameter(model, false) return modelParameter(model, false) elseif model_func == :precompute - mod_code = @code_string Sindbad.Models.precompute(model, nothing, nothing, nothing) + mod_code = @code_string SindbadCore.Models.precompute(model, nothing, nothing, nothing) elseif model_func == :update - mod_code = @code_string Sindbad.Models.update(model, nothing, nothing, nothing) + mod_code = @code_string SindbadCore.Models.update(model, nothing, nothing, nothing) else error("can only check consistency in compute, define, params, precompute, and update of SINDBAD models. $(model_func) is not a suggested or recommended method to add to a SINDBAD model struct.") end @@ -262,12 +262,12 @@ function getInOutModels(ind_range=1:10000::UnitRange{Int64}) sm_list = keys(sind_m_dict) |> collect s_ind = max(1, first(ind_range)) e_ind = min(last(ind_range), length(sm_list)) - sm_io = Sindbad.DataStructures.OrderedDict() + sm_io = SindbadCore.DataStructures.OrderedDict() for s in sm_list[s_ind:e_ind] s_apr = sind_m_dict[s] if !isempty(s_apr) s_apr_s = join(s_apr, ".jl, ") * ".jl" - sm_io[s]=Sindbad.DataStructures.OrderedDict() + sm_io[s]=SindbadCore.DataStructures.OrderedDict() map(s_apr) do s_a s_a_name = Symbol(strip(last(split(string(s_a), string(s) * "_")))) s_a_t = getTypedModel(s_a) @@ -282,7 +282,7 @@ function getInOutModels(ind_range=1:10000::UnitRange{Int64}) end function getInOutModels(models::Tuple) - mod_vars = Sindbad.DataStructures.OrderedDict() + mod_vars = SindbadCore.DataStructures.OrderedDict() for (mi, _mod) in enumerate(models) mod_name = string(nameof(supertype(typeof(_mod)))) mod_name_sym=Symbol(mod_name) @@ -292,7 +292,7 @@ function getInOutModels(models::Tuple) end function getInOutModels(models, model_funcs::Tuple) - mod_vars = Sindbad.DataStructures.OrderedDict() + mod_vars = SindbadCore.DataStructures.OrderedDict() for (mi, _mod) in enumerate(models) mod_name = string(nameof(supertype(typeof(_mod)))) mod_name_sym=Symbol(mod_name) @@ -303,7 +303,7 @@ function getInOutModels(models, model_funcs::Tuple) end function getInOutModels(models, model_func::Symbol) - mod_vars = Sindbad.DataStructures.OrderedDict() + mod_vars = SindbadCore.DataStructures.OrderedDict() for (mi, _mod) in enumerate(models) mod_name = string(nameof(supertype(typeof(_mod)))) mod_name_sym=Symbol(mod_name) @@ -331,7 +331,7 @@ function getTypedModel(model::String, model_timestep="day", num_type=Float64) end function getTypedModel(model::Symbol, model_timestep="day", num_type=Float64) - model_obj = getfield(Sindbad.Models, model) + model_obj = getfield(SindbadCore.Models, model) model_instance = model_obj() parameter_names = fieldnames(model_obj) if length(parameter_names) > 0 @@ -363,7 +363,7 @@ get a value of a given model parameter with units corrected """ function getParameterValue(model, parameter_name, model_timestep) param = getfield(model, parameter_name) - p_timescale = Sindbad.Models.timescale(model, parameter_name) + p_timescale = SindbadCore.Models.timescale(model, parameter_name) return param * getUnitConversionForParameter(p_timescale, model_timestep) end @@ -444,14 +444,14 @@ end """ modelParameter(models, model::Symbol) - modelParameter(model::Sindbad.Types.LandEcosystem, show=true) + modelParameter(model::SindbadCore.Types.LandEcosystem, show=true) Return and optionally display the current parameters of a given SINDBAD model. # Arguments - `models`: A list/collection of SINDBAD models, required when `model` is a Symbol. - `model::Symbol`: A SINDBAD model name. -- `model::Sindbad.Types.LandEcosystem`: A SINDBAD model instance of type LandEcosystem. +- `model::SindbadCore.Types.LandEcosystem`: A SINDBAD model instance of type LandEcosystem. - `show::Bool`: A flag to print parameters to the screen (default: true). """ @@ -465,14 +465,14 @@ function modelParameter(models, model::Symbol) println("model: $(model_names[m_index])") println("approach: $(approach_names[m_index])") pnames = fieldnames(typeof(mod)) - p_dict = Sindbad.DataStructures.OrderedDict() + p_dict = SindbadCore.DataStructures.OrderedDict() if length(pnames) == 0 println("parameters: none") else println("parameters:") foreach(pnames) do fn p_dict[fn] = getproperty(mod, fn) - p_unit = Sindbad.Models.units(mod, fn) + p_unit = SindbadCore.Models.units(mod, fn) p_unit_info = p_unit == "" ? "unitless" : "($p_unit)" println(" $fn => $(getproperty(mod, fn)) $p_unit_info") end @@ -480,7 +480,7 @@ function modelParameter(models, model::Symbol) return p_dict end -function modelParameter(model::Sindbad.Types.LandEcosystem, show=true) +function modelParameter(model::SindbadCore.Types.LandEcosystem, show=true) model_name = Symbol(supertype(typeof(model))) approach_name = nameof(typeof(model)) if show @@ -501,12 +501,12 @@ function modelParameter(model::Sindbad.Types.LandEcosystem, show=true) # @show model, fn mod_prop = getproperty(model, fn) p_val = getproperty(model, fn) - p_describe = Sindbad.Models.describe(model, fn) - p_unit = Sindbad.Models.units(model, fn) + p_describe = SindbadCore.Models.describe(model, fn) + p_unit = SindbadCore.Models.units(model, fn) p_u = isempty(p_unit) ? "`unitless`" : "units: `$(p_unit)`" - p_timescale = Sindbad.Models.timescale(model, fn) + p_timescale = SindbadCore.Models.timescale(model, fn) p_t = isempty(p_timescale) ? "`all` timescales" : "`$(p_timescale)` timescale" - p_bounds = Sindbad.Models.bounds(model, fn) + p_bounds = SindbadCore.Models.bounds(model, fn) p_w = "$(p_val) ∈ [$(p_bounds[1]), $(p_bounds[2])] => $(p_describe) ($(p_u) @ $(p_t))" p_p = Pair(fn, p_w) if show diff --git a/Sindbad/src/sindbadVariableCatalog.jl b/SindbadCore/src/sindbadVariableCatalog.jl similarity index 100% rename from Sindbad/src/sindbadVariableCatalog.jl rename to SindbadCore/src/sindbadVariableCatalog.jl diff --git a/Sindbad/src/utilsCore.jl b/SindbadCore/src/utilsCore.jl similarity index 99% rename from Sindbad/src/utilsCore.jl rename to SindbadCore/src/utilsCore.jl index a212f7b35..54442ae9c 100644 --- a/Sindbad/src/utilsCore.jl +++ b/SindbadCore/src/utilsCore.jl @@ -262,7 +262,7 @@ helper function to return a dictionary of sindbad model and approaches function getSindbadModels(; all_models=standard_sindbad_models) approaches = [] for _md ∈ all_models - push!(approaches, Pair(_md, [nameof(_x) for _x in subtypes(getfield(Sindbad.Models, _md))])) + push!(approaches, Pair(_md, [nameof(_x) for _x in subtypes(getfield(SindbadCore.Models, _md))])) end return DataStructures.OrderedDict(approaches) end diff --git a/Sindbad/test/Models/ambientCO2.jl b/SindbadCore/test/Models/ambientCO2.jl similarity index 97% rename from Sindbad/test/Models/ambientCO2.jl rename to SindbadCore/test/Models/ambientCO2.jl index 64a1a5e9d..d21ac9b69 100644 --- a/Sindbad/test/Models/ambientCO2.jl +++ b/SindbadCore/test/Models/ambientCO2.jl @@ -1,4 +1,4 @@ -import Sindbad.Models as SM +import SindbadCore.Models as SM @testset "ambientCO2" verbose=true begin @testset "ambientCO2_constant" begin diff --git a/Sindbad/test/Models/autoRespiration.jl b/SindbadCore/test/Models/autoRespiration.jl similarity index 97% rename from Sindbad/test/Models/autoRespiration.jl rename to SindbadCore/test/Models/autoRespiration.jl index 558bec311..e21c10b65 100644 --- a/Sindbad/test/Models/autoRespiration.jl +++ b/SindbadCore/test/Models/autoRespiration.jl @@ -1,4 +1,4 @@ -import Sindbad.Models as SM +import SindbadCore.Models as SM @testset "autoRespiration" verbose=true begin @testset "autoRespiration_none" begin diff --git a/Sindbad/test/Models/models.jl b/SindbadCore/test/Models/models.jl similarity index 86% rename from Sindbad/test/Models/models.jl rename to SindbadCore/test/Models/models.jl index 975fa75c3..e4e02e1d9 100644 --- a/Sindbad/test/Models/models.jl +++ b/SindbadCore/test/Models/models.jl @@ -1,4 +1,4 @@ -import Sindbad.Models as SM +import SindbadCore.Models as SM include("../mock_input/forcing.jl") include("../mock_input/land.jl") diff --git a/Sindbad/test/Project.toml b/SindbadCore/test/Project.toml similarity index 100% rename from Sindbad/test/Project.toml rename to SindbadCore/test/Project.toml diff --git a/Sindbad/test/mock_input/forcing.jl b/SindbadCore/test/mock_input/forcing.jl similarity index 100% rename from Sindbad/test/mock_input/forcing.jl rename to SindbadCore/test/mock_input/forcing.jl diff --git a/Sindbad/test/mock_input/helpers.jl b/SindbadCore/test/mock_input/helpers.jl similarity index 100% rename from Sindbad/test/mock_input/helpers.jl rename to SindbadCore/test/mock_input/helpers.jl diff --git a/Sindbad/test/mock_input/land.jl b/SindbadCore/test/mock_input/land.jl similarity index 100% rename from Sindbad/test/mock_input/land.jl rename to SindbadCore/test/mock_input/land.jl diff --git a/Sindbad/test/runtests.jl b/SindbadCore/test/runtests.jl similarity index 100% rename from Sindbad/test/runtests.jl rename to SindbadCore/test/runtests.jl diff --git a/Sindbad/test/utilsCore.jl b/SindbadCore/test/utilsCore.jl similarity index 96% rename from Sindbad/test/utilsCore.jl rename to SindbadCore/test/utilsCore.jl index e95bc121e..cee558229 100644 --- a/Sindbad/test/utilsCore.jl +++ b/SindbadCore/test/utilsCore.jl @@ -1,5 +1,5 @@ # test utilsCore here -import Sindbad.Models as SM +import SindbadCore.Models as SM include("./mock_input/forcing.jl") include("./mock_input/land.jl") diff --git a/docs/Project.toml b/docs/Project.toml index 6c65619f0..38ea42459 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -15,7 +15,7 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../Sindbad"} +Sindbad = {path = "../SindbadCore"} SindbadData = {path = "../lib/SindbadData"} SindbadExperiment = {path = "../lib/SindbadExperiment"} SindbadML = {path = "../lib/SindbadML"} diff --git a/docs/gen_lib_md.jl b/docs/gen_lib_md.jl index 898370216..76819a28b 100644 --- a/docs/gen_lib_md.jl +++ b/docs/gen_lib_md.jl @@ -50,7 +50,7 @@ open(joinpath(@__DIR__, "./src/pages/code_gen/SindbadModels.md"), "w") do o_file write(o_file, "## Available Models\n\n") - sindbad_models_from_types = nameof.(Sindbad.subtypes(Sindbad.LandEcosystem)) + sindbad_models_from_types = nameof.(SindbadCore.subtypes(SindbadCore.LandEcosystem)) foreach(sort(collect(sindbad_models_from_types))) do sm sms = string(sm) write(o_file, "### $(sm)\n\n") @@ -59,7 +59,7 @@ open(joinpath(@__DIR__, "./src/pages/code_gen/SindbadModels.md"), "w") do o_file write(o_file, ":::details $(sm) approaches\n\n") write(o_file, ":::tabs\n\n") - foreach(Sindbad.subtypes(getfield(Sindbad, sm))) do apr + foreach(SindbadCore.subtypes(getfield(Sindbad, sm))) do apr write(o_file, "== $(apr)\n") write(o_file, "```@docs\n$(apr)\n```\n") @@ -68,6 +68,6 @@ open(joinpath(@__DIR__, "./src/pages/code_gen/SindbadModels.md"), "w") do o_file write(o_file, "\n----\n\n") end write(o_file, "## Internal\n\n") - write(o_file, "```@meta\nCollapsedDocStrings = false\nDocTestSetup= quote\nusing Sindbad.Models\nend\n```\n") - write(o_file, "\n```@autodocs\nModules = [Sindbad.Models]\nPublic = false\n```") + write(o_file, "```@meta\nCollapsedDocStrings = false\nDocTestSetup= quote\nusing SindbadCore.Models\nend\n```\n") + write(o_file, "\n```@autodocs\nModules = [SindbadCore.Models]\nPublic = false\n```") end \ No newline at end of file diff --git a/docs/gen_models_md.jl b/docs/gen_models_md.jl index 0cc700b7c..0acf1d4a0 100644 --- a/docs/gen_models_md.jl +++ b/docs/gen_models_md.jl @@ -6,7 +6,7 @@ open(joinpath(@__DIR__, "./src/pages/code/models.md"), "w") do o_file write(o_file, "## Available Models\n\n") - sindbad_models_from_types = nameof.(Sindbad.subtypes(Sindbad.LandEcosystem)) + sindbad_models_from_types = nameof.(SindbadCore.subtypes(SindbadCore.LandEcosystem)) foreach(sort(collect(sindbad_models_from_types))) do sm sms = string(sm) write(o_file, "### $(sm)\n\n") @@ -15,7 +15,7 @@ open(joinpath(@__DIR__, "./src/pages/code/models.md"), "w") do o_file write(o_file, ":::details $(sm) approaches\n\n") write(o_file, ":::tabs\n\n") - foreach(Sindbad.subtypes(getfield(Sindbad, sm))) do apr + foreach(SindbadCore.subtypes(getfield(Sindbad, sm))) do apr write(o_file, "== $(apr)\n") write(o_file, "```@docs\n$(apr)\n```\n") @@ -24,6 +24,6 @@ open(joinpath(@__DIR__, "./src/pages/code/models.md"), "w") do o_file write(o_file, "\n----\n\n") end write(o_file, "## Internal\n\n") - write(o_file, "```@meta\nCollapsedDocStrings = false\nDocTestSetup= quote\nusing Sindbad.Models\nend\n```\n") - write(o_file, "\n```@autodocs\nModules = [Sindbad.Models]\nPublic = false\n```") + write(o_file, "```@meta\nCollapsedDocStrings = false\nDocTestSetup= quote\nusing SindbadCore.Models\nend\n```\n") + write(o_file, "\n```@autodocs\nModules = [SindbadCore.Models]\nPublic = false\n```") end \ No newline at end of file diff --git a/docs/src/pages/code/models.md b/docs/src/pages/code/models.md index d69fa982c..1f16ab568 100644 --- a/docs/src/pages/code/models.md +++ b/docs/src/pages/code/models.md @@ -1,5 +1,5 @@ ```@docs -Sindbad.Models +SindbadCore.Models ``` ## Available Models @@ -2201,11 +2201,11 @@ waterBalance_simple ```@meta CollapsedDocStrings = false DocTestSetup= quote -using Sindbad.Models +using SindbadCore.Models end ``` ```@autodocs -Modules = [Sindbad.Models] +Modules = [SindbadCore.Models] Public = false ``` \ No newline at end of file diff --git a/docs/src/pages/code/types.md b/docs/src/pages/code/types.md index 1553edd3c..3b9febc17 100644 --- a/docs/src/pages/code/types.md +++ b/docs/src/pages/code/types.md @@ -1,19 +1,19 @@ ```@docs -Sindbad.Types +SindbadCore.Types ``` ## Exported ```@meta DocTestSetup= quote -using Sindbad.Types +using SindbadCore.Types end ``` ```@autodocs -Modules = [Sindbad.Types] +Modules = [SindbadCore.Types] Private = false -Filter = f -> !(f === Sindbad.Types) +Filter = f -> !(f === SindbadCore.Types) ``` ## Internal @@ -21,11 +21,11 @@ Filter = f -> !(f === Sindbad.Types) CollapsedDocStrings = false DocTestSetup= quote -using Sindbad.Types +using SindbadCore.Types end ``` ```@autodocs -Modules = [Sindbad.Types] +Modules = [SindbadCore.Types] Public = false ``` \ No newline at end of file diff --git a/docs/src/pages/develop/helpers.md b/docs/src/pages/develop/helpers.md index ec277f116..80883525e 100644 --- a/docs/src/pages/develop/helpers.md +++ b/docs/src/pages/develop/helpers.md @@ -260,7 +260,7 @@ An array of all defined things in the SINDBAD framework that match the specified defined_types = getSindbadDefinitions(Sindbad, Type) # Get all functions in a specific module -functions = getSindbadDefinitions(Sindbad.Models, Function) +functions = getSindbadDefinitions(SindbadCore.Models, Function) # Get all definitions including external ones all_definitions = getSindbadDefinitions(Sindbad, Any, internal_only=false) diff --git a/examples/exp_WROASTED/experiment_WROASTED_priors.jl b/examples/exp_WROASTED/experiment_WROASTED_priors.jl index 937581912..06edd947c 100755 --- a/examples/exp_WROASTED/experiment_WROASTED_priors.jl +++ b/examples/exp_WROASTED/experiment_WROASTED_priors.jl @@ -37,7 +37,7 @@ info = getExperimentInfo(experiment_json; replace_info=replace_info); # note tha forcing = getForcing(info); -#Sindbad.eval(:(error_catcher = [])) +#SindbadCore.eval(:(error_catcher = [])) run_helpers = prepTEM(forcing, info); @time runTEM!(run_helpers.space_selected_models, run_helpers.space_forcing, run_helpers.space_spinup_forcing, run_helpers.loc_forcing_t, run_helpers.space_output, run_helpers.space_land, run_helpers.tem_info) diff --git a/examples/exp_WROASTED/run_WROASTED_fromML.jl b/examples/exp_WROASTED/run_WROASTED_fromML.jl index 59d8ff8a6..7841ed474 100755 --- a/examples/exp_WROASTED/run_WROASTED_fromML.jl +++ b/examples/exp_WROASTED/run_WROASTED_fromML.jl @@ -136,10 +136,10 @@ for site_index in sites parameter_table = info.optimization.parameter_table; opt_params = parameter_table.optimized parameter_names = parameter_table.name_full - parameter_maps = Sindbad.parsefile("examples/exp_WROASTED/settings_WROASTED/ml_to_jl_params.json"; dicttype=Sindbad.DataStructures.OrderedDict) + parameter_maps = SindbadCore.parsefile("examples/exp_WROASTED/settings_WROASTED/ml_to_jl_params.json"; dicttype=SindbadCore.DataStructures.OrderedDict) if isfile(ml_parameter_file) - ml_params = Sindbad.parsefile(ml_parameter_file; dicttype=Sindbad.DataStructures.OrderedDict)["parameter"] + ml_params = SindbadCore.parsefile(ml_parameter_file; dicttype=SindbadCore.DataStructures.OrderedDict)["parameter"] for opi in eachindex(opt_params) jl_name = parameter_names[opi] diff --git a/examples/exp_fluxnet_hybrid/Project.toml b/examples/exp_fluxnet_hybrid/Project.toml index c7d88685e..f3367a10a 100644 --- a/examples/exp_fluxnet_hybrid/Project.toml +++ b/examples/exp_fluxnet_hybrid/Project.toml @@ -13,7 +13,7 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadData = {path = "../../lib/SindbadData"} SindbadML = {path = "../../lib/SindbadML"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} diff --git a/examples/exp_fluxnet_hybrid/analysis/carbon_sums.jl b/examples/exp_fluxnet_hybrid/analysis/carbon_sums.jl index 2b48093d8..3db1f2f74 100644 --- a/examples/exp_fluxnet_hybrid/analysis/carbon_sums.jl +++ b/examples/exp_fluxnet_hybrid/analysis/carbon_sums.jl @@ -46,7 +46,7 @@ fig, ax, plt = barplot(sums_years ./ 10^15; color=:grey15, #? diff 1500 Mt C axis=(; ytickformat=values -> ["$(round(value, digits=1))Pg" for value in values]), figure=(; size=(1200, 400))) # ax.xticks = 2003:2015 -ax.title = "cFireTotal Sindbad.jl" +ax.title = "cFireTotal SindbadCore.jl" save("co2_rates_2003_2016_factor_Pg.png", fig) using JLD2 diff --git a/examples/exp_fluxnet_hybrid/analysis/fluxnet.jl b/examples/exp_fluxnet_hybrid/analysis/fluxnet.jl index 9c013044e..deeb75a4e 100644 --- a/examples/exp_fluxnet_hybrid/analysis/fluxnet.jl +++ b/examples/exp_fluxnet_hybrid/analysis/fluxnet.jl @@ -123,7 +123,7 @@ function plotFLUXNET(out_path, var_name; colormap=:haline) color_pp = 1.15*colorant"tan1" Label(grid_ax[1,1], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, @@ -204,7 +204,7 @@ function plotFLUXNETdepth(out_path, var_name; colormap=:haline) color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/fluxnet_lines.jl b/examples/exp_fluxnet_hybrid/analysis/fluxnet_lines.jl index 1fc543e40..9d50cb202 100644 --- a/examples/exp_fluxnet_hybrid/analysis/fluxnet_lines.jl +++ b/examples/exp_fluxnet_hybrid/analysis/fluxnet_lines.jl @@ -94,7 +94,7 @@ function plotFLUXNET(out_path, var_name; colormap=:haline, α = 1.0) color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, @@ -162,7 +162,7 @@ function plotFLUXNETdepth(out_path, var_name; colormap=:haline) color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/justLines.jl b/examples/exp_fluxnet_hybrid/analysis/justLines.jl index 77b79754a..3041256e9 100644 --- a/examples/exp_fluxnet_hybrid/analysis/justLines.jl +++ b/examples/exp_fluxnet_hybrid/analysis/justLines.jl @@ -151,7 +151,7 @@ function plotLines(out_path, var_name, known_regions; color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/justMap.jl b/examples/exp_fluxnet_hybrid/analysis/justMap.jl index 7c0d263f2..814a848c2 100644 --- a/examples/exp_fluxnet_hybrid/analysis/justMap.jl +++ b/examples/exp_fluxnet_hybrid/analysis/justMap.jl @@ -227,7 +227,7 @@ function plotMap(name_extensions, var_name, out_path, t_index; colormap = :plasm color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/justMap_fire.jl b/examples/exp_fluxnet_hybrid/analysis/justMap_fire.jl index e2cc2af59..c5b3cb72b 100644 --- a/examples/exp_fluxnet_hybrid/analysis/justMap_fire.jl +++ b/examples/exp_fluxnet_hybrid/analysis/justMap_fire.jl @@ -228,7 +228,7 @@ function plotMap(name_extensions, var_name, out_path, t_index; colormap = :plasm color_pp = 1.15*colorant"tan1" Label(fig[end, :], rich("user ", color = color_pinfo, rich("⋅ $(p_info["simulation_by"])", color = color_pp), - rich(" Sindbad.jl ", color = color_pinfo, + rich(" SindbadCore.jl ", color = color_pinfo, rich("| v0.1.0", color = color_pp, rich(" julia ", color = color_pinfo, rich("⋅ $(p_info["julia"])", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/map_plot_ps.jl b/examples/exp_fluxnet_hybrid/analysis/map_plot_ps.jl index e2ef6641d..32bfab508 100644 --- a/examples/exp_fluxnet_hybrid/analysis/map_plot_ps.jl +++ b/examples/exp_fluxnet_hybrid/analysis/map_plot_ps.jl @@ -116,7 +116,7 @@ end # color_pp = 1.15*colorant"tan1" # Label(fig[end, :], rich("user ", color = color_pinfo, # rich("⋅ Lazaro", color = color_pp), -# rich(" Sindbad.jl ", color = color_pinfo, +# rich(" SindbadCore.jl ", color = color_pinfo, # rich("| v0.1.0", color = color_pp, # rich(" julia ", color = color_pinfo, # rich("⋅ 1.11", color = color_pp, diff --git a/examples/exp_fluxnet_hybrid/analysis/sums_gpp.jl b/examples/exp_fluxnet_hybrid/analysis/sums_gpp.jl index 7c263da55..705c7128a 100644 --- a/examples/exp_fluxnet_hybrid/analysis/sums_gpp.jl +++ b/examples/exp_fluxnet_hybrid/analysis/sums_gpp.jl @@ -35,7 +35,7 @@ fig, ax, plt = barplot(sums_years; color=:grey15, #? Mt C (megatonnes of carbon) axis=(; ytickformat=values -> ["$(round(value, digits=1))" for value in values]), figure=(; size=(1200, 400))) ax.xticks = 2003:2015 -ax.title = "gpp yearly Sindbad.jl" +ax.title = "gpp yearly SindbadCore.jl" save("co2_years_gpp_Pg.png", fig) diff --git a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl index 4e8e37dbd..1b1e35e18 100755 --- a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl +++ b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl @@ -11,7 +11,7 @@ info = getExperimentInfo(experiment_json); forcing = getForcing(info); -# Sindbad.eval(:(error_catcher = [])); +# SindbadCore.eval(:(error_catcher = [])); op = prepTEMOut(info, forcing.helpers); observations = getObservation(info, forcing.helpers); obs_array = [Array(_o) for _o in observations.data]; # TODO: necessary now for performance because view of keyedarray is slow diff --git a/lib/SindbadData/Project.toml b/lib/SindbadData/Project.toml index 639e31671..b506a2c49 100644 --- a/lib/SindbadData/Project.toml +++ b/lib/SindbadData/Project.toml @@ -15,7 +15,7 @@ YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c" Zarr = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} [compat] AxisKeys = "0.2.15" diff --git a/lib/SindbadExperiment/Project.toml b/lib/SindbadExperiment/Project.toml index 441fabbf8..ea05def84 100644 --- a/lib/SindbadExperiment/Project.toml +++ b/lib/SindbadExperiment/Project.toml @@ -13,7 +13,7 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadOptimization = {path = "../../lib/SindbadOptimization"} diff --git a/lib/SindbadML/Project.toml b/lib/SindbadML/Project.toml index 195bb183e..4f822cdc1 100644 --- a/lib/SindbadML/Project.toml +++ b/lib/SindbadML/Project.toml @@ -27,7 +27,7 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadSetup = {path = "../../lib/SindbadSetup"} diff --git a/lib/SindbadMetrics/Project.toml b/lib/SindbadMetrics/Project.toml index da7ce7729..95b9f54d3 100644 --- a/lib/SindbadMetrics/Project.toml +++ b/lib/SindbadMetrics/Project.toml @@ -7,4 +7,4 @@ version = "0.1.0" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} diff --git a/lib/SindbadOptimization/Project.toml b/lib/SindbadOptimization/Project.toml index 8d5dc0cb1..8cbfd0ea8 100644 --- a/lib/SindbadOptimization/Project.toml +++ b/lib/SindbadOptimization/Project.toml @@ -25,7 +25,7 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadSetup = {path = "../../lib/SindbadSetup"} SindbadTEM = {path = "../../lib/SindbadTEM"} diff --git a/lib/SindbadSetup/Project.toml b/lib/SindbadSetup/Project.toml index f7929e5db..0064a18e9 100644 --- a/lib/SindbadSetup/Project.toml +++ b/lib/SindbadSetup/Project.toml @@ -12,7 +12,7 @@ JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} [compat] ConstructionBase = "1.5.8" diff --git a/lib/SindbadSetup/src/setupExperimentInfo.jl b/lib/SindbadSetup/src/setupExperimentInfo.jl index 340e13ede..6e939ca22 100644 --- a/lib/SindbadSetup/src/setupExperimentInfo.jl +++ b/lib/SindbadSetup/src/setupExperimentInfo.jl @@ -117,7 +117,7 @@ end """ setDebugErrorCatcher(::DoCatchModelErrors | ::DoNotCatchModelErrors) -Enables/Disables a debug error catcher for the SINDBAD framework. When enabled, a variable `error_catcher` is enabled and can be written to from within SINDBAD models and functions. This can then be accessed from any scope with `Sindbad.error_catcher` +Enables/Disables a debug error catcher for the SINDBAD framework. When enabled, a variable `error_catcher` is enabled and can be written to from within SINDBAD models and functions. This can then be accessed from any scope with `SindbadCore.error_catcher` # Arguments: - `::DoCatchModelErrors`: A type dispatch indicating that model errors should be caught. @@ -127,13 +127,13 @@ Enables/Disables a debug error catcher for the SINDBAD framework. When enabled, - `nothing`. # Notes: -- When enabled, sets up an empty error catcher using `Sindbad.eval`. +- When enabled, sets up an empty error catcher using `SindbadCore.eval`. """ function setDebugErrorCatcher end function setDebugErrorCatcher(::DoCatchModelErrors) showInfo(setDebugErrorCatcher, @__FILE__, @__LINE__, "setting up debug error catcher", n_m=1) - Sindbad.eval(:(error_catcher = [])) + SindbadCore.eval(:(error_catcher = [])) return nothing end diff --git a/lib/SindbadSetup/src/setupParameters.jl b/lib/SindbadSetup/src/setupParameters.jl index d817a4f66..b3a47bf40 100644 --- a/lib/SindbadSetup/src/setupParameters.jl +++ b/lib/SindbadSetup/src/setupParameters.jl @@ -93,12 +93,12 @@ function getParameters(selected_models::Tuple, num_type, model_timestep; return_ for m in eachindex(name) prm_name = Symbol(name[m]) appr = approach_func[m]() - p_timescale = Sindbad.Models.timescale(appr, prm_name) + p_timescale = SindbadCore.Models.timescale(appr, prm_name) unit_factor = getUnitConversionForParameter(p_timescale, model_timestep) lower[m] = lower[m] * unit_factor upper[m] = upper[m] * unit_factor if hasproperty(appr, prm_name) - p_unit = Sindbad.Models.units(appr, prm_name) + p_unit = SindbadCore.Models.units(appr, prm_name) push!(unts_ori, p_unit) if ~isone(unit_factor) p_unit = replace(p_unit, p_timescale => model_timestep) diff --git a/lib/SindbadTEM/Project.toml b/lib/SindbadTEM/Project.toml index c6406fa94..0db3dec8f 100644 --- a/lib/SindbadTEM/Project.toml +++ b/lib/SindbadTEM/Project.toml @@ -16,7 +16,7 @@ ThreadPools = "b189fb0b-2eb5-4ed4-bc0c-d34c51242431" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadData = {path = "../../lib/SindbadData"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} SindbadSetup = {path = "../../lib/SindbadSetup"} \ No newline at end of file diff --git a/lib/SindbadTEM/src/prepTEM.jl b/lib/SindbadTEM/src/prepTEM.jl index 184e6bb33..77f612f53 100644 --- a/lib/SindbadTEM/src/prepTEM.jl +++ b/lib/SindbadTEM/src/prepTEM.jl @@ -40,8 +40,8 @@ function addErrorCatcher end function addErrorCatcher(loc_land, ::DoDebugModel) # print land when debug model is true/on - Sindbad.eval(:(error_catcher = [])) - push!(Sindbad.error_catcher, loc_land) + SindbadCore.eval(:(error_catcher = [])) + push!(SindbadCore.error_catcher, loc_land) tcPrint(loc_land) return nothing end diff --git a/lib/SindbadTEM/src/spinupTEM.jl b/lib/SindbadTEM/src/spinupTEM.jl index 3d5151483..9f9682b53 100644 --- a/lib/SindbadTEM/src/spinupTEM.jl +++ b/lib/SindbadTEM/src/spinupTEM.jl @@ -29,7 +29,7 @@ function (cEco_spin::Spinup_cEco)(pout, p) @rep_elem pout[l] ⇒ (cEco, lc, :cEco) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) update_init = timeLoopTEMSpinup(cEco_spin.models, cEco_spin.forcing, cEco_spin.loc_forcing_t, land, cEco_spin.tem_info, n_timesteps) pout .= log.(update_init.pools.cEco) @@ -61,7 +61,7 @@ function (cEco_TWS_spin::Spinup_cEco_TWS)(pout, p) @rep_elem pout[l] ⇒ (cEco, lc, :cEco) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) TWS = land.pools.TWS TWS_prev = cEco_TWS_spin.TWS @@ -70,7 +70,7 @@ function (cEco_TWS_spin::Spinup_cEco_TWS)(pout, p) end @pack_nt TWS ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.w_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.w_model) update_init = timeLoopTEMSpinup(cEco_TWS_spin.models, cEco_TWS_spin.forcing, cEco_TWS_spin.loc_forcing_t, land, cEco_TWS_spin.tem_info, n_timesteps) @@ -103,7 +103,7 @@ function (TWS_spin::Spinup_TWS)(pout, p) @rep_elem maxZero(p[l]) ⇒ (TWS, lc, :TWS) end @pack_nt TWS ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.w_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.w_model) update_init = timeLoopTEMSpinup(TWS_spin.models, TWS_spin.forcing, TWS_spin.loc_forcing_t, land, TWS_spin.tem_info, n_timesteps) pout .= update_init.pools.TWS return nothing @@ -230,7 +230,7 @@ function spinup(spinup_models, spinup_forcing, loc_forcing_t, land, tem_info, n_ TWS = r.zero TWS = oftype(land.pools.TWS, TWS) @pack_nt TWS ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.w_model) + land = SindbadCore.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.w_model) return land end @@ -251,8 +251,8 @@ function spinup(spinup_models, spinup_forcing, loc_forcing_t, land, tem_info, n_ TWS_prev = cEco_TWS_spin.TWS TWS = oftype(land.pools.TWS, TWS_prev) @pack_nt TWS ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.c_model) - land = Sindbad.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.w_model) + land = SindbadCore.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.w_model) return land end @@ -264,7 +264,7 @@ function spinup(spinup_models, spinup_forcing, loc_forcing_t, land, tem_info, n_ cEco = exp.(r.zero) cEco = oftype(land.pools.cEco, cEco) @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, tem_info.model_helpers, land.models.c_model) return land end @@ -293,7 +293,7 @@ function spinup(_, _, _, land, helpers, _, ::EtaScaleAH) @rep_elem cVegNew ⇒ (cEco, cVegZix, :cEco) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) @pack_nt cEco_prev ⇒ land.states return land end @@ -320,7 +320,7 @@ function spinup(_, _, _, land, helpers, _, ::EtaScaleAHCWD) @rep_elem cVegNew ⇒ (cEco, cVegZix, :cEco) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) @pack_nt cEco_prev ⇒ land.states return land end @@ -353,7 +353,7 @@ function spinup(_, _, _, land, helpers, _, ::EtaScaleA0H) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) @pack_nt cEco_prev ⇒ land.states return land end @@ -382,7 +382,7 @@ function spinup(_, _, _, land, helpers, _, ::EtaScaleA0HCWD) end @pack_nt cEco ⇒ land.pools - land = Sindbad.adjustPackPoolComponents(land, helpers, land.models.c_model) + land = SindbadCore.adjustPackPoolComponents(land, helpers, land.models.c_model) @pack_nt cEco_prev ⇒ land.states return land end diff --git a/lib/SindbadVisuals/Project.toml b/lib/SindbadVisuals/Project.toml index 1a2f4d375..ef6f9b26b 100644 --- a/lib/SindbadVisuals/Project.toml +++ b/lib/SindbadVisuals/Project.toml @@ -9,7 +9,7 @@ Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" [sources] -Sindbad = {path = "../../Sindbad"} +Sindbad = {path = "../../SindbadCore"} SindbadMetrics = {path = "../../lib/SindbadMetrics"} [compat] diff --git a/lib/SindbadVisuals/src/plotFromSindbadInfo.jl b/lib/SindbadVisuals/src/plotFromSindbadInfo.jl index cc17f01af..84f1e8876 100644 --- a/lib/SindbadVisuals/src/plotFromSindbadInfo.jl +++ b/lib/SindbadVisuals/src/plotFromSindbadInfo.jl @@ -142,14 +142,14 @@ function plotIOModelStructure(info, which_function=:compute, which_field=[:input for (m_i, model_name) in enumerate(model_names) if isa(which_field, String) the_fields = Symbol.(split(which_field, "_")) - model_variables = Sindbad.orD() + model_variables = SindbadCore.orD() foreach(the_fields) do w_field model_variables[w_field] = in_out_models[model_name][w_field] end else model_variables_in = in_out_models[model_name][which_field] end - if isa(model_variables, Sindbad.orD) + if isa(model_variables, SindbadCore.orD) model_variables_in = model_variables[:input] model_variables_out = model_variables[:output] end From 1ff6935863b1a4c2e42733f691732fc2da54a87e Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 16:07:16 +0100 Subject: [PATCH 28/36] do them md --- LICENSE => LICENSE.md | 0 NOTICE => NOTICE.md | 0 SindbadCore/{LICENSE => LICENSE.md} | 0 lib/SindbadData/{LICENSE => LICENSE.md} | 0 lib/SindbadExperiment/{LICENSE => LICENSE.md} | 0 lib/SindbadML/{LICENSE => LICENSE.md} | 0 lib/SindbadMetrics/{LICENSE => LICENSE.md} | 0 lib/SindbadOptimization/{LICENSE => LICENSE.md} | 0 lib/SindbadSetup/{LICENSE => LICENSE.md} | 0 lib/SindbadTEM/{LICENSE => LICENSE.md} | 0 lib/SindbadVisuals/{LICENSE => LICENSE.md} | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename LICENSE => LICENSE.md (100%) rename NOTICE => NOTICE.md (100%) rename SindbadCore/{LICENSE => LICENSE.md} (100%) rename lib/SindbadData/{LICENSE => LICENSE.md} (100%) rename lib/SindbadExperiment/{LICENSE => LICENSE.md} (100%) rename lib/SindbadML/{LICENSE => LICENSE.md} (100%) rename lib/SindbadMetrics/{LICENSE => LICENSE.md} (100%) rename lib/SindbadOptimization/{LICENSE => LICENSE.md} (100%) rename lib/SindbadSetup/{LICENSE => LICENSE.md} (100%) rename lib/SindbadTEM/{LICENSE => LICENSE.md} (100%) rename lib/SindbadVisuals/{LICENSE => LICENSE.md} (100%) diff --git a/LICENSE b/LICENSE.md similarity index 100% rename from LICENSE rename to LICENSE.md diff --git a/NOTICE b/NOTICE.md similarity index 100% rename from NOTICE rename to NOTICE.md diff --git a/SindbadCore/LICENSE b/SindbadCore/LICENSE.md similarity index 100% rename from SindbadCore/LICENSE rename to SindbadCore/LICENSE.md diff --git a/lib/SindbadData/LICENSE b/lib/SindbadData/LICENSE.md similarity index 100% rename from lib/SindbadData/LICENSE rename to lib/SindbadData/LICENSE.md diff --git a/lib/SindbadExperiment/LICENSE b/lib/SindbadExperiment/LICENSE.md similarity index 100% rename from lib/SindbadExperiment/LICENSE rename to lib/SindbadExperiment/LICENSE.md diff --git a/lib/SindbadML/LICENSE b/lib/SindbadML/LICENSE.md similarity index 100% rename from lib/SindbadML/LICENSE rename to lib/SindbadML/LICENSE.md diff --git a/lib/SindbadMetrics/LICENSE b/lib/SindbadMetrics/LICENSE.md similarity index 100% rename from lib/SindbadMetrics/LICENSE rename to lib/SindbadMetrics/LICENSE.md diff --git a/lib/SindbadOptimization/LICENSE b/lib/SindbadOptimization/LICENSE.md similarity index 100% rename from lib/SindbadOptimization/LICENSE rename to lib/SindbadOptimization/LICENSE.md diff --git a/lib/SindbadSetup/LICENSE b/lib/SindbadSetup/LICENSE.md similarity index 100% rename from lib/SindbadSetup/LICENSE rename to lib/SindbadSetup/LICENSE.md diff --git a/lib/SindbadTEM/LICENSE b/lib/SindbadTEM/LICENSE.md similarity index 100% rename from lib/SindbadTEM/LICENSE rename to lib/SindbadTEM/LICENSE.md diff --git a/lib/SindbadVisuals/LICENSE b/lib/SindbadVisuals/LICENSE.md similarity index 100% rename from lib/SindbadVisuals/LICENSE rename to lib/SindbadVisuals/LICENSE.md From 9b6f312b6005ad0817060c1d0b799e397f176c7b Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 16:11:47 +0100 Subject: [PATCH 29/36] update plus notice --- SindbadCore/NOTICE.md | 1 + lib/SindbadData/LICENSE.md | 961 +++++++++-------------------- lib/SindbadData/NOTICE.md | 1 + lib/SindbadExperiment/LICENSE.md | 961 +++++++++-------------------- lib/SindbadExperiment/NOTICE.md | 1 + lib/SindbadML/LICENSE.md | 961 +++++++++-------------------- lib/SindbadML/NOTICE.md | 1 + lib/SindbadMetrics/LICENSE.md | 961 +++++++++-------------------- lib/SindbadMetrics/NOTICE.md | 1 + lib/SindbadOptimization/LICENSE.md | 287 +++++++++ lib/SindbadOptimization/NOTICE.md | 1 + lib/SindbadSetup/LICENSE.md | 961 +++++++++-------------------- lib/SindbadSetup/NOTICE.md | 1 + lib/SindbadTEM/LICENSE.md | 961 +++++++++-------------------- lib/SindbadTEM/NOTICE.md | 1 + 15 files changed, 2017 insertions(+), 4044 deletions(-) create mode 100644 SindbadCore/NOTICE.md create mode 100644 lib/SindbadData/NOTICE.md create mode 100644 lib/SindbadExperiment/NOTICE.md create mode 100644 lib/SindbadML/NOTICE.md create mode 100644 lib/SindbadMetrics/NOTICE.md create mode 100644 lib/SindbadOptimization/NOTICE.md create mode 100644 lib/SindbadSetup/NOTICE.md create mode 100644 lib/SindbadTEM/NOTICE.md diff --git a/SindbadCore/NOTICE.md b/SindbadCore/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/SindbadCore/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadData/LICENSE.md b/lib/SindbadData/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadData/LICENSE.md +++ b/lib/SindbadData/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadData/NOTICE.md b/lib/SindbadData/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadData/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadExperiment/LICENSE.md b/lib/SindbadExperiment/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadExperiment/LICENSE.md +++ b/lib/SindbadExperiment/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadExperiment/NOTICE.md b/lib/SindbadExperiment/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadExperiment/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadML/LICENSE.md b/lib/SindbadML/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadML/LICENSE.md +++ b/lib/SindbadML/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadML/NOTICE.md b/lib/SindbadML/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadML/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadMetrics/LICENSE.md b/lib/SindbadMetrics/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadMetrics/LICENSE.md +++ b/lib/SindbadMetrics/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadMetrics/NOTICE.md b/lib/SindbadMetrics/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadMetrics/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadOptimization/LICENSE.md b/lib/SindbadOptimization/LICENSE.md index e69de29bb..c29ce2f83 100644 --- a/lib/SindbadOptimization/LICENSE.md +++ b/lib/SindbadOptimization/LICENSE.md @@ -0,0 +1,287 @@ + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadOptimization/NOTICE.md b/lib/SindbadOptimization/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadOptimization/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadSetup/LICENSE.md b/lib/SindbadSetup/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadSetup/LICENSE.md +++ b/lib/SindbadSetup/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadSetup/NOTICE.md b/lib/SindbadSetup/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadSetup/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/lib/SindbadTEM/LICENSE.md b/lib/SindbadTEM/LICENSE.md index e72bfddab..c29ce2f83 100644 --- a/lib/SindbadTEM/LICENSE.md +++ b/lib/SindbadTEM/LICENSE.md @@ -1,674 +1,287 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadTEM/NOTICE.md b/lib/SindbadTEM/NOTICE.md new file mode 100644 index 000000000..189d3d824 --- /dev/null +++ b/lib/SindbadTEM/NOTICE.md @@ -0,0 +1 @@ +Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file From 45529bbae12b95ff8c6de89c622827f934af96dc Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 17:36:24 +0100 Subject: [PATCH 30/36] move and update --- .github/workflows/CI.yml | 8 +- Project.toml | 51 +- SindbadCore/src/SindbadCore.jl | 4 +- SindbadCore/test/Project.toml | 2 +- SindbadCore/test/runtests.jl | 2 +- {lib/SindbadData => SindbadData}/LICENSE.md | 0 {lib/SindbadData => SindbadData}/NOTICE.md | 0 {lib/SindbadData => SindbadData}/Project.toml | 4 +- .../src/SindbadData.jl | 2 +- .../src/getForcing.jl | 0 .../src/getObservation.jl | 0 .../src/spatialSubset.jl | 0 .../src/utilsData.jl | 0 .../LICENSE.md | 0 .../NOTICE.md | 0 .../Project.toml | 16 +- .../src/SindbadExperiment.jl | 4 +- .../src/runExperiment.jl | 0 .../src/saveOutput.jl | 0 {lib/SindbadML => SindbadML}/LICENSE.md | 0 {lib/SindbadML => SindbadML}/NOTICE.md | 0 {lib/SindbadML => SindbadML}/Project.toml | 12 +- .../ext/SindbadMLEnzymeExt.jl | 0 {lib/SindbadML => SindbadML}/src/SindbadML.jl | 2 +- .../src/activationFunctions.jl | 0 .../SindbadML => SindbadML}/src/diffCaches.jl | 0 .../src/loadCovariates.jl | 0 {lib/SindbadML => SindbadML}/src/loss.jl | 0 .../SindbadML => SindbadML}/src/mlGradient.jl | 0 {lib/SindbadML => SindbadML}/src/mlModels.jl | 0 .../src/mlOptimizers.jl | 0 {lib/SindbadML => SindbadML}/src/mlTrain.jl | 0 .../src/neuralNetwork.jl | 0 {lib/SindbadML => SindbadML}/src/oneHots.jl | 0 .../SindbadML => SindbadML}/src/prepHybrid.jl | 0 .../SindbadML => SindbadML}/src/siteLosses.jl | 0 {lib/SindbadML => SindbadML}/src/utilsML.jl | 0 {lib/SindbadML => SindbadML}/test/runtests.jl | 0 .../LICENSE.md | 0 .../NOTICE.md | 0 .../Project.toml | 4 +- .../src/SindbadMetrics.jl | 2 +- .../src/getMetrics.jl | 0 .../src/handleDataForLoss.jl | 0 .../src/metrics.jl | 0 .../LICENSE.md | 0 .../NOTICE.md | 0 .../Project.toml | 10 +- .../src/SindbadOptimization.jl | 2 +- .../src/cost.jl | 0 .../src/optimizeTEM.jl | 0 .../src/optimizer.jl | 0 .../src/prepOpti.jl | 0 .../src/sensitivityAnalysis.jl | 0 {lib/SindbadSetup => SindbadSetup}/LICENSE.md | 0 {lib/SindbadSetup => SindbadSetup}/NOTICE.md | 0 .../Project.toml | 4 +- .../src/SindbadSetup.jl | 4 +- .../src/defaultOptions.jl | 0 .../src/getConfiguration.jl | 0 .../src/setupExperimentInfo.jl | 0 .../src/setupHybridML.jl | 0 .../src/setupInfo.jl | 0 .../src/setupModels.jl | 0 .../src/setupOptimization.jl | 0 .../src/setupOutput.jl | 0 .../src/setupParameters.jl | 0 .../src/setupPools.jl | 0 .../src/setupTypes.jl | 0 .../src/updateParameters.jl | 0 {lib/SindbadTEM => SindbadTEM}/LICENSE.md | 0 {lib/SindbadTEM => SindbadTEM}/NOTICE.md | 0 {lib/SindbadTEM => SindbadTEM}/Project.toml | 10 +- .../src/SindbadTEM.jl | 2 +- .../src/deriveSpinupForcing.jl | 0 {lib/SindbadTEM => SindbadTEM}/src/prepTEM.jl | 0 .../src/prepTEMOut.jl | 0 .../src/runTEMCube.jl | 0 .../src/runTEMLoc.jl | 0 .../src/runTEMSpace.jl | 0 .../src/spinupSequence.jl | 0 .../src/spinupTEM.jl | 0 .../SindbadTEM => SindbadTEM}/src/utilsTEM.jl | 0 .../test/Project.toml | 0 .../test/test_update_parameters.jl | 0 SindbadVisuals/LICENSE.md | 287 ++++++++ .../Project.toml | 6 +- .../src/SindbadVisuals.jl | 2 +- .../src/plotFromSindbadInfo.jl | 0 .../src/plotOutputData.jl | 0 .../src/plotOutputUsingPlots.jl | 0 docs/Project.toml | 20 +- docs/gen_models_md.jl | 2 +- docs/make.jl | 2 +- docs/src/pages/code/sindbad.md | 4 +- docs/src/pages/concept/TEM.md | 2 +- docs/src/pages/develop/conventions.md | 2 +- docs/src/pages/develop/cost_function.md | 2 +- docs/src/pages/develop/cost_metrics.md | 2 +- docs/src/pages/develop/experiments.md | 2 +- docs/src/pages/develop/install.md | 4 +- docs/src/pages/develop/model_approach.md | 4 +- docs/src/pages/develop/optimization_method.md | 2 +- docs/src/pages/develop/spinup.md | 2 +- examples/exp_OTB/Project.toml | 4 +- .../experiment_Trautmann2022.jl | 2 +- examples/exp_WROASTED/Project.toml | 4 +- examples/exp_WROASTED/test_hourly.jl | 2 +- .../exp_WROASTED/test_hourly_optimization.jl | 2 +- examples/exp_WROASTED/test_mixed_numbers.jl | 2 +- examples/exp_WROASTED/test_threaded_LHS.jl | 2 +- examples/exp_WROASTED/test_threaded_gsa.jl | 2 +- examples/exp_distri/Project.toml | 2 +- examples/exp_fluxnet_hybrid/Project.toml | 16 +- .../exp_fluxnet_insitu_PF.jl | 2 +- .../z-legacy_exp_hybridNN/Project.toml | 2 +- .../z-legacy_exp_hybridNN/gen_wrosted_obs.jl | 2 +- examples/exp_global/experiment_global.jl | 2 +- examples/exp_graf/Project.toml | 2 +- examples/exp_plots/Project.toml | 2 +- lib/SindbadML/README.md | 18 - lib/SindbadOptimization/README.md | 2 - lib/SindbadSetup/README.md | 20 - lib/SindbadTEM/README.md | 20 - lib/SindbadUtils/Project.toml | 4 +- lib/SindbadUtils/test/Project.toml | 2 +- lib/SindbadUtils/test/longtuple.jl | 2 +- lib/SindbadUtils/test/runtests.jl | 2 +- lib/SindbadVisuals/LICENSE.md | 674 ------------------ src/Sindbad.jl | 3 + 130 files changed, 409 insertions(+), 878 deletions(-) rename {lib/SindbadData => SindbadData}/LICENSE.md (100%) rename {lib/SindbadData => SindbadData}/NOTICE.md (100%) rename {lib/SindbadData => SindbadData}/Project.toml (89%) rename {lib/SindbadData => SindbadData}/src/SindbadData.jl (99%) rename {lib/SindbadData => SindbadData}/src/getForcing.jl (100%) rename {lib/SindbadData => SindbadData}/src/getObservation.jl (100%) rename {lib/SindbadData => SindbadData}/src/spatialSubset.jl (100%) rename {lib/SindbadData => SindbadData}/src/utilsData.jl (100%) rename {lib/SindbadExperiment => SindbadExperiment}/LICENSE.md (100%) rename {lib/SindbadExperiment => SindbadExperiment}/NOTICE.md (100%) rename {lib/SindbadExperiment => SindbadExperiment}/Project.toml (55%) rename {lib/SindbadExperiment => SindbadExperiment}/src/SindbadExperiment.jl (98%) rename {lib/SindbadExperiment => SindbadExperiment}/src/runExperiment.jl (100%) rename {lib/SindbadExperiment => SindbadExperiment}/src/saveOutput.jl (100%) rename {lib/SindbadML => SindbadML}/LICENSE.md (100%) rename {lib/SindbadML => SindbadML}/NOTICE.md (100%) rename {lib/SindbadML => SindbadML}/Project.toml (81%) rename {lib/SindbadML => SindbadML}/ext/SindbadMLEnzymeExt.jl (100%) rename {lib/SindbadML => SindbadML}/src/SindbadML.jl (99%) rename {lib/SindbadML => SindbadML}/src/activationFunctions.jl (100%) rename {lib/SindbadML => SindbadML}/src/diffCaches.jl (100%) rename {lib/SindbadML => SindbadML}/src/loadCovariates.jl (100%) rename {lib/SindbadML => SindbadML}/src/loss.jl (100%) rename {lib/SindbadML => SindbadML}/src/mlGradient.jl (100%) rename {lib/SindbadML => SindbadML}/src/mlModels.jl (100%) rename {lib/SindbadML => SindbadML}/src/mlOptimizers.jl (100%) rename {lib/SindbadML => SindbadML}/src/mlTrain.jl (100%) rename {lib/SindbadML => SindbadML}/src/neuralNetwork.jl (100%) rename {lib/SindbadML => SindbadML}/src/oneHots.jl (100%) rename {lib/SindbadML => SindbadML}/src/prepHybrid.jl (100%) rename {lib/SindbadML => SindbadML}/src/siteLosses.jl (100%) rename {lib/SindbadML => SindbadML}/src/utilsML.jl (100%) rename {lib/SindbadML => SindbadML}/test/runtests.jl (100%) rename {lib/SindbadMetrics => SindbadMetrics}/LICENSE.md (100%) rename {lib/SindbadMetrics => SindbadMetrics}/NOTICE.md (100%) rename {lib/SindbadMetrics => SindbadMetrics}/Project.toml (64%) rename {lib/SindbadMetrics => SindbadMetrics}/src/SindbadMetrics.jl (99%) rename {lib/SindbadMetrics => SindbadMetrics}/src/getMetrics.jl (100%) rename {lib/SindbadMetrics => SindbadMetrics}/src/handleDataForLoss.jl (100%) rename {lib/SindbadMetrics => SindbadMetrics}/src/metrics.jl (100%) rename {lib/SindbadOptimization => SindbadOptimization}/LICENSE.md (100%) rename {lib/SindbadOptimization => SindbadOptimization}/NOTICE.md (100%) rename {lib/SindbadOptimization => SindbadOptimization}/Project.toml (84%) rename {lib/SindbadOptimization => SindbadOptimization}/src/SindbadOptimization.jl (99%) rename {lib/SindbadOptimization => SindbadOptimization}/src/cost.jl (100%) rename {lib/SindbadOptimization => SindbadOptimization}/src/optimizeTEM.jl (100%) rename {lib/SindbadOptimization => SindbadOptimization}/src/optimizer.jl (100%) rename {lib/SindbadOptimization => SindbadOptimization}/src/prepOpti.jl (100%) rename {lib/SindbadOptimization => SindbadOptimization}/src/sensitivityAnalysis.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/LICENSE.md (100%) rename {lib/SindbadSetup => SindbadSetup}/NOTICE.md (100%) rename {lib/SindbadSetup => SindbadSetup}/Project.toml (82%) rename {lib/SindbadSetup => SindbadSetup}/src/SindbadSetup.jl (97%) rename {lib/SindbadSetup => SindbadSetup}/src/defaultOptions.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/getConfiguration.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupExperimentInfo.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupHybridML.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupInfo.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupModels.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupOptimization.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupOutput.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupParameters.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupPools.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/setupTypes.jl (100%) rename {lib/SindbadSetup => SindbadSetup}/src/updateParameters.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/LICENSE.md (100%) rename {lib/SindbadTEM => SindbadTEM}/NOTICE.md (100%) rename {lib/SindbadTEM => SindbadTEM}/Project.toml (73%) rename {lib/SindbadTEM => SindbadTEM}/src/SindbadTEM.jl (99%) rename {lib/SindbadTEM => SindbadTEM}/src/deriveSpinupForcing.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/prepTEM.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/prepTEMOut.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/runTEMCube.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/runTEMLoc.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/runTEMSpace.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/spinupSequence.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/spinupTEM.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/src/utilsTEM.jl (100%) rename {lib/SindbadTEM => SindbadTEM}/test/Project.toml (100%) rename {lib/SindbadTEM => SindbadTEM}/test/test_update_parameters.jl (100%) create mode 100644 SindbadVisuals/LICENSE.md rename {lib/SindbadVisuals => SindbadVisuals}/Project.toml (67%) rename {lib/SindbadVisuals => SindbadVisuals}/src/SindbadVisuals.jl (98%) rename {lib/SindbadVisuals => SindbadVisuals}/src/plotFromSindbadInfo.jl (100%) rename {lib/SindbadVisuals => SindbadVisuals}/src/plotOutputData.jl (100%) rename {lib/SindbadVisuals => SindbadVisuals}/src/plotOutputUsingPlots.jl (100%) delete mode 100644 lib/SindbadML/README.md delete mode 100644 lib/SindbadOptimization/README.md delete mode 100644 lib/SindbadSetup/README.md delete mode 100644 lib/SindbadTEM/README.md delete mode 100644 lib/SindbadVisuals/LICENSE.md create mode 100644 src/Sindbad.jl diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index c793d14b1..173fad38a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -54,17 +54,17 @@ jobs: restore-keys: | ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- - - name: Develop and test Sindbad + - name: Develop and test SindbadCore shell: julia --project=test_env {0} run: | using Pkg pkg"registry up" Pkg.update() - pkg"dev ./SindbadCore" # Develop the package in the Sindbad directory - Pkg.test("Sindbad"; coverage=true) # Test the package named "Sindbad" + pkg"dev ./SindbadCore" # Develop the package in the SindbadCore directory + Pkg.test("Sindbad"; coverage=true) # Test the package named "SindbadCore" - uses: julia-actions/julia-processcoverage@v1 with: - directories: Sindbad/src + directories: SindbadCore/src - uses: codecov/codecov-action@v5 with: files: lcov.info \ No newline at end of file diff --git a/Project.toml b/Project.toml index 7579af9ce..639908838 100644 --- a/Project.toml +++ b/Project.toml @@ -4,42 +4,17 @@ version = "0.1.0" authors = ["SINDBAD Contributors "] [deps] -Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -Crayons = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" -FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" -FieldMetadata = "bf96fef3-21d2-5d20-8afa-0e7d4c32a885" -Flatten = "4c728ea3-d9ee-5c9a-9642-b6f7d7dc04fa" -InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -Missings = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -NaNStatistics = "b946abbf-3ea7-4610-9019-9858bfdeaf2d" -Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Reexport = "189a3867-3050-52da-a836-e630ba90ab69" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b" -TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" +SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" +SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" +SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" +SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" +SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -[compat] -Accessors = "0.1.42" -Crayons = "4.1.1" -Dates = "1.10, 1.11.0" -FIGlet = "0.2.2" -Logging = "1.10.10, 1.11.0" -NaNStatistics = "0.6.50" -Pkg = "1.10.0" -Reexport = "1.2.2" -StyledStrings = "1.0.3, 1.11.0" -TypedTables = "1.4.6" -julia = "1.10" - -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] +[sources] +SindbadCore = {path = "./SindbadCore"} +SindbadData = {path = "./SindbadData"} +SindbadMetrics = {path = "./SindbadMetrics"} +SindbadSetup = {path = "./SindbadSetup"} +SindbadTEM = {path = "./SindbadTEM"} +SindbadML = {path = "./SindbadML"} \ No newline at end of file diff --git a/SindbadCore/src/SindbadCore.jl b/SindbadCore/src/SindbadCore.jl index 98f704f0c..db70c5f43 100644 --- a/SindbadCore/src/SindbadCore.jl +++ b/SindbadCore/src/SindbadCore.jl @@ -57,14 +57,14 @@ end 2. **Using utilities from the package**: ```julia -using Sindbad +using SindbadCore # Access utilities or models flattened_data = flatten(nested_data) ``` 3. **Querying the variable catalog**: ```julia -using Sindbad +using SindbadCore catalog = getVariableCatalog() ``` """ diff --git a/SindbadCore/test/Project.toml b/SindbadCore/test/Project.toml index 7f8d75ab4..77a94c387 100644 --- a/SindbadCore/test/Project.toml +++ b/SindbadCore/test/Project.toml @@ -1,4 +1,4 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/SindbadCore/test/runtests.jl b/SindbadCore/test/runtests.jl index e4d61ed74..20dd69ab5 100644 --- a/SindbadCore/test/runtests.jl +++ b/SindbadCore/test/runtests.jl @@ -1,4 +1,4 @@ -using Sindbad +using SindbadCore using BenchmarkTools using Test diff --git a/lib/SindbadData/LICENSE.md b/SindbadData/LICENSE.md similarity index 100% rename from lib/SindbadData/LICENSE.md rename to SindbadData/LICENSE.md diff --git a/lib/SindbadData/NOTICE.md b/SindbadData/NOTICE.md similarity index 100% rename from lib/SindbadData/NOTICE.md rename to SindbadData/NOTICE.md diff --git a/lib/SindbadData/Project.toml b/SindbadData/Project.toml similarity index 89% rename from lib/SindbadData/Project.toml rename to SindbadData/Project.toml index b506a2c49..76ac8f58f 100644 --- a/lib/SindbadData/Project.toml +++ b/SindbadData/Project.toml @@ -9,13 +9,13 @@ DimensionalData = "0703355e-b756-11e9-17c0-8b28908087d0" FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" NCDatasets = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" NetCDF = "30363a11-5582-574a-97bb-aa9a979735b9" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" YAXArrayBase = "90b8fcef-0c2d-428d-9c56-5f86629e9d14" YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c" Zarr = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99" [sources] -Sindbad = {path = "../../SindbadCore"} +SindbadCore = {path = "../SindbadCore"} [compat] AxisKeys = "0.2.15" diff --git a/lib/SindbadData/src/SindbadData.jl b/SindbadData/src/SindbadData.jl similarity index 99% rename from lib/SindbadData/src/SindbadData.jl rename to SindbadData/src/SindbadData.jl index 2e71f006b..791e88187 100644 --- a/lib/SindbadData/src/SindbadData.jl +++ b/SindbadData/src/SindbadData.jl @@ -38,7 +38,7 @@ This package is designed to streamline the ingestion and preprocessing of input """ module SindbadData - using Sindbad + using SindbadCore using AxisKeys: KeyedArray, AxisKeys using FillArrays using DimensionalData diff --git a/lib/SindbadData/src/getForcing.jl b/SindbadData/src/getForcing.jl similarity index 100% rename from lib/SindbadData/src/getForcing.jl rename to SindbadData/src/getForcing.jl diff --git a/lib/SindbadData/src/getObservation.jl b/SindbadData/src/getObservation.jl similarity index 100% rename from lib/SindbadData/src/getObservation.jl rename to SindbadData/src/getObservation.jl diff --git a/lib/SindbadData/src/spatialSubset.jl b/SindbadData/src/spatialSubset.jl similarity index 100% rename from lib/SindbadData/src/spatialSubset.jl rename to SindbadData/src/spatialSubset.jl diff --git a/lib/SindbadData/src/utilsData.jl b/SindbadData/src/utilsData.jl similarity index 100% rename from lib/SindbadData/src/utilsData.jl rename to SindbadData/src/utilsData.jl diff --git a/lib/SindbadExperiment/LICENSE.md b/SindbadExperiment/LICENSE.md similarity index 100% rename from lib/SindbadExperiment/LICENSE.md rename to SindbadExperiment/LICENSE.md diff --git a/lib/SindbadExperiment/NOTICE.md b/SindbadExperiment/NOTICE.md similarity index 100% rename from lib/SindbadExperiment/NOTICE.md rename to SindbadExperiment/NOTICE.md diff --git a/lib/SindbadExperiment/Project.toml b/SindbadExperiment/Project.toml similarity index 55% rename from lib/SindbadExperiment/Project.toml rename to SindbadExperiment/Project.toml index ea05def84..5e707ef3c 100644 --- a/lib/SindbadExperiment/Project.toml +++ b/SindbadExperiment/Project.toml @@ -4,7 +4,7 @@ authors = ["SINDBAD Contributors "] version = "0.1.0" [deps] -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" @@ -13,10 +13,10 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadData = {path = "../../lib/SindbadData"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadOptimization = {path = "../../lib/SindbadOptimization"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadVisuals = {path = "../../lib/SindbadVisuals"} +SindbadCore = {path = "../SindbadCore"} +SindbadData = {path = "../SindbadData"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadOptimization = {path = "../SindbadOptimization"} +SindbadSetup = {path = "../SindbadSetup"} +SindbadTEM = {path = "../SindbadTEM"} +SindbadVisuals = {path = "../SindbadVisuals"} diff --git a/lib/SindbadExperiment/src/SindbadExperiment.jl b/SindbadExperiment/src/SindbadExperiment.jl similarity index 98% rename from lib/SindbadExperiment/src/SindbadExperiment.jl rename to SindbadExperiment/src/SindbadExperiment.jl index 6adb53bcd..029d0b454 100644 --- a/lib/SindbadExperiment/src/SindbadExperiment.jl +++ b/SindbadExperiment/src/SindbadExperiment.jl @@ -39,8 +39,8 @@ runExperimentForward(experiment_config) ``` """ module SindbadExperiment - using Sindbad - @reexport using Sindbad + using SindbadCore + @reexport using SindbadCore @reexport using SindbadSetup @reexport using SindbadData @reexport using SindbadTEM diff --git a/lib/SindbadExperiment/src/runExperiment.jl b/SindbadExperiment/src/runExperiment.jl similarity index 100% rename from lib/SindbadExperiment/src/runExperiment.jl rename to SindbadExperiment/src/runExperiment.jl diff --git a/lib/SindbadExperiment/src/saveOutput.jl b/SindbadExperiment/src/saveOutput.jl similarity index 100% rename from lib/SindbadExperiment/src/saveOutput.jl rename to SindbadExperiment/src/saveOutput.jl diff --git a/lib/SindbadML/LICENSE.md b/SindbadML/LICENSE.md similarity index 100% rename from lib/SindbadML/LICENSE.md rename to SindbadML/LICENSE.md diff --git a/lib/SindbadML/NOTICE.md b/SindbadML/NOTICE.md similarity index 100% rename from lib/SindbadML/NOTICE.md rename to SindbadML/NOTICE.md diff --git a/lib/SindbadML/Project.toml b/SindbadML/Project.toml similarity index 81% rename from lib/SindbadML/Project.toml rename to SindbadML/Project.toml index 4f822cdc1..26245c1ad 100644 --- a/lib/SindbadML/Project.toml +++ b/SindbadML/Project.toml @@ -18,7 +18,7 @@ ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" @@ -27,11 +27,11 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadData = {path = "../../lib/SindbadData"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} +SindbadCore = {path = "../SindbadCore"} +SindbadData = {path = "../SindbadData"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadSetup = {path = "../SindbadSetup"} +SindbadTEM = {path = "../SindbadTEM"} [compat] DiskArrays = "0.4.11" diff --git a/lib/SindbadML/ext/SindbadMLEnzymeExt.jl b/SindbadML/ext/SindbadMLEnzymeExt.jl similarity index 100% rename from lib/SindbadML/ext/SindbadMLEnzymeExt.jl rename to SindbadML/ext/SindbadMLEnzymeExt.jl diff --git a/lib/SindbadML/src/SindbadML.jl b/SindbadML/src/SindbadML.jl similarity index 99% rename from lib/SindbadML/src/SindbadML.jl rename to SindbadML/src/SindbadML.jl index 323fab29b..aac3e342b 100644 --- a/lib/SindbadML/src/SindbadML.jl +++ b/SindbadML/src/SindbadML.jl @@ -48,7 +48,7 @@ module SindbadML nprocs, CachingPool - using Sindbad + using SindbadCore using SindbadTEM using SindbadSetup using SindbadData.YAXArrays diff --git a/lib/SindbadML/src/activationFunctions.jl b/SindbadML/src/activationFunctions.jl similarity index 100% rename from lib/SindbadML/src/activationFunctions.jl rename to SindbadML/src/activationFunctions.jl diff --git a/lib/SindbadML/src/diffCaches.jl b/SindbadML/src/diffCaches.jl similarity index 100% rename from lib/SindbadML/src/diffCaches.jl rename to SindbadML/src/diffCaches.jl diff --git a/lib/SindbadML/src/loadCovariates.jl b/SindbadML/src/loadCovariates.jl similarity index 100% rename from lib/SindbadML/src/loadCovariates.jl rename to SindbadML/src/loadCovariates.jl diff --git a/lib/SindbadML/src/loss.jl b/SindbadML/src/loss.jl similarity index 100% rename from lib/SindbadML/src/loss.jl rename to SindbadML/src/loss.jl diff --git a/lib/SindbadML/src/mlGradient.jl b/SindbadML/src/mlGradient.jl similarity index 100% rename from lib/SindbadML/src/mlGradient.jl rename to SindbadML/src/mlGradient.jl diff --git a/lib/SindbadML/src/mlModels.jl b/SindbadML/src/mlModels.jl similarity index 100% rename from lib/SindbadML/src/mlModels.jl rename to SindbadML/src/mlModels.jl diff --git a/lib/SindbadML/src/mlOptimizers.jl b/SindbadML/src/mlOptimizers.jl similarity index 100% rename from lib/SindbadML/src/mlOptimizers.jl rename to SindbadML/src/mlOptimizers.jl diff --git a/lib/SindbadML/src/mlTrain.jl b/SindbadML/src/mlTrain.jl similarity index 100% rename from lib/SindbadML/src/mlTrain.jl rename to SindbadML/src/mlTrain.jl diff --git a/lib/SindbadML/src/neuralNetwork.jl b/SindbadML/src/neuralNetwork.jl similarity index 100% rename from lib/SindbadML/src/neuralNetwork.jl rename to SindbadML/src/neuralNetwork.jl diff --git a/lib/SindbadML/src/oneHots.jl b/SindbadML/src/oneHots.jl similarity index 100% rename from lib/SindbadML/src/oneHots.jl rename to SindbadML/src/oneHots.jl diff --git a/lib/SindbadML/src/prepHybrid.jl b/SindbadML/src/prepHybrid.jl similarity index 100% rename from lib/SindbadML/src/prepHybrid.jl rename to SindbadML/src/prepHybrid.jl diff --git a/lib/SindbadML/src/siteLosses.jl b/SindbadML/src/siteLosses.jl similarity index 100% rename from lib/SindbadML/src/siteLosses.jl rename to SindbadML/src/siteLosses.jl diff --git a/lib/SindbadML/src/utilsML.jl b/SindbadML/src/utilsML.jl similarity index 100% rename from lib/SindbadML/src/utilsML.jl rename to SindbadML/src/utilsML.jl diff --git a/lib/SindbadML/test/runtests.jl b/SindbadML/test/runtests.jl similarity index 100% rename from lib/SindbadML/test/runtests.jl rename to SindbadML/test/runtests.jl diff --git a/lib/SindbadMetrics/LICENSE.md b/SindbadMetrics/LICENSE.md similarity index 100% rename from lib/SindbadMetrics/LICENSE.md rename to SindbadMetrics/LICENSE.md diff --git a/lib/SindbadMetrics/NOTICE.md b/SindbadMetrics/NOTICE.md similarity index 100% rename from lib/SindbadMetrics/NOTICE.md rename to SindbadMetrics/NOTICE.md diff --git a/lib/SindbadMetrics/Project.toml b/SindbadMetrics/Project.toml similarity index 64% rename from lib/SindbadMetrics/Project.toml rename to SindbadMetrics/Project.toml index 95b9f54d3..fdb90795f 100644 --- a/lib/SindbadMetrics/Project.toml +++ b/SindbadMetrics/Project.toml @@ -4,7 +4,7 @@ authors = ["SINDBAD Contributors "] version = "0.1.0" [deps] -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" [sources] -Sindbad = {path = "../../SindbadCore"} +SindbadCore = {path = "../SindbadCore"} diff --git a/lib/SindbadMetrics/src/SindbadMetrics.jl b/SindbadMetrics/src/SindbadMetrics.jl similarity index 99% rename from lib/SindbadMetrics/src/SindbadMetrics.jl rename to SindbadMetrics/src/SindbadMetrics.jl index 42d4e15f7..a3aee07e9 100644 --- a/lib/SindbadMetrics/src/SindbadMetrics.jl +++ b/SindbadMetrics/src/SindbadMetrics.jl @@ -46,7 +46,7 @@ correlation = metric(model_output, observations, Pcor()) """ module SindbadMetrics - using Sindbad + using SindbadCore include("handleDataForLoss.jl") include("getMetrics.jl") diff --git a/lib/SindbadMetrics/src/getMetrics.jl b/SindbadMetrics/src/getMetrics.jl similarity index 100% rename from lib/SindbadMetrics/src/getMetrics.jl rename to SindbadMetrics/src/getMetrics.jl diff --git a/lib/SindbadMetrics/src/handleDataForLoss.jl b/SindbadMetrics/src/handleDataForLoss.jl similarity index 100% rename from lib/SindbadMetrics/src/handleDataForLoss.jl rename to SindbadMetrics/src/handleDataForLoss.jl diff --git a/lib/SindbadMetrics/src/metrics.jl b/SindbadMetrics/src/metrics.jl similarity index 100% rename from lib/SindbadMetrics/src/metrics.jl rename to SindbadMetrics/src/metrics.jl diff --git a/lib/SindbadOptimization/LICENSE.md b/SindbadOptimization/LICENSE.md similarity index 100% rename from lib/SindbadOptimization/LICENSE.md rename to SindbadOptimization/LICENSE.md diff --git a/lib/SindbadOptimization/NOTICE.md b/SindbadOptimization/NOTICE.md similarity index 100% rename from lib/SindbadOptimization/NOTICE.md rename to SindbadOptimization/NOTICE.md diff --git a/lib/SindbadOptimization/Project.toml b/SindbadOptimization/Project.toml similarity index 84% rename from lib/SindbadOptimization/Project.toml rename to SindbadOptimization/Project.toml index 8cbfd0ea8..cf4294d74 100644 --- a/lib/SindbadOptimization/Project.toml +++ b/SindbadOptimization/Project.toml @@ -18,17 +18,17 @@ OptimizationCMAEvolutionStrategy = "bd407f91-200f-4536-9381-e4ba712f53f8" OptimizationGCMAES = "6f0a0517-dbc2-4a7a-8a20-99ae7f27e911" OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e" QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} +SindbadCore = {path = "../SindbadCore"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadSetup = {path = "../SindbadSetup"} +SindbadTEM = {path = "../SindbadTEM"} [compat] GlobalSensitivity = "2.7.0" diff --git a/lib/SindbadOptimization/src/SindbadOptimization.jl b/SindbadOptimization/src/SindbadOptimization.jl similarity index 99% rename from lib/SindbadOptimization/src/SindbadOptimization.jl rename to SindbadOptimization/src/SindbadOptimization.jl index e03f2d10f..8bdb5b489 100644 --- a/lib/SindbadOptimization/src/SindbadOptimization.jl +++ b/SindbadOptimization/src/SindbadOptimization.jl @@ -83,7 +83,7 @@ module SindbadOptimization # using OptimizationQuadDIRECT using QuasiMonteCarlo using StableRNGs - using Sindbad + using SindbadCore using SindbadSetup using SindbadTEM using SindbadMetrics diff --git a/lib/SindbadOptimization/src/cost.jl b/SindbadOptimization/src/cost.jl similarity index 100% rename from lib/SindbadOptimization/src/cost.jl rename to SindbadOptimization/src/cost.jl diff --git a/lib/SindbadOptimization/src/optimizeTEM.jl b/SindbadOptimization/src/optimizeTEM.jl similarity index 100% rename from lib/SindbadOptimization/src/optimizeTEM.jl rename to SindbadOptimization/src/optimizeTEM.jl diff --git a/lib/SindbadOptimization/src/optimizer.jl b/SindbadOptimization/src/optimizer.jl similarity index 100% rename from lib/SindbadOptimization/src/optimizer.jl rename to SindbadOptimization/src/optimizer.jl diff --git a/lib/SindbadOptimization/src/prepOpti.jl b/SindbadOptimization/src/prepOpti.jl similarity index 100% rename from lib/SindbadOptimization/src/prepOpti.jl rename to SindbadOptimization/src/prepOpti.jl diff --git a/lib/SindbadOptimization/src/sensitivityAnalysis.jl b/SindbadOptimization/src/sensitivityAnalysis.jl similarity index 100% rename from lib/SindbadOptimization/src/sensitivityAnalysis.jl rename to SindbadOptimization/src/sensitivityAnalysis.jl diff --git a/lib/SindbadSetup/LICENSE.md b/SindbadSetup/LICENSE.md similarity index 100% rename from lib/SindbadSetup/LICENSE.md rename to SindbadSetup/LICENSE.md diff --git a/lib/SindbadSetup/NOTICE.md b/SindbadSetup/NOTICE.md similarity index 100% rename from lib/SindbadSetup/NOTICE.md rename to SindbadSetup/NOTICE.md diff --git a/lib/SindbadSetup/Project.toml b/SindbadSetup/Project.toml similarity index 82% rename from lib/SindbadSetup/Project.toml rename to SindbadSetup/Project.toml index 0064a18e9..0a77bd8c8 100644 --- a/lib/SindbadSetup/Project.toml +++ b/SindbadSetup/Project.toml @@ -9,10 +9,10 @@ ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" Infiltrator = "5903a43b-9cc3-4c30-8d17-598619ec4e9b" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" [sources] -Sindbad = {path = "../../SindbadCore"} +SindbadCore = {path = "../SindbadCore"} [compat] ConstructionBase = "1.5.8" diff --git a/lib/SindbadSetup/src/SindbadSetup.jl b/SindbadSetup/src/SindbadSetup.jl similarity index 97% rename from lib/SindbadSetup/src/SindbadSetup.jl rename to SindbadSetup/src/SindbadSetup.jl index 32e9d8282..2896ee691 100644 --- a/lib/SindbadSetup/src/SindbadSetup.jl +++ b/SindbadSetup/src/SindbadSetup.jl @@ -58,7 +58,7 @@ This package is designed to produce the SINDBAD `info` object, which contains al """ module SindbadSetup - using Sindbad + using SindbadCore using ConstructionBase @reexport using CSV: CSV @reexport using Infiltrator @@ -79,7 +79,7 @@ module SindbadSetup include("setupInfo.jl") # include doc strings for all types in Types - ds_file = joinpath(dirname(pathof(Sindbad)), "Types/docStringForTypes.jl") + ds_file = joinpath(dirname(pathof(SindbadCore)), "Types/docStringForTypes.jl") loc_types = subtypes(SindbadTypes) open(ds_file, "a") do o_file writeTypeDocString(o_file, SindbadTypes) diff --git a/lib/SindbadSetup/src/defaultOptions.jl b/SindbadSetup/src/defaultOptions.jl similarity index 100% rename from lib/SindbadSetup/src/defaultOptions.jl rename to SindbadSetup/src/defaultOptions.jl diff --git a/lib/SindbadSetup/src/getConfiguration.jl b/SindbadSetup/src/getConfiguration.jl similarity index 100% rename from lib/SindbadSetup/src/getConfiguration.jl rename to SindbadSetup/src/getConfiguration.jl diff --git a/lib/SindbadSetup/src/setupExperimentInfo.jl b/SindbadSetup/src/setupExperimentInfo.jl similarity index 100% rename from lib/SindbadSetup/src/setupExperimentInfo.jl rename to SindbadSetup/src/setupExperimentInfo.jl diff --git a/lib/SindbadSetup/src/setupHybridML.jl b/SindbadSetup/src/setupHybridML.jl similarity index 100% rename from lib/SindbadSetup/src/setupHybridML.jl rename to SindbadSetup/src/setupHybridML.jl diff --git a/lib/SindbadSetup/src/setupInfo.jl b/SindbadSetup/src/setupInfo.jl similarity index 100% rename from lib/SindbadSetup/src/setupInfo.jl rename to SindbadSetup/src/setupInfo.jl diff --git a/lib/SindbadSetup/src/setupModels.jl b/SindbadSetup/src/setupModels.jl similarity index 100% rename from lib/SindbadSetup/src/setupModels.jl rename to SindbadSetup/src/setupModels.jl diff --git a/lib/SindbadSetup/src/setupOptimization.jl b/SindbadSetup/src/setupOptimization.jl similarity index 100% rename from lib/SindbadSetup/src/setupOptimization.jl rename to SindbadSetup/src/setupOptimization.jl diff --git a/lib/SindbadSetup/src/setupOutput.jl b/SindbadSetup/src/setupOutput.jl similarity index 100% rename from lib/SindbadSetup/src/setupOutput.jl rename to SindbadSetup/src/setupOutput.jl diff --git a/lib/SindbadSetup/src/setupParameters.jl b/SindbadSetup/src/setupParameters.jl similarity index 100% rename from lib/SindbadSetup/src/setupParameters.jl rename to SindbadSetup/src/setupParameters.jl diff --git a/lib/SindbadSetup/src/setupPools.jl b/SindbadSetup/src/setupPools.jl similarity index 100% rename from lib/SindbadSetup/src/setupPools.jl rename to SindbadSetup/src/setupPools.jl diff --git a/lib/SindbadSetup/src/setupTypes.jl b/SindbadSetup/src/setupTypes.jl similarity index 100% rename from lib/SindbadSetup/src/setupTypes.jl rename to SindbadSetup/src/setupTypes.jl diff --git a/lib/SindbadSetup/src/updateParameters.jl b/SindbadSetup/src/updateParameters.jl similarity index 100% rename from lib/SindbadSetup/src/updateParameters.jl rename to SindbadSetup/src/updateParameters.jl diff --git a/lib/SindbadTEM/LICENSE.md b/SindbadTEM/LICENSE.md similarity index 100% rename from lib/SindbadTEM/LICENSE.md rename to SindbadTEM/LICENSE.md diff --git a/lib/SindbadTEM/NOTICE.md b/SindbadTEM/NOTICE.md similarity index 100% rename from lib/SindbadTEM/NOTICE.md rename to SindbadTEM/NOTICE.md diff --git a/lib/SindbadTEM/Project.toml b/SindbadTEM/Project.toml similarity index 73% rename from lib/SindbadTEM/Project.toml rename to SindbadTEM/Project.toml index 0db3dec8f..ff4bf4342 100644 --- a/lib/SindbadTEM/Project.toml +++ b/SindbadTEM/Project.toml @@ -8,7 +8,7 @@ ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66" NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" @@ -16,7 +16,7 @@ ThreadPools = "b189fb0b-2eb5-4ed4-bc0c-d34c51242431" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadData = {path = "../../lib/SindbadData"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadSetup = {path = "../../lib/SindbadSetup"} \ No newline at end of file +SindbadCore = {path = "../SindbadCore"} +SindbadData = {path = "../SindbadData"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadSetup = {path = "../SindbadSetup"} \ No newline at end of file diff --git a/lib/SindbadTEM/src/SindbadTEM.jl b/SindbadTEM/src/SindbadTEM.jl similarity index 99% rename from lib/SindbadTEM/src/SindbadTEM.jl rename to SindbadTEM/src/SindbadTEM.jl index 6a7e856a7..16f8f5188 100644 --- a/lib/SindbadTEM/src/SindbadTEM.jl +++ b/SindbadTEM/src/SindbadTEM.jl @@ -55,7 +55,7 @@ module SindbadTEM using ComponentArrays using NLsolve using ProgressMeter - using Sindbad + using SindbadCore using SindbadSetup using SindbadData: YAXArrays diff --git a/lib/SindbadTEM/src/deriveSpinupForcing.jl b/SindbadTEM/src/deriveSpinupForcing.jl similarity index 100% rename from lib/SindbadTEM/src/deriveSpinupForcing.jl rename to SindbadTEM/src/deriveSpinupForcing.jl diff --git a/lib/SindbadTEM/src/prepTEM.jl b/SindbadTEM/src/prepTEM.jl similarity index 100% rename from lib/SindbadTEM/src/prepTEM.jl rename to SindbadTEM/src/prepTEM.jl diff --git a/lib/SindbadTEM/src/prepTEMOut.jl b/SindbadTEM/src/prepTEMOut.jl similarity index 100% rename from lib/SindbadTEM/src/prepTEMOut.jl rename to SindbadTEM/src/prepTEMOut.jl diff --git a/lib/SindbadTEM/src/runTEMCube.jl b/SindbadTEM/src/runTEMCube.jl similarity index 100% rename from lib/SindbadTEM/src/runTEMCube.jl rename to SindbadTEM/src/runTEMCube.jl diff --git a/lib/SindbadTEM/src/runTEMLoc.jl b/SindbadTEM/src/runTEMLoc.jl similarity index 100% rename from lib/SindbadTEM/src/runTEMLoc.jl rename to SindbadTEM/src/runTEMLoc.jl diff --git a/lib/SindbadTEM/src/runTEMSpace.jl b/SindbadTEM/src/runTEMSpace.jl similarity index 100% rename from lib/SindbadTEM/src/runTEMSpace.jl rename to SindbadTEM/src/runTEMSpace.jl diff --git a/lib/SindbadTEM/src/spinupSequence.jl b/SindbadTEM/src/spinupSequence.jl similarity index 100% rename from lib/SindbadTEM/src/spinupSequence.jl rename to SindbadTEM/src/spinupSequence.jl diff --git a/lib/SindbadTEM/src/spinupTEM.jl b/SindbadTEM/src/spinupTEM.jl similarity index 100% rename from lib/SindbadTEM/src/spinupTEM.jl rename to SindbadTEM/src/spinupTEM.jl diff --git a/lib/SindbadTEM/src/utilsTEM.jl b/SindbadTEM/src/utilsTEM.jl similarity index 100% rename from lib/SindbadTEM/src/utilsTEM.jl rename to SindbadTEM/src/utilsTEM.jl diff --git a/lib/SindbadTEM/test/Project.toml b/SindbadTEM/test/Project.toml similarity index 100% rename from lib/SindbadTEM/test/Project.toml rename to SindbadTEM/test/Project.toml diff --git a/lib/SindbadTEM/test/test_update_parameters.jl b/SindbadTEM/test/test_update_parameters.jl similarity index 100% rename from lib/SindbadTEM/test/test_update_parameters.jl rename to SindbadTEM/test/test_update_parameters.jl diff --git a/SindbadVisuals/LICENSE.md b/SindbadVisuals/LICENSE.md new file mode 100644 index 000000000..c29ce2f83 --- /dev/null +++ b/SindbadVisuals/LICENSE.md @@ -0,0 +1,287 @@ + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. \ No newline at end of file diff --git a/lib/SindbadVisuals/Project.toml b/SindbadVisuals/Project.toml similarity index 67% rename from lib/SindbadVisuals/Project.toml rename to SindbadVisuals/Project.toml index ef6f9b26b..c8e43ac8a 100644 --- a/lib/SindbadVisuals/Project.toml +++ b/SindbadVisuals/Project.toml @@ -5,12 +5,12 @@ version = "0.1.0" [deps] Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} +SindbadCore = {path = "../SindbadCore"} +SindbadMetrics = {path = "../SindbadMetrics"} [compat] Plots = "1.40.13" diff --git a/lib/SindbadVisuals/src/SindbadVisuals.jl b/SindbadVisuals/src/SindbadVisuals.jl similarity index 98% rename from lib/SindbadVisuals/src/SindbadVisuals.jl rename to SindbadVisuals/src/SindbadVisuals.jl index 4b8f28d8b..39b477784 100644 --- a/lib/SindbadVisuals/src/SindbadVisuals.jl +++ b/SindbadVisuals/src/SindbadVisuals.jl @@ -29,7 +29,7 @@ using SindbadVisuals ``` """ module SindbadVisuals - using Sindbad + using SindbadCore using SindbadMetrics # using GLMakie # @reexport using GLMakie.Makie diff --git a/lib/SindbadVisuals/src/plotFromSindbadInfo.jl b/SindbadVisuals/src/plotFromSindbadInfo.jl similarity index 100% rename from lib/SindbadVisuals/src/plotFromSindbadInfo.jl rename to SindbadVisuals/src/plotFromSindbadInfo.jl diff --git a/lib/SindbadVisuals/src/plotOutputData.jl b/SindbadVisuals/src/plotOutputData.jl similarity index 100% rename from lib/SindbadVisuals/src/plotOutputData.jl rename to SindbadVisuals/src/plotOutputData.jl diff --git a/lib/SindbadVisuals/src/plotOutputUsingPlots.jl b/SindbadVisuals/src/plotOutputUsingPlots.jl similarity index 100% rename from lib/SindbadVisuals/src/plotOutputUsingPlots.jl rename to SindbadVisuals/src/plotOutputUsingPlots.jl diff --git a/docs/Project.toml b/docs/Project.toml index 38ea42459..e1df9dd07 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -4,7 +4,7 @@ DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" @@ -15,12 +15,12 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" [sources] -Sindbad = {path = "../SindbadCore"} -SindbadData = {path = "../lib/SindbadData"} -SindbadExperiment = {path = "../lib/SindbadExperiment"} -SindbadML = {path = "../lib/SindbadML"} -SindbadMetrics = {path = "../lib/SindbadMetrics"} -SindbadOptimization = {path = "../lib/SindbadOptimization"} -SindbadSetup = {path = "../lib/SindbadSetup"} -SindbadTEM = {path = "../lib/SindbadTEM"} -SindbadVisuals = {path = "../lib/SindbadVisuals"} +SindbadCore = {path = "../SindbadCore"} +SindbadData = {path = "../SindbadData"} +SindbadExperiment = {path = "../SindbadExperiment"} +SindbadML = {path = "../SindbadML"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadOptimization = {path = "../SindbadOptimization"} +SindbadSetup = {path = "../SindbadSetup"} +SindbadTEM = {path = "../SindbadTEM"} +SindbadVisuals = {path = "../SindbadVisuals"} diff --git a/docs/gen_models_md.jl b/docs/gen_models_md.jl index 0acf1d4a0..4328e020f 100644 --- a/docs/gen_models_md.jl +++ b/docs/gen_models_md.jl @@ -1,4 +1,4 @@ -using Sindbad +using SindbadCore using InteractiveUtils open(joinpath(@__DIR__, "./src/pages/code/models.md"), "w") do o_file # write(o_file, "## Models\n\n") diff --git a/docs/make.jl b/docs/make.jl index a9f68e0ca..c7373dcd4 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -4,7 +4,7 @@ Pkg.activate(".") Pkg.instantiate() Pkg.precompile() -using Sindbad +using SindbadCore using SindbadTEM using SindbadData using SindbadSetup diff --git a/docs/src/pages/code/sindbad.md b/docs/src/pages/code/sindbad.md index 30acab771..e354c01b1 100644 --- a/docs/src/pages/code/sindbad.md +++ b/docs/src/pages/code/sindbad.md @@ -7,7 +7,7 @@ Sindbad ```@meta DocTestSetup= quote -using Sindbad +using SindbadCore end ``` @@ -22,7 +22,7 @@ Filter = f -> !(f === Sindbad) CollapsedDocStrings = false DocTestSetup= quote -using Sindbad +using SindbadCore end ``` diff --git a/docs/src/pages/concept/TEM.md b/docs/src/pages/concept/TEM.md index 2a4ca398d..98651b726 100644 --- a/docs/src/pages/concept/TEM.md +++ b/docs/src/pages/concept/TEM.md @@ -89,7 +89,7 @@ Experiments can select models from: ::: tip Viewing Available Models ```julia -using Sindbad +using SindbadCore standard_sindbad_models all_available_sindbad_models ``` diff --git a/docs/src/pages/develop/conventions.md b/docs/src/pages/develop/conventions.md index e3181a31f..c67c1c742 100755 --- a/docs/src/pages/develop/conventions.md +++ b/docs/src/pages/develop/conventions.md @@ -186,7 +186,7 @@ When working with SINDBAD, it is highly recommended to utilize the built-in func Check the documentation of the function for further details as: ```julia -using Sindbad +using SindbadCore ?generateSindbadApproach ``` ::: diff --git a/docs/src/pages/develop/cost_function.md b/docs/src/pages/develop/cost_function.md index 0ba6f6444..47b0662a7 100644 --- a/docs/src/pages/develop/cost_function.md +++ b/docs/src/pages/develop/cost_function.md @@ -5,7 +5,7 @@ This documentation provides a framework for adding new cost calculation methods :::tip For a more detailed view of available cost methods and their purposes, use: ```julia -using Sindbad +using SindbadCore showMethodsOf(CostMethod) ``` This will display a formatted list of all cost methods and their descriptions. diff --git a/docs/src/pages/develop/cost_metrics.md b/docs/src/pages/develop/cost_metrics.md index 876be9b5a..c1833f164 100644 --- a/docs/src/pages/develop/cost_metrics.md +++ b/docs/src/pages/develop/cost_metrics.md @@ -15,7 +15,7 @@ To view the list of available metrics: :::tip To list all available cost metrics and their purposes, use: ```julia -using Sindbad +using SindbadCore showMethodsOf(PerfMetric) ``` This will display a formatted list of all cost metrics and their descriptions, including: diff --git a/docs/src/pages/develop/experiments.md b/docs/src/pages/develop/experiments.md index bc3498596..f34247ca8 100644 --- a/docs/src/pages/develop/experiments.md +++ b/docs/src/pages/develop/experiments.md @@ -236,7 +236,7 @@ SINDBAD provides several functions for running experiments with different config :::tip To list all available experiment methods and their purposes, use: ```julia -using Sindbad +using SindbadCore showMethodsOf(RunFlag) ``` This will display a formatted list of all experiment methods and their descriptions. diff --git a/docs/src/pages/develop/install.md b/docs/src/pages/develop/install.md index 503695f28..d121e48e8 100644 --- a/docs/src/pages/develop/install.md +++ b/docs/src/pages/develop/install.md @@ -18,10 +18,10 @@ julia> ] pkg > st Sindbad ```` -## Start using Sindbad +## Start using SindbadCore Sindbad comes with several predefined models, which you can use individually or in combination. ```julia -using Sindbad +using SindbadCore ``` \ No newline at end of file diff --git a/docs/src/pages/develop/model_approach.md b/docs/src/pages/develop/model_approach.md index 9969903d2..f8b5b7ce7 100644 --- a/docs/src/pages/develop/model_approach.md +++ b/docs/src/pages/develop/model_approach.md @@ -8,7 +8,7 @@ When working with SINDBAD, it is highly recommended to utilize the built-in func Check the documentation of the function for further details as: ```julia -using Sindbad +using SindbadCore ?generateSindbadApproach ``` ::: @@ -18,7 +18,7 @@ using Sindbad To view available model approaches and their implementations: ```julia -using Sindbad: showMethodsOf +using SindbadCore: showMethodsOf showMethodsOf(LandEcosystem) ``` diff --git a/docs/src/pages/develop/optimization_method.md b/docs/src/pages/develop/optimization_method.md index d3f74804c..4a890aece 100644 --- a/docs/src/pages/develop/optimization_method.md +++ b/docs/src/pages/develop/optimization_method.md @@ -80,7 +80,7 @@ Using a JSON file for `algorithm_optimization` allows for: To list all available optimization methods and their purposes, use: ```julia -using Sindbad +using SindbadCore showMethodsOf(OptimizationMethod) ``` This will display a formatted list of all optimization methods and their descriptions. diff --git a/docs/src/pages/develop/spinup.md b/docs/src/pages/develop/spinup.md index eda9ac406..905732e2f 100644 --- a/docs/src/pages/develop/spinup.md +++ b/docs/src/pages/develop/spinup.md @@ -48,7 +48,7 @@ using SindbadTEM ::: tip To list all available spinup methods and their purposes, use: ```julia -using Sindbad +using SindbadCore showMethodsOf(SpinupMode) ``` This will display a formatted list of all spinup methods and their descriptions. diff --git a/examples/exp_OTB/Project.toml b/examples/exp_OTB/Project.toml index 7dc0f6ff1..2c60baba7 100644 --- a/examples/exp_OTB/Project.toml +++ b/examples/exp_OTB/Project.toml @@ -4,7 +4,7 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" @@ -16,7 +16,7 @@ SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" [sources] -Sindbad = {path = "../.."} +SindbadCore = {path = "../.."} SindbadData = {path = "../../lib/SindbadData"} SindbadExperiment = {path = "../../lib/SindbadExperiment"} SindbadML = {path = "../../lib/SindbadML"} diff --git a/examples/exp_Trautmann2022/experiment_Trautmann2022.jl b/examples/exp_Trautmann2022/experiment_Trautmann2022.jl index e0b25a226..16914d0c0 100755 --- a/examples/exp_Trautmann2022/experiment_Trautmann2022.jl +++ b/examples/exp_Trautmann2022/experiment_Trautmann2022.jl @@ -1,5 +1,5 @@ using Revise -@time using Sindbad +@time using SindbadCore @time using SindbadData @time using SindbadTEM @time using SindbadExperiment diff --git a/examples/exp_WROASTED/Project.toml b/examples/exp_WROASTED/Project.toml index 3e84850df..ec9e8a670 100644 --- a/examples/exp_WROASTED/Project.toml +++ b/examples/exp_WROASTED/Project.toml @@ -12,7 +12,7 @@ ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" @@ -26,7 +26,7 @@ StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] -Sindbad = {path = "../.."} +SindbadCore = {path = "../.."} SindbadData = {path = "../../lib/SindbadData"} SindbadExperiment = {path = "../../lib/SindbadExperiment"} SindbadML = {path = "../../lib/SindbadML"} diff --git a/examples/exp_WROASTED/test_hourly.jl b/examples/exp_WROASTED/test_hourly.jl index cdd38de72..18a4dad37 100644 --- a/examples/exp_WROASTED/test_hourly.jl +++ b/examples/exp_WROASTED/test_hourly.jl @@ -1,5 +1,5 @@ using Revise -using Sindbad +using SindbadCore using SindbadExperiment using Plots toggleStackTraceNT() diff --git a/examples/exp_WROASTED/test_hourly_optimization.jl b/examples/exp_WROASTED/test_hourly_optimization.jl index 0568a6845..fc825cdab 100644 --- a/examples/exp_WROASTED/test_hourly_optimization.jl +++ b/examples/exp_WROASTED/test_hourly_optimization.jl @@ -1,5 +1,5 @@ using Revise -using Sindbad +using SindbadCore using SindbadExperiment using Plots toggleStackTraceNT() diff --git a/examples/exp_WROASTED/test_mixed_numbers.jl b/examples/exp_WROASTED/test_mixed_numbers.jl index 0c9b8534a..a1496d7c5 100644 --- a/examples/exp_WROASTED/test_mixed_numbers.jl +++ b/examples/exp_WROASTED/test_mixed_numbers.jl @@ -1,5 +1,5 @@ using Revise -using Sindbad +using SindbadCore using SindbadExperiment using Plots toggleStackTraceNT() diff --git a/examples/exp_WROASTED/test_threaded_LHS.jl b/examples/exp_WROASTED/test_threaded_LHS.jl index 52ec5d81a..2146d13ef 100644 --- a/examples/exp_WROASTED/test_threaded_LHS.jl +++ b/examples/exp_WROASTED/test_threaded_LHS.jl @@ -1,5 +1,5 @@ using Revise -using Sindbad +using SindbadCore using SindbadExperiment using Plots using QuasiMonteCarlo diff --git a/examples/exp_WROASTED/test_threaded_gsa.jl b/examples/exp_WROASTED/test_threaded_gsa.jl index 403e74382..7c99255b8 100644 --- a/examples/exp_WROASTED/test_threaded_gsa.jl +++ b/examples/exp_WROASTED/test_threaded_gsa.jl @@ -1,5 +1,5 @@ using Revise -using Sindbad +using SindbadCore using SindbadExperiment using Plots using QuasiMonteCarlo diff --git a/examples/exp_distri/Project.toml b/examples/exp_distri/Project.toml index 5b492e97b..732355bc1 100644 --- a/examples/exp_distri/Project.toml +++ b/examples/exp_distri/Project.toml @@ -10,7 +10,7 @@ Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" diff --git a/examples/exp_fluxnet_hybrid/Project.toml b/examples/exp_fluxnet_hybrid/Project.toml index f3367a10a..9a19172dc 100644 --- a/examples/exp_fluxnet_hybrid/Project.toml +++ b/examples/exp_fluxnet_hybrid/Project.toml @@ -3,7 +3,7 @@ CMAEvolutionStrategy = "8d3b24bd-414e-49e0-94fb-163cc3a3e411" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GCMAES = "4aa9d100-eb0f-11e8-15f1-25748831eb3b" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" @@ -13,10 +13,10 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [sources] -Sindbad = {path = "../../SindbadCore"} -SindbadData = {path = "../../lib/SindbadData"} -SindbadML = {path = "../../lib/SindbadML"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadOptimization = {path = "../../lib/SindbadOptimization"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} \ No newline at end of file +SindbadCore = {path = "../SindbadCore"} +SindbadData = {path = "../SindbadData"} +SindbadML = {path = "../SindbadML"} +SindbadMetrics = {path = "../SindbadMetrics"} +SindbadOptimization = {path = "../SindbadOptimization"} +SindbadSetup = {path = "../SindbadSetup"} +SindbadTEM = {path = "../SindbadTEM"} \ No newline at end of file diff --git a/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl b/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl index c20bd2d5a..77b56c665 100644 --- a/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl +++ b/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl @@ -1,4 +1,4 @@ -using Sindbad +using SindbadCore using SindbadSetup using SindbadUtils using SindbadData diff --git a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/Project.toml b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/Project.toml index 848782165..ac104e2d1 100644 --- a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/Project.toml +++ b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/Project.toml @@ -12,7 +12,7 @@ Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" PreallocationTools = "d236fae5-4411-538c-8e31-a6e3d9e00b46" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" diff --git a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/gen_wrosted_obs.jl b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/gen_wrosted_obs.jl index ce83c8b2b..5f311ab32 100755 --- a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/gen_wrosted_obs.jl +++ b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/gen_wrosted_obs.jl @@ -1,4 +1,4 @@ -using Sindbad, SindbadTEM, SindbadOptimization +using SindbadCore, SindbadTEM, SindbadOptimization using YAXArrays, YAXArrayBase using AxisKeys using Flux diff --git a/examples/exp_global/experiment_global.jl b/examples/exp_global/experiment_global.jl index b3358e366..8b2be5dc0 100755 --- a/examples/exp_global/experiment_global.jl +++ b/examples/exp_global/experiment_global.jl @@ -1,5 +1,5 @@ using Revise -@time using Sindbad +@time using SindbadCore @time using SindbadData @time using SindbadTEM @time using SindbadExperiment diff --git a/examples/exp_graf/Project.toml b/examples/exp_graf/Project.toml index a648e22f3..85453a41c 100644 --- a/examples/exp_graf/Project.toml +++ b/examples/exp_graf/Project.toml @@ -3,7 +3,7 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" diff --git a/examples/exp_plots/Project.toml b/examples/exp_plots/Project.toml index 7f7871959..98cb43340 100644 --- a/examples/exp_plots/Project.toml +++ b/examples/exp_plots/Project.toml @@ -4,4 +4,4 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" diff --git a/lib/SindbadML/README.md b/lib/SindbadML/README.md deleted file mode 100644 index e914a920b..000000000 --- a/lib/SindbadML/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Start developing this package - -First do - -```sh -(SindbadML) pkg> dev ../.. ../../lib/SindbadUtils/ ../../lib/SindbadData/ ../../lib/SindbadMetrics/ ../../lib/SindbadSetup/ ../../lib/SindbadTEM -``` -and then - -```sh -(SindbadML) pkg> instantiate -``` - -now, this should work - -```sh -julia > using SindbadML -``` \ No newline at end of file diff --git a/lib/SindbadOptimization/README.md b/lib/SindbadOptimization/README.md deleted file mode 100644 index 7344a7693..000000000 --- a/lib/SindbadOptimization/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# SINDBAD.jl -Optimization tools \ No newline at end of file diff --git a/lib/SindbadSetup/README.md b/lib/SindbadSetup/README.md deleted file mode 100644 index a20afa3bb..000000000 --- a/lib/SindbadSetup/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# SindbadSetup - -## Start developing this package - -First do - -```sh -(SindbadSetup) pkg> dev ../.. ../../lib/SindbadUtils/ ../../lib/SindbadMetrics/ -``` -and then - -```sh -(SindbadSetup) pkg> instantiate -``` - -now, this should work - -```sh -julia > using SindbadSetup -``` \ No newline at end of file diff --git a/lib/SindbadTEM/README.md b/lib/SindbadTEM/README.md deleted file mode 100644 index f3e291302..000000000 --- a/lib/SindbadTEM/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# SindbadTEM - -## Start developing this package - -First do - -```sh -(SindbadTEM) pkg> dev ../.. ../../lib/SindbadUtils/ ../../lib/SindbadMetrics/ ../../lib/SindbadSetup/ -``` -and then - -```sh -(SindbadTEM) pkg> instantiate -``` - -now, this should work - -```sh -julia > using SindbadTEM -``` \ No newline at end of file diff --git a/lib/SindbadUtils/Project.toml b/lib/SindbadUtils/Project.toml index 1fe15cfee..5447f3b96 100644 --- a/lib/SindbadUtils/Project.toml +++ b/lib/SindbadUtils/Project.toml @@ -7,8 +7,8 @@ version = "0.1.0" Crayons = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b" [sources] -Sindbad = {path = "../.."} \ No newline at end of file +SindbadCore = {path = "../.."} \ No newline at end of file diff --git a/lib/SindbadUtils/test/Project.toml b/lib/SindbadUtils/test/Project.toml index df32c9ca4..da82bf234 100644 --- a/lib/SindbadUtils/test/Project.toml +++ b/lib/SindbadUtils/test/Project.toml @@ -1,4 +1,4 @@ [deps] -Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" +SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/lib/SindbadUtils/test/longtuple.jl b/lib/SindbadUtils/test/longtuple.jl index bb93efc04..7100d73b0 100644 --- a/lib/SindbadUtils/test/longtuple.jl +++ b/lib/SindbadUtils/test/longtuple.jl @@ -1,4 +1,4 @@ -using Sindbad +using SindbadCore using SindbadUtils: makeLongTuple, getTupleFromLongTuple using Test diff --git a/lib/SindbadUtils/test/runtests.jl b/lib/SindbadUtils/test/runtests.jl index e76ddbb74..5ec3d921a 100644 --- a/lib/SindbadUtils/test/runtests.jl +++ b/lib/SindbadUtils/test/runtests.jl @@ -1,4 +1,4 @@ -using Sindbad +using SindbadCore using Test include("longtuple.jl") diff --git a/lib/SindbadVisuals/LICENSE.md b/lib/SindbadVisuals/LICENSE.md deleted file mode 100644 index e72bfddab..000000000 --- a/lib/SindbadVisuals/LICENSE.md +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/src/Sindbad.jl b/src/Sindbad.jl new file mode 100644 index 000000000..295f1d231 --- /dev/null +++ b/src/Sindbad.jl @@ -0,0 +1,3 @@ +module Sindbad +using SindbadCore +end \ No newline at end of file From fcf415884f436c5f01620477f4c859997fe0d367 Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 17:42:48 +0100 Subject: [PATCH 31/36] placeholders --- governance4RnD.md => CODE_OF_CONDUCT.md | 0 CONTRIBUTING.md | 53 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+) rename governance4RnD.md => CODE_OF_CONDUCT.md (100%) create mode 100644 CONTRIBUTING.md diff --git a/governance4RnD.md b/CODE_OF_CONDUCT.md similarity index 100% rename from governance4RnD.md rename to CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..2da7dc77d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,53 @@ +# SINDBAD Research and Development + +[![][docs-stable-img]][docs-stable-url][![][docs-dev-img]][docs-dev-url][![][ci-img]][ci-url] [![][codecov-img]][codecov-url][![Julia][julia-img]][julia-url][![License: GPL-3.0](https://img.shields.io/badge/License-GPLv3-blue)](https://github.com/EarthyScience/SINDBAD/blob/main/LICENSE) + + + +[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg +[docs-dev-url]: https://earthyscience.github.io/SINDBAD/dev/ + +[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg +[docs-stable-url]: https://earthyscience.github.io/SINDBAD/dev/ + +[codecov-img]: https://codecov.io/gh/EarthyScience/SINDBAD/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/EarthyScience/SINDBAD + +[ci-img]: https://github.com/EarthyScience/SINDBAD/workflows/CI/badge.svg +[ci-url]: https://github.com/EarthyScience/SINDBAD/actions?query=workflow%3ACI + +[julia-img]: https://img.shields.io/badge/julia-v1.10+-blue.svg +[julia-url]: https://julialang.org/ + +This guideline for research and development is intended for ongoing SINDBAD-RnD projects. This will operate as a private fork shared within the core [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team) to foster an environment of maximized internal collaboration. Researchers and developers working on [the public SINDBAD repo](https://github.com/EarthyScience/SINDBAD) are encouraged to join the RnD-Team on a need basis. + +This setup ensures that members can freely exchange ideas, work closely on ongoing research, and develop new capabilities while safeguarding unpublished code from unauthorized public release. By maintaining this private and protected framework, SINDBAD-RnD aims to uphold both the integrity of collaborative efforts and the security of its scientific advancements. + +This repository will ONLY be accessible to the members of the [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team) + +### Governance Principles of SINDBAD-RnD + +1. **Purpose and Structure**: + - The governance structure of `SINDBAD` fosters collaboration, community building, and supports continuous research and development at BGI. + - It is designed to be simple and clear. + +2. **Repository Framework**: + - SINDBAD-RnD governance applies to members of the [SINDBAD-RnD repository](https://github.com/EarthyScience/SINDBAD-RnD). Upon the public release of SINDBAD, SINDBAD-RnD will be established as a fork of the main SINDBAD repository where internal development will be carried out. + + +3. **Function of SINDBAD-RnD**: + SINDBAD-RnD serves as a collaborative, protected space for advancing SINDBAD both technically and scientifically within [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team). *Expansion of [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team) beyond BGI members may be considered in the future but only agreed upon code will be released*. + +4. **SINDBAD-RnD-Team Guidelines**: + + Members of the SINDBAD-RnD group, forming the [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team), adhere to the following principles: + - Participation is voluntary, with a commitment to follow the guidelines. + - Members may privately fork the SINDBAD-RnD repository and when sharing it commit do so exclusively within the [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team). + - Research and development scopes must be transparently shared across the [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team). + - [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team) members must consult the [SINDBAD-RnD-Team](https://github.com/orgs/EarthyScience/teams/sindbad-rnd-team) before: + - Releasing code of their developments in SINDBAD-RnD. + - Collaborating on SINDBAD-related projects outside the team. + - Submitting research proposals leveraging SINDBAD-RnD, preferably including SINDBAD. + - All members adhere to the [Max Planck Society's guidelines for good scientific practice](https://www.mr.mpg.de/14263212/scientificpractice). + +5. **Note on the definition of collaboration**: Collaboration is nuanced. As a guideline, any activity beyond SINDBAD's FAQ, documentation, or workflows/examples qualifies as collaboration. \ No newline at end of file From f4b3cd1a6a29130e692e9d83674875b80130a3bb Mon Sep 17 00:00:00 2001 From: Lazaro Date: Mon, 10 Nov 2025 18:00:53 +0100 Subject: [PATCH 32/36] missing Core --- .github/workflows/CI.yml | 2 +- .../Models/cCycleConsistency/cCycleConsistency_simple.jl | 2 +- SindbadCore/src/Models/waterBalance/waterBalance_simple.jl | 2 +- SindbadCore/src/SindbadCore.jl | 4 ++-- SindbadCore/src/Types/TypesFunctions.jl | 6 +++--- SindbadCore/src/generateCode.jl | 6 +++--- SindbadSetup/src/setupModels.jl | 2 +- SindbadSetup/src/setupTypes.jl | 2 +- docs/gen_lib_md.jl | 2 +- docs/gen_models_md.jl | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 173fad38a..cfa62ede6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -61,7 +61,7 @@ jobs: pkg"registry up" Pkg.update() pkg"dev ./SindbadCore" # Develop the package in the SindbadCore directory - Pkg.test("Sindbad"; coverage=true) # Test the package named "SindbadCore" + Pkg.test("SindbadCore"; coverage=true) # Test the package named "SindbadCore" - uses: julia-actions/julia-processcoverage@v1 with: directories: SindbadCore/src diff --git a/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl b/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl index 9c8edb752..4dde5d537 100644 --- a/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl +++ b/SindbadCore/src/Models/cCycleConsistency/cCycleConsistency_simple.jl @@ -38,7 +38,7 @@ display and error msg and stop when there is inconsistency """ function throwError(land, msg) tcPrint(land) - if hasproperty(Sindbad, :error_catcher) + if hasproperty(SindbadCore, :error_catcher) push!(SindbadCore.error_catcher, land) end error(msg) diff --git a/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl b/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl index f55563456..e4fef7170 100644 --- a/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl +++ b/SindbadCore/src/Models/waterBalance/waterBalance_simple.jl @@ -8,7 +8,7 @@ function throwError(forcing, land, msg, water_balance, total_water, total_water_ @show land @show forcing println(msg) - if hasproperty(Sindbad, :error_catcher) + if hasproperty(SindbadCore, :error_catcher) push!(SindbadCore.error_catcher, land) push!(SindbadCore.error_catcher, msg) end diff --git a/SindbadCore/src/SindbadCore.jl b/SindbadCore/src/SindbadCore.jl index db70c5f43..1baea863b 100644 --- a/SindbadCore/src/SindbadCore.jl +++ b/SindbadCore/src/SindbadCore.jl @@ -1,9 +1,9 @@ """ - Sindbad + SindbadCore A Julia package for the terrestrial ecosystem models within **S**trategies to **IN**tegrate **D**ata and **B**iogeochemic**A**l mo**D**els `(SINDBAD)` framework. -The `Sindbad` package serves as the core of the SINDBAD framework, providing foundational types, utilities, and tools for building and managing SINDBAD models. +The `SindbadCore` package serves as the core of the SINDBAD framework, providing foundational types, utilities, and tools for building and managing SINDBAD models. # Purpose: This package defines the `LandEcosystem` supertype, which serves as the base for all SINDBAD models. It also provides utilities for managing model variables, tools for model operations, and a catalog of variables used in SINDBAD workflows. diff --git a/SindbadCore/src/Types/TypesFunctions.jl b/SindbadCore/src/Types/TypesFunctions.jl index a74ffcb3e..c419073a3 100644 --- a/SindbadCore/src/Types/TypesFunctions.jl +++ b/SindbadCore/src/Types/TypesFunctions.jl @@ -21,7 +21,7 @@ Returns all defined (and optionally internal) objects in the SINDBAD framework. # Example ```julia # Get all defined types in the SINDBAD framework -defined_types = getSindbadDefinitions(Sindbad, Type) +defined_types = getSindbadDefinitions(SindbadCore, Type) ``` """ function getSindbadDefinitions(sindbad_module, what_to_get; internal_only=true) @@ -106,10 +106,10 @@ methodsOf(LandEcosystem; ds=", ", bullet=" * ") methodsOf(LandEcosystem; is_subtype=true) # Display types in a module -methodsOf(Sindbad) +methodsOf(SindbadCore) # Display specific types in a module -methodsOf(Sindbad; the_type=Function) +methodsOf(SindbadCore; the_type=Function) ``` # Extended help diff --git a/SindbadCore/src/generateCode.jl b/SindbadCore/src/generateCode.jl index 182a8f222..e968a4d09 100644 --- a/SindbadCore/src/generateCode.jl +++ b/SindbadCore/src/generateCode.jl @@ -209,9 +209,9 @@ function generateSindbadApproach(model_name::Symbol, model_purpose::String, appr appr_name = Symbol(string(model_name) *"_"* string(appr_name)) end model_type_exists = model_name in nameof.(subtypes(LandEcosystem)) - model_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(model_name).jl") + model_path = joinpath(split(pathof(SindbadCore),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(model_name).jl") model_path_exists = isfile(model_path) - appr_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") + appr_path = joinpath(split(pathof(SindbadCore),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") appr_path_exists = isfile(appr_path) model_path_exists = over_write_model ? false : model_path_exists @@ -271,7 +271,7 @@ function generateSindbadApproach(model_name::Symbol, model_purpose::String, appr if appr_exists @info "Not generating approach." else - appr_path = joinpath(split(pathof(Sindbad),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") + appr_path = joinpath(split(pathof(SindbadCore),"/SindbadCore.jl")[1], "Models", "$(model_name)", "$(appr_name).jl") @info "Generating a new approach: $(appr_name) for existing model: $(model_name) at:\n$(appr_path)" confirm_ = Base.prompt("Continue: y | n") if startswith(confirm_, "y") diff --git a/SindbadSetup/src/setupModels.jl b/SindbadSetup/src/setupModels.jl index 6013c5558..c4343107f 100644 --- a/SindbadSetup/src/setupModels.jl +++ b/SindbadSetup/src/setupModels.jl @@ -55,7 +55,7 @@ function getAllSindbadModels(info; sindbad_models=standard_sindbad_models, sele foreach(sindbad_models) do sm if sm in selected_models selected_approach = selected_models_info === nothing ? "none" : Symbol("$(sm)_$(getfield(selected_models_info, sm).approach)") - showInfo(nothing, @__FILE__, @__LINE__, "$(mod_ind): `$(selected_approach)`.jl => $(purpose(getproperty(Sindbad, selected_approach)))", n_m=6) + showInfo(nothing, @__FILE__, @__LINE__, "$(mod_ind): `$(selected_approach)`.jl => $(purpose(getproperty(SindbadCore, selected_approach)))", n_m=6) mod_ind += 1 end end diff --git a/SindbadSetup/src/setupTypes.jl b/SindbadSetup/src/setupTypes.jl index 9f70e80af..714559e20 100644 --- a/SindbadSetup/src/setupTypes.jl +++ b/SindbadSetup/src/setupTypes.jl @@ -155,7 +155,7 @@ Retrieves the type instance for a given cost metric based on its name. """ function getTypeInstanceForCostMetric(option_name::String) opt_ss = toUpperCaseFirst(option_name) - struct_instance = getfield(Sindbad, opt_ss)() + struct_instance = getfield(SindbadCore, opt_ss)() return struct_instance end diff --git a/docs/gen_lib_md.jl b/docs/gen_lib_md.jl index 76819a28b..2cff87ea7 100644 --- a/docs/gen_lib_md.jl +++ b/docs/gen_lib_md.jl @@ -1,6 +1,6 @@ using SindbadExperiment using SindbadML -packages_list = (:Sindbad, :SindbadUtils, :SindbadTEM, :SindbadSetup, :SindbadData, :SindbadOptimization, :SindbadExperiment, :SindbadML, :SindbadMetrics) +packages_list = (:SindbadCore, :SindbadTEM, :SindbadSetup, :SindbadData, :SindbadOptimization, :SindbadExperiment, :SindbadML, :SindbadMetrics) mkpath("./src/pages/code_gen") lib_path = joinpath(@__DIR__, "../lib") diff --git a/docs/gen_models_md.jl b/docs/gen_models_md.jl index 4328e020f..8005aad83 100644 --- a/docs/gen_models_md.jl +++ b/docs/gen_models_md.jl @@ -15,7 +15,7 @@ open(joinpath(@__DIR__, "./src/pages/code/models.md"), "w") do o_file write(o_file, ":::details $(sm) approaches\n\n") write(o_file, ":::tabs\n\n") - foreach(SindbadCore.subtypes(getfield(Sindbad, sm))) do apr + foreach(SindbadCore.subtypes(getfield(SindbadCore, sm))) do apr write(o_file, "== $(apr)\n") write(o_file, "```@docs\n$(apr)\n```\n") From 99e17c442cbe4049eb7ef1063735fd41fe2b469c Mon Sep 17 00:00:00 2001 From: Lazaro Date: Tue, 11 Nov 2025 08:59:00 +0100 Subject: [PATCH 33/36] longtuple test --- .../test/Utilities}/longtuple.jl | 4 +- SindbadCore/test/runtests.jl | 3 +- lib/SindbadUtils/LICENSE | 674 ------------------ lib/SindbadUtils/Project.toml | 14 - lib/SindbadUtils/test/Project.toml | 4 - lib/SindbadUtils/test/README.md | 5 - lib/SindbadUtils/test/runtests.jl | 4 - 7 files changed, 4 insertions(+), 704 deletions(-) rename {lib/SindbadUtils/test => SindbadCore/test/Utilities}/longtuple.jl (84%) delete mode 100644 lib/SindbadUtils/LICENSE delete mode 100644 lib/SindbadUtils/Project.toml delete mode 100644 lib/SindbadUtils/test/Project.toml delete mode 100644 lib/SindbadUtils/test/README.md delete mode 100644 lib/SindbadUtils/test/runtests.jl diff --git a/lib/SindbadUtils/test/longtuple.jl b/SindbadCore/test/Utilities/longtuple.jl similarity index 84% rename from lib/SindbadUtils/test/longtuple.jl rename to SindbadCore/test/Utilities/longtuple.jl index 7100d73b0..a9d6584bf 100644 --- a/lib/SindbadUtils/test/longtuple.jl +++ b/SindbadCore/test/Utilities/longtuple.jl @@ -1,8 +1,8 @@ using SindbadCore -using SindbadUtils: makeLongTuple, getTupleFromLongTuple +using SindbadCore.Utilities: makeLongTuple, getTupleFromLongTuple using Test -@testset "SindbadUtils: LongTuple" begin +@testset "Utilitis: LongTuple" begin # define a toy tuple of models models_set = (rainSnow_Tair(), ambientCO2_constant(), cAllocation_fixed(), cCycle_simple(), fAPAR_constant(), gpp_coupled(), PFT_constant(), cCycleBase_CASA()) diff --git a/SindbadCore/test/runtests.jl b/SindbadCore/test/runtests.jl index 20dd69ab5..c0e761e6c 100644 --- a/SindbadCore/test/runtests.jl +++ b/SindbadCore/test/runtests.jl @@ -4,5 +4,6 @@ using Test @testset verbose=true begin include("utilsCore.jl") - include("Models/models.jl") + include("Models/models.jl") + include("Utilities/longtuple.jl") end \ No newline at end of file diff --git a/lib/SindbadUtils/LICENSE b/lib/SindbadUtils/LICENSE deleted file mode 100644 index e72bfddab..000000000 --- a/lib/SindbadUtils/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/lib/SindbadUtils/Project.toml b/lib/SindbadUtils/Project.toml deleted file mode 100644 index 5447f3b96..000000000 --- a/lib/SindbadUtils/Project.toml +++ /dev/null @@ -1,14 +0,0 @@ -name = "SindbadUtils" -uuid = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" -authors = ["SINDBAD Contributors "] -version = "0.1.0" - -[deps] -Crayons = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -FIGlet = "3064a664-84fe-4d92-92c7-ed492f3d8fae" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b" - -[sources] -SindbadCore = {path = "../.."} \ No newline at end of file diff --git a/lib/SindbadUtils/test/Project.toml b/lib/SindbadUtils/test/Project.toml deleted file mode 100644 index da82bf234..000000000 --- a/lib/SindbadUtils/test/Project.toml +++ /dev/null @@ -1,4 +0,0 @@ -[deps] -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/lib/SindbadUtils/test/README.md b/lib/SindbadUtils/test/README.md deleted file mode 100644 index 70184b1e9..000000000 --- a/lib/SindbadUtils/test/README.md +++ /dev/null @@ -1,5 +0,0 @@ -To run these test locally do - -```julia -test> dev ../../../ ../ -``` \ No newline at end of file diff --git a/lib/SindbadUtils/test/runtests.jl b/lib/SindbadUtils/test/runtests.jl deleted file mode 100644 index 5ec3d921a..000000000 --- a/lib/SindbadUtils/test/runtests.jl +++ /dev/null @@ -1,4 +0,0 @@ -using SindbadCore -using Test - -include("longtuple.jl") From cb4d9dbf7359417a0f89d3c7f0bc0dd4a111db05 Mon Sep 17 00:00:00 2001 From: Lazaro Date: Tue, 11 Nov 2025 15:41:48 +0100 Subject: [PATCH 34/36] meta package and hybrid run --- Project.toml | 4 +++- examples/exp_fluxnet_hybrid/Project.toml | 14 +++++++------- src/Sindbad.jl | 8 ++++++++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Project.toml b/Project.toml index 639908838..d82d1f3de 100644 --- a/Project.toml +++ b/Project.toml @@ -8,6 +8,7 @@ SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" +SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" @@ -17,4 +18,5 @@ SindbadData = {path = "./SindbadData"} SindbadMetrics = {path = "./SindbadMetrics"} SindbadSetup = {path = "./SindbadSetup"} SindbadTEM = {path = "./SindbadTEM"} -SindbadML = {path = "./SindbadML"} \ No newline at end of file +SindbadML = {path = "./SindbadML"} +SindbadOptimization = {path = "./SindbadOptimization"} \ No newline at end of file diff --git a/examples/exp_fluxnet_hybrid/Project.toml b/examples/exp_fluxnet_hybrid/Project.toml index 9a19172dc..262ca5e27 100644 --- a/examples/exp_fluxnet_hybrid/Project.toml +++ b/examples/exp_fluxnet_hybrid/Project.toml @@ -13,10 +13,10 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [sources] -SindbadCore = {path = "../SindbadCore"} -SindbadData = {path = "../SindbadData"} -SindbadML = {path = "../SindbadML"} -SindbadMetrics = {path = "../SindbadMetrics"} -SindbadOptimization = {path = "../SindbadOptimization"} -SindbadSetup = {path = "../SindbadSetup"} -SindbadTEM = {path = "../SindbadTEM"} \ No newline at end of file +SindbadCore = {path = "../../SindbadCore"} +SindbadData = {path = "../../SindbadData"} +SindbadML = {path = "../../SindbadML"} +SindbadMetrics = {path = "../../SindbadMetrics"} +SindbadOptimization = {path = "../../SindbadOptimization"} +SindbadSetup = {path = "../../SindbadSetup"} +SindbadTEM = {path = "../../SindbadTEM"} \ No newline at end of file diff --git a/src/Sindbad.jl b/src/Sindbad.jl index 295f1d231..328737be8 100644 --- a/src/Sindbad.jl +++ b/src/Sindbad.jl @@ -1,3 +1,11 @@ module Sindbad + using SindbadCore +using SindbadMetrics +using SindbadData +using SindbadSetup +using SindbadTEM +using SindbadOptimization +using SindbadML + end \ No newline at end of file From 49eb570441878f26fe6df1751f41bbd2c4d15c5d Mon Sep 17 00:00:00 2001 From: Lazaro Date: Wed, 12 Nov 2025 13:55:03 +0100 Subject: [PATCH 35/36] update docs --- docs/src/.vitepress/config.mts | 4 ++-- docs/src/.vitepress/theme/index.ts | 4 ++-- docs/src/pages/code/sindbad.md | 8 ++++---- docs/src/pages/code/{utils.md => utilities.md} | 12 ++++++------ 4 files changed, 14 insertions(+), 14 deletions(-) rename docs/src/pages/code/{utils.md => utilities.md} (52%) diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index 105c6832c..49ea8034b 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -26,6 +26,7 @@ const codeItems = [ { text: ' + Core', link: '/pages/code/sindbad' }, { text: ' \u00A0\u00A0++ Models', link: '/pages/code/models' }, { text: ' \u00A0\u00A0++ Types', link: '/pages/code/types' }, + { text: ' \u00A0\u00A0++ Utilities', link: '/pages/code/utilities' }, { text: ' + Data', link: '/pages/code/data' }, { text: ' + Experiment', link: '/pages/code/experiment' }, { text: ' + Metrics', link: '/pages/code/metrics' }, @@ -33,7 +34,6 @@ const codeItems = [ { text: ' + Optimization', link: '/pages/code/optimization' }, { text: ' + Setup', link: '/pages/code/setup' }, { text: ' + TEM', link: '/pages/code/tem' }, - { text: ' + Utils', link: '/pages/code/utils' }, { text: ' + Visuals', link: '/pages/code/visuals' } ] @@ -41,6 +41,7 @@ const codeGenItems = [ { text: 'Sindbad', link: '/pages/code_gen/Sindbad' }, { text: ' + Core', link: '/pages/code_gen/Sindbad' }, { text: ' + Data', link: '/pages/code_gen/SindbadData' }, + { text: ' + Utilities', link: '/pages/code_gen/SindbadUtils' }, { text: ' + Experiment', link: '/pages/code_gen/SindbadExperiment' }, { text: ' + Metrics', link: '/pages/code_gen/SindbadMetrics' }, { text: ' + ML', link: '/pages/code_gen/SindbadML' }, @@ -48,7 +49,6 @@ const codeGenItems = [ { text: ' + Optimization', link: '/pages/code_gen/SindbadOptimization' }, { text: ' + Setup', link: '/pages/code_gen/SindbadSetup' }, { text: ' + TEM', link: '/pages/code_gen/SindbadTEM' }, - { text: ' + Utils', link: '/pages/code_gen/SindbadUtils' }, // { text: ' + Visuals', link: '/pages/code_gen/SindbadVisuals' } ] const aboutItems = [ diff --git a/docs/src/.vitepress/theme/index.ts b/docs/src/.vitepress/theme/index.ts index c163f5547..58a7a1790 100644 --- a/docs/src/.vitepress/theme/index.ts +++ b/docs/src/.vitepress/theme/index.ts @@ -8,7 +8,7 @@ import { NolebaseEnhancedReadabilitiesScreenMenu, } from '@nolebase/vitepress-plugin-enhanced-readabilities/client' -// import VersionPicker from "@/VersionPicker.vue" +import VersionPicker from "@/VersionPicker.vue" // import StarUs from '../../components/StarUs.vue' import AuthorBadge from '@/AuthorBadge.vue' import Authors from '@/Authors.vue' @@ -32,7 +32,7 @@ export const Theme: ThemeConfig = { }, enhanceApp({ app }) { enhanceAppWithTabs(app); - // app.component('VersionPicker', VersionPicker); + app.component('VersionPicker', VersionPicker); app.component('AuthorBadge', AuthorBadge) app.component('Authors', Authors) } diff --git a/docs/src/pages/code/sindbad.md b/docs/src/pages/code/sindbad.md index e354c01b1..a7e68fe6f 100644 --- a/docs/src/pages/code/sindbad.md +++ b/docs/src/pages/code/sindbad.md @@ -1,6 +1,6 @@ ```@docs -Sindbad +SindbadCore ``` ## Exported @@ -12,9 +12,9 @@ end ``` ```@autodocs -Modules = [Sindbad] +Modules = [SindbadCore] Private = false -Filter = f -> !(f === Sindbad) +Filter = f -> !(f === SindbadCore) ``` ## Internal @@ -27,6 +27,6 @@ end ``` ```@autodocs -Modules = [Sindbad] +Modules = [SindbadCore] Public = false ``` \ No newline at end of file diff --git a/docs/src/pages/code/utils.md b/docs/src/pages/code/utilities.md similarity index 52% rename from docs/src/pages/code/utils.md rename to docs/src/pages/code/utilities.md index 9e5e3b963..b08db697d 100644 --- a/docs/src/pages/code/utils.md +++ b/docs/src/pages/code/utilities.md @@ -1,19 +1,19 @@ ```@docs -SindbadUtils +SindbadCore.Utilities ``` ## Exported ```@meta DocTestSetup= quote -using SindbadUtils +using SindbadCore.Utilities end ``` ```@autodocs -Modules = [SindbadUtils] +Modules = [SindbadCore.Utilities] Private = false -Filter = f -> !(f === SindbadUtils) +Filter = f -> !(f === SindbadCore.Utilities) ``` ## Internal @@ -21,11 +21,11 @@ Filter = f -> !(f === SindbadUtils) CollapsedDocStrings = false DocTestSetup= quote -using SindbadUtils +using SindbadCore.Utilities end ``` ```@autodocs -Modules = [SindbadUtils] +Modules = [SindbadCore.Utilities] Public = false ``` \ No newline at end of file From 3131ce55cc7c64cae0c28d24a34781b70b3add44 Mon Sep 17 00:00:00 2001 From: Lazaro Date: Wed, 12 Nov 2025 18:38:13 +0100 Subject: [PATCH 36/36] more cleanup, less redundancies --- Project.toml | 2 - .../src/Metrics/Metrics.jl | 24 +- .../src/Metrics}/getMetrics.jl | 0 .../src/Metrics}/handleDataForLoss.jl | 0 .../src/Metrics/metric.jl | 0 SindbadCore/src/SindbadCore.jl | 2 + SindbadExperiment/NOTICE.md | 1 - SindbadExperiment/Project.toml | 22 -- SindbadML/Project.toml | 2 - SindbadML/src/SindbadML.jl | 3 +- SindbadMetrics/LICENSE.md | 287 ------------------ SindbadMetrics/NOTICE.md | 1 - SindbadMetrics/Project.toml | 10 - SindbadOptimization/Project.toml | 2 - .../src/SindbadOptimization.jl | 3 +- SindbadTEM/Project.toml | 2 - SindbadVisuals/LICENSE.md | 287 ------------------ SindbadVisuals/Project.toml | 16 - docs/Project.toml | 20 +- docs/make.jl | 10 +- docs/src/.vitepress/config.mts | 4 +- docs/src/pages/code/experiment.md | 31 -- docs/src/pages/code/metrics.md | 12 +- docs/src/pages/code/visuals.md | 31 -- docs/src/pages/develop/cost_metrics.md | 2 +- examples/exp_WROASTED/Project.toml | 21 +- .../exp_fluxnet_insitu_PF.jl | 1 - .../z-legacy_exp_hybridNN/debug_nan.jl | 1 - .../nn_lux_from_ayoub.jl | 1 - examples/exp_landWrapper/test_landWrapper.jl | 1 - .../Experiment/Experiment.jl | 35 ++- .../src => src/Experiment}/runExperiment.jl | 0 .../src => src/Experiment}/saveOutput.jl | 0 src/Sindbad.jl | 12 +- {SindbadExperiment => src/Visuals}/LICENSE.md | 0 .../Visuals}/src/SindbadVisuals.jl | 1 - .../Visuals}/src/plotFromSindbadInfo.jl | 0 .../Visuals}/src/plotOutputData.jl | 0 .../Visuals}/src/plotOutputUsingPlots.jl | 0 39 files changed, 62 insertions(+), 785 deletions(-) rename SindbadMetrics/src/SindbadMetrics.jl => SindbadCore/src/Metrics/Metrics.jl (60%) rename {SindbadMetrics/src => SindbadCore/src/Metrics}/getMetrics.jl (100%) rename {SindbadMetrics/src => SindbadCore/src/Metrics}/handleDataForLoss.jl (100%) rename SindbadMetrics/src/metrics.jl => SindbadCore/src/Metrics/metric.jl (100%) delete mode 100644 SindbadExperiment/NOTICE.md delete mode 100644 SindbadExperiment/Project.toml delete mode 100644 SindbadMetrics/LICENSE.md delete mode 100644 SindbadMetrics/NOTICE.md delete mode 100644 SindbadMetrics/Project.toml delete mode 100644 SindbadVisuals/LICENSE.md delete mode 100644 SindbadVisuals/Project.toml delete mode 100644 docs/src/pages/code/experiment.md delete mode 100644 docs/src/pages/code/visuals.md rename SindbadExperiment/src/SindbadExperiment.jl => src/Experiment/Experiment.jl (71%) rename {SindbadExperiment/src => src/Experiment}/runExperiment.jl (100%) rename {SindbadExperiment/src => src/Experiment}/saveOutput.jl (100%) rename {SindbadExperiment => src/Visuals}/LICENSE.md (100%) rename {SindbadVisuals => src/Visuals}/src/SindbadVisuals.jl (98%) rename {SindbadVisuals => src/Visuals}/src/plotFromSindbadInfo.jl (100%) rename {SindbadVisuals => src/Visuals}/src/plotOutputData.jl (100%) rename {SindbadVisuals => src/Visuals}/src/plotOutputUsingPlots.jl (100%) diff --git a/Project.toml b/Project.toml index d82d1f3de..33fb04d17 100644 --- a/Project.toml +++ b/Project.toml @@ -7,7 +7,6 @@ authors = ["SINDBAD Contributors "] SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" @@ -15,7 +14,6 @@ SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" [sources] SindbadCore = {path = "./SindbadCore"} SindbadData = {path = "./SindbadData"} -SindbadMetrics = {path = "./SindbadMetrics"} SindbadSetup = {path = "./SindbadSetup"} SindbadTEM = {path = "./SindbadTEM"} SindbadML = {path = "./SindbadML"} diff --git a/SindbadMetrics/src/SindbadMetrics.jl b/SindbadCore/src/Metrics/Metrics.jl similarity index 60% rename from SindbadMetrics/src/SindbadMetrics.jl rename to SindbadCore/src/Metrics/Metrics.jl index a3aee07e9..105fa5fe7 100644 --- a/SindbadMetrics/src/SindbadMetrics.jl +++ b/SindbadCore/src/Metrics/Metrics.jl @@ -1,18 +1,14 @@ """ - SindbadMetrics + Metrics -The `SindbadMetrics` package provides tools for evaluating the performance of SINDBAD models. It includes a variety of metrics for comparing model outputs with observations, calculating statistical measures, and updating model parameters based on evaluation results. +The `Metrics` module provides tools for evaluating the performance of SINDBAD models. It includes a variety of metrics for comparing model outputs with observations, calculating statistical measures, and updating model parameters based on evaluation results. # Purpose: -This package is designed to define and compute metrics that assess the accuracy and reliability of SINDBAD models. It supports a wide range of statistical and performance metrics, enabling robust model evaluation and calibration. +This module is designed to define and compute metrics that assess the accuracy and reliability of SINDBAD models. It supports a wide range of statistical and performance metrics, enabling robust model evaluation and calibration. It has heavy usage in `SindbadOptimization` but the package is separated to reduce to import burdens of optimization schemes. This allows for import into independent workflows for model evaluation and parameter estimation, e.g., in hybrid modeling. -# Dependencies: -- `Sindbad`: Provides the core SINDBAD models and types. -- `SindbadUtils`: Provides utility functions for handling data and NamedTuples, which are essential for metric calculations. - # Included Files: 1. **`handleDataForLoss.jl`**: @@ -21,7 +17,7 @@ It has heavy usage in `SindbadOptimization` but the package is separated to redu 2. **`getMetrics.jl`**: - Provides functions for retrieving and organizing metrics based on model outputs and observations. -3. **`metrics.jl`**: +3. **`metric.jl`**: - Contains the core metric definitions, including statistical measures (e.g., RMSE, correlation) and custom metrics for SINDBAD experiments. @@ -33,23 +29,23 @@ It has heavy usage in `SindbadOptimization` but the package is separated to redu # Examples: 1. **Calculating RMSE**: ```julia -using SindbadMetrics +using Metrics rmse = metric(model_output, observations, RMSE()) ``` 2. **Computing correlation**: ```julia -using SindbadMetrics +using Metrics correlation = metric(model_output, observations, Pcor()) ``` """ -module SindbadMetrics +module Metrics - using SindbadCore + using ..SindbadCore.Types include("handleDataForLoss.jl") include("getMetrics.jl") - include("metrics.jl") + include("metric.jl") -end # module SindbadMetrics +end # module Metrics diff --git a/SindbadMetrics/src/getMetrics.jl b/SindbadCore/src/Metrics/getMetrics.jl similarity index 100% rename from SindbadMetrics/src/getMetrics.jl rename to SindbadCore/src/Metrics/getMetrics.jl diff --git a/SindbadMetrics/src/handleDataForLoss.jl b/SindbadCore/src/Metrics/handleDataForLoss.jl similarity index 100% rename from SindbadMetrics/src/handleDataForLoss.jl rename to SindbadCore/src/Metrics/handleDataForLoss.jl diff --git a/SindbadMetrics/src/metrics.jl b/SindbadCore/src/Metrics/metric.jl similarity index 100% rename from SindbadMetrics/src/metrics.jl rename to SindbadCore/src/Metrics/metric.jl diff --git a/SindbadCore/src/SindbadCore.jl b/SindbadCore/src/SindbadCore.jl index 1baea863b..df1c345a6 100644 --- a/SindbadCore/src/SindbadCore.jl +++ b/SindbadCore/src/SindbadCore.jl @@ -111,6 +111,8 @@ module SindbadCore # ? maybe rename module, a shorter name? include("Utilities/Utilities.jl") @reexport using .Utilities + include("Metrics/Metrics.jl") + @reexport using .Metrics # append the docstring of the LandEcosystem type to the docstring of the Sindbad module so that all the methods of the LandEcosystem type are included after the models have been described @doc """ diff --git a/SindbadExperiment/NOTICE.md b/SindbadExperiment/NOTICE.md deleted file mode 100644 index 189d3d824..000000000 --- a/SindbadExperiment/NOTICE.md +++ /dev/null @@ -1 +0,0 @@ -Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/SindbadExperiment/Project.toml b/SindbadExperiment/Project.toml deleted file mode 100644 index 5e707ef3c..000000000 --- a/SindbadExperiment/Project.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "SindbadExperiment" -uuid = "bbd31fc6-1b7a-43f2-b792-0273fef35116" -authors = ["SINDBAD Contributors "] -version = "0.1.0" - -[deps] -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" -SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" -SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" -SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" - -[sources] -SindbadCore = {path = "../SindbadCore"} -SindbadData = {path = "../SindbadData"} -SindbadMetrics = {path = "../SindbadMetrics"} -SindbadOptimization = {path = "../SindbadOptimization"} -SindbadSetup = {path = "../SindbadSetup"} -SindbadTEM = {path = "../SindbadTEM"} -SindbadVisuals = {path = "../SindbadVisuals"} diff --git a/SindbadML/Project.toml b/SindbadML/Project.toml index 26245c1ad..77f16ea7b 100644 --- a/SindbadML/Project.toml +++ b/SindbadML/Project.toml @@ -20,7 +20,6 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383" SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" @@ -29,7 +28,6 @@ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] SindbadCore = {path = "../SindbadCore"} SindbadData = {path = "../SindbadData"} -SindbadMetrics = {path = "../SindbadMetrics"} SindbadSetup = {path = "../SindbadSetup"} SindbadTEM = {path = "../SindbadTEM"} diff --git a/SindbadML/src/SindbadML.jl b/SindbadML/src/SindbadML.jl index aac3e342b..5090327cb 100644 --- a/SindbadML/src/SindbadML.jl +++ b/SindbadML/src/SindbadML.jl @@ -10,7 +10,7 @@ This package brings together all components required for hybrid (process-based + - `Distributed`: Parallel and distributed computing utilities (`nworkers`, `pmap`, `workers`, `nprocs`, `CachingPool`). - `Sindbad`, `SindbadTEM`, `SindbadSetup`: Core SINDBAD modules for process-based modeling and setup. - `SindbadData.YAXArrays`, `SindbadData.Zarr`, `SindbadData.AxisKeys`, `SindbadData`: Data handling, array, and cube utilities. -- `SindbadMetrics`: Metrics for model performance/loss evaluation. +- `SindbadCore.Metrics`: Metrics for model performance/loss evaluation. - `PolyesterForwardDiff`, `Enzyme`, `Zygote`, `ForwardDiff`, `FiniteDiff`, `FiniteDifferences`: Automatic and numerical differentiation libraries for gradient-based learning. (Defaults will be Zygote and PolyesterForwardDiff for performance. All others should come as extensions.) - `Flux`: Neural network layers and training utilities for ML models. - `Optimisers`: Optimizers for training neural networks. @@ -56,7 +56,6 @@ module SindbadML using SindbadData.AxisKeys using SindbadData: AllNaN using SindbadData: yaxCubeToKeyedArray, Cube - using SindbadMetrics # using Enzyme # --- MOVED TO EXTENSION --- using Flux diff --git a/SindbadMetrics/LICENSE.md b/SindbadMetrics/LICENSE.md deleted file mode 100644 index c29ce2f83..000000000 --- a/SindbadMetrics/LICENSE.md +++ /dev/null @@ -1,287 +0,0 @@ - EUROPEAN UNION PUBLIC LICENCE v. 1.2 - EUPL © the European Union 2007, 2016 - -This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined -below) which is provided under the terms of this Licence. Any use of the Work, -other than as authorised under this Licence is prohibited (to the extent such -use is covered by a right of the copyright holder of the Work). - -The Work is provided under the terms of this Licence when the Licensor (as -defined below) has placed the following notice immediately following the -copyright notice for the Work: - - Licensed under the EUPL - -or has expressed by any other means his willingness to license under the EUPL. - -1. Definitions - -In this Licence, the following terms have the following meaning: - -- ‘The Licence’: this Licence. - -- ‘The Original Work’: the work or software distributed or communicated by the - Licensor under this Licence, available as Source Code and also as Executable - Code as the case may be. - -- ‘Derivative Works’: the works or software that could be created by the - Licensee, based upon the Original Work or modifications thereof. This Licence - does not define the extent of modification or dependence on the Original Work - required in order to classify a work as a Derivative Work; this extent is - determined by copyright law applicable in the country mentioned in Article 15. - -- ‘The Work’: the Original Work or its Derivative Works. - -- ‘The Source Code’: the human-readable form of the Work which is the most - convenient for people to study and modify. - -- ‘The Executable Code’: any code which has generally been compiled and which is - meant to be interpreted by a computer as a program. - -- ‘The Licensor’: the natural or legal person that distributes or communicates - the Work under the Licence. - -- ‘Contributor(s)’: any natural or legal person who modifies the Work under the - Licence, or otherwise contributes to the creation of a Derivative Work. - -- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of - the Work under the terms of the Licence. - -- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, - renting, distributing, communicating, transmitting, or otherwise making - available, online or offline, copies of the Work or providing access to its - essential functionalities at the disposal of any other natural or legal - person. - -2. Scope of the rights granted by the Licence - -The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -sublicensable licence to do the following, for the duration of copyright vested -in the Original Work: - -- use the Work in any circumstance and for all usage, -- reproduce the Work, -- modify the Work, and make Derivative Works based upon the Work, -- communicate to the public, including the right to make available or display - the Work or copies thereof to the public and perform publicly, as the case may - be, the Work, -- distribute the Work or copies thereof, -- lend and rent the Work or copies thereof, -- sublicense rights in the Work or copies thereof. - -Those rights can be exercised on any media, supports and formats, whether now -known or later invented, as far as the applicable law permits so. - -In the countries where moral rights apply, the Licensor waives his right to -exercise his moral right to the extent allowed by law in order to make effective -the licence of the economic rights here above listed. - -The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to -any patents held by the Licensor, to the extent necessary to make use of the -rights granted on the Work under this Licence. - -3. Communication of the Source Code - -The Licensor may provide the Work either in its Source Code form, or as -Executable Code. If the Work is provided as Executable Code, the Licensor -provides in addition a machine-readable copy of the Source Code of the Work -along with each copy of the Work that the Licensor distributes or indicates, in -a notice following the copyright notice attached to the Work, a repository where -the Source Code is easily and freely accessible for as long as the Licensor -continues to distribute or communicate the Work. - -4. Limitations on copyright - -Nothing in this Licence is intended to deprive the Licensee of the benefits from -any exception or limitation to the exclusive rights of the rights owners in the -Work, of the exhaustion of those rights or of other applicable limitations -thereto. - -5. Obligations of the Licensee - -The grant of the rights mentioned above is subject to some restrictions and -obligations imposed on the Licensee. Those obligations are the following: - -Attribution right: The Licensee shall keep intact all copyright, patent or -trademarks notices and all notices that refer to the Licence and to the -disclaimer of warranties. The Licensee must include a copy of such notices and a -copy of the Licence with every copy of the Work he/she distributes or -communicates. The Licensee must cause any Derivative Work to carry prominent -notices stating that the Work has been modified and the date of modification. - -Copyleft clause: If the Licensee distributes or communicates copies of the -Original Works or Derivative Works, this Distribution or Communication will be -done under the terms of this Licence or of a later version of this Licence -unless the Original Work is expressly distributed only under this version of the -Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee -(becoming Licensor) cannot offer or impose any additional terms or conditions on -the Work or Derivative Work that alter or restrict the terms of the Licence. - -Compatibility clause: If the Licensee Distributes or Communicates Derivative -Works or copies thereof based upon both the Work and another work licensed under -a Compatible Licence, this Distribution or Communication can be done under the -terms of this Compatible Licence. For the sake of this clause, ‘Compatible -Licence’ refers to the licences listed in the appendix attached to this Licence. -Should the Licensee's obligations under the Compatible Licence conflict with -his/her obligations under this Licence, the obligations of the Compatible -Licence shall prevail. - -Provision of Source Code: When distributing or communicating copies of the Work, -the Licensee will provide a machine-readable copy of the Source Code or indicate -a repository where this Source will be easily and freely available for as long -as the Licensee continues to distribute or communicate the Work. - -Legal Protection: This Licence does not grant permission to use the trade names, -trademarks, service marks, or names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the copyright notice. - -6. Chain of Authorship - -The original Licensor warrants that the copyright in the Original Work granted -hereunder is owned by him/her or licensed to him/her and that he/she has the -power and authority to grant the Licence. - -Each Contributor warrants that the copyright in the modifications he/she brings -to the Work are owned by him/her or licensed to him/her and that he/she has the -power and authority to grant the Licence. - -Each time You accept the Licence, the original Licensor and subsequent -Contributors grant You a licence to their contributions to the Work, under the -terms of this Licence. - -7. Disclaimer of Warranty - -The Work is a work in progress, which is continuously improved by numerous -Contributors. It is not a finished work and may therefore contain defects or -‘bugs’ inherent to this type of development. - -For the above reason, the Work is provided under the Licence on an ‘as is’ basis -and without warranties of any kind concerning the Work, including without -limitation merchantability, fitness for a particular purpose, absence of defects -or errors, accuracy, non-infringement of intellectual property rights other than -copyright as stated in Article 6 of this Licence. - -This disclaimer of warranty is an essential part of the Licence and a condition -for the grant of any rights to the Work. - -8. Disclaimer of Liability - -Except in the cases of wilful misconduct or damages directly caused to natural -persons, the Licensor will in no event be liable for any direct or indirect, -material or moral, damages of any kind, arising out of the Licence or of the use -of the Work, including without limitation, damages for loss of goodwill, work -stoppage, computer failure or malfunction, loss of data or any commercial -damage, even if the Licensor has been advised of the possibility of such damage. -However, the Licensor will be liable under statutory product liability laws as -far such laws apply to the Work. - -9. Additional agreements - -While distributing the Work, You may choose to conclude an additional agreement, -defining obligations or services consistent with this Licence. However, if -accepting obligations, You may act only on your own behalf and on your sole -responsibility, not on behalf of the original Licensor or any other Contributor, -and only if You agree to indemnify, defend, and hold each Contributor harmless -for any liability incurred by, or claims asserted against such Contributor by -the fact You have accepted any warranty or additional liability. - -10. Acceptance of the Licence - -The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ -placed under the bottom of a window displaying the text of this Licence or by -affirming consent in any other similar way, in accordance with the rules of -applicable law. Clicking on that icon indicates your clear and irrevocable -acceptance of this Licence and all of its terms and conditions. - -Similarly, you irrevocably accept this Licence and all of its terms and -conditions by exercising any rights granted to You by Article 2 of this Licence, -such as the use of the Work, the creation by You of a Derivative Work or the -Distribution or Communication by You of the Work or copies thereof. - -11. Information to the public - -In case of any Distribution or Communication of the Work by means of electronic -communication by You (for example, by offering to download the Work from a -remote location) the distribution channel or media (for example, a website) must -at least provide to the public the information requested by the applicable law -regarding the Licensor, the Licence and the way it may be accessible, concluded, -stored and reproduced by the Licensee. - -12. Termination of the Licence - -The Licence and the rights granted hereunder will terminate automatically upon -any breach by the Licensee of the terms of the Licence. - -Such a termination will not terminate the licences of any person who has -received the Work from the Licensee under the Licence, provided such persons -remain in full compliance with the Licence. - -13. Miscellaneous - -Without prejudice of Article 9 above, the Licence represents the complete -agreement between the Parties as to the Work. - -If any provision of the Licence is invalid or unenforceable under applicable -law, this will not affect the validity or enforceability of the Licence as a -whole. Such provision will be construed or reformed so as necessary to make it -valid and enforceable. - -The European Commission may publish other linguistic versions or new versions of -this Licence or updated versions of the Appendix, so far this is required and -reasonable, without reducing the scope of the rights granted by the Licence. New -versions of the Licence will be published with a unique version number. - -All linguistic versions of this Licence, approved by the European Commission, -have identical value. Parties can take advantage of the linguistic version of -their choice. - -14. Jurisdiction - -Without prejudice to specific agreement between parties, - -- any litigation resulting from the interpretation of this License, arising - between the European Union institutions, bodies, offices or agencies, as a - Licensor, and any Licensee, will be subject to the jurisdiction of the Court - of Justice of the European Union, as laid down in article 272 of the Treaty on - the Functioning of the European Union, - -- any litigation arising between other parties and resulting from the - interpretation of this License, will be subject to the exclusive jurisdiction - of the competent court where the Licensor resides or conducts its primary - business. - -15. Applicable Law - -Without prejudice to specific agreement between parties, - -- this Licence shall be governed by the law of the European Union Member State - where the Licensor has his seat, resides or has his registered office, - -- this licence shall be governed by Belgian law if the Licensor has no seat, - residence or registered office inside a European Union Member State. - -Appendix - -‘Compatible Licences’ according to Article 5 EUPL are: - -- GNU General Public License (GPL) v. 2, v. 3 -- GNU Affero General Public License (AGPL) v. 3 -- Open Software License (OSL) v. 2.1, v. 3.0 -- Eclipse Public License (EPL) v. 1.0 -- CeCILL v. 2.0, v. 2.1 -- Mozilla Public Licence (MPL) v. 2 -- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 -- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for - works other than software -- European Union Public Licence (EUPL) v. 1.1, v. 1.2 -- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong - Reciprocity (LiLiQ-R+). - -The European Commission may update this Appendix to later versions of the above -licences without producing a new version of the EUPL, as long as they provide -the rights granted in Article 2 of this Licence and protect the covered Source -Code from exclusive appropriation. - -All other changes or additions to this Appendix require the production of a new -EUPL version. \ No newline at end of file diff --git a/SindbadMetrics/NOTICE.md b/SindbadMetrics/NOTICE.md deleted file mode 100644 index 189d3d824..000000000 --- a/SindbadMetrics/NOTICE.md +++ /dev/null @@ -1 +0,0 @@ -Copyright: Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften; Licensed under the EUPL, with extension of article 5 (compatibility clause) to any licence for distributing derivative works that have been produced by the normal use of the Work as a library. \ No newline at end of file diff --git a/SindbadMetrics/Project.toml b/SindbadMetrics/Project.toml deleted file mode 100644 index fdb90795f..000000000 --- a/SindbadMetrics/Project.toml +++ /dev/null @@ -1,10 +0,0 @@ -name = "SindbadMetrics" -uuid = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" -authors = ["SINDBAD Contributors "] -version = "0.1.0" - -[deps] -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" - -[sources] -SindbadCore = {path = "../SindbadCore"} diff --git a/SindbadOptimization/Project.toml b/SindbadOptimization/Project.toml index cf4294d74..60421e152 100644 --- a/SindbadOptimization/Project.toml +++ b/SindbadOptimization/Project.toml @@ -19,14 +19,12 @@ OptimizationGCMAES = "6f0a0517-dbc2-4a7a-8a20-99ae7f27e911" OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e" QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b" SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" [sources] SindbadCore = {path = "../SindbadCore"} -SindbadMetrics = {path = "../SindbadMetrics"} SindbadSetup = {path = "../SindbadSetup"} SindbadTEM = {path = "../SindbadTEM"} diff --git a/SindbadOptimization/src/SindbadOptimization.jl b/SindbadOptimization/src/SindbadOptimization.jl index 8bdb5b489..3efb2660a 100644 --- a/SindbadOptimization/src/SindbadOptimization.jl +++ b/SindbadOptimization/src/SindbadOptimization.jl @@ -25,7 +25,7 @@ This package is designed to support optimization tasks in SINDBAD, such as calib - `SindbadUtils`: Provides utility functions for handling NamedTuple, spatial operations, and other helper tasks for spatial and temporal operations. - `SindbadSetup`: Provides the SINDBAD setup. - `SindbadTEM`: Provides the SINDBAD Terrestrial Ecosystem Model (TEM) as the target for optimization tasks. -- `SindbadMetrics`: Supplies metrics for evaluating model performance, which are used in cost function calculations. +- `SindbadCore.Metrics`: Supplies metrics for evaluating model performance, which are used in cost function calculations. # Included Files: 1. **`prepOpti.jl`**: @@ -86,7 +86,6 @@ module SindbadOptimization using SindbadCore using SindbadSetup using SindbadTEM - using SindbadMetrics include("prepOpti.jl") include("optimizer.jl") diff --git a/SindbadTEM/Project.toml b/SindbadTEM/Project.toml index ff4bf4342..0605c8321 100644 --- a/SindbadTEM/Project.toml +++ b/SindbadTEM/Project.toml @@ -10,7 +10,6 @@ ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" ThreadPools = "b189fb0b-2eb5-4ed4-bc0c-d34c51242431" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" @@ -18,5 +17,4 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [sources] SindbadCore = {path = "../SindbadCore"} SindbadData = {path = "../SindbadData"} -SindbadMetrics = {path = "../SindbadMetrics"} SindbadSetup = {path = "../SindbadSetup"} \ No newline at end of file diff --git a/SindbadVisuals/LICENSE.md b/SindbadVisuals/LICENSE.md deleted file mode 100644 index c29ce2f83..000000000 --- a/SindbadVisuals/LICENSE.md +++ /dev/null @@ -1,287 +0,0 @@ - EUROPEAN UNION PUBLIC LICENCE v. 1.2 - EUPL © the European Union 2007, 2016 - -This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined -below) which is provided under the terms of this Licence. Any use of the Work, -other than as authorised under this Licence is prohibited (to the extent such -use is covered by a right of the copyright holder of the Work). - -The Work is provided under the terms of this Licence when the Licensor (as -defined below) has placed the following notice immediately following the -copyright notice for the Work: - - Licensed under the EUPL - -or has expressed by any other means his willingness to license under the EUPL. - -1. Definitions - -In this Licence, the following terms have the following meaning: - -- ‘The Licence’: this Licence. - -- ‘The Original Work’: the work or software distributed or communicated by the - Licensor under this Licence, available as Source Code and also as Executable - Code as the case may be. - -- ‘Derivative Works’: the works or software that could be created by the - Licensee, based upon the Original Work or modifications thereof. This Licence - does not define the extent of modification or dependence on the Original Work - required in order to classify a work as a Derivative Work; this extent is - determined by copyright law applicable in the country mentioned in Article 15. - -- ‘The Work’: the Original Work or its Derivative Works. - -- ‘The Source Code’: the human-readable form of the Work which is the most - convenient for people to study and modify. - -- ‘The Executable Code’: any code which has generally been compiled and which is - meant to be interpreted by a computer as a program. - -- ‘The Licensor’: the natural or legal person that distributes or communicates - the Work under the Licence. - -- ‘Contributor(s)’: any natural or legal person who modifies the Work under the - Licence, or otherwise contributes to the creation of a Derivative Work. - -- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of - the Work under the terms of the Licence. - -- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, - renting, distributing, communicating, transmitting, or otherwise making - available, online or offline, copies of the Work or providing access to its - essential functionalities at the disposal of any other natural or legal - person. - -2. Scope of the rights granted by the Licence - -The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -sublicensable licence to do the following, for the duration of copyright vested -in the Original Work: - -- use the Work in any circumstance and for all usage, -- reproduce the Work, -- modify the Work, and make Derivative Works based upon the Work, -- communicate to the public, including the right to make available or display - the Work or copies thereof to the public and perform publicly, as the case may - be, the Work, -- distribute the Work or copies thereof, -- lend and rent the Work or copies thereof, -- sublicense rights in the Work or copies thereof. - -Those rights can be exercised on any media, supports and formats, whether now -known or later invented, as far as the applicable law permits so. - -In the countries where moral rights apply, the Licensor waives his right to -exercise his moral right to the extent allowed by law in order to make effective -the licence of the economic rights here above listed. - -The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to -any patents held by the Licensor, to the extent necessary to make use of the -rights granted on the Work under this Licence. - -3. Communication of the Source Code - -The Licensor may provide the Work either in its Source Code form, or as -Executable Code. If the Work is provided as Executable Code, the Licensor -provides in addition a machine-readable copy of the Source Code of the Work -along with each copy of the Work that the Licensor distributes or indicates, in -a notice following the copyright notice attached to the Work, a repository where -the Source Code is easily and freely accessible for as long as the Licensor -continues to distribute or communicate the Work. - -4. Limitations on copyright - -Nothing in this Licence is intended to deprive the Licensee of the benefits from -any exception or limitation to the exclusive rights of the rights owners in the -Work, of the exhaustion of those rights or of other applicable limitations -thereto. - -5. Obligations of the Licensee - -The grant of the rights mentioned above is subject to some restrictions and -obligations imposed on the Licensee. Those obligations are the following: - -Attribution right: The Licensee shall keep intact all copyright, patent or -trademarks notices and all notices that refer to the Licence and to the -disclaimer of warranties. The Licensee must include a copy of such notices and a -copy of the Licence with every copy of the Work he/she distributes or -communicates. The Licensee must cause any Derivative Work to carry prominent -notices stating that the Work has been modified and the date of modification. - -Copyleft clause: If the Licensee distributes or communicates copies of the -Original Works or Derivative Works, this Distribution or Communication will be -done under the terms of this Licence or of a later version of this Licence -unless the Original Work is expressly distributed only under this version of the -Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee -(becoming Licensor) cannot offer or impose any additional terms or conditions on -the Work or Derivative Work that alter or restrict the terms of the Licence. - -Compatibility clause: If the Licensee Distributes or Communicates Derivative -Works or copies thereof based upon both the Work and another work licensed under -a Compatible Licence, this Distribution or Communication can be done under the -terms of this Compatible Licence. For the sake of this clause, ‘Compatible -Licence’ refers to the licences listed in the appendix attached to this Licence. -Should the Licensee's obligations under the Compatible Licence conflict with -his/her obligations under this Licence, the obligations of the Compatible -Licence shall prevail. - -Provision of Source Code: When distributing or communicating copies of the Work, -the Licensee will provide a machine-readable copy of the Source Code or indicate -a repository where this Source will be easily and freely available for as long -as the Licensee continues to distribute or communicate the Work. - -Legal Protection: This Licence does not grant permission to use the trade names, -trademarks, service marks, or names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the copyright notice. - -6. Chain of Authorship - -The original Licensor warrants that the copyright in the Original Work granted -hereunder is owned by him/her or licensed to him/her and that he/she has the -power and authority to grant the Licence. - -Each Contributor warrants that the copyright in the modifications he/she brings -to the Work are owned by him/her or licensed to him/her and that he/she has the -power and authority to grant the Licence. - -Each time You accept the Licence, the original Licensor and subsequent -Contributors grant You a licence to their contributions to the Work, under the -terms of this Licence. - -7. Disclaimer of Warranty - -The Work is a work in progress, which is continuously improved by numerous -Contributors. It is not a finished work and may therefore contain defects or -‘bugs’ inherent to this type of development. - -For the above reason, the Work is provided under the Licence on an ‘as is’ basis -and without warranties of any kind concerning the Work, including without -limitation merchantability, fitness for a particular purpose, absence of defects -or errors, accuracy, non-infringement of intellectual property rights other than -copyright as stated in Article 6 of this Licence. - -This disclaimer of warranty is an essential part of the Licence and a condition -for the grant of any rights to the Work. - -8. Disclaimer of Liability - -Except in the cases of wilful misconduct or damages directly caused to natural -persons, the Licensor will in no event be liable for any direct or indirect, -material or moral, damages of any kind, arising out of the Licence or of the use -of the Work, including without limitation, damages for loss of goodwill, work -stoppage, computer failure or malfunction, loss of data or any commercial -damage, even if the Licensor has been advised of the possibility of such damage. -However, the Licensor will be liable under statutory product liability laws as -far such laws apply to the Work. - -9. Additional agreements - -While distributing the Work, You may choose to conclude an additional agreement, -defining obligations or services consistent with this Licence. However, if -accepting obligations, You may act only on your own behalf and on your sole -responsibility, not on behalf of the original Licensor or any other Contributor, -and only if You agree to indemnify, defend, and hold each Contributor harmless -for any liability incurred by, or claims asserted against such Contributor by -the fact You have accepted any warranty or additional liability. - -10. Acceptance of the Licence - -The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ -placed under the bottom of a window displaying the text of this Licence or by -affirming consent in any other similar way, in accordance with the rules of -applicable law. Clicking on that icon indicates your clear and irrevocable -acceptance of this Licence and all of its terms and conditions. - -Similarly, you irrevocably accept this Licence and all of its terms and -conditions by exercising any rights granted to You by Article 2 of this Licence, -such as the use of the Work, the creation by You of a Derivative Work or the -Distribution or Communication by You of the Work or copies thereof. - -11. Information to the public - -In case of any Distribution or Communication of the Work by means of electronic -communication by You (for example, by offering to download the Work from a -remote location) the distribution channel or media (for example, a website) must -at least provide to the public the information requested by the applicable law -regarding the Licensor, the Licence and the way it may be accessible, concluded, -stored and reproduced by the Licensee. - -12. Termination of the Licence - -The Licence and the rights granted hereunder will terminate automatically upon -any breach by the Licensee of the terms of the Licence. - -Such a termination will not terminate the licences of any person who has -received the Work from the Licensee under the Licence, provided such persons -remain in full compliance with the Licence. - -13. Miscellaneous - -Without prejudice of Article 9 above, the Licence represents the complete -agreement between the Parties as to the Work. - -If any provision of the Licence is invalid or unenforceable under applicable -law, this will not affect the validity or enforceability of the Licence as a -whole. Such provision will be construed or reformed so as necessary to make it -valid and enforceable. - -The European Commission may publish other linguistic versions or new versions of -this Licence or updated versions of the Appendix, so far this is required and -reasonable, without reducing the scope of the rights granted by the Licence. New -versions of the Licence will be published with a unique version number. - -All linguistic versions of this Licence, approved by the European Commission, -have identical value. Parties can take advantage of the linguistic version of -their choice. - -14. Jurisdiction - -Without prejudice to specific agreement between parties, - -- any litigation resulting from the interpretation of this License, arising - between the European Union institutions, bodies, offices or agencies, as a - Licensor, and any Licensee, will be subject to the jurisdiction of the Court - of Justice of the European Union, as laid down in article 272 of the Treaty on - the Functioning of the European Union, - -- any litigation arising between other parties and resulting from the - interpretation of this License, will be subject to the exclusive jurisdiction - of the competent court where the Licensor resides or conducts its primary - business. - -15. Applicable Law - -Without prejudice to specific agreement between parties, - -- this Licence shall be governed by the law of the European Union Member State - where the Licensor has his seat, resides or has his registered office, - -- this licence shall be governed by Belgian law if the Licensor has no seat, - residence or registered office inside a European Union Member State. - -Appendix - -‘Compatible Licences’ according to Article 5 EUPL are: - -- GNU General Public License (GPL) v. 2, v. 3 -- GNU Affero General Public License (AGPL) v. 3 -- Open Software License (OSL) v. 2.1, v. 3.0 -- Eclipse Public License (EPL) v. 1.0 -- CeCILL v. 2.0, v. 2.1 -- Mozilla Public Licence (MPL) v. 2 -- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 -- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for - works other than software -- European Union Public Licence (EUPL) v. 1.1, v. 1.2 -- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong - Reciprocity (LiLiQ-R+). - -The European Commission may update this Appendix to later versions of the above -licences without producing a new version of the EUPL, as long as they provide -the rights granted in Article 2 of this Licence and protect the covered Source -Code from exclusive appropriation. - -All other changes or additions to this Appendix require the production of a new -EUPL version. \ No newline at end of file diff --git a/SindbadVisuals/Project.toml b/SindbadVisuals/Project.toml deleted file mode 100644 index c8e43ac8a..000000000 --- a/SindbadVisuals/Project.toml +++ /dev/null @@ -1,16 +0,0 @@ -name = "SindbadVisuals" -uuid = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" -authors = ["SINDBAD Contributors "] -version = "0.1.0" - -[deps] -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" - -[sources] -SindbadCore = {path = "../SindbadCore"} -SindbadMetrics = {path = "../SindbadMetrics"} - -[compat] -Plots = "1.40.13" diff --git a/docs/Project.toml b/docs/Project.toml index e1df9dd07..98b80aee6 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -4,23 +4,7 @@ DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -SindbadCore = "7e5cc002-9bc1-4508-860d-3c0816be375a" -SindbadData = "772b809f-5329-4bfd-a2e9-cc4714ce84b1" -SindbadExperiment = "bbd31fc6-1b7a-43f2-b792-0273fef35116" -SindbadML = "eb1d8004-2d42-4eef-b369-ed0645c101e8" -SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" -SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" -SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" -SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" +Sindbad = "6686e6de-2010-4bf8-9178-b2bcc470766e" [sources] -SindbadCore = {path = "../SindbadCore"} -SindbadData = {path = "../SindbadData"} -SindbadExperiment = {path = "../SindbadExperiment"} -SindbadML = {path = "../SindbadML"} -SindbadMetrics = {path = "../SindbadMetrics"} -SindbadOptimization = {path = "../SindbadOptimization"} -SindbadSetup = {path = "../SindbadSetup"} -SindbadTEM = {path = "../SindbadTEM"} -SindbadVisuals = {path = "../SindbadVisuals"} +Sindbad = {path = ".."} \ No newline at end of file diff --git a/docs/make.jl b/docs/make.jl index c7373dcd4..a70aaaab9 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -4,15 +4,7 @@ Pkg.activate(".") Pkg.instantiate() Pkg.precompile() -using SindbadCore -using SindbadTEM -using SindbadData -using SindbadSetup -using SindbadMetrics -using SindbadML -using SindbadOptimization -using SindbadVisuals -using SindbadExperiment +using Sindbad using InteractiveUtils using DocumenterVitepress diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index 49ea8034b..ea663d2ad 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -27,14 +27,12 @@ const codeItems = [ { text: ' \u00A0\u00A0++ Models', link: '/pages/code/models' }, { text: ' \u00A0\u00A0++ Types', link: '/pages/code/types' }, { text: ' \u00A0\u00A0++ Utilities', link: '/pages/code/utilities' }, + { text: ' \u00A0\u00A0++ Metrics', link: '/pages/code/metrics' }, { text: ' + Data', link: '/pages/code/data' }, - { text: ' + Experiment', link: '/pages/code/experiment' }, - { text: ' + Metrics', link: '/pages/code/metrics' }, { text: ' + ML', link: '/pages/code/ml' }, { text: ' + Optimization', link: '/pages/code/optimization' }, { text: ' + Setup', link: '/pages/code/setup' }, { text: ' + TEM', link: '/pages/code/tem' }, - { text: ' + Visuals', link: '/pages/code/visuals' } ] const codeGenItems = [ diff --git a/docs/src/pages/code/experiment.md b/docs/src/pages/code/experiment.md deleted file mode 100644 index 62d819fc3..000000000 --- a/docs/src/pages/code/experiment.md +++ /dev/null @@ -1,31 +0,0 @@ -```@docs -SindbadExperiment -``` - -## Exported -```@meta - -DocTestSetup= quote -using SindbadExperiment -end -``` - -```@autodocs -Modules = [SindbadExperiment] -Private = false -Filter = f -> !(f === SindbadExperiment) -``` - -## Internal -```@meta -CollapsedDocStrings = false - -DocTestSetup= quote -using SindbadExperiment -end -``` - -```@autodocs -Modules = [SindbadExperiment] -Public = false -``` \ No newline at end of file diff --git a/docs/src/pages/code/metrics.md b/docs/src/pages/code/metrics.md index 1e52da550..337f08ac5 100644 --- a/docs/src/pages/code/metrics.md +++ b/docs/src/pages/code/metrics.md @@ -1,19 +1,19 @@ ```@docs -SindbadMetrics +SindbadCore.Metrics ``` ## Exported ```@meta DocTestSetup= quote -using SindbadMetrics +using SindbadCore.Metrics end ``` ```@autodocs -Modules = [SindbadMetrics] +Modules = [SindbadCore.Metrics] Private = false -Filter = f -> !(f === SindbadMetrics) +Filter = f -> !(f === SindbadCore.Metrics) ``` ## Internal @@ -21,11 +21,11 @@ Filter = f -> !(f === SindbadMetrics) CollapsedDocStrings = false DocTestSetup= quote -using SindbadMetrics +using SindbadCore.Metrics end ``` ```@autodocs -Modules = [SindbadMetrics] +Modules = [SindbadCore.Metrics] Public = false ``` \ No newline at end of file diff --git a/docs/src/pages/code/visuals.md b/docs/src/pages/code/visuals.md deleted file mode 100644 index 449690d96..000000000 --- a/docs/src/pages/code/visuals.md +++ /dev/null @@ -1,31 +0,0 @@ -```@docs -SindbadVisuals -``` - -## Exported -```@meta - -DocTestSetup= quote -using SindbadVisuals -end -``` - -```@autodocs -Modules = [SindbadVisuals] -Private = false -Filter = f -> !(f === SindbadVisuals) -``` - -## Internal -```@meta -CollapsedDocStrings = false - -DocTestSetup= quote -using SindbadVisuals -end -``` - -```@autodocs -Modules = [SindbadVisuals] -Public = false -``` \ No newline at end of file diff --git a/docs/src/pages/develop/cost_metrics.md b/docs/src/pages/develop/cost_metrics.md index c1833f164..73f3c3330 100644 --- a/docs/src/pages/develop/cost_metrics.md +++ b/docs/src/pages/develop/cost_metrics.md @@ -144,7 +144,7 @@ Metrics can be combined using various methods: ### Calculating a Simple Metric ```julia -using SindbadMetrics +using SindbadCore.Metrics # Define observations and model output y = [1.0, 2.0, 3.0] # observations diff --git a/examples/exp_WROASTED/Project.toml b/examples/exp_WROASTED/Project.toml index ec9e8a670..333777101 100644 --- a/examples/exp_WROASTED/Project.toml +++ b/examples/exp_WROASTED/Project.toml @@ -4,7 +4,6 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" GCMAES = "4aa9d100-eb0f-11e8-15f1-25748831eb3b" -GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" GlobalSensitivity = "af5da776-676b-467e-8baf-acd8249e4f0f" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" @@ -20,19 +19,17 @@ SindbadMetrics = "7a8077d0-ecf5-44b0-95d4-89eadbafc35c" SindbadOptimization = "64fff8bd-0c13-402c-aa96-b97d0bc3655c" SindbadSetup = "2b7f2987-8a1e-48b4-8a02-cc9e7c4eeb1c" SindbadTEM = "f6108451-10cb-42fa-b0c1-67671cf08f15" -SindbadUtils = "a2ad09c8-73f9-4387-ada0-5c5a8c58f8ab" SindbadVisuals = "49d56b06-c9ff-43e2-9c93-8639e8c3cbdc" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] -SindbadCore = {path = "../.."} -SindbadData = {path = "../../lib/SindbadData"} -SindbadExperiment = {path = "../../lib/SindbadExperiment"} -SindbadML = {path = "../../lib/SindbadML"} -SindbadMetrics = {path = "../../lib/SindbadMetrics"} -SindbadOptimization = {path = "../../lib/SindbadOptimization"} -SindbadSetup = {path = "../../lib/SindbadSetup"} -SindbadTEM = {path = "../../lib/SindbadTEM"} -SindbadUtils = {path = "../../lib/SindbadUtils"} -SindbadVisuals = {path = "../../lib/SindbadVisuals"} +SindbadCore = {path = "../../SindbadCore"} +SindbadData = {path = "../../SindbadData"} +SindbadExperiment = {path = "../../SindbadExperiment"} +SindbadML = {path = "../../SindbadML"} +SindbadMetrics = {path = "../../SindbadMetrics"} +SindbadOptimization = {path = "../../SindbadOptimization"} +SindbadSetup = {path = "../../SindbadSetup"} +SindbadTEM = {path = "../../SindbadTEM"} +SindbadVisuals = {path = "../../SindbadVisuals"} diff --git a/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl b/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl index 77b56c665..22ae601af 100644 --- a/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl +++ b/examples/exp_fluxnet_hybrid/exp_fluxnet_insitu_PF.jl @@ -9,7 +9,6 @@ using SindbadTEM using SindbadML using SindbadML.JLD2 using SindbadOptimization -using SindbadMetrics using ProgressMeter experiment_json = "../exp_fluxnet_hybrid/settings_fluxnet_hybrid/experiment.json" diff --git a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/debug_nan.jl b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/debug_nan.jl index 21e5b2ca4..9800957bd 100644 --- a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/debug_nan.jl +++ b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/debug_nan.jl @@ -1,7 +1,6 @@ using Revise using SindbadData using SindbadTEM -using SindbadMetrics using SindbadOptimization #using Plots toggleStackTraceNT() diff --git a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl index 1b1e35e18..3d02593e0 100755 --- a/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl +++ b/examples/exp_fluxnet_hybrid/z-legacy_exp_hybridNN/nn_lux_from_ayoub.jl @@ -1,7 +1,6 @@ using Revise using ForwardDiff using SindbadTEM -using SindbadMetrics using Random toggleStackTraceNT() diff --git a/examples/exp_landWrapper/test_landWrapper.jl b/examples/exp_landWrapper/test_landWrapper.jl index 5668aa1d5..f79ca64cc 100644 --- a/examples/exp_landWrapper/test_landWrapper.jl +++ b/examples/exp_landWrapper/test_landWrapper.jl @@ -1,7 +1,6 @@ using Revise using SindbadData using SindbadTEM -using SindbadMetrics using SindbadExperiment using Plots toggleStackTraceNT() diff --git a/SindbadExperiment/src/SindbadExperiment.jl b/src/Experiment/Experiment.jl similarity index 71% rename from SindbadExperiment/src/SindbadExperiment.jl rename to src/Experiment/Experiment.jl index 029d0b454..9eb3603b0 100644 --- a/SindbadExperiment/src/SindbadExperiment.jl +++ b/src/Experiment/Experiment.jl @@ -1,7 +1,7 @@ """ - SindbadExperiment + Experiment -The `SindbadExperiment` package provides tools for designing, running, and analyzing experiments in the SINDBAD MDI framework. It integrates SINDBAD packages and utilities to streamline the experimental workflow, from data preparation to model execution and output analysis. +The `Experiment` package provides tools for designing, running, and analyzing experiments in the SINDBAD MDI framework. It integrates SINDBAD packages and utilities to streamline the experimental workflow, from data preparation to model execution and output analysis. # Purpose: This package acts as a high-level interface for conducting experiments using the SINDBAD framework. It leverages the functionality of core SINDBAD packages and provides additional utilities for running experiments and managing outputs. @@ -23,14 +23,14 @@ This package acts as a high-level interface for conducting experiments using the - Provides utilities for saving experiment outputs in various formats, ensuring compatibility with downstream analysis tools. # Notes: -- The package re-exports core SINDBAD packages (`Sindbad`, `SindbadUtils`, `SindbadSetup`, `SindbadData`, `SindbadTEM`, `SindbadOptimization`, `SindbadMetrics`) for convenience, allowing users to access their functionality directly through `SindbadExperiment`. +- The package re-exports core SINDBAD packages (`Sindbad`, `SindbadUtils`, `SindbadSetup`, `SindbadData`, `SindbadTEM`, `SindbadOptimization`, `SindbadMetrics`) for convenience, allowing users to access their functionality directly through `Experiment`. - Designed to be extensible, enabling users to customize and expand the experimental workflow as needed. - Future extensions may include support for additional data formats (e.g., NetCDF, Zarr) and advanced output handling. # Examples: 1. **Running an experiment**: ```julia -using SindbadExperiment +using Experiment # Set up experiment parameters experiment_config = ... @@ -38,17 +38,16 @@ experiment_config = ... runExperimentForward(experiment_config) ``` """ -module SindbadExperiment - using SindbadCore - @reexport using SindbadCore - @reexport using SindbadSetup - @reexport using SindbadData - @reexport using SindbadTEM - @reexport using SindbadOptimization - @reexport using SindbadMetrics - @reexport using SindbadVisuals - - include("runExperiment.jl") - include("saveOutput.jl") - -end # module SindbadExperiment +# module Experiment +# using SindbadCore +# @reexport using SindbadCore +# @reexport using SindbadSetup +# @reexport using SindbadData +# @reexport using SindbadTEM +# @reexport using SindbadOptimization +# @reexport using SindbadVisuals + +# include("runExperiment.jl") +# include("saveOutput.jl") + +# end # module Experiment diff --git a/SindbadExperiment/src/runExperiment.jl b/src/Experiment/runExperiment.jl similarity index 100% rename from SindbadExperiment/src/runExperiment.jl rename to src/Experiment/runExperiment.jl diff --git a/SindbadExperiment/src/saveOutput.jl b/src/Experiment/saveOutput.jl similarity index 100% rename from SindbadExperiment/src/saveOutput.jl rename to src/Experiment/saveOutput.jl diff --git a/src/Sindbad.jl b/src/Sindbad.jl index 328737be8..6a60ef113 100644 --- a/src/Sindbad.jl +++ b/src/Sindbad.jl @@ -1,11 +1,21 @@ module Sindbad using SindbadCore -using SindbadMetrics using SindbadData using SindbadSetup using SindbadTEM using SindbadOptimization using SindbadML +using SindbadCore.Reexport: @reexport +@reexport using SindbadCore +@reexport using SindbadData +@reexport using SindbadSetup +@reexport using SindbadTEM +@reexport using SindbadOptimization +@reexport using SindbadML + +include("Experiment/runExperiment.jl") +include("Experiment/saveOutput.jl") + end \ No newline at end of file diff --git a/SindbadExperiment/LICENSE.md b/src/Visuals/LICENSE.md similarity index 100% rename from SindbadExperiment/LICENSE.md rename to src/Visuals/LICENSE.md diff --git a/SindbadVisuals/src/SindbadVisuals.jl b/src/Visuals/src/SindbadVisuals.jl similarity index 98% rename from SindbadVisuals/src/SindbadVisuals.jl rename to src/Visuals/src/SindbadVisuals.jl index 39b477784..bd103cade 100644 --- a/SindbadVisuals/src/SindbadVisuals.jl +++ b/src/Visuals/src/SindbadVisuals.jl @@ -30,7 +30,6 @@ using SindbadVisuals """ module SindbadVisuals using SindbadCore - using SindbadMetrics # using GLMakie # @reexport using GLMakie.Makie # using Colors diff --git a/SindbadVisuals/src/plotFromSindbadInfo.jl b/src/Visuals/src/plotFromSindbadInfo.jl similarity index 100% rename from SindbadVisuals/src/plotFromSindbadInfo.jl rename to src/Visuals/src/plotFromSindbadInfo.jl diff --git a/SindbadVisuals/src/plotOutputData.jl b/src/Visuals/src/plotOutputData.jl similarity index 100% rename from SindbadVisuals/src/plotOutputData.jl rename to src/Visuals/src/plotOutputData.jl diff --git a/SindbadVisuals/src/plotOutputUsingPlots.jl b/src/Visuals/src/plotOutputUsingPlots.jl similarity index 100% rename from SindbadVisuals/src/plotOutputUsingPlots.jl rename to src/Visuals/src/plotOutputUsingPlots.jl