{"meta":{"plant_id":"DEMO-PLANT-01","data_mode":"demo","demo":true,"generated_at":"2026-11-15T20:25:05+05:00","record_scope":"approved","resolution":"latest","source":"DEMO synthetic data generator — not company data","units":{"volume":"m³","flow_rate":"m³/h","tds":"mg/L","pressure":"bar","conductivity":"µS/cm","temperature":"°C","hours":"h","percent":"%"},"period":{"from":"2026-11-09","to":"2026-11-15"}},"data":{"layout_version":"demo-layout-1","viewbox":{"width":1240,"height":660},"nodes":[{"id":"source","type":"source","label":"Raw water source","tag":null,"x":90,"y":140,"confirmation":"placeholder","equipment_id":null,"tank_id":null,"readings":[{"label":"Source flow","value":null,"unit":"m³/h","measured_at":null,"source":"operator_reported"}],"notes":"Source type not specified in the plant reference — configurable placeholder."},{"id":"raw_tank","type":"raw_tank","label":"Raw water storage tank","tag":null,"x":280,"y":140,"confirmation":"placeholder","equipment_id":null,"tank_id":null,"readings":[{"label":"Level","value":null,"unit":"%","measured_at":null,"source":"operator_reported"}],"notes":"Not confirmed as an RO process tank. Placeholder."},{"id":"transfer_pump","type":"pump","label":"Raw water transfer pump","tag":"RWP-01","x":470,"y":140,"confirmation":"configured","equipment_id":"eq-rwp-1","tank_id":null,"readings":[{"label":"Flow","value":17.5,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Discharge pressure","value":null,"unit":"bar","measured_at":null,"source":"operator_reported"}]},{"id":"mmf","type":"multimedia_filter","label":"Multimedia filter","tag":"MMF-01","x":660,"y":140,"confirmation":"configured","equipment_id":"eq-mmf-1","tank_id":null,"readings":[{"label":"Differential pressure","value":null,"unit":"bar","measured_at":null,"source":"operator_reported"}]},{"id":"acf","type":"carbon_filter","label":"Activated carbon filter","tag":null,"x":850,"y":140,"confirmation":"placeholder","equipment_id":"eq-acf-1","tank_id":null,"readings":[{"label":"Differential pressure","value":null,"unit":"bar","measured_at":null,"source":"operator_reported"}],"notes":"Placeholder — existence not confirmed."},{"id":"cartridge","type":"cartridge_filter","label":"Cartridge filter","tag":"CF-01","x":1040,"y":140,"confirmation":"configured","equipment_id":"eq-cf-1","tank_id":null,"readings":[{"label":"Inlet pressure","value":3.26,"unit":"bar","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Differential pressure","value":null,"unit":"bar","measured_at":null,"source":"operator_reported"}]},{"id":"dosing","type":"dosing","label":"Antiscalant dosing","tag":null,"x":1160,"y":290,"confirmation":"placeholder","equipment_id":"eq-dp-1","tank_id":null,"readings":[{"label":"Dose rate","value":null,"unit":"L/h","measured_at":null,"source":"operator_reported"}],"notes":"Placeholder — dosing configuration not confirmed."},{"id":"hp_pump","type":"hp_pump","label":"RO high-pressure pump","tag":"HPP-01","x":1040,"y":400,"confirmation":"configured","equipment_id":"eq-hpp-1","tank_id":null,"readings":[{"label":"Discharge pressure","value":14.62,"unit":"bar","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"}]},{"id":"ro","type":"ro_membrane","label":"RO membrane stage","tag":"RO-01","x":800,"y":400,"confirmation":"configured","equipment_id":"eq-ro-1","tank_id":null,"readings":[{"label":"Feed flow","value":16.8,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Permeate flow","value":12.4,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Reject flow","value":4.4,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Operating pressure","value":14.62,"unit":"bar","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Differential pressure","value":0.84,"unit":"bar","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"},{"label":"Recovery","value":73.94,"unit":"%","measured_at":"2026-11-15T06:00:00+05:00","source":"calculated"},{"label":"Permeate TDS","value":33.1,"unit":"mg/L","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"}],"units":3},{"id":"product_tank","type":"product_tank","label":"Product water tank","tag":null,"x":520,"y":400,"confirmation":"configured","equipment_id":null,"tank_id":"product","readings":[{"label":"Level","value":54,"unit":"%","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"}]},{"id":"distribution","type":"distribution","label":"Finished water distribution","tag":null,"x":250,"y":400,"confirmation":"placeholder","equipment_id":null,"tank_id":null,"readings":[{"label":"Product output","value":12.3,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"}],"notes":"Distribution connections are configurable placeholders."},{"id":"reject_out","type":"reject_out","label":"Reject / concentrate discharge","tag":null,"x":800,"y":570,"confirmation":"placeholder","equipment_id":null,"tank_id":null,"readings":[{"label":"Reject flow","value":4.4,"unit":"m³/h","measured_at":"2026-11-15T06:00:00+05:00","source":"operator_reported"}],"notes":"Reject destination not specified — placeholder."}],"edges":[{"id":"e1","from":"source","to":"raw_tank","medium":"raw","metric":"raw_water_feed"},{"id":"e2","from":"raw_tank","to":"transfer_pump","medium":"raw"},{"id":"e3","from":"transfer_pump","to":"mmf","medium":"raw","metric":"raw_water_feed"},{"id":"e4","from":"mmf","to":"acf","medium":"filtered"},{"id":"e5","from":"acf","to":"cartridge","medium":"filtered"},{"id":"e6","from":"cartridge","to":"hp_pump","medium":"feed","metric":"ro_feed"},{"id":"e7","from":"dosing","to":null,"medium":"chemical","via":[[1040,290]]},{"id":"e8","from":"hp_pump","to":"ro","medium":"feed","metric":"ro_feed"},{"id":"e9","from":"ro","to":"product_tank","medium":"permeate","label":"Permeate","metric":"permeate"},{"id":"e10","from":"product_tank","to":"distribution","medium":"permeate","metric":"product_output"},{"id":"e11","from":"ro","to":"reject_out","medium":"reject","label":"Reject","metric":"reject"}]}}