SCALE_SURF Derived Type

type, public :: SCALE_SURF

Fortran typed surface object: header, dimensions, mean and std

Note

Fortran surface object, adapted from ‘surffile.c’, ‘gwyddion’ software, Copyright (C) 2005 David Necas, Petr Klapetek.

Warning

Must be 512 bytes long before length definition


Components

Type Visibility Attributes Name Initial
real(kind=R4), public :: XOffset
real(kind=R4), public :: YOffset
real(kind=R4), public :: ZOffset
integer(kind=2), public :: absolute
integer(kind=2), public :: acquisition
character(len=128), public :: client_zone
integer(kind=2), public :: comment_size
integer(kind=2), public :: day
integer(kind=2), public :: dayof
real(kind=R4), public :: dx
character(len=16), public :: dx_unit
real(kind=R4), public :: dy
character(len=16), public :: dy_unit
real(kind=R4), public :: dz
character(len=16), public :: dz_unit
integer(kind=2), public :: format
integer(kind=2), public :: hours
integer(kind=2), public :: imprint
integer(kind=2), public :: inversion
integer(kind=2), public :: leveling
real(kind=R8), public :: lx

surface length

real(kind=R8), public :: ly

surface width

real(kind=R8), public :: lz

surface height (max -min)

integer(kind=2), public :: material_code
real(kind=R4), public :: measurement_duration
integer(kind=2), public :: minutes
integer(kind=2), public :: month
real(kind=R8), public :: mu

surface mean height

integer(kind=2), public :: nobjects
integer(kind=I4), public :: nofpoints
character(len=30), public :: object_name
character(len=12), public :: obsolete
character(len=10), public :: obsolete2
character(len=30), public :: operator_name
integer(kind=2), public :: pointsize
integer(kind=2), public :: private_size
integer(kind=2), public :: range
character(len=8), public :: reserved
character(len=34), public :: reservedzone
integer(kind=2), public :: seconds
real(kind=R8), public :: si

surface mean height

character(len=12), public :: signature
integer(kind=2), public :: special_points
integer(kind=2), public :: type
integer(kind=2), public :: version
character(len=16), public :: xaxis
character(len=16), public :: xlength_unit
integer(kind=I4), public :: xres
real(kind=R4), public :: xunit_ratio
character(len=16), public :: yaxis
integer(kind=2), public :: year
character(len=16), public :: ylength_unit
integer(kind=I4), public :: yres
real(kind=R4), public :: yunit_ratio
character(len=16), public :: zaxis
character(len=16), public :: zlength_unit
integer(kind=I4), public :: zmax
integer(kind=I4), public :: zmin
real(kind=R4), public :: zunit_ratio

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              ! 0
   integer(kind=2) :: version             ! 1
   integer(kind=2) :: material_code       ! 1
   integer(kind=2) :: type                ! 2
   integer(kind=2) :: range               ! 0
   integer(kind=2) :: special_points      ! 0
   integer(kind=2) :: absolute            ! 1
   integer(kind=2) :: pointsize           ! 32
   integer(kind=2) :: imprint             ! 0
   integer(kind=2) :: inversion           ! 0
   integer(kind=2) :: leveling            ! 0
   integer(kind=2) :: seconds             ! 0
   integer(kind=2) :: minutes             ! 0
   integer(kind=2) :: hours               ! 0
   integer(kind=2) :: day                 ! 0
   integer(kind=2) :: month               ! 0
   integer(kind=2) :: year                ! 0
   integer(kind=2) :: dayof               ! 0
   integer(kind=2) :: comment_size        ! 0
   integer(kind=2) :: private_size        ! 0
   integer(kind=2) :: nobjects            ! 1
   integer(kind=2) :: acquisition         ! 0

   !------------- 512 bytes above

   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