Data caching in madrat

Jan Philipp Dietrich

2023-07-06

A central feature of the madrat framework is its ability to load data from cache rather than recompute it when the calculation have run already before. Here, we explain what user should know about the caching to avoid unwanted behavior.

Basics

By default every read- or calc-function creates a cache file from its computations and stores it in the cachefolder. Where this folder is located can be checked via

library(madrat, quietly = TRUE)
getConfig("cachefolder", verbose = FALSE)
#> [1] "/tmp/RtmpiFhEO6/madrat/cache/default"

When running data processing via retrieveData it currently offers two types of cache folders: cachetype = "def" will use a shared cachefolder in which all processes write their cache files by default. RetrieveData will check in this folder for fitting cache files and read them if available. Whether they are fitting or not will depend on their fingerprint which is explained further down. With cachetype = "rev" retrieveData will create a new, revision-specific cachefolder and set setConfig(forcecache = TRUE) (default is FALSE). Via this approach calculations will start with new cache files at all but created cache files will be read if a calculation is repeated. The forcecache option will in this case make sure that any available cache file which fits the function call is read in, independent of whether the content of the cache file might be outdated or not.

Fingerprint

In order to estimate whether a calculation should be rerun or whether the data can be read from cache madrat creates fingerprints for each function. If the fingerprint of the current function call agrees with the fingerprint of the corresponding cache file the cache is assumed up-to-date and read in. If they disagree, the cache file is assumed to be potentially outdated and ignored (except for forcecache = TRUE in which case it would be read in anyways).

The fingerprint is created by looking at the dependency graph of a function which can be retrieved via getDependencies:

getDependencies("calcTauTotal")
#> Registered S3 method overwritten by 'quantmod':
#>   method            from
#>   as.zoo.data.frame zoo
#> Warning: replacing previous import 'dplyr::where' by 'magclass::where' when
#> loading 'mrvalidnitrogen'
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrfish:::readAQUASTAT, mrland:::readAQUASTAT! Laste entry will
#> be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::calcValidPopulation,
#> mrvalidation:::calcValidPopulation! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::fullVALIDATION, mrvalidation:::fullVALIDATION!
#> Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidation:::calcValidNitrogenBudgetNonagland,
#> mrvalidnitrogen:::calcValidNitrogenBudgetNonagland! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteDistrib,
#> mrwaste:::calcWasteDistrib! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteGen, mrwaste:::calcWasteGen! Laste
#> entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteProj, mrwaste:::calcWasteProj!
#> Laste entry will be used
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calc1stBioenergyPast not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAdjustGrassi2021 not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAgProductionValue not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCentralFeedshares not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcCroparea not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCropareaToolbox not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcDemography
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEF3confinement not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcEF3prp not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEmissionInventory not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcExcretionIPCC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOBilateralTrade not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOIntraYearProd not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOTradePrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcFAOharmonized
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOmassbalance_pre not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerPricesFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerUseFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcHistEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIOEdgeBuildings not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIniFoodPrice
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIntake not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIntakeBodyweight not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLUH2v2 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLandEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcLanduseIntensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPlantEstablishCalib not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPriceAgriculture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPricesProducer not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcProduction
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcSOCLossShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readExpertGuessSSPLivestockProduction not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readFAOTradeMatrix not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readGTAP81 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIEA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIFA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readMAgPIE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readNCDrisc not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2019
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2022
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readSSPResults
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readVanDrecht2009
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mredgebuildings:::calcIEAPFU
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mredgebuildings:::calcSharesBuildingDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcFAOFodder_aggrFEED not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcResFeedAvailability not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrfish:::calcFishCCimpacts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcBMIshr not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcClimateClass not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcEATFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcNINFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::calcPlantationContribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcPlantedForest
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYields not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYieldsLPJmL not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::readForestLossDrivers not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readIPCCClimate not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readREMMAG not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readUrbanLandGao not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAgeClassDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAreaActuallyIrrigated not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcAvlWater not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcBphEffect not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCO2Atmosphere_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcClusterBase
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonLSU not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcFoodDemandGridded not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrassPastureShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrasslandsYields not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcIrrigation not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcLivestockDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcLsuDensityHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcNpiNdcAdAolcPol not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcNpiNdcAffPol
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcPastrMngtLevels not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastrTauHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastureSuit
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPeatland not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaleEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaledPastSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcSoilCharacteristics not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcTransportCosts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readGCF_SeaLevelRise not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::readGFAD not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readLabourProdImpactOrlov not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcAGEB not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcCementShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcChemicalFeedstocksShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesBase not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesFuture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcDiffInvestCosts not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcDspvShare not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEEAGHGProjections not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEconometricEmiParameter not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEffortSharingRefEmi not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmber not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactorsFeedstocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmissions not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmploymentfactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEuropeanEnergyDatasheets not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFEdemand not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINSEmi not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcHRE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_EVOutlook
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcIndustry_Value_Added not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcJRC_IDEES not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcPE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcRegion2MAGICC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcSteel_Projections not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUBA not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUNFCCC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterConsCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterWithCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcpm_delta_kap_industry not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readDylanAusGasCost not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readECLIPSE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGETransport
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readExpertGuess
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGCPT not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGEA2012 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_PVPS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_REN not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readLIMITS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readOpenmod not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readProdShares not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRCP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readREMIND_11Regi
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readRemindCesPrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRutovitz2015
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readUSGS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readnonEnergyDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::tool_fix_IEA_data_for_Industry_subsectors not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrsoil:::calcLanduse not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCostsTransport not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassLSUha not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidLSUdensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidLand
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidManure not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidNitrogenBudgetCropland not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidSDG12
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCDensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCStocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTau
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidTauPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTrade
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidYield
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGMIA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGSOC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGasser not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readHID not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWISE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWaterUsage
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidnitrogen:::readAmmoniaProductionUSGS not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwaste:::calcIPCCClimateRegions not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcGrowingPeriod
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcIrrigSystemShr
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwater:::calcIrrigWatRequirements not found!
#> Warning in getMadratGraph(...): Following functions could not be found in the scope of packages to be checked.: 
#>    calcDemand->calcHHFoodWaste, calcgenerateEDGEdata->calcEDGETrData, calcResProd->calcValidResiduesProduction, readLPJml_rev21->calcIPCCClimateRegions, tools::pdf_text->readEuropeanCommissionRenovation
#>   Please make sure that they exist and adjust the scope of packages accordingly!
#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION

