2 use, 
INTRINSIC :: iso_c_binding
     7     SUBROUTINE create_world(cworld, file_name) bind(C, NAME='create_world')
     8       use, 
INTRINSIC :: iso_c_binding, only: c_ptr
    11       TYPE(c_ptr), 
INTENT(OUT) :: cworld
    12       character(len=1),  
intent(in)  :: file_name
    16     SUBROUTINE temperature_2d(cworld, x, z, depth, gravity, temperature) bind(C, NAME='temperature_2d')
    17       use, 
INTRINSIC :: iso_c_binding
    20       TYPE(c_ptr), 
INTENT(IN), 
VALUE :: cworld
    21       REAL(C_DOUBLE), 
intent(in), 
value :: x
    22       REAL(C_DOUBLE), 
intent(in), 
value :: z
    23       REAL(C_DOUBLE), 
intent(in), 
value :: depth
    24       REAL(C_DOUBLE), 
intent(in), 
value :: gravity
    25       REAL(C_DOUBLE), 
intent(out) :: temperature
    29         SUBROUTINE temperature_3d(cworld, x, y, z, depth, gravity, temperature) bind(C, NAME='temperature_3d')
    30       use, 
INTRINSIC :: iso_c_binding
    33       TYPE(c_ptr), 
INTENT(IN), 
VALUE :: cworld
    34       REAL(C_DOUBLE), 
intent(in), 
value :: x
    35       REAL(C_DOUBLE), 
intent(in), 
value :: y
    36       REAL(C_DOUBLE), 
intent(in), 
value :: z
    37       REAL(C_DOUBLE), 
intent(in), 
value :: depth
    38       REAL(C_DOUBLE), 
intent(in), 
value :: gravity
    39       REAL(C_DOUBLE), 
intent(out) :: temperature
    43         SUBROUTINE composition_2d(cworld, x, z, depth, composition_number, composition) bind(C, NAME='composition_2d')
    44       use, 
INTRINSIC :: iso_c_binding
    47       TYPE(c_ptr), 
INTENT(IN), 
VALUE :: cworld
    48       REAL(C_DOUBLE), 
intent(in), 
value :: x
    49       REAL(C_DOUBLE), 
intent(in), 
value :: z
    50       REAL(C_DOUBLE), 
intent(in), 
value :: depth
    51       INTEGER(C_INT), 
intent(in), 
value :: composition_number
    52       LOGICAL(C_BOOL), 
intent(out) :: composition
    56       SUBROUTINE composition_3d(cworld, x, y, z, depth, composition_number, composition) bind(C, NAME='composition_3d')
    57       use, 
INTRINSIC :: iso_c_binding
    60       TYPE(c_ptr), 
INTENT(IN), 
VALUE :: cworld
    61       REAL(C_DOUBLE), 
intent(in), 
value :: x
    62       REAL(C_DOUBLE), 
intent(in), 
value :: y
    63       REAL(C_DOUBLE), 
intent(in), 
value :: z
    64       REAL(C_DOUBLE), 
intent(in), 
value :: depth
    65       INTEGER(C_INT), 
intent(in), 
value :: composition_number
    66       LOGICAL(C_BOOL), 
intent(out) :: composition
    71       use, 
INTRINSIC :: iso_c_binding, only: c_ptr
    74       TYPE(c_ptr), 
INTENT(IN), 
VALUE :: cworld