|
- module CChokeManifold
- ! use CChokeManifoldVariables
- use SimulationVariables
- use CManifolds
- use CLog2
- implicit none
- public
- contains
-
- subroutine ChokeManifoldFromJson(parent)
- type(json_value),pointer :: parent
- type(json_core) :: json
- type(json_value),pointer :: p,pval
-
- ! 1. get related root
- call json%get(parent,'ChokeManifold',p)
-
- ! 2. get member of data type from node
- call json%get(p,'ChokeManifoldValve1',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve1)
- call json%get(p,'ChokeManifoldValve2',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve2)
- call json%get(p,'LeftManualChoke',pval)
- call json%get(pval,data%Equipments%ChokeManifold%LeftManualChoke)
- call json%get(p,'ChokeManifoldValve4',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve4)
- call json%get(p,'ChokeManifoldValve5',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve5)
- call json%get(p,'RightManualChoke',pval)
- call json%get(pval,data%Equipments%ChokeManifold%RightManualChoke)
- call json%get(p,'ChokeManifoldValve7',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve7)
- call json%get(p,'ChokeManifoldValve8',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve8)
- call json%get(p,'ChokeManifoldValve9',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve9)
- call json%get(p,'ChokeManifoldValve10',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve10)
- call json%get(p,'ChokeManifoldValve11',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve11)
- call json%get(p,'ChokeManifoldValve12',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve12)
- call json%get(p,'ChokeManifoldValve13',pval)
- call json%get(pval,data%Equipments%ChokeManifold%ChokeManifoldValve13)
- ! call json%get(p,'HydraulicChock1',pval)
- ! call json%get(pval,data%Equipments%ChokeManifold%HydraulicChock1)
- ! call json%get(p,'HydraulicChock2',pval)
- ! call json%get(pval,data%Equipments%ChokeManifold%HydraulicChock2)
- call json%get(p,'HyChock1OnProblem',pval)
- call json%get(pval,data%Equipments%ChokeManifold%HyChock1OnProblem)
- call json%get(p,'HyChock2OnProblem',pval)
- call json%get(pval,data%Equipments%ChokeManifold%HyChock2OnProblem)
- call json%get(p,'LeftManChokeOnProblem',pval)
- call json%get(pval,data%Equipments%ChokeManifold%LeftManChokeOnProblem)
- call json%get(p,'RightManChokeOnProblem',pval)
- call json%get(pval,data%Equipments%ChokeManifold%RightManChokeOnProblem)
- end subroutine
-
- subroutine ChokeManifoldToJson(parent)
-
- type(json_value),pointer :: parent
- type(json_core) :: json
- type(json_value),pointer :: p
-
- ! 1. create new node
- call json%create_object(p,'ChokeManifold')
- ! call json%add(p,"ChokeManifoldValve1",data%Equipments%ChokeManifold%ChokeManifoldValve1)
- ! call json%add(p,"ChokeManifoldValve2",data%Equipments%ChokeManifold%ChokeManifoldValve2)
- ! call json%add(p,"LeftManualChoke",data%Equipments%ChokeManifold%LeftManualChoke)
- ! call json%add(p,"ChokeManifoldValve4",data%Equipments%ChokeManifold%ChokeManifoldValve4)
- ! call json%add(p,"ChokeManifoldValve5",data%Equipments%ChokeManifold%ChokeManifoldValve5)
- ! call json%add(p,"RightManualChoke",data%Equipments%ChokeManifold%RightManualChoke)
- ! call json%add(p,"ChokeManifoldValve7",data%Equipments%ChokeManifold%ChokeManifoldValve7)
- ! call json%add(p,"ChokeManifoldValve8",data%Equipments%ChokeManifold%ChokeManifoldValve8)
- ! call json%add(p,"ChokeManifoldValve9",data%Equipments%ChokeManifold%ChokeManifoldValve9)
- ! call json%add(p,"ChokeManifoldValve10",data%Equipments%ChokeManifold%ChokeManifoldValve10)
- ! call json%add(p,"ChokeManifoldValve11",data%Equipments%ChokeManifold%ChokeManifoldValve11)
- ! call json%add(p,"ChokeManifoldValve12",data%Equipments%ChokeManifold%ChokeManifoldValve12)
- ! call json%add(p,"ChokeManifoldValve13",data%Equipments%ChokeManifold%ChokeManifoldValve13)
- call json%add(p,"HydraulicChock1",data%Equipments%ChokeManifold%HydraulicChock1)
- call json%add(p,"HydraulicChock2",data%Equipments%ChokeManifold%HydraulicChock2)
-
- call json%add(p,"HyChock1OnProblem",data%Equipments%ChokeManifold%HyChock1OnProblem)
- call json%add(p,"HyChock2OnProblem",data%Equipments%ChokeManifold%HyChock2OnProblem)
- call json%add(p,"LeftManChokeOnProblem",data%Equipments%ChokeManifold%LeftManChokeOnProblem)
- call json%add(p,"RightManChokeOnProblem",data%Equipments%ChokeManifold%RightManChokeOnProblem)
-
- call json%add(parent,p)
- end subroutine
-
- subroutine SetHydraulicChock1(v)
- implicit none
- integer, intent(in) :: v
- data%Equipments%ChokeManifold%HydraulicChock1 = v
- if(data%Equipments%ChokeManifold%HyChock1OnProblem) then
- call ChangeValve(33, .true.)
- else
- if(v == 100) then
- if(Manifold%Valve(33)%Status) call ChangeValve(33, .false.)
- else
- if(.not.Manifold%Valve(33)%Status) call ChangeValve(33, .true.)
- endif
- endif
- !WRITE (*,*) ' valve 33 ', Valve(33)%Status, ' arg ', v
- end subroutine
-
- subroutine SetHydraulicChock2(v)
- implicit none
- integer, intent(in) :: v
- data%Equipments%ChokeManifold%HydraulicChock2 = v
- if(data%Equipments%ChokeManifold%HyChock2OnProblem) then
- call ChangeValve(34, .true.)
- else
- if(v==100) then
- if(Manifold%Valve(34)%Status) call ChangeValve(34, .false.)
- else
- if(.not.Manifold%Valve(34)%Status) call ChangeValve(34, .true.)
- endif
- endif
- !WRITE (*,*) ' valve 34 ', Valve(34)%Status, ' arg ', v
- end subroutine
-
- end module CChokeManifold
|