From c48247638e40e3cff31edeb3a0365d297d27dd5d Mon Sep 17 00:00:00 2001
From: Evgeny Mortikov <evgeny.mortikov@gmail.com>
Date: Wed, 18 Dec 2024 20:00:21 +0300
Subject: [PATCH] model setup update

---
 obl_main.f90 | 37 +++++++++++++++----------------------
 1 file changed, 15 insertions(+), 22 deletions(-)

diff --git a/obl_main.f90 b/obl_main.f90
index 2ae82ed..0706637 100644
--- a/obl_main.f90
+++ b/obl_main.f90
@@ -98,7 +98,6 @@ program obl_main
     character(len = 128) :: arg
 
     character(len = 128), parameter :: arg_key_help = '--help'
-    character(len = 128), parameter :: arg_key_setup = '--setup'
     character(len = 128), parameter :: arg_key_config = "--config"
 
     integer :: i, status
@@ -143,9 +142,9 @@ program obl_main
             return
         end if
 
-        if (trim(arg) == trim(arg_key_setup)) then
+        if (trim(arg) == trim(arg_key_config)) then
             if (i == num_args) then
-                write(*, *) ' FAILURE! > missing setup [key] argument'
+                write(*, *) ' FAILURE! > missing config [key] argument'
                 ierr = 1        ! signal ERROR
                 return
             end if
@@ -153,29 +152,23 @@ program obl_main
             call get_command_argument(i + 1, arg)
             obl_setup = get_setup_id(arg)
             if (obl_setup == -1) then
-                write(*, *) ' FAILURE! > unknown setup [key]: ', trim(arg)
-                ierr = 1        ! signal ERROR
-                return
-            end if
-        else if (trim(arg) == trim(arg_key_config)) then
-            if (i == num_args) then
-                write(*, *) ' FAILURE! > missing configuration file [key] argument'
-                ierr = 1        ! signal ERROR
-                return
-            end if
-        
-            call get_command_argument(i + 1, arg)
 #ifdef USE_CONFIG_PARSER
-            call c_config_run(trim(arg)//C_NULL_CHAR, status)
-            if (status == 0) then
-                write(*, *) ' FAILURE! > unable to parse configuration file: ', trim(arg)
+                !< try reading configuration file
+                call c_config_run(trim(arg)//C_NULL_CHAR, status)
+                if (status == 0) then
+                    write(*, *) ' FAILURE! > unable to parse configuration file: ', trim(arg)
+                    ierr = 1        ! signal ERROR
+                    return
+                end if
+
+                !< forcing configuration file setup
+                obl_setup = 999
+#else
+                write(*, *) ' FAILURE! > unknown config [key]: ', trim(arg)
                 ierr = 1        ! signal ERROR
                 return
-            end if
-
-            !< forcing configuration file setup
-            obl_setup = 999
 #endif
+            end if
         endif
     enddo
 
-- 
GitLab