#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION
#>                func type package                       call     hash
#> 1           readTau read  madrat           madrat:::readTau c35a968f
#> 2 toolSubtypeSelect tool  madrat madrat:::toolSubtypeSelect 86ae28b2
#> 3     toolAggregate tool  madrat     madrat:::toolAggregate 6ce6125c
#> 4   toolCountryFill tool  madrat   madrat:::toolCountryFill f02cc82a
#> 5    toolGetMapping tool  madrat    madrat:::toolGetMapping caceaf9f

The dependency graph lists all calls of calc, read and tool functions a function depends on (not only calls in the function itself, but also calls in the functions which have been called in order to run the function). The fingerprinting function creates hashes of all these functions and all source folders involved in this process and combines them to one single hash which is the fingerprint of that specific function:

setConfig(verbosity=3)
#> Global configuration update:
#>   verbosity: 1 -> 3
fp <- madrat:::fingerprint("calcTauTotal", details = TRUE)
#> hash components (cba14462):
#>   49fe8440 | madrat:::calcTauTotal | madrat:::calcTauTotal
#>   c35a968f | madrat:::readTau | madrat:::readTau
#>   36499ff9 | madrat:::sysdata$iso_cell | madrat:::sysdata$iso_cell
#>   6ce6125c | madrat:::toolAggregate | madrat:::toolAggregate
#>   f02cc82a | madrat:::toolCountryFill | madrat:::toolCountryFill
#>   caceaf9f | madrat:::toolGetMapping | madrat:::toolGetMapping
#>   86ae28b2 | madrat:::toolSubtypeSelect | madrat:::toolSubtypeSelect
#>   3dd304aa | magclass:::ncells | magclass:::ncells

As a hash has the characteristic to change when its input changes, an unchanged hash means that also the respective function or source folder did not change. Hence, an identical fingerprint means that the involved functions and source data did not change. So, if the fingerprint of the cache file agrees with the fingerprint calculated for the calculation it is quite likely that the data contained in the cache file also agrees with the output of the calculation one would run it again.

