Root Url: http://jhdts.ensims.com/jhdts_web/api
Command | Method | Url Pattern | Header | Body | Return |
---|---|---|---|---|---|
Get service info | GET | /info | - | - | {ver info} |
List all experiments | GET | /list | api_key, session_key | - | [list of exp_ids] |
Run experiment | POST | /run | api_key, session_key | {exp config} | {result info} |
List available reports | GET | /list/{exp_id} | api_key, session_key | - | [list of reports] |
Get report in JSON | GET | /get/{exp_id}/{report} | api_key, session_key | - | {report} |
Get report in CSV | GET | /view/{exp_id}/{report} | api_key, session_key | - | .csv |
Download all reports in ZIP | GET | /download/{exp_id} | api_key, session_key | - | .zip |
Delete experiment | POST | /delete/{exp_id} | api_key, session_key | - | {acknowledgement} |
This command is for testing if the service is online and retrieving version info.
curl http://jhdts.ensims.com/jhdts_web/api/info
{ "Title" : "JHDTS Web API", "Description" : "Dynamic Thermal Model of Human Body provided by ENSIMS Ltd.", "Major" : 1, "Minor" : 0, "Revision" : 1, "Release" : "beta", "Update" : 0, "Notice" : "(C) 2017, Energy Simulation Solutions Ltd. All rights reserved." }
List all experiments held on the server of the current user
curl -H "api_key: ..." -H "session_key: ..." http://jhdts.ensims.com/jhdts_web/api/list
[ "MyExperiment1", "MyExperimett2", ... ]
This command submits the configuration of the experiment, requires simulation, and retrieves the most commonly used results
curl -H "api_key: ..." -H "session_key: ..." -H "Content-Type: application/json" -X POST -d '{experiment data}' http://jhdts.ensims.com/jhdts_web/api/run
An example configuration is shown below. More details of each field to follow.
{ "experimentID" : "MyExperiment1", "description" : "This is my first experiment", "tags" : null, "bcs" : [ { "time" : 0, "stepChange" : true, "ta" : 20.0, "rh" : 0.5, "va" : 0.05, "mrt" : 20.0, "met" : 1.0, "clothes" : "KSU.cl3", "solar" : { "solarElevation" : 90.0, "solarAzimuth" : 90.0, "groudReflectance" : 0.2, "bodyElevation" : 90.0, "bodyOrientaion" : 90.0, "diffuse" : 0.0, "direct" : 0.0, "exposure" : [ [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1] ] }, "pos" : 0 }, { "time" : 180, "stepChange" : true, "ta" : 20.0, "rh" : 0.5, "va" : 0.05, "mrt" : 20.0, "met" : 1.0, "clothes" : "KSU.cl3", "solar" : { "solarElevation" : 90.0, "solarAzimuth" : 90.0, "groudReflectance" : 0.2, "bodyElevation" : 90.0, "bodyOrientaion" : 90.0, "diffuse" : 0.0, "direct" : 0.0, "exposure" : [ [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1] ] }, "pos" : 0 } ] }
Solar mask table
Sides | |||||
---|---|---|---|---|---|
Parts | # | 0 | 1 | 2 | 3 |
head | 0 | ant | pst | – | – |
face | 1 | ant | l.ext | r.ext | – |
neck | 2 | ant | pst | l.ext | r.ext |
left shldr | 3 | one side | – | – | – |
thorax | 4 | ant | pst | l.inf | r.inf |
abdomen | 5 | ant | pst | l.inf | r.inf |
left upper arm | 6 | ant | pst | inf | ext |
left lower arm | 7 | ant | pst | inf | ext |
left hand | 8 | hbk | plm | – | – |
left upper leg | 9 | ant | pst | inf | ext |
left lower leg | 10 | ant | pst | inf | ext |
left foot | 11 | inst | sole | – | – |
right shldr | 12 | one side | – | – | – |
right upper arm | 13 | ant | pst | inf | ext |
right lower arm | 14 | ant | pst | inf | ext |
right hand | 15 | hbk | plm | – | – |
right upper leg | 16 | ant | pst | inf | ext |
right lower leg | 17 | ant | pst | inf | ext |
right foot | 18 | inst | sole | – | – |
An example configuration is shown below. More details of each field to follow.
{ "experimentID": "MyExperiment1", "description": "This is my first experiment", "createdAt": "2017-08-17 10:20:30 GMT", "ok": true, "bcs": [ { "time" : 0, "stepChange" : true, "ta" : 20.0, "rh" : 0.5, "va" : 0.05, "mrt" : 20.0, "met" : 1.0, "clothes" : "KSU.cl3", "solar" : { "solarElevation" : 90.0, "solarAzimuth" : 90.0, "groudReflectance" : 0.2, "bodyElevation" : 90.0, "bodyOrientaion" : 90.0, "diffuse" : 0.0, "direct" : 0.0 }, "pos" : 0 }, { "time" : 180, "stepChange" : true, "ta" : 20.0, "rh" : 0.5, "va" : 0.05, "mrt" : 20.0, "met" : 1.0, "clothes" : "KSU.cl3", "solar" : { "solarElevation" : 90.0, "solarAzimuth" : 90.0, "groudReflectance" : 0.2, "bodyElevation" : 90.0, "bodyOrientaion" : 90.0, "diffuse" : 0.0, "direct" : 0.0 }, "pos" : 0 } ], "reports": [ "CmfPrm", "GlCalVar", "GlResults", "TskL&R", "Tcore", "results", "qsk", "basal", "wblsk", "Qsk_.", "TRS" ], "result": [ { "Time": 0, "Ta": 29.999999999999993, "RH": 39.999999999999986, "Va": 0.04999999999999998, "MRT": 29.999999999999993, "Clo": 2.8543277996251865e-15, "Tskm": 34.36991135352967, "Thy": 37.00103551767457, "Tre": 36.89753685324042, "Qm": 87.1305908064696, "Esk": 19.13076628762653, "SkBF": 100.00000000000003, "DTS": 0, "PPD": 0 }, { "Time": 1, "Ta": 28.000000000000014, "RH": 60.00000000000001, "Va": 0.09999999999999996, "MRT": 16, "Clo": 0.88599190512711, "Tskm": 34.300444558097034, "Thy": 36.99740015918207, "Tre": 36.8963518631244, "Qm": 108.90662004782678, "Esk": 15.792856058419412, "SkBF": 96.25995557847818, "DTS": -0.9213639908945768, "PPD": 22.928340794723724 }, ... ... ... { "Time": 180, "Ta": 28.000000000000014, "RH": 60.00000000000001, "Va": 0.09999999999999996, "MRT": 16, "Clo": 0.9250459840647304, "Tskm": 33.56209574716113, "Thy": 37.11260935133168, "Tre": 37.01470200922007, "Qm": 109.56409438354824, "Esk": 14.841854305367756, "SkBF": 65.8551328316323, "DTS": 0.10835497923679382, "PPD": 5.243167805395657 } ], }
Retrieving a list of the available report of this experiment
curl -H "api_key: ..." -H "session_key: ..." http://jhdts.ensims.com/jhdts_web/api/list/MyExperiment1
[ "CmfPrm", "GlCalVar", "GlResults", "TskL&R", "Tcore", "results", "qsk" "basal", "wblsk", "Qsk_", "TRS", ... ]
Retrieving individual data report in JSON format
curl -H "api_key: ..." -H "session_key: ..." http://jhdts.ensims.com/jhdts_web/api/get/MyExperiment1/CmfPrm
[ { "Time": 0, "Ta": 29.999999999999993, "RH": 39.999999999999986, "Va": 0.04999999999999998, "MRT": 29.999999999999993, "Clo": 2.8543277996251865e-15, "Tskm": 34.36991135352967, "Thy": 37.00103551767457, "Tre": 36.89753685324042, "Qm": 87.1305908064696, "Esk": 19.13076628762653, "SkBF": 100.00000000000003, "DTS": 0, "PPD": 0 }, { "Time": 1, "Ta": 28.000000000000014, "RH": 60.00000000000001, "Va": 0.09999999999999996, "MRT": 16, "Clo": 0.88599190512711, "Tskm": 34.300444558097034, "Thy": 36.99740015918207, "Tre": 36.8963518631244, "Qm": 108.90662004782678, "Esk": 15.792856058419412, "SkBF": 96.25995557847818, "DTS": -0.9213639908945768, "PPD": 22.928340794723724 }, ... { "Time": 4, "Ta": 28.000000000000014, "RH": 60.00000000000001, "Va": 0.09999999999999996, "MRT": 16, "Clo": 0.8925048732693408, "Tskm": 34.17890599881812, "Thy": 36.98094778456004, "Tre": 36.88865700082858, "Qm": 108.87291614012169, "Esk": 15.660846913662066, "SkBF": 89.66349656273863, "DTS": -0.4484063401633448, "PPD": 9.195526206909989 } ]
Retrieve the simulation results table in CSV format as it is generated by the model.
curl -H "api_key: ..." -H "session_key: ..." http://jhdts.ensims.com/jhdts_web/api/view/MyExperiment1/Tcore
#Core temperatures #Time, head, face, neck, left shldr, thorax, abdomen, left upper arm, left lower arm, left hand, left upper leg, left lower leg, left foot, right shldr, right upper arm, right lower arm, right hand, right upper leg, right lower leg, right foot #[min], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C], [?C] 0.0, 37.00, 35.32, 35.37, 36.66, 36.66, 36.90, 35.74, 34.87, 35.88, 36.33, 35.51, 34.24, 36.66, 35.74, 34.87, 35.88, 36.33, 35.51, 34.24, 1.0, 36.99, 35.32, 35.37, 36.65, 36.65, 36.89, 35.74, 34.88, 35.89, 36.33, 35.51, 34.24, 36.65, 35.74, 34.88, 35.89, 36.33, 35.51, 34.24, 2.0, 36.99, 35.32, 35.37, 36.64, 36.64, 36.89, 35.74, 34.88, 35.89, 36.33, 35.51, 34.25, 36.64, 35.74, 34.88, 35.89, 36.33, 35.51, 34.25, 3.0, 36.98, 35.32, 35.38, 36.64, 36.64, 36.89, 35.75, 34.89, 35.89, 36.33, 35.51, 34.26, 36.64, 35.75, 34.89, 35.89, 36.33, 35.51, 34.26, ...
Retrieve all results in a zip file
curl -H "api_key: ..." -H "session_key: ..." http://jhdts.ensims.com/jhdts_web/api/download/MyExperiment1
Delete the experiment from server
curl -H "api_key: ..." -H "session_key: ..." -X POST http://jhdts.ensims.com/jhdts_web/api/delete/MyExperiment1
{ "experimentID": "MyExperiment1", "description": "Deleted", "ok": true }
Although the model supports defining clothing ensembles from individual garments, the current API allows only selection from the list below.
briefs_(0.0clo).cl3
- wearing only a pair of briefs 0.0 closhorts+shirt_shsl_(0.4clo).cl3
- briefs, walking shorts (cotton), short-sleeve shirt, ankle-length socks, street shoes 0.4 clo in totalKSU+sh_(0.6clo).cl3
- briefs, ankle-length socks, street shoes, trousers, long-sleeve shirt, 0.6 clo totalKSU+sweat1+sh_(0.8clo).cl3
- the above plus light sweater, 0.8 clo totalKSU+sweat2+sh_(0.9clo).cl3
- KSU plus thick, round neck cardigan, total 0.9 cloKSU+jacket+sh_(1.0clo).cl3
- KSU plus suite jacket, 1.0 cloKSU+sweat1+jacket+sh_(1.1clo).cl3
- KSU plus light sweater and suit jacketwinter_outdoor_(1.3clo).cl3
- briefs, ankle-length socks, warm shoes, trousers, short-sleeve cotton undershirt, long-sleeve shirt, warm outdoor jacket, 1.3 clo totalwinter_outdoor+cap+gloves_(1.5clo).cl3
- the above plus knitted cap and knitted gloves, 1.5 clo totalThe following report files may be created for each simulation. The actual list of reports that are available to download is provided in the simulation result data.
Class | File name | Description | Local parameters |
---|---|---|---|
Model parameters | basal.csv | Neutral environmental condition, thermal regulatory set points, and basic body parameters | - |
fcl.csv | Local clothing area factors [/] | Yes | |
Heat transfer coefficients and resistances | hc.csv | Local surface convective heat transfer coefficients [w/m2/K] | Yes |
hr.csv | Local surface long-wave radiant heat transfer coefficients [w/m2/K] | Yes | |
Rcl.csv | Local clothing thermal resistances [clo] | Yes | |
Recl.csv | Local clothing evaporative resistances [m2Pa/w] | Yes | |
Heat transfer rate | qcnd.csv | Local conductive heat fluxes [w/m2] | Yes |
qcnv.csv | Local convective heat fluxes [w/m2] | Yes | |
qEv.csv | Local evaporative heat fluxes [w/m2] | Yes | |
qLwR.csv | Local long-wave radiant heat fluxes [w/m2] | Yes | |
qSwR.csv | Local short-wave radiant heat fluxes [w/m2] | Yes | |
qsk.csv | Local total heat fluxes [w/m2] | Yes | |
Qsk_.csv | Local total skin heat losses [w] | Yes | |
Sweat and evaporation | msw.csv | Local sweat production rates [g/min] | Yes |
psk.csv | Local vapor pressures at skin surface [pa] | Yes | |
RHsk.csv | Local relative humidity at skin surface [%] | Yes | |
wsk.csv | Local skin wettedness [%] | Yes | |
accMsk.csv | Local accumulated moisture at skin surface [g] | Yes | |
Temperature | Tcore.csv | Core temperature of each body part [°C] | Yes |
Tsk.csv | Local skin temperature (synmetrical) [°C] | Yes | |
TskL&R.csv | Local skin temperature (unsynmetrical) [°C] | Yes | |
Tclo.csv | Local cloth temperature at the surface (unsynmetrical) [°C] | Yes | |
Physiological | blood.csv | Local blood circulation [ml/min] and artery/vein temperatures [°C] | Yes |
wblsk.csv | Local skin blood perfusion rates [%Basal] | Yes | |
Comfort and results | CMF.csv | Body thermal state variables and comfort | - |
CmfPrm.csv | Environmental condition variables and comfort | - | |
TRS.csv | Thermal regulatory variables | - | |
GlCalVar.csv | Global Operative Temperatures and heat losses | - | |
GlResults.csv | Global environmental, physiological, regulatory, and comfort variables | - | |
results.csv | Globas physiological and regulatory results | - | |
Disc.csv | Local discomfort (LPPD) [%] | Yes |