Surface object: header and heights
Adapted from 'surffile.c', 'gwyddion' software, Copyright (C) 2005 David Necas, Petr Klapetek.
Must be 512 bytes long
surface length surface width surface height (max -min) surface mean height surface mean height
Components
Type Visibility
Attributes Name Initial
character(len=12),
public
::
signature
character(len=16),
public
::
xlength_unit
character(len=16),
public
::
ylength_unit
character(len=16),
public
::
zlength_unit
character(len=16),
public
::
xaxis
character(len=16),
public
::
yaxis
character(len=16),
public
::
zaxis
character(len=16),
public
::
dx_unit
character(len=16),
public
::
dy_unit
character(len=16),
public
::
dz_unit
character(len=30),
public
::
object_name
character(len=30),
public
::
operator_name
character(len=128),
public
::
client_zone
character(len=8),
public
::
reserved
character(len=34),
public
::
reservedzone
character(len=12),
public
::
obsolete
character(len=10),
public
::
obsolete2
real(kind=R4),
public
::
dx
real(kind=R4),
public
::
dy
real(kind=R4),
public
::
dz
real(kind=R4),
public
::
xunit_ratio
real(kind=R4),
public
::
yunit_ratio
real(kind=R4),
public
::
zunit_ratio
real(kind=R4),
public
::
XOffset
real(kind=R4),
public
::
YOffset
real(kind=R4),
public
::
ZOffset
real(kind=R4),
public
::
measurement_duration
integer(kind=I4),
public
::
zmin
integer(kind=I4),
public
::
zmax
integer(kind=I4),
public
::
xres
integer(kind=I4),
public
::
yres
integer(kind=I4),
public
::
nofpoints
integer(kind=2),
public
::
format
integer(kind=2),
public
::
version
integer(kind=2),
public
::
material_code
integer(kind=2),
public
::
type
integer(kind=2),
public
::
range
integer(kind=2),
public
::
special_points
integer(kind=2),
public
::
absolute
integer(kind=2),
public
::
pointsize
integer(kind=2),
public
::
imprint
integer(kind=2),
public
::
inversion
integer(kind=2),
public
::
leveling
integer(kind=2),
public
::
seconds
integer(kind=2),
public
::
minutes
integer(kind=2),
public
::
hours
integer(kind=2),
public
::
day
integer(kind=2),
public
::
month
integer(kind=2),
public
::
year
integer(kind=2),
public
::
dayof
integer(kind=2),
public
::
comment_size
integer(kind=2),
public
::
private_size
integer(kind=2),
public
::
nobjects
integer(kind=2),
public
::
acquisition
real(kind=R8),
public
::
lx
real(kind=R8),
public
::
ly
real(kind=R8),
public
::
lz
real(kind=R8),
public
::
mu
real(kind=R8),
public
::
si
Source Code
type SCALE_SURF
! bytes below: 8+10+2*12+9*16+2*30+34+128 = 408
character(len = 12) :: signature
character(len = 16) :: xlength_unit
character(len = 16) :: ylength_unit
character(len = 16) :: zlength_unit
character(len = 16) :: xaxis
character(len = 16) :: yaxis
character(len = 16) :: zaxis
character(len = 16) :: dx_unit
character(len = 16) :: dy_unit
character(len = 16) :: dz_unit
character(len = 30) :: object_name
character(len = 30) :: operator_name
character(len = 128) :: client_zone
character(len = 8) :: reserved
character(len = 34) :: reservedzone
character(len = 12) :: obsolete
character(len = 10) :: obsolete2
! bytes below: 10*4 = 40
real(kind=R4) :: dx
real(kind=R4) :: dy
real(kind=R4) :: dz
real(kind=R4) :: xunit_ratio
real(kind=R4) :: yunit_ratio
real(kind=R4) :: zunit_ratio
real(kind=R4) :: XOffset
real(kind=R4) :: YOffset
real(kind=R4) :: ZOffset
real(kind=R4) :: measurement_duration
! bytes below: 5*4 = 20
integer(kind=I4) :: zmin
integer(kind=I4) :: zmax
integer(kind=I4) :: xres
integer(kind=I4) :: yres
integer(kind=I4) :: nofpoints
! bytes below: 22*2 = 44
integer(kind=2) :: format
integer(kind=2) :: version
integer(kind=2) :: material_code
integer(kind=2) :: type
integer(kind=2) :: range
integer(kind=2) :: special_points
integer(kind=2) :: absolute
integer(kind=2) :: pointsize
integer(kind=2) :: imprint
integer(kind=2) :: inversion
integer(kind=2) :: leveling
integer(kind=2) :: seconds
integer(kind=2) :: minutes
integer(kind=2) :: hours
integer(kind=2) :: day
integer(kind=2) :: month
integer(kind=2) :: year
integer(kind=2) :: dayof
integer(kind=2) :: comment_size
integer(kind=2) :: private_size
integer(kind=2) :: nobjects
integer(kind=2) :: acquisition
real(kind=R8) :: lx !! *surface length*
real(kind=R8) :: ly !! *surface width*
real(kind=R8) :: lz !! *surface height (max -min)*
real(kind=R8) :: mu !! *surface mean height*
real(kind=R8) :: si !! *surface mean height*
endtype SCALE_SURF