<Example Program>

Program unpack_example
    Real a(2,3),b(3),c(2,3)
    a = Reshape( (/-1.,2.,-3.,4.,5.,-6./), (/2,3/))
    b = (/ 10.,20.,30. /)
    c =
Unpack(b,a<=0,Field=a)
    Print *, c(1,:)
    Print *, c(2,:)
End

Execution Results

  10.0000000  20.0000000   5.0000000
    2.0000000   4.0000000  30.0000000