module CDrillingConsole use CDrillingConsoleVariables use SimulationVariables use SimulationVariables ! use CSimulationVariables use CLog4 use CLog3 implicit none public contains subroutine DrillingConsoleFromJson(jsonfile) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p,pval type(json_file)::jsonfile logical::found integer :: i call jsonfile%get('Equipments.Drilling.AssignmentSwitch',data%Equipments%DrillingConsole%AssignmentSwitch,found) if ( .not. found ) call logg(4,"Not found: AssignmentSwitch") call jsonfile%get('Equipments.Drilling.EmergencySwitch',data%Equipments%DrillingConsole%EmergencySwitch,found) if ( .not. found ) call logg(4,"Not found: EmergencySwitch") call jsonfile%get('Equipments.Drilling.RTTorqueLimitKnob',data%Equipments%DrillingConsole%RTTorqueLimitKnob,found) if ( .not. found ) call logg(4,"Not found: RTTorqueLimitKnob") call jsonfile%get('Equipments.Drilling.MP1CPSwitchI',data%Equipments%DrillingConsole%MP1CPSwitchI,found) if ( .not. found ) call logg(4,"Not found: MP1CPSwitchI") call jsonfile%get('Equipments.Drilling.MP1CPSwitchT',data%Equipments%DrillingConsole%MP1CPSwitchT,found) if ( .not. found ) call logg(4,"Not found: MP1CPSwitchT") call jsonfile%get('Equipments.Drilling.MP1CPSwitch',data%Equipments%DrillingConsole%MP1CPSwitch,found) if ( .not. found ) call logg(4,"Not found: MP1CPSwitch") call jsonfile%get('Equipments.Drilling.MP1ThrottleUpdate',data%Equipments%DrillingConsole%MP1ThrottleUpdate,found) if ( .not. found ) call logg(4,"Not found: MP1ThrottleUpdate") call jsonfile%get('Equipments.Drilling.MP1Throttle',data%Equipments%DrillingConsole%MP1Throttle,found) if ( .not. found ) then call logg(4,"Not found: MP1Throttle") endif call jsonfile%get('Equipments.Drilling.MP2SwitchI',data%Equipments%DrillingConsole%MP2SwitchI,found) if ( .not. found ) call logg(4,"Not found: MP2SwitchI") call jsonfile%get('Equipments.Drilling.MP2SwitchT',data%Equipments%DrillingConsole%MP2SwitchT,found) if ( .not. found ) call logg(4,"Not found: MP2SwitchT") call jsonfile%get('Equipments.Drilling.MP2Switch',data%Equipments%DrillingConsole%MP2Switch,found) if ( .not. found ) call logg(4,"Not found: MP2Switch") call jsonfile%get('Equipments.Drilling.MP2ThrottleUpdate',data%Equipments%DrillingConsole%MP2ThrottleUpdate,found) if ( .not. found ) call logg(4,"Not found: MP2ThrottleUpdate") call jsonfile%get('Equipments.Drilling.MP2Throttle',data%Equipments%DrillingConsole%MP2Throttle,found) if ( .not. found ) then call logg(4,"Not found: MP2Throttle") endif ! call jsonfile%get('Equipments.Drilling.DWSwitch',data%Equipments%DrillingConsole%DWSwitch,found) ! if ( .not. found ) call logg(4,"Not found: DWSwitch") call jsonfile%get('Equipments.Drilling.DWThrottle',data%Equipments%DrillingConsole%DWThrottle,found) if ( .not. found ) call logg(4,"Not found: DWThrottle") call jsonfile%get('Equipments.Drilling.RTSwitch',data%Equipments%DrillingConsole%RTSwitch,found) if ( .not. found ) call logg(4,"Not found: RTSwitch") call jsonfile%get('Equipments.Drilling.RTThrottle',i,found) data%Equipments%DrillingConsole%RTThrottle = real(i) if ( .not. found ) then call logg(4,"Not found: RTThrottle") endif call jsonfile%get('Equipments.Drilling.DWBreak',data%Equipments%DrillingConsole%DWBreak,found) if ( .not. found ) call logg(4,"Not found: DWBreak") call jsonfile%get('Equipments.Drilling.PreviousDWBreak',data%Equipments%DrillingConsole%PreviousDWBreak,found) if ( .not. found ) call logg(4,"Not found: PreviousDWBreak") call jsonfile%get('Equipments.Drilling.ForceBreak',data%Equipments%DrillingConsole%ForceBreak,found) if ( .not. found ) call logg(4,"Not found: ForceBreak") call jsonfile%get('Equipments.Drilling.DWAcceleretor',data%Equipments%DrillingConsole%DWAcceleretor,found) if ( .not. found ) call logg(4,"Not found: DWAcceleretor") call jsonfile%get('Equipments.Drilling.DWTransmisionLever',data%Equipments%DrillingConsole%DWTransmisionLever,found) if ( .not. found ) call logg(4,"Not found: DWTransmisionLever") call jsonfile%get('Equipments.Drilling.DWPowerLever',data%Equipments%DrillingConsole%DWPowerLever,found) if ( .not. found ) call logg(4,"Not found: DWPowerLever") call jsonfile%get('Equipments.Drilling.TongLever',data%Equipments%DrillingConsole%TongLever,found) if ( .not. found ) call logg(4,"Not found: TongLever") call jsonfile%get('Equipments.Drilling.RTTransmissionLever',data%Equipments%DrillingConsole%RTTransmissionLever,found) if ( .not. found ) call logg(4,"Not found: RTTransmissionLever") call jsonfile%get('Equipments.Drilling.DWClutchLever',data%Equipments%DrillingConsole%DWClutchLever,found) if ( .not. found ) call logg(4,"Not found: DWClutchLever") call jsonfile%get('Equipments.Drilling.EddyBreakLever',data%Equipments%DrillingConsole%EddyBreakLever,found) if ( .not. found ) call logg(4,"Not found: EddyBreakLever") call jsonfile%get('Equipments.Drilling.AutoDW',data%Equipments%DrillingConsole%AutoDW,found) if ( .not. found ) call logg(4,"Not found: AutoDW") call jsonfile%get('Equipments.Drilling.GEN1',data%Equipments%DrillingConsole%GEN1,found) if ( .not. found ) call logg(4,"Not found: GEN1") call jsonfile%get('Equipments.Drilling.GEN2',data%Equipments%DrillingConsole%GEN2,found) if ( .not. found ) call logg(4,"Not found: GEN2") call jsonfile%get('Equipments.Drilling.GEN3',data%Equipments%DrillingConsole%GEN3,found) if ( .not. found ) call logg(4,"Not found: GEN3") call jsonfile%get('Equipments.Drilling.GEN4',data%Equipments%DrillingConsole%GEN4,found) if ( .not. found ) call logg(4,"Not found: GEN4") call jsonfile%get('Equipments.Drilling.Permission_OpenKellyCock',data%Equipments%DrillingConsole%Permission_OpenKellyCock,found) if ( .not. found ) call logg(4,"Not found: Permission_OpenKellyCock") call jsonfile%get('Equipments.Drilling.OpenKellyCock',data%Equipments%DrillingConsole%OpenKellyCock,found) if ( .not. found ) call logg(4,"Not found: OpenKellyCock") call jsonfile%get('Equipments.Drilling.Permission_CloseKellyCock',data%Equipments%DrillingConsole%Permission_CloseKellyCock,found) if ( .not. found ) call logg(4,"Not found: Permission_CloseKellyCock") call jsonfile%get('Equipments.Drilling.CloseKellyCock',data%Equipments%DrillingConsole%CloseKellyCock,found) if ( .not. found ) call logg(4,"Not found: CloseKellyCock") call jsonfile%get('Equipments.Drilling.Permission_OpenSafetyValve',data%Equipments%DrillingConsole%Permission_OpenSafetyValve,found) if ( .not. found ) call logg(4,"Not found: Permission_OpenSafetyValve") call jsonfile%get('Equipments.Drilling.OpenSafetyValve',data%Equipments%DrillingConsole%OpenSafetyValve,found) if ( .not. found ) call logg(4,"Not found: OpenSafetyValve") call jsonfile%get('Equipments.Drilling.Permission_CloseSafetyValve',data%Equipments%DrillingConsole%Permission_CloseSafetyValve,found) if ( .not. found ) call logg(4,"Not found: Permission_CloseSafetyValve") call jsonfile%get('Equipments.Drilling.CloseSafetyValve',data%Equipments%DrillingConsole%CloseSafetyValve,found) if ( .not. found ) call logg(4,"Not found: CloseSafetyValve") call jsonfile%get('Equipments.Drilling.Permission_IRSafetyValve',data%Equipments%DrillingConsole%Permission_IRSafetyValve,found) if ( .not. found ) call logg(4,"Not found: Permission_IRSafetyValve") call jsonfile%get('Equipments.Drilling.IRSafetyValve',data%Equipments%DrillingConsole%IRSafetyValve,found) if ( .not. found ) call logg(4,"Not found: IRSafetyValve") call jsonfile%get('Equipments.Drilling.Permission_IRIBop',data%Equipments%DrillingConsole%Permission_IRIBop,found) if ( .not. found ) call logg(4,"Not found: Permission_IRIBop") call jsonfile%get('Equipments.Drilling.IRIBop',data%Equipments%DrillingConsole%IRIBop,found) if ( .not. found ) call logg(4,"Not found: IRIBop") call jsonfile%get('Equipments.Drilling.LatchPipe',data%Equipments%DrillingConsole%LatchPipe,found) if ( .not. found ) call logg(4,"Not found: LatchPipe") call jsonfile%get('Equipments.Drilling.UnlatchPipe',data%Equipments%DrillingConsole%UnlatchPipe,found) if ( .not. found ) call logg(4,"Not found: UnlatchPipe") call jsonfile%get('Equipments.Drilling.Swing',data%Equipments%DrillingConsole%Swing,found) if ( .not. found ) call logg(4,"Not found: Swing") call jsonfile%get('Equipments.Drilling.FillMouseHole',data%Equipments%DrillingConsole%FillMouseHole,found) if ( .not. found ) call logg(4,"Not found: FillMouseHole") call jsonfile%get('Equipments.Drilling.Slips',data%Equipments%DrillingConsole%Slips,found) if ( .not. found ) call logg(4,"Not found: Slips") call jsonfile%get('Equipments.Drilling.BrakeLeverCoefficient',data%Equipments%DrillingConsole%BrakeLeverCoefficient,found) if ( .not. found ) call logg(4,"Not found: BrakeLeverCoefficient") call jsonfile%get('Equipments.Drilling.HideDrillingBrake',data%Equipments%DrillingConsole%HideDrillingBrake,found) if ( .not. found ) call logg(4,"Not found: HideDrillingBrake") call jsonfile%get('Equipments.Drilling.ParkingBrakeBtn',data%Equipments%DrillingConsole%ParkingBrakeBtn,found) if ( .not. found ) call logg(4,"Not found: ParkingBrakeBtn") ! call jsonfile%destroy() data%Equipments%DrillingConsole%DWSwitch = -1 data%Equipments%DrillingConsole%AssignmentSwitch = 1 data%Equipments%DrillingConsole%MP1CPSwitch = -1 data%Equipments%DrillingConsole%MP2Switch = -1 data%Equipments%DrillingConsole%RTSwitch = -1 end subroutine subroutine DrillingConsoleToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node call json%create_object(p,'Drilling') call json%add(p,"ParkingBrakeLed",data%Equipments%DrillingConsole%ParkingBrakeLed) call json%add(p,"GEN1LED",data%Equipments%DrillingConsole%GEN1LED) call json%add(p,"GEN2LED",data%Equipments%DrillingConsole%GEN2LED) call json%add(p,"GEN3LED",data%Equipments%DrillingConsole%GEN3LED) call json%add(p,"GEN4LED",data%Equipments%DrillingConsole%GEN4LED) call json%add(p,"SCR1LED",data%Equipments%DrillingConsole%SCR1LED) call json%add(p,"SCR2LED",data%Equipments%DrillingConsole%SCR2LED) call json%add(p,"SCR3LED",data%Equipments%DrillingConsole%SCR3LED) call json%add(p,"SCR4LED",data%Equipments%DrillingConsole%SCR4LED) call json%add(p,"MP1BLWR",data%Equipments%DrillingConsole%MP1BLWR) call json%add(p,"MP2BLWR",data%Equipments%DrillingConsole%MP2BLWR) call json%add(p,"DWBLWR",data%Equipments%DrillingConsole%DWBLWR) call json%add(p,"RTBLWR",data%Equipments%DrillingConsole%RTBLWR) call json%add(p,"PWRLIM",data%Equipments%DrillingConsole%PWRLIM) call json%add(p,"PWRLIMMTR",data%Equipments%DrillingConsole%PWRLIMMTR) call json%add(p,"RTTorqueLimitGauge",data%Equipments%DrillingConsole%RTTorqueLimitGauge) call json%add(p,"AutoDWLED",data%Equipments%DrillingConsole%AutoDWLED) call json%add(p,"GEN1BTNLED",data%Equipments%DrillingConsole%GEN1BTNLED) call json%add(p,"GEN2BTNLED",data%Equipments%DrillingConsole%GEN2BTNLED) call json%add(p,"GEN3BTNLED",data%Equipments%DrillingConsole%GEN3BTNLED) call json%add(p,"GEN4BTNLED",data%Equipments%DrillingConsole%GEN4BTNLED) call json%add(p,"OpenKellyCockLed",data%Equipments%DrillingConsole%OpenKellyCockLed) call json%add(p,"CloseKellyCockLed",data%Equipments%DrillingConsole%CloseKellyCockLed) call json%add(p,"OpenSafetyValveLed",data%Equipments%DrillingConsole%OpenSafetyValveLed) call json%add(p,"CloseSafetyValveLed",data%Equipments%DrillingConsole%CloseSafetyValveLed) call json%add(p,"IRSafetyValveLed",data%Equipments%DrillingConsole%IRSafetyValveLed) call json%add(p,"IRIBopLed",data%Equipments%DrillingConsole%IRIBopLed) call json%add(p,"LatchPipeLED",data%Equipments%DrillingConsole%LatchPipeLED) call json%add(p,"UnlatchPipeLED",data%Equipments%DrillingConsole%UnlatchPipeLED) call json%add(p,"SwingLed",data%Equipments%DrillingConsole%SwingLed) call json%add(p,"FillMouseHoleLed",data%Equipments%DrillingConsole%FillMouseHoleLed) call json%add(parent,p) end subroutine end module CDrillingConsole