runCalc<-function(inputJSON, keep_backtest=F){
  if(exists("res")){rm(res)}
  res<-tryCatch(expr={
    #parse the JSON
    theData <- parseJSON(inputJSON)
    #subset all time series to before the base date
    theData <- subsetToBaseDate(theData)
    #extract the model_name
    model <- theData$model_name
    #get the model function file
    modelFunctionFile <- system.file("calc_engine", paste0(model,".RData"), package = "soiCalcEngine")
    load(modelFunctionFile)
    #this runs and backtests the model
    out <- runModel(theData)
    if(model!="Average"){
      out<-getScore(out)
    }
    #this creates two versions of the ultimate projections, one weighted one unweighted
    out$predicted_values_weighted <- weightProjections(theData$employment,out$predicted_values_unweighted,theData$long_term_growth_rate)
    #this prepares the output JSON and makes sure the fields are in the right order
    prepareJSON(out,keep_data=keep_backtest)
  },
  error = function(err){
    toJSON(list(error=as.character(err)))
  }
  )
  res
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.