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

model setup update

parent 8ce1f52b
No related branches found
No related tags found
No related merge requests found
......@@ -3,3 +3,4 @@
!#define SFX_FORCE_DEPRECATED_ESM_CODE
!#define SFX_CHECK_NAN
!#define USE_CONFIG_PARSER
#define DATASET_DIR "data/"
#include "../includeF/sfx_def.fi"
!> @brief surface flux model config subroutines
module sfx_config
......@@ -40,6 +42,7 @@ module sfx_config
character(len = 16), parameter :: dataset_toga_tag = 'toga'
character(len = 16), parameter :: dataset_user_tag = 'user'
contains
function get_model_id(tag) result(id)
......@@ -65,7 +68,7 @@ contains
integer :: id
character(len=:), allocatable :: tag
tag = "undefined"
tag = 'undefined'
if (id == model_esm) then
tag = model_esm_tag
else if (id == model_log) then
......@@ -107,7 +110,7 @@ contains
integer :: id
character(len=:), allocatable :: tag
tag = "undefined"
tag = 'undefined'
if (id == dataset_mosaic) then
tag = dataset_mosaic_tag
else if (id == dataset_irgason) then
......@@ -126,4 +129,48 @@ contains
end function
function get_dataset_filename(id) result(filename)
implicit none
integer :: id
character(len=:), allocatable :: filename
filename = ''
if (id == dataset_mosaic) then
filename = DATASET_DIR // 'MOSAiC.txt'
else if (id == dataset_irgason) then
filename = DATASET_DIR // 'Irgason1.txt'
else if (id == dataset_sheba) then
filename = DATASET_DIR // 'Sheba1.txt'
else if (id == dataset_lake) then
filename = DATASET_DIR // 'Kuivajarvi.txt'
else if (id == dataset_papa) then
filename = DATASET_DIR // 'Papa.txt'
else if (id == dataset_toga) then
filename = DATASET_DIR // 'Toga.txt'
end if
end function
function get_dataset_param_filename(id) result(filename)
implicit none
integer :: id
character(len=:), allocatable :: filename
filename = ""
if (id == dataset_mosaic) then
filename = DATASET_DIR // 'MOSAiC_zh.txt'
else if (id == dataset_irgason) then
filename = DATASET_DIR // 'IRGASON_zh.txt'
else if (id == dataset_sheba) then
filename = DATASET_DIR // 'Sheba1_zh.txt'
else if (id == dataset_lake) then
filename = DATASET_DIR // 'Kuivajarvi_zh.txt'
else if (id == dataset_papa) then
filename = DATASET_DIR // 'Papa_zh.txt'
else if (id == dataset_toga) then
filename = DATASET_DIR // 'Toga_zh.txt'
end if
end function
end module sfx_config
......@@ -249,32 +249,14 @@ program sfx_main
!< @brief set name & filenames for specific dataset
dataset_name = get_dataset_tag(dataset_id)
if (dataset_id == dataset_mosaic) then
filename_in_common = 'data/MOSAiC_zh.txt'
filename_in = 'data/MOSAiC.txt'
else if (dataset_id == dataset_irgason) then
filename_in_common = 'data/IRGASON_zh.txt'
filename_in = 'data/Irgason1.txt'
else if (dataset_id == dataset_sheba) then
filename_in_common = 'data/Sheba1_zh.txt'
filename_in = 'data/Sheba1.txt'
else if (dataset_id == dataset_lake) then
filename_in_common = 'data/Kuivajarvi_zh.txt'
filename_in = 'data/Kuivajarvi.txt'
else if (dataset_id == dataset_papa) then
filename_in_common = 'data/Papa_zh.txt'
filename_in = 'data/Papa.txt'
else if (dataset_id == dataset_toga) then
filename_in_common = 'data/Toga_zh.txt'
filename_in = 'data/Toga.txt'
else if (dataset_id == dataset_user) then
! ---> skipping
else
write(*, *) ' FAILURE! > unknown dataset id: ', dataset_id
stop
if (dataset_id /= dataset_user) then
filename_in_common = get_dataset_param_filename(dataset_id)
filename_in = get_dataset_filename(dataset_id)
end if
if (is_output_set == 0) filename_out = 'output-' // trim(dataset_name) // '.txt'
write(*, *) ' Running SFX model'
write(*, *) ' model = ', trim(model_name)
write(*, *) ' dataset = ', trim(dataset_name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment