|
- module CReservoir
- use SimulationVariables
- use json_module
- implicit none
-
- contains
-
- subroutine ReservoirFromJson(parent)
- type(json_value),pointer :: parent
- type(json_core) :: json
- type(json_value),pointer :: p,pval
-
-
- call json%get(parent,'Reservoir',p)
-
- call json%get(p,'FormationNo',pval)
- call json%get(pval,data%Configuration%Reservoir%FormationNo)
- call json%get(p,'FormationTop',pval)
- call json%get(pval,data%Configuration%Reservoir%FormationTop)
- ! call json%get(p,'PressureGradient',pval)
- ! call json%get(pval,data%Configuration%Reservoir%PressureGradient)
- call json%get(p,'FormationPermeability',pval)
- call json%get(pval,data%Configuration%Reservoir%FormationPermeability)
- ! call json%get(p,'GeothermalGradient',pval)
- ! call json%get(pval,data%Configuration%Reservoir%GeothermalGradient)
- ! call json%get(p,'FluidType',pval)
- ! call json%get(pval,data%Configuration%Reservoir%FluidType)
- ! call json%get(p,'FluidGradient',pval)
- ! call json%get(pval,data%Configuration%Reservoir%FluidGradient)
- ! call json%get(p,'FluidViscosity',pval)
- ! call json%get(pval,data%Configuration%Reservoir%FluidViscosity)
- ! call json%get(p,'InactiveInflux',pval)
- ! call json%get(pval,data%Configuration%Reservoir%InactiveInflux)
- call json%get(p,'IsAutoMigrationRateSelected',pval)
- call json%get(pval,data%Configuration%Reservoir%IsAutoMigrationRateSelected)
- call json%get(p,'AutoMigrationRate',pval)
- call json%get(pval,data%Configuration%Reservoir%AutoMigrationRate)
- call json%get(p,'MakeKickSinglePacket',pval)
- call json%get(pval,data%Configuration%Reservoir%MakeKickSinglePacket)
- end subroutine
-
- ! subroutine ReservoirToJson(parent)
-
- ! type(json_value),pointer :: parent
- ! type(json_core) :: json
- ! type(json_value),pointer :: p
-
- ! ! 1. create new node
- ! call json%create_object(p,'Reservoir')
-
- ! ! 2. add member of data type to new node
- ! ! call StringConfigurationToJson(p)
- ! ! call FormationToJson(p)
- ! call json%add(p,"AutoMigrationRate",data%Configuration%Reservoir%AutoMigrationRate)
- ! ! call json%add(p,"FluidGradient",data%Configuration%Reservoir%FluidGradient)
- ! ! call json%add(p,"FluidType",data%Configuration%Reservoir%FluidType)
- ! ! call json%add(p,"FluidViscosity",data%Configuration%Reservoir%FluidViscosity)
- ! call json%add(p,"FormationNo",data%Configuration%Reservoir%FormationNo)
- ! call json%add(p,"FormationPermeability",data%Configuration%Reservoir%FormationPermeability)
- ! call json%add(p,"FormationTop",data%Configuration%Reservoir%FormationTop)
- ! call json%add(p,"GeothermalGradient",data%Configuration%Reservoir%GeothermalGradient)
- ! call json%add(p,"InactiveInflux",data%Configuration%Reservoir%InactiveInflux)
- ! call json%add(p,"IsAutoMigrationRateSelected",data%Configuration%Reservoir%IsAutoMigrationRateSelected)
- ! call json%add(p,"MakeKickSinglePacket",data%Configuration%Reservoir%MakeKickSinglePacket)
- ! call json%add(p,"PressureGradient",data%Configuration%Reservoir%PressureGradient)
-
- ! ! 3. add new node to parent
- ! call json%add(parent,p)
- ! end subroutine
- end module CReservoir
|