Trident batch application
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical(kind=I4), | private | :: | GLOBAL_OMP | ||||
| integer(kind=I4), | private | :: | JOB | ||||
| integer(kind=I4), | private | :: | LINE_READ | ||||
| integer(kind=I4), | private | :: | NB_ITER_DEB | ||||
| integer(kind=I4), | private | :: | NB_ITER_FIN | ||||
| integer(kind=I4), | private | :: | NB_THREADS | ||||
| character(len=512), | private | :: | NOM_SUR | ||||
| logical(kind=I4), | private | :: | OUT_CMD | ||||
| integer(kind=I4), | private | :: | SAVE_LINE_READ | ||||
| character(len=512), | private | :: | SAV_NOM_SUR | ||||
| character(len=1), | private | :: | SEP | ||||
| integer(kind=I4), | private | :: | SPY | ||||
| integer(kind=I4), | private | :: | STA | ||||
| logical(kind=I4), | private | :: | WITH_SAMPLING |
The function analyses reads, in the Job file, the analysis to perform. The analysis is then performed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(in), | dimension(:,:) | :: | tab |
array of the surface |
|
| type(SCALE_SURF), | intent(in) | :: | scal |
SCALE_SURF object of the input surface |
||
| type(SCALE_SURF), | intent(in) | :: | scal_samp |
SCALE_SURF object of a sample |
||
| type(tborne), | intent(in), | dimension(:) | :: | tab_bounds |
array of the sample bounds |
Crop the surface contained in tab to the dimensions specified in the job file and update the object scal
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(inout), | allocatable, dimension(:,:) | :: | tab |
array containing the surface |
|
| type(SCALE_SURF), | intent(inout) | :: | scal |
SCALE_SURF object |
End of the Job file - some finalizations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tborne), | intent(inout), | allocatable, dimension(:) | :: | tab_bounds |
array to deallocate |
The function ft_gauss performs a Gaussian filter on the surface tab. It:
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(inout), | dimension(:,:) | :: | tab |
array of the surface |
|
| type(SCALE_SURF), | intent(inout) | :: | scal |
SCALE_SURF object of the input surface |
The function lssq_img subtracts a least square 2D polynomial from tab. It:
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(inout), | dimension(:,:) | :: | tab |
array of the surface |
|
| type(SCALE_SURF), | intent(inout) | :: | scal |
SCALE_SURF object of the input surface |
Define the number of concurrent threads (1 or all available threads)
The principle of the present function is to read a user-made batch file. The batch file, or job file, contains a sequence of keywords.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=I4), | intent(in) | :: | irep |
repetition number when the program is ran multiple times |
||
| character(len=014), | intent(in) | :: | time |
execution time |
||
| character(len=512), | intent(in) | :: | job_file |
job file with macros to execute |
||
| integer(kind=I4), | intent(in) | :: | spy_unit |
spy file unit |
Read a surface file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(out), | allocatable, dimension(:,:) | :: | tab |
array for the surface file |
|
| type(SCALE_SURF), | intent(out) | :: | scal |
SCALE_SURF object |
The function sampling allow for the user to sample the surface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(SCALE_SURF), | intent(in) | :: | scal |
SCALE_SURF object of the input surface |
||
| type(SCALE_SURF), | intent(out) | :: | scal_samp |
SCALE_SURF object of a sample |
||
| integer(kind=I4), | intent(out) | :: | nb_samp |
number of samples |
||
| type(tborne), | intent(out), | allocatable, dimension(:) | :: | tab_bounds |
array of the sample bounds |
Save the surface in the file specified in the job file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(inout), | dimension(:,:) | :: | tab |
array containing the surface |
|
| type(SCALE_SURF), | intent(inout) | :: | scal |
SCALE_SURF object |
Smooth out a surface according median_filter procedure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8), | intent(inout), | dimension(:,:) | :: | tab |
array containing the surface |
|
| type(SCALE_SURF), | intent(in) | :: | scal |
SCALE_SURF object |
Start sample loop
Some initializations: ‘GLOBAL_OMP’ (tasks parallelization), ‘OUT_CMD’ (verbose mode), etc.