|
V3FIT
|
Go to the documentation of this file.
672 CHARACTER (len=data_name_length) ::
my_task =
''
684 REAL (rprec),
DIMENSION(ilb_b:iub_b) ::
pp_ne_b = 0.0
719 CHARACTER (len=p_type_len),
DIMENSION(max_sxrem_profiles) &
720 & :: pp_sxrem_ptype_a =
'none'
723 REAL (rprec),
DIMENSION(max_sxrem_profiles,ilb_b:iub_b) &
724 & :: pp_sxrem_b_a = 0.0
727 REAL (rprec),
DIMENSION(max_sxrem_profiles,iub_asf) &
728 & :: pp_sxrem_as_a = 0.0
731 REAL (rprec),
DIMENSION(max_sxrem_profiles,iub_asf) &
732 & :: pp_sxrem_af_a = 0.0
743 REAL (rprec),
DIMENSION(ilb_b:iub_b) ::
pp_te_b = 0.0
759 REAL (rprec),
DIMENSION(ilb_b:iub_b) ::
pp_ti_b = 0.0
775 REAL (rprec),
DIMENSION(ilb_b:iub_b) ::
pp_ze_b = 0.0
804 CHARACTER (len=data_name_length), &
805 & DIMENSION(max_sxrem_profiles) :: &
806 & model_sxrem_type_a =
'none'
827 REAL (rprec),
DIMENSION(max_sxrem_profiles) ::
sxrem_min = 0.0
835 REAL (rprec),
DIMENSION(v3fit_max_parameters) ::
coosig_wgts = 0.0
841 CHARACTER (len=data_name_length), &
842 & DIMENSION(v3fit_max_parameters) :: rc_type =
''
845 & DIMENSION(v3fit_max_parameters) :: rc_index = 0
848 & DIMENSION(v3fit_max_parameters) :: rc_value = 0.0
854 CHARACTER (len=data_name_length), &
855 & DIMENSION(v3fit_max_parameters) :: dp_type =
''
858 & DIMENSION(v3fit_max_parameters,2) :: dp_index = 0
864 CHARACTER (len=data_name_length), &
865 & DIMENSION(v3fit_max_parameters) :: rp_type =
''
868 & DIMENSION(v3fit_max_parameters) :: rp_index = 0
871 & DIMENSION(v3fit_max_parameters) :: rp_index2 = 0
874 & DIMENSION(v3fit_max_parameters) :: rp_vrnc = 0.0
880 CHARACTER (len=data_name_length), &
881 & DIMENSION(v3fit_max_parameters,2) :: rp_range_type =
'infinity'
885 & DIMENSION(v3fit_max_parameters,2) :: rp_range_value = 0.0
888 INTEGER,
DIMENSION(v3fit_max_parameters,2,data_max_indices) :: &
895 CHARACTER (len=data_name_length), &
896 & DIMENSION(v3fit_max_parameters) :: lp_type =
''
899 & DIMENSION(v3fit_max_parameters) :: lp_index = 0
902 & DIMENSION(v3fit_max_parameters) :: lp_index2 = 0
904 CHARACTER (len=data_name_length), &
905 & DIMENSION(v3fit_max_parameters,v3fit_max_parameters) :: &
909 & DIMENSION(v3fit_max_parameters,v3fit_max_parameters) :: &
913 & DIMENSION(v3fit_max_parameters,v3fit_max_parameters) :: &
917 & DIMENSION(v3fit_max_parameters,v3fit_max_parameters) :: &
918 & lp_sets_coeff = 0.0
928 & DIMENSION(v3fit_max_signals) :: sdo_data_a = 0.0
931 & DIMENSION(v3fit_max_signals) :: sdo_sigma_a = 0.0
934 & DIMENSION(v3fit_max_signals) :: sdo_weight_a = 1.0
939 LOGICAL,
DIMENSION(v3fit_max_diagnostics) ::
mag_a = .true.
942 LOGICAL,
DIMENSION(v3fit_max_diagnostics) ::
mag_3d_a = .false.
948 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
949 & sdo_s_spec_imin = 0
951 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
952 & sdo_s_spec_imax = 0
954 REAL (rprec),
DIMENSION(v3fit_max_spec_size) :: &
955 & sdo_s_spec_floor = 0.0
957 REAL (rprec),
DIMENSION(v3fit_max_spec_size) :: &
958 & sdo_s_spec_fraction = 0.0
962 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
963 & sdo_w_spec_imin = 0
965 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
966 & sdo_w_spec_imax = 0
968 REAL (rprec),
DIMENSION(v3fit_max_spec_size) :: &
969 & sdo_w_spec_weight = 0.0
973 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
976 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
979 LOGICAL,
DIMENSION(v3fit_max_spec_size) :: &
980 & mag_spec_use_induced = .true.
988 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
989 & sfactor_spec_imin = 0
991 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
992 & sfactor_spec_imax = 0
994 REAL (rprec),
DIMENSION(v3fit_max_spec_size) :: &
995 & sfactor_spec_fac = 0.0
999 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
1000 & soffset_spec_imin = 0
1002 INTEGER,
DIMENSION(v3fit_max_spec_size) :: &
1003 & soffset_spec_imax = 0
1005 REAL (rprec),
DIMENSION(v3fit_max_spec_size) :: &
1006 & soffset_spec_fac = 0.0
1028 REAL (rprec),
DIMENSION(v3fit_max_limiters,0:4,0:4) :: &
1031 REAL (rprec),
DIMENSION(v3fit_max_limiters) ::
lif_rc = 0.0
1033 REAL (rprec),
DIMENSION(v3fit_max_limiters) ::
lif_zc = 0.0
1035 REAL (rprec),
DIMENSION(v3fit_max_limiters) :: &
1036 & lif_sigma = 0.001_dp
1038 REAL (rprec),
DIMENSION(v3fit_max_limiters,v3fit_max_lif_size) &
1039 & :: lif_phi_degree = 0.0
1042 LOGICAL,
DIMENSION(v3fit_max_limiters) :: &
1043 & lif_on_edge = .false.
1049 CHARACTER (len=data_name_length),
DIMENSION(v3fit_max_priors) &
1050 & :: prior_name =
''
1052 CHARACTER (len=data_name_length),
DIMENSION(v3fit_max_priors) &
1053 & :: prior_param_name =
''
1057 CHARACTER (len=data_short_name_length), &
1058 & DIMENSION(v3fit_max_priors) :: prior_units =
''
1067 INTEGER,
DIMENSION(v3fit_max_combinations,v3fit_max_cos_size) :: &
1068 & coosig_indices = 0
1072 & DIMENSION(v3fit_max_combinations,v3fit_max_cos_size) :: &
1073 & coosig_coeff = 0.0
1075 CHARACTER(len=combination_type_length), &
1076 & DIMENSION(v3fit_max_combinations) :: coosig_type =
'sum'
1078 CHARACTER (len=data_name_length), &
1079 & DIMENSION(v3fit_max_combinations) :: coosig_name =
''
1081 CHARACTER (len=data_short_name_length), &
1082 & DIMENSION(v3fit_max_combinations) :: coosig_units =
''
1093 INTEGER,
DIMENSION(max_gaussprocess,v3fit_max_signals) :: &
1094 & gp_signal_indices = 0
1096 CHARACTER(len=data_short_name_length), &
1097 & DIMENSION(max_gaussprocess) :: gp_model_type =
'none'
1101 REAL(rprec),
DIMENSION(max_gaussprocess, v3fit_max_parameters) :: &
1102 & gp_param_vrnc = 0.001
1166 NAMELIST/v3fit_main_nli/ &
1272 USE v3_utilities,
only: err_fatal
1277 CHARACTER (len=*),
INTENT(in) :: namelist_file
1286 REAL (rprec) :: start_time
1289 start_time = profiler_get_start_time()
1293 CALL safe_open(iou_mnli, status, trim(namelist_file), &
1294 &
'old',
'formatted')
1295 CALL assert_eq(0, status,
'v3fit_input_read_namelist' // &
1296 &
': Safe_open of ' // trim(namelist_file) //
' failed')
1299 READ (iou_mnli, nml=v3fit_main_nli)
1300 CLOSE (iou_mnli, iostat=status)
1301 CALL assert_eq(0, status,
'v3fit_input_read_namelist' // &
1302 &
': Error closing ' // trim(namelist_file) //
' failed')
1361 CALL err_fatal(
'Adding limiter by specifying ' // &
1362 &
'major/minor radii causes n_lif to ' // &
1363 &
'exceed v3fit_max_limiters')
1391 WRITE (*,*)
' *** Overwiting the sxrem profile first ' // &
1393 WRITE (*,*)
' Non array soft xray profiles have ' // &
1407 WRITE (*,1000)
'pp_sxrem_b',
'pp_sxrem_b_a'
1412 CASE (
'pp_sxrem_as')
1413 WRITE (*,1000)
'pp_sxrem_as',
'pp_sxrem_as_a'
1418 CASE (
'pp_sxrem_af')
1419 WRITE (*,1000)
'pp_sxrem_af',
'pp_sxrem_af_a'
1430 WRITE (*,1001)
'pp_sxrem_b',
'pp_sxrem_b_a'
1435 CASE (
'pp_sxrem_as')
1436 WRITE (*,1001)
'pp_sxrem_as',
'pp_sxrem_as_a'
1441 CASE (
'pp_sxrem_af')
1442 WRITE (*,1001)
'pp_sxrem_af',
'pp_sxrem_af_a'
1453 WRITE (*,1002)
'pp_sxrem_b',
'pp_sxrem_b_a'
1458 CASE (
'pp_sxrem_as')
1459 WRITE (*,1002)
'pp_sxrem_as',
'pp_sxrem_as_a'
1464 CASE (
'pp_sxrem_af')
1465 WRITE (*,1002)
'pp_sxrem_af',
'pp_sxrem_af_a'
1477 WRITE (*,1003)
'pp_sxrem_b',
'pp_sxrem_b_a'
1481 CASE (
'pp_sxrem_as')
1482 WRITE (*,1003)
'pp_sxrem_as',
'pp_sxrem_as_a'
1486 CASE (
'pp_sxrem_af')
1487 WRITE (*,1003)
'pp_sxrem_af',
'pp_sxrem_af_a'
1494 1000
FORMAT(
'Changing reconstruction parameter ',a,
' to ', a)
1495 1001
FORMAT(
'Changing lower parameter constraint ',a,
' to ', a)
1496 1002
FORMAT(
'Changing upper parameter constraint ',a,
' to ', a)
1497 1003
FORMAT(
'Changing prior signal ',a,
' to ', a)
1503 WRITE (*,*)
' *** V3FIT namelist input read from ' // &
1504 & trim(namelist_file)
1506 CALL profiler_set_stop_time(
'v3fit_input_read_namelist', &
1526 INTEGER,
INTENT(in) :: index
1530 REAL (rprec) :: start_time
1533 start_time = profiler_get_start_time()
1548 CALL profiler_set_stop_time(
'v3fit_input_find_scale_index', &
1568 INTEGER,
INTENT(in) :: index
1572 REAL (rprec) :: start_time
1575 start_time = profiler_get_start_time()
1586 CALL profiler_set_stop_time(
'v3fit_input_find_offset_index', &
1604 CHARACTER (len=*),
INTENT(in) :: namelist_file
1609 REAL (rprec) :: start_time
1612 start_time = profiler_get_start_time()
1618 CALL safe_open(iou_mnli, status, trim(namelist_file), &
1619 &
'replace',
'formatted', delim_in=
'quote')
1620 CALL assert_eq(0, status,
'v3fit_input_write_namelist' // &
1621 &
': Safe_open of ' // trim(namelist_file) //
' failed')
1624 WRITE (iou_mnli, nml=siesta_info)
1625 CLOSE (iou_mnli, iostat=status)
1626 CALL assert_eq(0, status,
'v3fit_input_write_namelist' // &
1627 &
': Error closing ' // trim(namelist_file) //
' failed')
1629 CALL profiler_set_stop_time(
'v3fit_input_write_namelist', &
Defines the base class of the type combination_class.
integer, parameter max_gaussprocess
Maximum number of Gaussian Process signals. Total number of auxillary profiles.
This modules contains parameters used by equilibrium models.
Defines the base class of the type pprofile_class. This module contains all the code necessary to def...