Source
102
102
bind(C,name="PIOc_iam_iotask")
103
103
use iso_c_binding
104
104
integer(C_INT), intent(in), value :: iosysid
105
105
logical(C_BOOL), intent(out) :: iotask
106
106
end function PIOc_iam_iotask
107
107
end interface
108
108
109
109
ierr = PIOc_iam_iotask(iosystem%iosysid, ctask)
110
110
task = ctask
111
111
end function pio_iam_iotask
112
+
113
+
!>
114
+
!! @public
115
+
!! @brief Integer function returns rank of IO task.
116
+
!<
112
117
function pio_iotask_rank(iosystem) result(rank)
113
118
type(iosystem_desc_t), intent(in) :: iosystem
114
119
integer :: rank, ierr
115
120
interface
116
121
integer(C_INT) function PIOc_iotask_rank(iosysid, rank) &
117
122
bind(C,name="PIOc_iotask_rank")
118
123
use iso_c_binding
119
124
integer(C_INT), intent(in), value :: iosysid
120
125
integer(C_INT), intent(out) :: rank
121
126
end function PIOc_iotask_rank
122
127
end interface
123
128
124
129
ierr = PIOc_iotask_rank(iosystem%iosysid, rank)
125
130
end function pio_iotask_rank
126
131
132
+
!>
133
+
!! @public
134
+
!! @brief Sets active to true if IO system is active.
135
+
!<
127
136
subroutine pio_iosystem_is_active(iosystem, active)
128
137
use iso_c_binding
129
138
type(iosystem_desc_t), intent(in) :: iosystem
130
139
logical, intent(out) :: active
131
140
logical(C_BOOL) :: lactive
132
141
integer :: ierr
133
142
interface
134
143
integer(C_INT) function PIOc_iosystem_is_active(iosysid, active) &
135
144
bind(C,name="PIOc_iosystem_is_active")
136
145
use iso_c_binding
137
146
integer(C_INT), intent(in), value :: iosysid
138
147
logical(C_BOOL), intent(out) :: active
139
148
end function PIOc_iosystem_is_active
140
149
end interface
141
150
142
151
ierr = PIOc_iosystem_is_active(iosystem%iosysid, lactive)
143
152
active = lactive
144
-
145
-
146
153
end subroutine pio_iosystem_is_active
147
154
148
155
149
156
end module pio
150
157