mod_rohsa Module

This module contains ROHSA subrtoutine


  • module~~mod_rohsa~~UsesGraph module~mod_rohsa mod_rohsa module~mod_constants mod_constants module~mod_rohsa->module~mod_constants module~mod_array mod_array module~mod_rohsa->module~mod_array module~mod_start mod_start module~mod_rohsa->module~mod_start module~mod_functions mod_functions module~mod_rohsa->module~mod_functions module~mod_optimize mod_optimize module~mod_rohsa->module~mod_optimize iso_fortran_env iso_fortran_env module~mod_constants->iso_fortran_env module~mod_array->module~mod_constants module~mod_functions->module~mod_constants module~mod_functions->module~mod_array module~mod_functions->module~mod_optimize module~mod_optimize->module~mod_constants module~mod_optimize->module~mod_array

Used by

  • module~~mod_rohsa~~UsedByGraph module~mod_rohsa mod_rohsa program~rohsa ROHSA program~rohsa->module~mod_rohsa



public subroutine main_rohsa(data, std_cube, fileout, n_gauss, n_gauss_add, lambda_amp, lambda_mu, lambda_sig, lambda_var_amp, lambda_var_mu, lambda_var_sig, amp_fact_init, sig_init, maxiter_init, maxiter, m, noise, regul, descent, lstd, ustd, init_option, iprint, iprint_init)


Type IntentOptional AttributesName
real(kind=xp), intent(in), dimension(:,:,:), allocatable:: data

initial fits data

real(kind=xp), intent(in), dimension(:,:), allocatable:: std_cube

standard deviation map fo the cube is given by the user

character(len=512), intent(in) :: fileout

name of the output result

integer :: n_gauss

number of gaussian to fit

integer, intent(in) :: n_gauss_add

number of gaussian to add at each step

real(kind=xp), intent(in) :: lambda_amp

lambda for amplitude parameter

real(kind=xp), intent(in) :: lambda_mu

lamnda for mean position parameter

real(kind=xp), intent(in) :: lambda_sig

lambda for dispersion parameter

real(kind=xp), intent(in) :: lambda_var_amp

lambda for amp dispersion parameter

real(kind=xp), intent(in) :: lambda_var_mu

lambda for mean position dispersion parameter

real(kind=xp), intent(in) :: lambda_var_sig

lambda for variance dispersion parameter

real(kind=xp), intent(in) :: amp_fact_init

times max amplitude of additional Gaussian

real(kind=xp), intent(in) :: sig_init

dispersion of additional Gaussian

integer, intent(in) :: maxiter_init

max iteration for L-BFGS-B alogorithm (init mean spectrum)

integer, intent(in) :: maxiter

max iteration for L-BFGS-B alogorithm

integer, intent(in) :: m

number of corrections used in the limited memory matrix by LBFGS-B

logical, intent(in) :: noise

if false --> STD map computed by ROHSA with lstd and ustd (if true given by the user)

logical, intent(in) :: regul

if true --> activate regulation

logical, intent(in) :: descent

if true --> activate hierarchical descent to initiate the optimization

integer, intent(in) :: lstd

lower bound to compute the standard deviation map of the cube (if noise .eq. false)

integer, intent(in) :: ustd

upper bound to compute the standrad deviation map of the cube (if noise .eq. false)

character(len=8), intent(in) :: init_option

Init ROHSA with the mean or the std spectrum

integer, intent(in) :: iprint

print option

integer, intent(in) :: iprint_init

print option init