Index: palm/trunk/SOURCE/modules.f90
===================================================================
--- palm/trunk/SOURCE/modules.f90	(revision 1665)
+++ palm/trunk/SOURCE/modules.f90	(revision 1666)
@@ -20,5 +20,5 @@
 ! Current revisions:
 ! ------------------
-! 
+! +user_interface_current_revision, user_interface_required_revision
 ! 
 ! Former revisions:
@@ -543,5 +543,7 @@
     CHARACTER (LEN=9)    ::  simulated_time_chr
     CHARACTER (LEN=11)   ::  topography_grid_convention = ' '
-    CHARACTER (LEN=12)   ::  version = ' ', revision = ' '
+    CHARACTER (LEN=12)   ::  version = ' ', revision = ' ', &
+                             user_interface_current_revision = ' ', &
+                             user_interface_required_revision = ' '
     CHARACTER (LEN=16)   ::  conserve_volume_flow_mode = 'default', &
                              loop_optimization = 'default', &
Index: palm/trunk/SOURCE/palm.f90
===================================================================
--- palm/trunk/SOURCE/palm.f90	(revision 1665)
+++ palm/trunk/SOURCE/palm.f90	(revision 1666)
@@ -20,5 +20,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! check for user's interface version added
 !
 ! Former revisions:
@@ -99,6 +99,9 @@
     USE control_parameters,                                                    &
         ONLY:  coupling_char, coupling_mode, do2d_at_begin, do3d_at_begin,     &
-               io_blocks, io_group, large_scale_forcing, nudging,              &
-               simulated_time, simulated_time_chr, version, wall_heatflux, write_binary
+               io_blocks, io_group, large_scale_forcing, message_string,       &
+               nudging, simulated_time, simulated_time_chr,                    &
+               user_interface_current_revision,                                &
+               user_interface_required_revision, version, wall_heatflux,       &
+               write_binary
 
     USE cpulog,                                                                &
@@ -110,8 +113,9 @@
 
     USE indices,                                                               &
-        ONLY:  ngp_2dh, ngp_2dh_s_inner, nzb_diff_s_inner, nzb_diff_s_outer, nzb_diff_u, nzb_diff_v,     &
-               nzb_s_inner, nzb_s_outer, nzb_u_inner, nzb_u_outer, nzb_v_inner,&
-               nzb_v_outer, nzb_w_inner, nzb_w_outer, rflags_invers,           &
-               rflags_s_inner, wall_flags_0, wall_flags_00
+        ONLY:  ngp_2dh, ngp_2dh_s_inner, nzb_diff_s_inner, nzb_diff_s_outer,   &
+               nzb_diff_u, nzb_diff_v, nzb_s_inner, nzb_s_outer, nzb_u_inner,  &
+               nzb_u_outer, nzb_v_inner, nzb_v_outer, nzb_w_inner,             &
+               nzb_w_outer, rflags_invers, rflags_s_inner, wall_flags_0,       &
+               wall_flags_00
 
     USE kinds
@@ -149,4 +153,5 @@
 
     version = 'PALM 4.0'
+    user_interface_required_revision = 'r1663'
 
 #if defined( __parallel )
@@ -231,4 +236,15 @@
 !-- Read control parameters from NAMELIST files and read environment-variables
     CALL parin
+
+!
+!-- Check for the user's interface version
+    IF ( user_interface_current_revision /= user_interface_required_revision )  &
+    THEN
+       message_string = 'current user-interface revision "' //                  &
+                        TRIM( user_interface_current_revision ) // '" does ' // &
+                        'not match the required revision ' //                   &
+                        TRIM( user_interface_required_revision )
+        CALL message( 'palm', 'PA0169', 0, 1, 0, 6, 0 )
+    ENDIF
 
 !
Index: palm/trunk/SOURCE/user_parin.f90
===================================================================
--- palm/trunk/SOURCE/user_parin.f90	(revision 1665)
+++ palm/trunk/SOURCE/user_parin.f90	(revision 1666)
@@ -20,5 +20,5 @@
 ! Current revisions:
 ! -----------------
-!
+! interface revision number is set
 !
 ! Former revisions:
@@ -73,4 +73,11 @@
     NAMELIST /userpar/  data_output_pr_user, data_output_user, region,         &
                         data_output_masks_user
+
+!
+!-- Set revision number of this default interface version. It will be checked within
+!-- the main program (palm). Please change the revision number in case that the
+!-- current revision does not match with previous revisions (e.g. if routines
+!-- have been added/deleted or if parameter lists in subroutines have been changed).
+    user_interface_current_revision = ' '
 
 !
