soilTransition <- function(allInp, logger){
  log4r::info(logger, "Initiating soil carbon transition matrix calculation...")
    
  areaCategory <- allInp$areaCategory
  plotsList <- allInp$Plots
    
  resList <- list()
  
  for(p in names(plotsList)){

    source      <- plotsList[[p]]$sourceUseType
    destination <- plotsList[[p]]$destinationUseType
    initCStock  <- plotsList[[p]]$initialCStock
    pastArea    <- allInp$pastArea
    supplArea   <- allInp$supplArea
             
    TMtxAnnualCoeff <- (allInp$TransMatrix[source, destination] - 1) / allInp$delta.t
    
    # Annual change of C stocks of area (Mg.ha-1.yr-1)
    AnnualCChange <- initCStock * TMtxAnnualCoeff
    
    ACSCA <- AnnualCChange
    ACSC  <- ACSCA * allInp[[areaCategory[[destination]]]]
    
    resList[[p]] <- c(annualCstockChangeArea = ACSCA,
                      annualCstockChange     = ACSC,          # Mg C.yr-1
                      annualCO2stockChange   = ACSC * 44/12)  # Mg CO2.yr-1
  }
  
  log4r::info(logger, "Transition matrix calculation completed.")
  
  return(resList)
}

