Мне лично нравится выражение data
, когда инициализация моих переменных будет более понятной, чем при обычном присваивании. Например:
type gene
character :: gene
integer :: depth
integer :: delta
end type
type(gene) :: pool(8)
! initializing in a data statement looks nicer in this case
data pool%gene / '#', 'U', 'R', '+', '-', '*', '/', '^'/
data pool%depth / 0 , 0 , 1 , 2 , 2 , 2 , 2 , 2 /
data pool%delta / 1 , 1 , 0 , -1 , -1 , -1 , -1 , -1 /