The reason why it is only quite likely but not certain is that not all parts of the calculation are covered: The dependency graph only considers madrat-style functions, e.g. functions not starting with download, read, correct, convert, calc, or tool will not be considered. In many cases this should be ok, considering that external functions used in the calculation will likely keep their behavior over time, but there might be instances in which this assumption is violated (e.g. if parts of the calculation are outsourced in a function not following these conventions).

On the other hand, the dependency graph might also include dependencies which only exist on the paper, as it does only scan for calls of the corresponding functions in the code, but cannot interpret which calls are actually be computed for a given calculation, e.g. there could be if clauses in a calc-function selecting different source data types. The dependency graph will show a dependency to all sources even if only one of these sources might be used at the end.

Customize fingerprinting

To make sure that the fingerprint is appropriately reflecting the current status of a calculation there are a few possibilities to steer its behavior:

  1. Use madrat-style functions for all calculation that should get monitored by the fingerprinting algorithm (e.g. if part of the calculation is outsourced, call this new function tool.. to have it monitored.)

  2. Adjust the fingerprinting via control flags for all other cases.

Control flags

Control flags can be used to manually include or exclude functions in the fingerprinting. Control flags are comments in the functions which are put in quotes and start with !#. They can look like:

  "!# @monitor madrat:::sysdata magclass:::ncells"
  "!# @ignore  madrat:::toolAggregate"

Each line contains a control flag starting with the flag name (here monitor or ignore) and afterwards with the arguments of this control flag. The monitor flag specifies calls which should get monitored in addition to the ones anyway monitored (in the example the sysdata object in madrat and the ncells functions of the magclass package are additionally being monitored). The ignore flag specifies which calls should not be monitored even so getDepenendencies says otherwise.

While the ignore statement has to be mentioned explicitly for each function, the monitor statement will be passed on automatically to all subsequent functions (e.g. if a read function has a monitor statement all calc-functions used that read function will also monitor the additional calls of that statement, but in the same example the ignore statement would only be used for the read function itself).

In particular the ignore statement has to be handled with care as a wrong information here might lead to outdated cache files being read in. So, only use it if really necessary and if you know exactly what you are doing.

Examples

  setConfig(globalenv = TRUE)
#> Global configuration update:
#>   globalenv: FALSE -> TRUE
  readData <- function() return(1)
  readData2 <- function() return(2)
  calcExample <- function() {
    a <- readSource("Data")
  }
  calcExample2 <- function() {
    a <- readSource("Data")
    if(FALSE) b <- readSource("Data2")
  }

