Skip to content
Snippets Groups Projects
Commit d8a4b4bd authored by Evgeny Mortikov's avatar Evgeny Mortikov
Browse files

adding char array to string conversion

parent c04d514f
No related branches found
No related tags found
No related merge requests found
/drag.exe
/build/
/srcF/*.mod
/parser/*.mod
.idea
......@@ -18,7 +18,24 @@ contains
end subroutine str2int
! ----------------------------------------------------------------------------
!> @brief character array to string conversion
function char_array2str(char_array) result(str)
! ----------------------------------------------------------------------------
implicit none
character, intent(in) :: char_array(:)
character(len=:), allocatable :: str
integer :: i
! ----------------------------------------------------------------------------
str = ""
do i = 1, size(char_array)
str = str(:) // char_array(i)
end do
end function
! ----------------------------------------------------------------------------
!> @brief check if value is finite
elemental function is_finite(value)
! ----------------------------------------------------------------------------
......
......@@ -110,7 +110,7 @@ program sfx_main
#ifdef USE_CONFIG_PARSER
character, allocatable :: config_model_name(:)
character, allocatable :: config_dataset_name(:)
character, allocatable :: fn_in_common(:), fn_in(:), fn_out(:)
integer :: sfx_type
real :: z0_m
......@@ -223,13 +223,13 @@ program sfx_main
call run("config.txt"//C_NULL_CHAR)
call get_charf("model.type"//C_NULL_CHAR, config_model_name)
if (compare_char_arrays(config_model_name, trim(arg_key_model_esm), size(config_model_name))) then
if (compare_char_arrays(config_model_name, trim(arg_key_model_esm))) then
model_id = model_esm
else if (compare_char_arrays(config_model_name, trim(arg_key_model_log), size(config_model_name))) then
else if (compare_char_arrays(config_model_name, trim(arg_key_model_log))) then
model_id = model_log
else if (compare_char_arrays(config_model_name, trim(arg_key_model_most), size(config_model_name))) then
else if (compare_char_arrays(config_model_name, trim(arg_key_model_most))) then
model_id = model_most
else if (compare_char_arrays(config_model_name, trim(arg_key_model_sheba), size(config_model_name))) then
else if (compare_char_arrays(config_model_name, trim(arg_key_model_sheba))) then
model_id = model_sheba
else
write(*, *) ' FAILURE! > unknown model [key]: ', config_model_name
......@@ -237,19 +237,19 @@ program sfx_main
end if
call get_charf("dataset.type"//C_NULL_CHAR, config_dataset_name)
if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_mosaic), size(config_dataset_name))) then
if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_mosaic))) then
dataset_id = dataset_MOSAiC
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_irgason), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_irgason))) then
dataset_id = dataset_IRGASON
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_sheba), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_sheba))) then
dataset_id = dataset_SHEBA
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_lake), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_lake))) then
dataset_id = dataset_LAKE
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_papa), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_papa))) then
dataset_id = dataset_PAPA
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_toga), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_toga))) then
dataset_id = dataset_TOGA
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_user), size(config_dataset_name))) then
else if (compare_char_arrays(config_dataset_name, trim(arg_key_dataset_user))) then
dataset_id = dataset_USER
!call get_charf("dataset.filename"//C_NULL_CHAR, config_dataset_filename)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment