Index: source/python/_config.py
===================================================================
--- source/python/_config.py	(revision d8785f85ebf5d00c87a7a37eec240b966a17d48d)
+++ source/python/_config.py	(revision 6cda7c1be79b8836baf177a04630c4cf65d3d59b)
@@ -31,4 +31,6 @@
 
 QUEUES_LIST = ['ecgate', 'cca', 'ccb']
+
+INSTALL_TARGETS = ['local', 'ecgate', 'cca']
 
 # up-to-date available maximum level numbers at ECMWF, 05.10.2018
Index: source/python/classes/ControlFile.py
===================================================================
--- source/python/classes/ControlFile.py	(revision 2d56c04d12d1df747e1122329edf58c18fc28eb5)
+++ source/python/classes/ControlFile.py	(revision 6cda7c1be79b8836baf177a04630c4cf65d3d59b)
@@ -504,50 +504,4 @@
         return
 
-    def check_install_conditions(self):
-        '''Checks a couple of necessary attributes and conditions
-        for the installation such as if they exist and contain values.
-        Otherwise set default values.
-
-        Parameters
-        ----------
-
-        Return
-        ------
-
-        '''
-
-        if self.install_target and \
-           self.install_target not in ['local', 'ecgate', 'cca']:
-            print('ERROR: unknown or missing installation target ')
-            print('target: ', self.install_target)
-            print('please specify correct installation target ' +
-                  '(local | ecgate | cca)')
-            print('use -h or --help for help')
-            sys.exit(1)
-
-        if self.install_target and self.install_target != 'local':
-            if not self.ecgid or not self.ecuid or \
-               not self.gateway or not self.destination:
-                print('Please enter your ECMWF user id and group id as well ' +
-                      'as the \nname of the local gateway and the ectrans ' +
-                      'destination ')
-                print('with command line options --ecuid --ecgid \
-                       --gateway --destination')
-                print('Try "' + sys.argv[0].split('/')[-1] + \
-                      ' -h" to print usage information')
-                print('Please consult ecaccess documentation or ECMWF user \
-                       support for further details')
-                sys.exit(1)
-
-            if not self.flexpart_root_scripts:
-                self.flexpart_root_scripts = '${HOME}'
-            else:
-                self.flexpart_root_scripts = self.flexpart_root_scripts
-        else: # local
-            if not self.flexpart_root_scripts:
-                self.flexpart_root_scripts = _config.PATH_FLEXEXTRACT_DIR
-
-        return
-
     def to_list(self):
         '''Just generates a list of strings containing the attributes and
Index: source/python/install.py
===================================================================
--- source/python/install.py	(revision 3946de57a6502190f3281229913ce63fe8c8fa05)
+++ source/python/install.py	(revision 6cda7c1be79b8836baf177a04630c4cf65d3d59b)
@@ -80,5 +80,5 @@
     c = ControlFile(args.controlfile)
     c.assign_args_to_control(args)
-    c.check_install_conditions()
+    check_install_conditions(c)
 
     install_via_gateway(c)
@@ -218,4 +218,55 @@
 
     return
+
+def check_install_conditions(c):
+    '''Checks a couple of necessary attributes and conditions
+    for the installation such as if they exist and contain values.
+    Otherwise set default values.
+
+    Parameters
+    ----------
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+
+    Return
+    ------
+
+    '''
+
+    if c.install_target and \
+       c.install_target not in _config.INSTALL_TARGETS:
+        print('ERROR: unknown or missing installation target ')
+        print('target: ', c.install_target)
+        print('please specify correct installation target ' +
+              str(INSTALL_TARGETS))
+        print('use -h or --help for help')
+        sys.exit(1)
+
+    if c.install_target and c.install_target != 'local':
+        if not c.ecgid or not c.ecuid or \
+           not c.gateway or not c.destination:
+            print('Please enter your ECMWF user id and group id as well ' +
+                  'as the \nname of the local gateway and the ectrans ' +
+                  'destination ')
+            print('with command line options --ecuid --ecgid \
+                   --gateway --destination')
+            print('Try "' + sys.argv[0].split('/')[-1] + \
+                  ' -h" to print usage information')
+            print('Please consult ecaccess documentation or ECMWF user \
+                   support for further details')
+            sys.exit(1)
+
+        if not c.flexpart_root_scripts:
+            c.flexpart_root_scripts = '${HOME}'
+        else:
+            c.flexpart_root_scripts = c.flexpart_root_scripts
+    else: # local
+        if not c.flexpart_root_scripts:
+            c.flexpart_root_scripts = _config.PATH_FLEXEXTRACT_DIR
+
+    return
+
 
 def mk_tarball(tarball_path, target):
