Index: /palm/trunk/SOURCE/module_interface.f90
===================================================================
--- /palm/trunk/SOURCE/module_interface.f90	(revision 3700)
+++ /palm/trunk/SOURCE/module_interface.f90	(revision 3701)
@@ -270,5 +270,6 @@
 
    USE user,                                                                   &
-       ONLY:  user_parin,                                                      &
+       ONLY:  user_module_enabled,                                             &
+              user_parin,                                                      &
               user_check_parameters,                                           &
               user_check_data_output_ts,                                       &
@@ -479,5 +480,5 @@
    IF ( urban_surface )        CALL usm_check_parameters
    IF ( wind_turbine )         CALL wtm_check_parameters
-                               CALL user_check_parameters
+   IF ( user_module_enabled )  CALL user_check_parameters
 
 
@@ -503,5 +504,7 @@
    ENDIF
 
-   CALL user_check_data_output_ts( dots_max, dots_num, dots_label, dots_unit )
+   IF ( user_module_enabled )  THEN
+      CALL user_check_data_output_ts( dots_max, dots_num, dots_label, dots_unit )
+   ENDIF
 
 
@@ -551,5 +554,5 @@
    ENDIF
 
-   IF ( unit == 'illegal' )  THEN
+   IF ( unit == 'illegal'  .AND.  user_module_enabled )  THEN
       unit = '' ! ToDo: Seems like a hack. Find a general soultion!
       CALL user_check_data_output_pr( variable, var_count, unit, dopr_unit )
@@ -618,5 +621,5 @@
    ENDIF
 
-   IF ( unit == 'illegal' )  THEN
+   IF ( unit == 'illegal'  .AND.  user_module_enabled )  THEN
       unit = ''
       CALL user_check_data_output( variable, unit )
@@ -652,5 +655,5 @@
    ENDIF
 
-   IF ( unit == 'illegal' )  THEN
+   IF ( unit == 'illegal'  .AND.  user_module_enabled )  THEN
       unit = ''
       CALL user_check_data_output( variable, unit )
@@ -732,5 +735,5 @@
    IF ( wind_turbine        )  CALL wtm_init
    IF ( radiation           )  CALL radiation_init
-                               CALL user_init
+   IF ( user_module_enabled )  CALL user_init
 
 
@@ -763,6 +766,5 @@
    IF ( calculate_spectra   )  CALL spectra_header( io )
    IF ( syn_turb_gen        )  CALL stg_header( io )
-
-   CALL user_header( io ) ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_header( io )
 
 
@@ -782,6 +784,5 @@
 
    IF ( gust_module_enabled )  CALL gust_actions( location )
-
-   CALL user_actions( location ) ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_actions( location )
 
 
@@ -803,6 +804,5 @@
 
    IF ( gust_module_enabled )  CALL gust_actions( i, j, location )
-
-   CALL user_actions( i, j, location ) ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_actions( i, j, location )
 
 
@@ -853,6 +853,5 @@
    IF ( salsa               )  CALL salsa_3d_data_averaging( mode, variable )
    IF ( urban_surface       )  CALL usm_3d_data_averaging( mode, variable )
-
-   CALL user_3d_data_averaging( mode, variable ) ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_3d_data_averaging( mode, variable )
 
 
@@ -930,5 +929,5 @@
    ENDIF
 
-   IF ( .NOT. found )  THEN  ! ToDo: make user module switch
+   IF ( .NOT. found  .AND.  user_module_enabled )  THEN
       CALL user_data_output_2d(                                                &
               av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do       &
@@ -1000,5 +999,5 @@
    ENDIF
 
-   IF ( .NOT. found )  THEN  ! ToDo: make user module switch
+   IF ( .NOT. found  .AND.  user_module_enabled )  THEN
       CALL user_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do )
       resorted = .TRUE.
@@ -1024,6 +1023,5 @@
    IF ( gust_module_enabled )  CALL gust_statistics( mode, sr, tn, dots_max )
    IF ( air_chemistry       )  CALL chem_statistics( mode, sr, tn )
-
-   CALL user_statistics( mode, sr, tn ) ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_statistics( mode, sr, tn )
 
 
@@ -1049,5 +1047,4 @@
    IF ( .NOT. found )  CALL stg_rrd_global ( found ) ! ToDo: change interface to pass variable
    IF ( .NOT. found )  CALL wtm_rrd_global( found ) ! ToDo: change interface to pass variable
-
    IF ( .NOT. found )  CALL user_rrd_global( found ) ! ToDo: change interface to pass variable
 
@@ -1071,6 +1068,5 @@
    IF ( syn_turb_gen )         CALL stg_wrd_global
    IF ( wind_turbine )         CALL wtm_wrd_global
-
-   CALL user_wrd_global ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_wrd_global
 
 
@@ -1218,6 +1214,5 @@
    IF ( salsa )                CALL salsa_wrd_local
    IF ( urban_surface )        CALL usm_wrd_local
-
-   CALL user_wrd_local ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_wrd_local
 
 
@@ -1233,5 +1228,5 @@
 
 
-   CALL user_last_actions ! ToDo: make user module switch
+   IF ( user_module_enabled )  CALL user_last_actions
 
 
Index: /palm/trunk/SOURCE/netcdf_interface_mod.f90
===================================================================
--- /palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 3700)
+++ /palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 3701)
@@ -673,7 +673,4 @@
         ONLY: lsm_define_netcdf_grid, nzb_soil, nzt_soil, nzs, zs
 
-    USE user,                                                                  &
-        ONLY:  user_define_netcdf_grid
-
     USE ocean_mod,                                                             &
         ONLY:  ocean_define_netcdf_grid
@@ -707,4 +704,7 @@
     USE urban_surface_mod,                                                     &
         ONLY:  usm_define_netcdf_grid
+
+    USE user,                                                                  &
+        ONLY:  user_module_enabled, user_define_netcdf_grid
 
 
@@ -1160,5 +1160,5 @@
 !
 !--                Now check for user-defined quantities
-                   IF ( .NOT. found )  THEN
+                   IF ( .NOT. found  .AND.  user_module_enabled )  THEN
                       CALL user_define_netcdf_grid( domask(mid,av,i), found,   &
                                                     grid_x, grid_y, grid_z )
@@ -1922,5 +1922,5 @@
 !                   
 !--                Check for user-defined quantities
-                   IF ( .NOT. found )  THEN
+                   IF ( .NOT. found  .AND.  user_module_enabled )  THEN
                       CALL user_define_netcdf_grid( do3d(av,i), found, grid_x, &
                                                     grid_y, grid_z )
@@ -2900,5 +2900,5 @@
 !
 !--                      Check for user-defined quantities
-                         IF ( .NOT. found )  THEN
+                         IF ( .NOT. found  .AND.  user_module_enabled )  THEN
                             CALL user_define_netcdf_grid( do2d(av,i), found,   &
                                                           grid_x, grid_y,      &
@@ -3792,5 +3792,5 @@
 !
 !--                   Check for user-defined quantities
-                      IF ( .NOT. found )  THEN
+                      IF ( .NOT. found  .AND.  user_module_enabled )  THEN
                          CALL user_define_netcdf_grid( do2d(av,i), found,      &
                                                        grid_x, grid_y, grid_z )
@@ -4649,5 +4649,5 @@
 !
 !--                   Check for user-defined quantities
-                      IF ( .NOT. found )  THEN
+                      IF ( .NOT. found  .AND.  user_module_enabled )  THEN
                          CALL user_define_netcdf_grid( do2d(av,i), found,      &
                                                        grid_x, grid_y, grid_z )
@@ -5965,6 +5965,8 @@
 !--                Check for user-defined quantities (found, grid_x and grid_y
 !--                are dummies)
-                   CALL user_define_netcdf_grid( data_output_sp(i), found,     &
-                                                 grid_x, grid_y, grid_z )
+                   IF ( user_module_enabled )  THEN
+                      CALL user_define_netcdf_grid( data_output_sp(i), found,  &
+                                                    grid_x, grid_y, grid_z )
+                   ENDIF
 
              END SELECT
Index: /palm/trunk/SOURCE/user_module.f90
===================================================================
--- /palm/trunk/SOURCE/user_module.f90	(revision 3700)
+++ /palm/trunk/SOURCE/user_module.f90	(revision 3701)
@@ -94,5 +94,5 @@
     INTEGER(iwp) ::  user_idummy     !< 
     
-    LOGICAL ::  user_defined_namelist_found = .FALSE.   !< 
+    LOGICAL ::  user_module_enabled = .FALSE.   !< 
     
     REAL(wp) ::  user_rdummy   !< 
@@ -108,5 +108,5 @@
     SAVE
 
-!    PRIVATE
+    PRIVATE
 
 !
@@ -118,4 +118,5 @@
        user_check_data_output_pr, &
        user_check_data_output, &
+       user_define_netcdf_grid, &
        user_init, &
        user_header, &
@@ -128,10 +129,11 @@
        user_rrd_local, &
        user_wrd_global, &
-       user_wrd_local
+       user_wrd_local, &
+       user_last_actions
 
 !
 !- Public parameters, constants and initial values
-!   PUBLIC &
-!      user_module_enabled
+   PUBLIC &
+      user_module_enabled
 
     INTERFACE user_parin
@@ -154,4 +156,9 @@
        MODULE PROCEDURE user_check_data_output
     END INTERFACE user_check_data_output
+
+    INTERFACE user_define_netcdf_grid
+       MODULE PROCEDURE user_define_netcdf_grid
+    END INTERFACE user_define_netcdf_grid
+    
 
     INTERFACE user_init
@@ -200,4 +207,8 @@
     END INTERFACE user_wrd_local
 
+    INTERFACE user_last_actions
+       MODULE PROCEDURE user_last_actions
+    END INTERFACE user_last_actions
+
 
  CONTAINS
@@ -218,10 +229,10 @@
 
 
-    NAMELIST /userpar/  data_output_pr_user, data_output_user, region,         &
-                        data_output_masks_user
-                        
-                        
-    NAMELIST /user_parameters/  data_output_pr_user, data_output_user, region, &
-                        data_output_masks_user
+    NAMELIST /user_parameters/  &
+       user_module_enabled, &
+       data_output_pr_user, &
+       data_output_user, &
+       region, &
+       data_output_masks_user
 
 !
@@ -244,11 +255,11 @@
     BACKSPACE ( 11 )
 
-!
+!-- Set default module switch to true
+    user_module_enabled = .TRUE.
+
 !-- Read user-defined namelist
     READ ( 11, user_parameters, ERR = 10 )
 
-    user_defined_namelist_found = .TRUE.
-
-    GOTO 14
+    GOTO 12
 
 10  BACKSPACE( 11 )
@@ -256,35 +267,10 @@
     CALL parin_fail_message( 'user_parameters', line )
 
-12  REWIND ( 11 )
-
-    line = ' ' 
-    DO WHILE ( INDEX( line, '&userpar' ) == 0 )
-       READ ( 11, '(A)', END=14 )  line
-    ENDDO
-    BACKSPACE ( 11 )
-
-!
-!-- Read user-defined namelist
-    READ ( 11, userpar, ERR = 13, END = 14 )
-
-    message_string = 'namelist userpar is deprecated and will be ' //          &
-                     'removed in near future. &Please use namelist ' //        &
-                     'user_parameters instead' 
-    CALL message( 'user_parin', 'PA0487', 0, 1, 0, 6, 0 )
-
-    user_defined_namelist_found = .TRUE.
-
-    GOTO 14
-
-13  BACKSPACE( 11 )
-    READ( 11 , '(A)') line
-    CALL parin_fail_message( 'userpar', line )
-
-14  CONTINUE
+12  CONTINUE
 
 !
 !-- Determine the number of user-defined profiles and append them to the
 !-- standard data output (data_output_pr)
-    IF ( user_defined_namelist_found )  THEN
+    IF ( user_module_enabled )  THEN
        IF ( data_output_pr_user(1) /= ' ' )  THEN
           i = 1
@@ -301,6 +287,5 @@
        ENDIF
     ENDIF
- 
-    RETURN
+
 
  END SUBROUTINE user_parin
@@ -526,5 +511,5 @@
 !-- If no user-defined variables are read from the namelist-file, no
 !-- information will be printed.
-    IF ( .NOT. user_defined_namelist_found )  THEN
+    IF ( .NOT. user_module_enabled )  THEN
        WRITE ( io, 100 )
        RETURN
