module CHoisting
    use SimulationVariables
    use json_module
    implicit none 
    public    
    contains

    subroutine HoistingToJson(parent)

        type(json_value),pointer :: parent
        type(json_core) :: json
        type(json_value),pointer :: p

        ! 1. create new node
        call json%create_object(p,'Hoisting')
        
        ! 2. add member of data type to new node
        ! call StringConfigurationToJson(p) 
        ! call FormationToJson(p) 
        call json%add(p,"DrillingLineBreakingLoadAbrasiveness",data%Configuration%Hoisting%DrillingLineBreakingLoad)
        call json%add(p,"DriveTypeAbrasiveness",data%Configuration%Hoisting%DriveType)
        call json%add(p,"KellyWeightAbrasiveness",data%Configuration%Hoisting%KellyWeight)
        call json%add(p,"NumberOfLineAbrasiveness",data%Configuration%Hoisting%NumberOfLine)
        call json%add(p,"TopDriveWeightAbrasiveness",data%Configuration%Hoisting%TopDriveWeight)
        call json%add(p,"TravelingBlockWeightAbrasiveness",data%Configuration%Hoisting%TravelingBlockWeight)
        ! 3. add new node to parent
        call json%add(parent,p)
    end subroutine

end module CHoisting