prg_surf Subroutine

subroutine prg_surf()

Note

Main function…

Arguments

None

Calls

proc~~prg_surf~~CallsGraph proc~prg_surf 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~add_nois add_nois proc~read_job->proc~add_nois proc~alloc_tabs alloc_tabs proc~read_job->proc~alloc_tabs proc~apod_acf apod_acf proc~read_job->proc~apod_acf proc~apod_sur apod_sur proc~read_job->proc~apod_sur 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~make_msk make_msk proc~read_job->proc~make_msk proc~make_scratches make_scratches proc~read_job->proc~make_scratches proc~make_tex make_tex proc~read_job->proc~make_tex proc~nb_procs nb_procs proc~read_job->proc~nb_procs proc~plt__acf plt__acf proc~read_job->proc~plt__acf proc~read_img read_img proc~read_job->proc~read_img proc~repr_img repr_img proc~read_job->proc~repr_img proc~save_img save_img proc~read_job->proc~save_img proc~smooth__ smooth__ proc~read_job->proc~smooth__ proc~spct_sur spct_sur proc~read_job->proc~spct_sur 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~stat_sur stat_sur proc~read_job->proc~stat_sur proc~sub_surf sub_surf proc~read_job->proc~sub_surf proc~surface_analysis surface_analysis proc~read_job->proc~surface_analysis 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~build_heights build_heights proc~add_nois->proc~build_heights scramble scramble proc~add_nois->scramble std_array std_array proc~add_nois->std_array proc~apod_acf->ellipse_acf proc~apod2 apod2 proc~apod_acf->proc~apod2 apod apod proc~apod_sur->apod proc~apod_sur->std_array 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->proc~build_heights proc~calc_z_f->std_array proc~calc_z_i->proc~build_heights proc~calc_z_i->scramble proc~calc_z_i->std_array proc~digi_fil->calc_fftw3_real_bwd proc~digi_fil->calc_fftw3_real_fwd proc~digi_fil->std_array end_fftw3 end_fftw3 proc~end_scri->end_fftw3 calc_fftw3 calc_fftw3 proc~make_tex->calc_fftw3 proc~make_tex->calc_moments omp_get_num_procs omp_get_num_procs proc~nb_procs->omp_get_num_procs proc~plt__acf->get_unit dir_separator dir_separator proc~plt__acf->dir_separator proc~plt__acf->ellipse_acf mkdir mkdir proc~plt__acf->mkdir read_surf read_surf proc~read_img->read_surf proc~repr_img->proc~alloc_tabs proc~repr_img->proc~surface_analysis proc~repr_img->apod proc~repr_img->calc_moments fft_filter fft_filter proc~repr_img->fft_filter init_scal init_scal proc~repr_img->init_scal proc~repr_img->proc~acf_wiener proc~repr_img->scramble proc~repr_img->sort_array2 proc~repr_img->std_array write_surf write_surf proc~repr_img->write_surf proc~save_img->init_scal proc~save_img->write_surf proc~smooth__->fft_filter proc~smooth__->std_array proc~spct_sur->get_unit proc~spct_sur->proc~apod_sur proc~spct_sur->calc_fftw3 trans_corner2center trans_corner2center proc~spct_sur->trans_corner2center random_init random_init proc~sta_scri->random_init proc~stat_sur->proc~apod_sur proc~stat_sur->proc~surface_analysis proc~stat_sur->proc~acf_wiener proc~stat_sur->sort_array2 proc~stat_sur->std_array 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~surface_analysis->get_unit abbott_param abbott_param proc~surface_analysis->abbott_param calc_median calc_median proc~surface_analysis->calc_median proc~surface_analysis->calc_moments calcul_asfc_hermite calcul_asfc_hermite proc~surface_analysis->calcul_asfc_hermite calcul_normales calcul_normales proc~surface_analysis->calcul_normales proc~surface_analysis->ellipse_acf proc~surface_analysis->fft_filter indice_fractal indice_fractal proc~surface_analysis->indice_fractal multiple_anisotropy multiple_anisotropy proc~surface_analysis->multiple_anisotropy peaks_and_pits_curvatures peaks_and_pits_curvatures proc~surface_analysis->peaks_and_pits_curvatures proc~surface_analysis->proc~acf_wiener surf_area surf_area proc~surface_analysis->surf_area topology topology proc~surface_analysis->topology proc~acf_wiener->calc_fftw3_real_bwd proc~acf_wiener->calc_fftw3_real_fwd proc~acf_wiener->trans_corner2center 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 proc~build_heights->sort_array2 proc~build_heights->std_array 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~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->std_array

Called by

proc~~prg_surf~~CalledByGraph proc~prg_surf prg_surf program~main main program~main->proc~prg_surf

Source Code

   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
      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