In this example are two source data sets and two calculation functions. calcExample only depends on readData while calcExample2 depends on both data sources.

  fp <- madrat:::fingerprint("calcExample", details = TRUE)
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrfish:::readAQUASTAT, mrland:::readAQUASTAT! Laste entry will
#> be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::calcValidPopulation,
#> mrvalidation:::calcValidPopulation! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::fullVALIDATION, mrvalidation:::fullVALIDATION!
#> Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidation:::calcValidNitrogenBudgetNonagland,
#> mrvalidnitrogen:::calcValidNitrogenBudgetNonagland! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteDistrib,
#> mrwaste:::calcWasteDistrib! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteGen, mrwaste:::calcWasteGen! Laste
#> entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteProj, mrwaste:::calcWasteProj!
#> Laste entry will be used
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calc1stBioenergyPast not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAdjustGrassi2021 not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAgProductionValue not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCentralFeedshares not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcCroparea not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCropareaToolbox not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcDemography
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEF3confinement not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcEF3prp not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEmissionInventory not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcExcretionIPCC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOBilateralTrade not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOIntraYearProd not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOTradePrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcFAOharmonized
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOmassbalance_pre not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerPricesFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerUseFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcHistEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIOEdgeBuildings not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIniFoodPrice
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIntake not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIntakeBodyweight not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLUH2v2 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLandEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcLanduseIntensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPlantEstablishCalib not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPriceAgriculture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPricesProducer not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcProduction
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcSOCLossShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readExpertGuessSSPLivestockProduction not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readFAOTradeMatrix not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readGTAP81 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIEA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIFA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readMAgPIE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readNCDrisc not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2019
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2022
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readSSPResults
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readVanDrecht2009
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mredgebuildings:::calcIEAPFU
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mredgebuildings:::calcSharesBuildingDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcFAOFodder_aggrFEED not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcResFeedAvailability not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrfish:::calcFishCCimpacts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcBMIshr not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcClimateClass not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcEATFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcNINFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::calcPlantationContribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcPlantedForest
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYields not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYieldsLPJmL not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::readForestLossDrivers not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readIPCCClimate not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readREMMAG not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readUrbanLandGao not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAgeClassDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAreaActuallyIrrigated not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcAvlWater not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcBphEffect not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCO2Atmosphere_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcClusterBase
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonLSU not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcFoodDemandGridded not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrassPastureShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrasslandsYields not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcIrrigation not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcLivestockDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcLsuDensityHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcNpiNdcAdAolcPol not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcNpiNdcAffPol
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcPastrMngtLevels not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastrTauHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastureSuit
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPeatland not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaleEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaledPastSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcSoilCharacteristics not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcTransportCosts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readGCF_SeaLevelRise not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::readGFAD not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readLabourProdImpactOrlov not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcAGEB not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcCementShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcChemicalFeedstocksShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesBase not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesFuture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcDiffInvestCosts not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcDspvShare not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEEAGHGProjections not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEconometricEmiParameter not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEffortSharingRefEmi not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmber not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactorsFeedstocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmissions not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmploymentfactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEuropeanEnergyDatasheets not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFEdemand not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINSEmi not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcHRE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_EVOutlook
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcIndustry_Value_Added not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcJRC_IDEES not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcPE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcRegion2MAGICC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcSteel_Projections not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUBA not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUNFCCC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterConsCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterWithCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcpm_delta_kap_industry not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readDylanAusGasCost not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readECLIPSE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGETransport
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readExpertGuess
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGCPT not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGEA2012 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_PVPS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_REN not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readLIMITS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readOpenmod not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readProdShares not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRCP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readREMIND_11Regi
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readRemindCesPrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRutovitz2015
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readUSGS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readnonEnergyDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::tool_fix_IEA_data_for_Industry_subsectors not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrsoil:::calcLanduse not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCostsTransport not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassLSUha not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidLSUdensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidLand
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidManure not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidNitrogenBudgetCropland not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidSDG12
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCDensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCStocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTau
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidTauPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTrade
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidYield
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGMIA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGSOC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGasser not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readHID not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWISE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWaterUsage
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidnitrogen:::readAmmoniaProductionUSGS not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwaste:::calcIPCCClimateRegions not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcGrowingPeriod
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcIrrigSystemShr
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwater:::calcIrrigWatRequirements not found!
#> Warning in getMadratGraph(...): Following functions could not be found in the scope of packages to be checked.: 
#>    calcDemand->calcHHFoodWaste, calcgenerateEDGEdata->calcEDGETrData, calcResProd->calcValidResiduesProduction, readLPJml_rev21->calcIPCCClimateRegions, tools::pdf_text->readEuropeanCommissionRenovation
#>   Please make sure that they exist and adjust the scope of packages accordingly!
#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION

#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION
#> hash components (dc3c68f8):
#>   5394de89 | calcExample | calcExample
#>   783a5e2f | readData | readData
  fp2 <- madrat:::fingerprint("calcExample2", details = TRUE)
#> hash components (f78e3480):
#>   8386790d | calcExample2 | calcExample2
#>   783a5e2f | readData | readData
#>   fb52578f | readData2 | readData2

Looking at the fingerprints this is reflected in the hash components of each fingerprint (please NOTE that the source folders are not hashed in this example as they do not exist yet. If they exist they would show up here as well as hash components). One can see, that the hash for readData is the same in both fingerprints but as the other hashes differ also the resulting fingerprint for both calculations is different.

  readData <- function() return(99)
  fp <- madrat:::fingerprint("calcExample", details = TRUE)
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrfish:::readAQUASTAT, mrland:::readAQUASTAT! Laste entry will
#> be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::calcValidPopulation,
#> mrvalidation:::calcValidPopulation! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::fullVALIDATION, mrvalidation:::fullVALIDATION!
#> Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidation:::calcValidNitrogenBudgetNonagland,
#> mrvalidnitrogen:::calcValidNitrogenBudgetNonagland! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteDistrib,
#> mrwaste:::calcWasteDistrib! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteGen, mrwaste:::calcWasteGen! Laste
#> entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteProj, mrwaste:::calcWasteProj!
#> Laste entry will be used
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calc1stBioenergyPast not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAdjustGrassi2021 not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAgProductionValue not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCentralFeedshares not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcCroparea not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCropareaToolbox not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcDemography
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEF3confinement not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcEF3prp not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEmissionInventory not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcExcretionIPCC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOBilateralTrade not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOIntraYearProd not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOTradePrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcFAOharmonized
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOmassbalance_pre not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerPricesFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerUseFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcHistEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIOEdgeBuildings not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIniFoodPrice
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIntake not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIntakeBodyweight not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLUH2v2 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLandEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcLanduseIntensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPlantEstablishCalib not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPriceAgriculture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPricesProducer not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcProduction
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcSOCLossShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readExpertGuessSSPLivestockProduction not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readFAOTradeMatrix not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readGTAP81 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIEA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIFA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readMAgPIE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readNCDrisc not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2019
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2022
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readSSPResults
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readVanDrecht2009
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mredgebuildings:::calcIEAPFU
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mredgebuildings:::calcSharesBuildingDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcFAOFodder_aggrFEED not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcResFeedAvailability not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrfish:::calcFishCCimpacts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcBMIshr not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcClimateClass not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcEATFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcNINFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::calcPlantationContribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcPlantedForest
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYields not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYieldsLPJmL not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::readForestLossDrivers not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readIPCCClimate not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readREMMAG not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readUrbanLandGao not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAgeClassDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAreaActuallyIrrigated not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcAvlWater not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcBphEffect not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCO2Atmosphere_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcClusterBase
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonLSU not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcFoodDemandGridded not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrassPastureShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrasslandsYields not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcIrrigation not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcLivestockDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcLsuDensityHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcNpiNdcAdAolcPol not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcNpiNdcAffPol
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcPastrMngtLevels not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastrTauHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastureSuit
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPeatland not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaleEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaledPastSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcSoilCharacteristics not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcTransportCosts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readGCF_SeaLevelRise not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::readGFAD not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readLabourProdImpactOrlov not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcAGEB not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcCementShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcChemicalFeedstocksShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesBase not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesFuture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcDiffInvestCosts not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcDspvShare not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEEAGHGProjections not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEconometricEmiParameter not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEffortSharingRefEmi not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmber not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactorsFeedstocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmissions not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmploymentfactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEuropeanEnergyDatasheets not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFEdemand not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINSEmi not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcHRE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_EVOutlook
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcIndustry_Value_Added not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcJRC_IDEES not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcPE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcRegion2MAGICC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcSteel_Projections not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUBA not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUNFCCC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterConsCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterWithCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcpm_delta_kap_industry not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readDylanAusGasCost not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readECLIPSE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGETransport
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readExpertGuess
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGCPT not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGEA2012 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_PVPS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_REN not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readLIMITS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readOpenmod not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readProdShares not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRCP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readREMIND_11Regi
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readRemindCesPrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRutovitz2015
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readUSGS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readnonEnergyDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::tool_fix_IEA_data_for_Industry_subsectors not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrsoil:::calcLanduse not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCostsTransport not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassLSUha not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidLSUdensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidLand
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidManure not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidNitrogenBudgetCropland not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidSDG12
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCDensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCStocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTau
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidTauPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTrade
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidYield
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGMIA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGSOC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGasser not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readHID not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWISE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWaterUsage
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidnitrogen:::readAmmoniaProductionUSGS not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwaste:::calcIPCCClimateRegions not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcGrowingPeriod
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcIrrigSystemShr
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwater:::calcIrrigWatRequirements not found!
#> Warning in getMadratGraph(...): Following functions could not be found in the scope of packages to be checked.: 
#>    calcDemand->calcHHFoodWaste, calcgenerateEDGEdata->calcEDGETrData, calcResProd->calcValidResiduesProduction, readLPJml_rev21->calcIPCCClimateRegions, tools::pdf_text->readEuropeanCommissionRenovation
#>   Please make sure that they exist and adjust the scope of packages accordingly!
#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION

#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION
#> hash components (18de32f1):
#>   5394de89 | calcExample | calcExample
#>   06f7b7ad | readData | readData
  fp2 <- madrat:::fingerprint("calcExample2", details = TRUE)
#> hash components (1c2fef87):
#>   8386790d | calcExample2 | calcExample2
#>   06f7b7ad | readData | readData
#>   fb52578f | readData2 | readData2

Changing the readData function changes the hash of this function and thereby also the fingerprints of both calc functions even so the hash of the calc functions itself did not change.

  readData2 <- function() {
    "!# @monitor madrat:::toolAggregate"
    return(99)
  } 
  fp <- madrat:::fingerprint("calcExample", details = TRUE)
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrfish:::readAQUASTAT, mrland:::readAQUASTAT! Laste entry will
#> be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::calcValidPopulation,
#> mrvalidation:::calcValidPopulation! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::fullVALIDATION, mrvalidation:::fullVALIDATION!
#> Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidation:::calcValidNitrogenBudgetNonagland,
#> mrvalidnitrogen:::calcValidNitrogenBudgetNonagland! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteDistrib,
#> mrwaste:::calcWasteDistrib! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteGen, mrwaste:::calcWasteGen! Laste
#> entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteProj, mrwaste:::calcWasteProj!
#> Laste entry will be used
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calc1stBioenergyPast not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAdjustGrassi2021 not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAgProductionValue not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCentralFeedshares not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcCroparea not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCropareaToolbox not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcDemography
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEF3confinement not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcEF3prp not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEmissionInventory not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcExcretionIPCC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOBilateralTrade not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOIntraYearProd not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOTradePrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcFAOharmonized
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOmassbalance_pre not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerPricesFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerUseFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcHistEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIOEdgeBuildings not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIniFoodPrice
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIntake not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIntakeBodyweight not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLUH2v2 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLandEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcLanduseIntensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPlantEstablishCalib not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPriceAgriculture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPricesProducer not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcProduction
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcSOCLossShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readExpertGuessSSPLivestockProduction not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readFAOTradeMatrix not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readGTAP81 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIEA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIFA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readMAgPIE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readNCDrisc not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2019
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2022
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readSSPResults
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readVanDrecht2009
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mredgebuildings:::calcIEAPFU
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mredgebuildings:::calcSharesBuildingDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcFAOFodder_aggrFEED not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcResFeedAvailability not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrfish:::calcFishCCimpacts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcBMIshr not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcClimateClass not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcEATFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcNINFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::calcPlantationContribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcPlantedForest
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYields not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYieldsLPJmL not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::readForestLossDrivers not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readIPCCClimate not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readREMMAG not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readUrbanLandGao not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAgeClassDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAreaActuallyIrrigated not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcAvlWater not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcBphEffect not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCO2Atmosphere_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcClusterBase
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonLSU not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcFoodDemandGridded not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrassPastureShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrasslandsYields not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcIrrigation not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcLivestockDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcLsuDensityHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcNpiNdcAdAolcPol not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcNpiNdcAffPol
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcPastrMngtLevels not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastrTauHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastureSuit
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPeatland not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaleEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaledPastSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcSoilCharacteristics not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcTransportCosts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readGCF_SeaLevelRise not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::readGFAD not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readLabourProdImpactOrlov not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcAGEB not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcCementShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcChemicalFeedstocksShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesBase not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesFuture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcDiffInvestCosts not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcDspvShare not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEEAGHGProjections not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEconometricEmiParameter not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEffortSharingRefEmi not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmber not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactorsFeedstocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmissions not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmploymentfactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEuropeanEnergyDatasheets not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFEdemand not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINSEmi not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcHRE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_EVOutlook
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcIndustry_Value_Added not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcJRC_IDEES not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcPE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcRegion2MAGICC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcSteel_Projections not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUBA not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUNFCCC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterConsCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterWithCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcpm_delta_kap_industry not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readDylanAusGasCost not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readECLIPSE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGETransport
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readExpertGuess
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGCPT not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGEA2012 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_PVPS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_REN not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readLIMITS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readOpenmod not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readProdShares not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRCP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readREMIND_11Regi
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readRemindCesPrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRutovitz2015
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readUSGS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readnonEnergyDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::tool_fix_IEA_data_for_Industry_subsectors not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrsoil:::calcLanduse not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCostsTransport not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassLSUha not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidLSUdensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidLand
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidManure not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidNitrogenBudgetCropland not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidSDG12
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCDensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCStocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTau
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidTauPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTrade
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidYield
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGMIA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGSOC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGasser not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readHID not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWISE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWaterUsage
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidnitrogen:::readAmmoniaProductionUSGS not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwaste:::calcIPCCClimateRegions not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcGrowingPeriod
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcIrrigSystemShr
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwater:::calcIrrigWatRequirements not found!
#> Warning in getMadratGraph(...): Following functions could not be found in the scope of packages to be checked.: 
#>    calcDemand->calcHHFoodWaste, calcgenerateEDGEdata->calcEDGETrData, calcResProd->calcValidResiduesProduction, readLPJml_rev21->calcIPCCClimateRegions, tools::pdf_text->readEuropeanCommissionRenovation
#>   Please make sure that they exist and adjust the scope of packages accordingly!
#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION

