tseyanglim / VST

Vensim Script Tools for improving workflow in Vensim
GNU General Public License v3.0
4 stars 1 forks source link

Json decode error #4

Closed hyunjimoon closed 1 year ago

hyunjimoon commented 1 year ago

The following is the control file I am using, and because of "data", I am facing json decoder jsondecodeerror which this search lead me to wrap the JSON objects in an array. I have little idea on this, @tseyanglim do you know how to change my control file?

{
    "basename": "Covid",
    "simcontrol": {
        "model": "CovidUSA-Econ-V79.mdl",
        "data": [
            "CovidModelInputs - ConstantDataStates.vdf",
            "CovidModelInputs - CRWStates.vdf",
            "CovidModelInputs - DeathDataStates.vdf",
            "CovidModelInputs - FlowDataStates.vdf",
            "CovidModelInputs - FormattedDataStates.vdf",
            "CovidModelInputs - TestDataStates.vdf"
            ], 
        "payoff": "PayoffFlowV77-Policy.vpd",
        "sensitivity": "", 
        "optparm": "COVID-V79-All.voc",
        "changes": [], 
        "savelist": "", 
        "senssavelist": ""
        },
    "venginepath": "C:/Program Files (x86)/Vengine2/Vensim - vengine.exe",
    "vensimpath": "",
    "graphs": "",
    "timelimit": 600,
    "mccores": 0
    }
hyunjimoon commented 1 year ago

I thought data [] part was the cause, but seeing Jason's file, the cause may be somewhere else.

{
    "baserunname": "Test", 
    "simsettings": {
        "model": "RBorders-V38-AllStoreReadMixPar.mdl", 
        "data": [
            "ValPois100.vdf", 
            "StatsBordersData.vdf"
            ], 
        "payoff": "Borders-V38-PolicyAll.VPD", 
        "optparm": "Borders-V38-All.voc", 
        "changes": [
            "STDevInputs.CIN"
            ], 
        "sensitivity": "", 
        "senssavelist": "", 
        "savelist": ""
        },
    "vensimpath": "C:/Users/jasonfri/Desktop/Vensim - vengine 20220301/Vensim - vengine.exe",
    "countrylist": [
        "S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "S10"
        ],
    "genparams": ["DmndOnCBD", "SKUonCBD", "DepthOnCBD", "AreaOnCBD", "DVar Scale[cpIt]",
        "DVar Scale[empq]", "DVar Scale[dmnd]", "MinNormalStock[cplt]", "MinNormalStock[empq]", 
        "MinNormalStock[dmnd]", "CapW[d10]", "CapW[d12]", "CapW[d16]", "CapW[d17]", "CapW[d18]", "CapW[d20]", 
        "CapW[d21]", "EmplQualW[d10]", "EmplQualW[d11]", "EmplQualW[d12]", "EmplQualW[d14]", "EmplQualW[d15]", "EmplQualW[d16]", 
        "EmplQualW[d17]", "EmplQualW[d19]", "EmplQualW[d22]", "EmplQualW[d23]", "CSW[d11]", "CSW[d12]",
        "CSW[d16]", "CSW[d17]", "CSW[d19]", "MeasureBias[d10]", "MeasureBias[d11]", "MeasureBias[d12]",
        "MeasureBias[d14]","MeasureBias[d15]","MeasureBias[d16]","MeasureBias[d17]","MeasureBias[d18]",
        "MeasureBias[d19]","MeasureBias[d20]","MeasureBias[d21]","MeasureBias[d22]", "MeasureBias[d23]",
        "MeasStdevScale[d1]", "MeasStdevScale[d2]", "MeasStdevScale[d8]", "MeasStdevScale[d9]", "MeasStdevScale[d3]", 
        "MeasStdevScale[d10]", "MeasStdevScale[d11]", "MeasStdevScale[d12]", "MeasStdevScale[d14]", "MeasStdevScale[d15]", 
        "MeasStdevScale[d16]", "MeasStdevScale[d17]", "MeasStdevScale[d18]", "MeasStdevScale[d19]", "MeasStdevScale[d20]", 
        "MeasStdevScale[d21]", "MeasStdevScale[d22]", "MeasStdevScale[d23]", "DVar Scale[cplt]"
        ],
    "mccores": 1,
    "mctype": "store",
    "mcsettings": {
        "OPTIMIZER": "Off", 
        "SENSITIVITY": "PAYOFF MCMC", 
        "MULTIPLE_START": "RRANDOM", 
        "RESTART_MAX": 10,
        "FRACTIONAL_TOLERANCE": 1e-5,
        "MCLIMIT": 100000,
        "MCINITMETHOD": 3,
        "MCTEMP":1,
        "MCBURNIN": 60000,
        "MCNCHAINS": 2
        }, 
    "fractolfactor": 100,
    "samplefrac": 0.05,
    "threshold": 20, 
    "iterlimit": 1,
    "timelimit": 600
}
hyunjimoon commented 1 year ago

Never mind. I failed to adapt to updating input formats (vgpath outside control file, run and save cmd) which was written in demo file.

TY, could you explain the role of run and save cmd please?

tseyanglim commented 1 year ago

Runcmd and savecmd are optionally used to overwrite what's used in the cmd file by default. So for instance if you want to export your output in a different format, you can use savecmd to overwrite that. But these are assigned by default based on the simtype you specify (optimisation, sensitivity, etc.), so you'll rarely need to use them.