From 8c6d326863d7b8fff74d016d5c06b567fb6d2f4b Mon Sep 17 00:00:00 2001 From: Evgeny Mortikov <evgeny.mortikov@gmail.com> Date: Tue, 19 Dec 2023 22:43:04 +0300 Subject: [PATCH] adding keys for ocean and lake datasets --- srcF/sfx_main.f90 | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/srcF/sfx_main.f90 b/srcF/sfx_main.f90 index 0e5078a..1c22926 100644 --- a/srcF/sfx_main.f90 +++ b/srcF/sfx_main.f90 @@ -32,6 +32,8 @@ program sfx_main integer, parameter :: dataset_MOSAiC = 1 !< MOSAiC campaign integer, parameter :: dataset_IRGASON = 2 !< IRGASON data integer, parameter :: dataset_SHEBA = 3 !< please spell 'SHIBA' + integer, parameter :: dataset_LAKE = 4 !< Kuivajarvi data + integer, parameter :: dataset_OCEAN = 5 !< Ocean data integer, parameter :: dataset_USER = 4 !< used defined dataset @@ -82,6 +84,8 @@ program sfx_main character(len = 128), parameter :: arg_key_dataset_mosaic = 'mosaic' character(len = 128), parameter :: arg_key_dataset_irgason = 'irgason' character(len = 128), parameter :: arg_key_dataset_sheba = 'sheba' + character(len = 128), parameter :: arg_key_dataset_lake = 'lake' + character(len = 128), parameter :: arg_key_dataset_ocean = 'ocean' character(len = 128), parameter :: arg_key_dataset_user = 'user' integer :: is_output_set @@ -111,7 +115,8 @@ program sfx_main write(*, *) ' --model [key]' write(*, *) ' key = esm (default) || log || most || sheba' write(*, *) ' --dataset [key]' - write(*, *) ' key = mosaic (default) || irgason || sheba || user [files]' + write(*, *) ' key = mosaic (default) || irgason || sheba' + write(*, *) ' = lake || ocean || user [files]' write(*, *) ' files = in-common-file in-file out-file' write(*, *) ' --output [file]' write(*, *) ' set output filename ' @@ -150,6 +155,10 @@ program sfx_main dataset_id = dataset_IRGASON else if (trim(arg) == trim(arg_key_dataset_sheba)) then dataset_id = dataset_SHEBA + else if (trim(arg) == trim(arg_key_dataset_lake)) then + dataset_id = dataset_LAKE + else if (trim(arg) == trim(arg_key_dataset_ocean)) then + dataset_id = dataset_OCEAN else if (trim(arg) == trim(arg_key_dataset_user)) then dataset_id = dataset_USER if (i + 4 > num_args) then @@ -224,6 +233,18 @@ program sfx_main filename_in_common = 'data/SHEBA1_zh.txt' filename_in = 'data/SHEBA1.txt' if (is_output_set == 0) filename_out = 'out_SHEBA.txt' + else if (dataset_id == dataset_LAKE) then + dataset_name = 'LAKE' + + filename_in_common = 'data/Kuivajarvi_zh.txt' + filename_in = 'data/Kuivajarvi.txt' + if (is_output_set == 0) filename_out = 'out_Kuivajarvi.txt' + else if (dataset_id == dataset_OCEAN) then + dataset_name = 'OCEAN' + + filename_in_common = 'data/Ocean_zh.txt' + filename_in = 'data/Ocean.txt' + if (is_output_set == 0) filename_out = 'out_Ocean.txt' else if (dataset_id == dataset_USER) then dataset_name = 'USER' else @@ -240,10 +261,14 @@ program sfx_main !< @brief define number of cells - open(1, file= filename_in, status ='old') - status = 0 + open(1, file= filename_in, iostat = status, status ='old') + if (status /= 0) then + write(*, *) ' FAILURE! > unable to open file: ', trim(filename_in) + stop + end if num = 0 + status = 0 do while (status.eq.0) read (1, *, iostat = status) meteo_cell%U, meteo_cell%dT, meteo_cell%Tsemi, meteo_cell%dQ num = num + 1 -- GitLab