#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION
#> hash components (18de32f1):
#>   5394de89 | calcExample | calcExample
#>   06f7b7ad | readData | readData
  fp2 <- madrat:::fingerprint("calcExample2", details = TRUE)
#> hash components (b6e64a63):
#>   8386790d | calcExample2 | calcExample2
#>   6ce6125c | madrat:::toolAggregate | madrat:::toolAggregate
#>   06f7b7ad | readData | readData
#>   13c681da | readData2 | readData2

Adding a monitor control flag in readData also add this hash component to all subsequent fingerprint calculations.


  calcExample2 <- function() {
    "!# @ignore readData2"
    a <- readSource("Data")
    if(FALSE) b <- readSource("Data2")
  }

  calcExample3 <- function() {
    a <- calcOutput("Example2")
  }

  fp2 <- madrat:::fingerprint("calcExample2", details = TRUE)
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrfish:::readAQUASTAT, mrland:::readAQUASTAT! Laste entry will
#> be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::calcValidPopulation,
#> mrvalidation:::calcValidPopulation! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrtutorial:::fullVALIDATION, mrvalidation:::fullVALIDATION!
#> Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidation:::calcValidNitrogenBudgetNonagland,
#> mrvalidnitrogen:::calcValidNitrogenBudgetNonagland! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteDistrib,
#> mrwaste:::calcWasteDistrib! Laste entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteGen, mrwaste:::calcWasteGen! Laste
#> entry will be used
#> Warning in getCode(packages = packages, globalenv = globalenv): Duplicate
#> functions found: mrvalidnitrogen:::calcWasteProj, mrwaste:::calcWasteProj!
#> Laste entry will be used
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calc1stBioenergyPast not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAdjustGrassi2021 not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcAgProductionValue not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCentralFeedshares not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcCroparea not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcCropareaToolbox not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcDemography
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEF3confinement not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcEF3prp not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcEmissionInventory not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcExcretionIPCC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOBilateralTrade not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOIntraYearProd not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOTradePrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcFAOharmonized
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFAOmassbalance_pre not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerPricesFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcFertilizerUseFAO not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcHistEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIOEdgeBuildings not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIniFoodPrice
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcIntake not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcIntakeBodyweight not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLUH2v2 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcLandEmissions
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcLanduseIntensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPlantEstablishCalib not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPriceAgriculture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::calcPricesProducer not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcProduction
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::calcSOCLossShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readExpertGuessSSPLivestockProduction not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrcommons:::readFAOTradeMatrix not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readGTAP81 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIEA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readIFA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readMAgPIE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readNCDrisc not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2019
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readPBL_MACC_2022
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readSSPResults
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrcommons:::readVanDrecht2009
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mredgebuildings:::calcIEAPFU
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mredgebuildings:::calcSharesBuildingDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcFAOFodder_aggrFEED not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrfeed:::calcResFeedAvailability not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrfish:::calcFishCCimpacts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcBMIshr not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcClimateClass not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcEATFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcNINFruitvegRatio
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::calcPlantationContribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcPlantedForest
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYields not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::calcYieldsLPJmL not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrland:::readForestLossDrivers not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readIPCCClimate not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readREMMAG not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrland:::readUrbanLandGao not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAgeClassDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcAreaActuallyIrrigated not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcAvlWater not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcBphEffect not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCO2Atmosphere_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcClusterBase
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonLSU not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcCollectSoilCarbonPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcFoodDemandGridded not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrassPastureShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcGrasslandsYields not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcIrrigation not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcLivestockDistribution not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcLsuDensityHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcNpiNdcAdAolcPol not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcNpiNdcAffPol
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcPastrMngtLevels not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastrTauHist
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPastureSuit
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcPeatland not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaleEnvironmentData_new not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcScaledPastSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::calcSoilCharacteristics not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::calcTransportCosts
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readGCF_SeaLevelRise not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrmagpie:::readGFAD not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrmagpie:::readLabourProdImpactOrlov not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcAGEB not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcCementShare
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcChemicalFeedstocksShare not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesBase not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcCoolingSharesFuture not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcDiffInvestCosts not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcDspvShare not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEEAGHGProjections not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEconometricEmiParameter not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEffortSharingRefEmi not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmber not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmissionFactorsFeedstocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcEmissions not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEmploymentfactors not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcEuropeanEnergyDatasheets not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcFEdemand not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcGAINSEmi not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcHRE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_EVOutlook
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcIO not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcIndustry_Value_Added not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcJRC_IDEES not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcPE not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcRegion2MAGICC
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcSteel_Projections not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUBA not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcUNFCCC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterConsCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::calcWaterWithCoef
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::calcpm_delta_kap_industry not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readBP not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readDylanAusGasCost not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readECLIPSE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readEDGETransport
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readExpertGuess
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGCPT not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readGEA2012 not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_ETP not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_PVPS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_REN not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readIEA_WEO_2021
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readINNOPATHS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readLIMITS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readOpenmod not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readProdShares not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRCP not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readREMIND_11Regi
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readRemindCesPrices not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readRutovitz2015
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrremind:::readUSGS not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::readnonEnergyDemand not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrremind:::tool_fix_IEA_data_for_Industry_subsectors not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrsoil:::calcLanduse not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidCostsTransport not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassLSUha not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidGrassSoilCarbon not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidLSUdensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidLand
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidManure not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidNitrogenBudgetCropland not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidSDG12
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCDensity not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidSOCStocks not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTau
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidation:::calcValidTauPastr not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidTrade
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::calcValidYield
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGMIA not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGSOC not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readGasser not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readHID not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWISE not
#> found!
#> Warning in .warnNotfound(getMappings): Mapping in mrvalidation:::readWaterUsage
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrvalidnitrogen:::readAmmoniaProductionUSGS not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwaste:::calcIPCCClimateRegions not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcGrowingPeriod
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in mrwater:::calcIrrigSystemShr
#> not found!
#> Warning in .warnNotfound(getMappings): Mapping in
#> mrwater:::calcIrrigWatRequirements not found!
#> Warning in getMadratGraph(...): Following functions could not be found in the scope of packages to be checked.: 
#>    calcDemand->calcHHFoodWaste, calcgenerateEDGEdata->calcEDGETrData, calcResProd->calcValidResiduesProduction, readLPJml_rev21->calcIPCCClimateRegions, tools::pdf_text->readEuropeanCommissionRenovation
#>   Please make sure that they exist and adjust the scope of packages accordingly!
#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION

