main Program

Uses

  • program~~main~~UsesGraph program~main main data_arch data_arch program~main->data_arch module~crest_param crest_param program~main->module~crest_param module~script script program~main->module~script module~crest_param->data_arch pikaia_oop pikaia_oop module~crest_param->pikaia_oop stat_mom stat_mom module~crest_param->stat_mom module~script->data_arch module~script->module~crest_param anisotropy anisotropy module~script->anisotropy fftw3 fftw3 module~script->fftw3 files files module~script->files filter filter module~script->filter gnufor gnufor module~script->gnufor miscellaneous miscellaneous module~script->miscellaneous module~func_acf func_acf module~script->module~func_acf module~skku_profiles skku_profiles module~script->module~skku_profiles module~script->pikaia_oop sort_arrays sort_arrays module~script->sort_arrays module~script->stat_mom surfile surfile module~script->surfile module~func_acf->data_arch module~func_acf->module~crest_param module~func_acf->fftw3 module~func_acf->miscellaneous module~func_acf->stat_mom module~skku_profiles->data_arch module~skku_profiles->module~crest_param module~skku_profiles->pikaia_oop module~skku_profiles->sort_arrays module~skku_profiles->stat_mom

Calls

program~~main~~CallsGraph program~main main proc~prg_surf prg_surf program~main->proc~prg_surf proc~read_job read_job proc~prg_surf->proc~read_job get_unit get_unit proc~read_job->get_unit proc~acf_theo acf_theo proc~read_job->proc~acf_theo proc~calc_acf calc_acf proc~read_job->proc~calc_acf proc~calc_ffh calc_ffh proc~read_job->proc~calc_ffh proc~calc_ord calc_ord proc~read_job->proc~calc_ord proc~calc_z_f calc_z_f proc~read_job->proc~calc_z_f proc~calc_z_i calc_z_i proc~read_job->proc~calc_z_i proc~def_size def_size proc~read_job->proc~def_size proc~digi_fil digi_fil proc~read_job->proc~digi_fil proc~end_loop end_loop proc~read_job->proc~end_loop proc~end_scri end_scri proc~read_job->proc~end_scri proc~nb_procs nb_procs proc~read_job->proc~nb_procs proc~plt__acf plt__acf proc~read_job->proc~plt__acf proc~save_img save_img proc~read_job->proc~save_img proc~smooth__ smooth__ proc~read_job->proc~smooth__ proc~sta_loop sta_loop proc~read_job->proc~sta_loop proc~sta_scri sta_scri proc~read_job->proc~sta_scri proc~sta_theo sta_theo proc~read_job->proc~sta_theo proc~sub_surf sub_surf proc~read_job->proc~sub_surf selectcase selectcase proc~read_job->selectcase str_remove_chars str_remove_chars proc~read_job->str_remove_chars ellipse_acf ellipse_acf proc~acf_theo->ellipse_acf proc~calc_imp_acf calc_imp_acf proc~acf_theo->proc~calc_imp_acf proc~acf_wiener acf_wiener proc~calc_acf->proc~acf_wiener calc_fftw3_real_bwd calc_fftw3_real_bwd proc~calc_ffh->calc_fftw3_real_bwd calc_fftw3_real_fwd calc_fftw3_real_fwd proc~calc_ffh->calc_fftw3_real_fwd calc_moments calc_moments proc~calc_ffh->calc_moments init_order init_order proc~calc_ord->init_order sort_array2 sort_array2 proc~calc_ord->sort_array2 proc~calc_z_f->calc_moments proc~build_heights build_heights proc~calc_z_f->proc~build_heights proc~calc_z_i->calc_moments proc~calc_z_i->proc~build_heights scramble scramble proc~calc_z_i->scramble proc~digi_fil->calc_fftw3_real_bwd proc~digi_fil->calc_fftw3_real_fwd proc~digi_fil->calc_moments end_fftw3 end_fftw3 proc~end_scri->end_fftw3 omp_get_num_procs omp_get_num_procs proc~nb_procs->omp_get_num_procs proc~plt__acf->get_unit proc~plt__acf->ellipse_acf init_scal init_scal proc~save_img->init_scal write_surf write_surf proc~save_img->write_surf proc~smooth__->calc_moments fft_filter fft_filter proc~smooth__->fft_filter random_init random_init proc~sta_scri->random_init proc~sub_surf->calc_moments proc~sub_surf->end_fftw3 fftw_plan_with_nthreads fftw_plan_with_nthreads proc~sub_surf->fftw_plan_with_nthreads proc~sub_surf->init_order omp_get_max_threads omp_get_max_threads proc~sub_surf->omp_get_max_threads proc~sub_surf->proc~acf_wiener proc~sub_surf->proc~build_heights proc~sub_surf->proc~calc_imp_acf proc~calc_res_acf calc_res_acf proc~sub_surf->proc~calc_res_acf progress_bar_terminal progress_bar_terminal proc~sub_surf->progress_bar_terminal proc~sub_surf->sort_array2 tab_end_fftw3_real tab_end_fftw3_real proc~sub_surf->tab_end_fftw3_real tab_init_fftw3_real tab_init_fftw3_real proc~sub_surf->tab_init_fftw3_real proc~acf_wiener->calc_fftw3_real_bwd proc~acf_wiener->calc_fftw3_real_fwd tab_calc_fftw3_real_bwd tab_calc_fftw3_real_bwd proc~acf_wiener->tab_calc_fftw3_real_bwd tab_calc_fftw3_real_fwd tab_calc_fftw3_real_fwd proc~acf_wiener->tab_calc_fftw3_real_fwd trans_corner2center trans_corner2center proc~acf_wiener->trans_corner2center proc~build_heights->calc_moments proc~build_heights->sort_array2 proc~pikaia_skku_solver pikaia_skku_solver proc~build_heights->proc~pikaia_skku_solver proc~profil_theo_trie_1d profil_theo_trie_1D proc~build_heights->proc~profil_theo_trie_1d proc~apod2 apod2 proc~calc_imp_acf->proc~apod2 proc~autocov_impo autocov_impo proc~calc_imp_acf->proc~autocov_impo init pikaia_class%init proc~pikaia_skku_solver->init solve pikaia_class%solve proc~pikaia_skku_solver->solve proc~profil_theo_trie_1d->calc_moments

Subroutines

subroutine prg_surf()

Main function…

Read more…

Arguments

None

Source Code

program main
!$ use omp_lib
use script, only : read_job
use crest_param
use data_arch, only : I4, R8

implicit none

   call prg_surf

   contains

   subroutine prg_surf()
   !================================================================================================
   !<@note Main function...
   !
   ! - retrieve script (job) file
   ! - read script
   ! - run specific functions associated to a script keyword
   !
   !<@endnote
   !------------------------------------------------------------------------------------------------
   implicit none

      character(len=128) :: arg_prg
      character(len=512) :: job_file
      character(len=008) :: chara_d
      character(len=010) :: chara_t
      integer(kind=I4)   :: var_i

      ! String initialisation
      arg_prg  = repeat(' ',len(arg_prg))
      JOB_FILE = repeat(' ',len(JOB_FILE))

      var_i = 1
      call get_command_argument(var_i, arg_prg)       ! argument one: argument string
      if (len_trim(arg_prg) == 0) then                ! if there is no job file, stop
         write(TER,*) 'no job file, stop'
         stop
      else
         job_file = trim(arg_prg)
      endif

      call read_job(job_file)   ! the program executes 'prg_repeat' times

      write(TER,*) 'Program completed'

   return
   endsubroutine prg_surf

endprogram main