crest_param Module


Uses

  • module~~crest_param~~UsesGraph module~crest_param crest_param data_arch data_arch module~crest_param->data_arch pikaia_oop pikaia_oop module~crest_param->pikaia_oop stat_mom stat_mom module~crest_param->stat_mom

Used by

  • module~~crest_param~~UsedByGraph module~crest_param crest_param module~func_acf func_acf module~func_acf->module~crest_param module~script script module~script->module~crest_param module~script->module~func_acf module~skku_profiles skku_profiles module~script->module~skku_profiles module~skku_profiles->module~crest_param program~main main program~main->module~crest_param program~main->module~script

Variables

Type Visibility Attributes Name Initial
integer(kind=I4), public, parameter :: FCT_EXPO = 2

exponential function for height generation

integer(kind=I4), public, parameter :: FCT_TANG = 1

tangent function for height generation

integer(kind=I4), public :: JOB

JOB file: script

type(param_crest), public :: PARAM
integer(kind=I4), public :: SPY

SPY file

integer(kind=I4), public, parameter :: TER = 6

terminal output


Derived Types

type, public ::  param_crest

Components

Type Visibility Attributes Name Initial
real(kind=R8), public :: a_acf

roughness orientation

real(kind=R8), public :: acf__z

acf cutting plane z, for correlation lengths determination

real(kind=R8), public, allocatable, dimension(:,:) :: acf_surf

calculated autocorrelation

logical(kind=I4), public :: apod

apodize imposed acf?

real(kind=R8), public :: crt_acf

acf criterion: mean absolute difference between imposed and calculated acf allowed

real(kind=R8), public :: cutoff

Gaussian filter cutoff

real(kind=R8), public, allocatable, dimension(:,:) :: fhi

digital filter

integer(kind=I4), public :: func_gen

mathematical function used to generate the heights

integer(kind=I4), public :: height

surface nb points along y

real(kind=R8), public, allocatable, dimension(:,:) :: imp_acf

imposed autocorrelation

real(kind=R8), public :: l_acf1

correlation principal length at z=acf__z

real(kind=R8), public :: l_acf2

correlation secondary length at z=acf__z

type(moment_stat), public :: m_end

final stat moments

type(moment_stat), public :: m_inp

input stat moments for genetic algo optimizer

type(moment_stat), public :: m_stt

starting stat moments

integer(kind=I4), public :: nb_threads

number of concurrent threads

integer(kind=I4), public :: nparam

number of parameters for the mathematical function

integer(kind=I4), public :: npts

surface nb points

integer(kind=I4), public, allocatable, dimension(:) :: order

vector that stores heights order

logical(kind=I4), public :: periodic

is the surface periodic?

type(pikaia_class), public :: pik_class

PIKAIA class instanciation

logical(kind=I4), public :: reajust_skku

if Ssk2 +1 > Sku, modify Sku

real(kind=R8), public :: res_acf

store mean absolute difference between imposed and calculated acf

integer(kind=I4), public :: sub_height

subsurface nb points along y

integer(kind=I4), public :: sub_npts

subsurface nb points

real(kind=R8), public :: sub_surf_height

subsurface height (m)

real(kind=R8), public :: sub_surf_width

subsurface width (m)

integer(kind=I4), public :: sub_width

subsurface nb points along x

real(kind=R8), public, allocatable, dimension(:,:) :: surf

surface array

real(kind=R8), public :: surf_dx

surface increment along x (m)

real(kind=R8), public :: surf_dy

surface increment along y (m)

real(kind=R8), public :: surf_height

surface height (m)

real(kind=R8), public :: surf_width

surface width (m)

real(kind=R8), public, allocatable, dimension(:) :: vect_h

vector used to store the heights that meet the stat moments

integer(kind=I4), public :: width

surface nb points along x