#> Warning in .checkBidirectional(out, details = FALSE): Bidirectional package dependencies detected: mrvalidnitrogen->mrvalidation, mrvalidation->mrvalidnitrogen
#>   You might want to have a look at the following connections: calcValidNitrogenBudgetNonagland->calcValidNitrogenSurplus, calcValidNitrogenBudgetNonagland->fullVALIDATION
#> hash components (b073f375):
#>   5b66e04c | calcExample2 | calcExample2
#>   6ce6125c | madrat:::toolAggregate | madrat:::toolAggregate
#>   06f7b7ad | readData | readData
  fp3 <- madrat:::fingerprint("calcExample3", details = TRUE)
#> hash components (f83e4884):
#>   5b66e04c | calcExample2 | calcExample2
#>   0c066a07 | calcExample3 | calcExample3
#>   6ce6125c | madrat:::toolAggregate | madrat:::toolAggregate
#>   06f7b7ad | readData | readData
#>   13c681da | readData2 | readData2

The ignore flag in calcExample2 excludes readData2 from the fingerprint calculation. But in contrast to the monitor statement this information is not forwarded to calcExample3. Hence, the latter does not only monitor madrat:::toolAggregate but also readData2!

forcecache

Before the introduction of fingerprinting forcing the use of cache files was the default approach. However, in the new setup the argument forcecache = TRUE should only be used under very specific circumstances, as it does not guarantee that the data agrees with the code of the corresponding package. In particular production runs should always use forcecache = FALSE.

A scenario in which forcecache = TRUE might still make sense are development cases in which up-to-date inputs are not required for proper function development. In these cases development can be speed up by using potentially outdated cache files as a starting point to avoid lengthy calculations of parts irrelevant for the current development stage.

If you are unsure what to use, always go with forcecache = FALSE.