Index: palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- palm/trunk/SOURCE/check_parameters.f90	(revision 77)
+++ palm/trunk/SOURCE/check_parameters.f90	(revision 87)
@@ -4,5 +4,5 @@
 ! Actual revisions:
 ! -----------------
-! 
+! Check for user-defined profiles
 !
 ! Former revisions:
@@ -1214,4 +1214,5 @@
           CASE ( 'u', '#u' )
              dopr_index(i) = 1
+             dopr_unit(i)  = 'm/s'
              hom(:,2,1,:)  = SPREAD( zu, 2, statistic_regions+1 )
              IF ( data_output_pr(i)(1:1) == '#' )  THEN
@@ -1223,5 +1224,6 @@
           CASE ( 'v', '#v' )
              dopr_index(i) = 2
-             hom(:,2,2,:) = SPREAD( zu, 2, statistic_regions+1 )
+             dopr_unit(i)  = 'm/s'
+             hom(:,2,2,:)  = SPREAD( zu, 2, statistic_regions+1 )
              IF ( data_output_pr(i)(1:1) == '#' )  THEN
                 dopr_initial_index(i) = 6
@@ -1232,9 +1234,251 @@
           CASE ( 'w' )
              dopr_index(i) = 3
-             hom(:,2,3,:) = SPREAD( zw, 2, statistic_regions+1 )
+             dopr_unit(i)  = 'm/s'
+             hom(:,2,3,:)  = SPREAD( zw, 2, statistic_regions+1 )
 
           CASE ( 'pt', '#pt' )
              IF ( .NOT. cloud_physics ) THEN
                 dopr_index(i) = 4
+                dopr_unit(i)  = 'K'
+                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 7
+                   hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,7,:)        = 0.0    ! because zu(nzb) is negative
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ELSE
+                dopr_index(i) = 43
+                dopr_unit(i)  = 'K'
+                hom(:,2,43,:)  = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 28
+                   hom(:,2,28,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,28,:)       = 0.0    ! because zu(nzb) is negative
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'e' )
+             dopr_index(i)  = 8
+             dopr_unit(i)   = 'm2/s2'
+             hom(:,2,8,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,8,:) = 0.0
+
+          CASE ( 'km', '#km' )
+             dopr_index(i)  = 9
+             dopr_unit(i)   = 'm2/s'
+             hom(:,2,9,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,9,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 23
+                hom(:,2,23,:)         = hom(:,2,9,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'kh', '#kh' )
+             dopr_index(i)   = 10
+             dopr_unit(i)    = 'm2/s'
+             hom(:,2,10,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,10,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 24
+                hom(:,2,24,:)         = hom(:,2,10,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'l', '#l' )
+             dopr_index(i)   = 11
+             dopr_unit(i)    = 'm'
+             hom(:,2,11,:)   = SPREAD( zu, 2, statistic_regions+1 )
+             hom(nzb,2,11,:) = 0.0
+             IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                dopr_initial_index(i) = 25
+                hom(:,2,25,:)         = hom(:,2,11,:)
+                data_output_pr(i)     = data_output_pr(i)(2:)
+             ENDIF
+
+          CASE ( 'w"u"' )
+             dopr_index(i) = 12
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,12,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,12,:) = zu(1)
+
+          CASE ( 'w*u*' )
+             dopr_index(i) = 13
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,13,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"v"' )
+             dopr_index(i) = 14
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,14,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,14,:) = zu(1)
+
+          CASE ( 'w*v*' )
+             dopr_index(i) = 15
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w"pt"' )
+             dopr_index(i) = 16
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*pt*' )
+             dopr_index(i) = 17
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wpt' )
+             dopr_index(i) = 18
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,18,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wu' )
+             dopr_index(i) = 19
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,19,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,19,:) = zu(1)
+
+          CASE ( 'wv' )
+             dopr_index(i) = 20
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,20,:) = SPREAD( zw, 2, statistic_regions+1 )
+             IF ( prandtl_layer )  hom(nzb,2,20,:) = zu(1)
+
+          CASE ( 'w*pt*BC' )
+             dopr_index(i) = 21
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'wptBC' )
+             dopr_index(i) = 22
+             dopr_unit(i)  = 'K m/s'
+             hom(:,2,22,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'u*2' )
+             dopr_index(i) = 30
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,30,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'v*2' )
+             dopr_index(i) = 31
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,31,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w*2' )
+             dopr_index(i) = 32
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'pt*2' )
+             dopr_index(i) = 33
+             dopr_unit(i)  = 'K2'
+             hom(:,2,33,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'e*' )
+             dopr_index(i) = 34
+             dopr_unit(i)  = 'm2/s2'
+             hom(:,2,34,:) = SPREAD( zu, 2, statistic_regions+1 )
+
+          CASE ( 'w*2pt*' )
+             dopr_index(i) = 35
+             dopr_unit(i)  = 'K m2/s2'
+             hom(:,2,35,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*pt*2' )
+             dopr_index(i) = 36
+             dopr_unit(i)  = 'K2 m/s'
+             hom(:,2,36,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*e*' )
+             dopr_index(i) = 37
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,37,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'w*3' )
+             dopr_index(i) = 38
+             dopr_unit(i)  = 'm3/s3'
+             hom(:,2,38,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'Sw' )
+             dopr_index(i) = 39
+             hom(:,2,39,:) = SPREAD( zw, 2, statistic_regions+1 )
+
+          CASE ( 'q', '#q' )
+             IF ( .NOT. cloud_physics )  THEN
+                IF ( myid == 0 )  THEN
+                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
+                           data_output_pr(i),                          &
+                           '    is not implemented for cloud_physics = FALSE'
+                ENDIF
+                CALL local_stop
+             ELSE
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 's', '#s' )
+             IF ( .NOT. passive_scalar )  THEN
+                IF ( myid == 0 )  THEN
+                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
+                           data_output_pr(i),                          &
+                           '    is not implemented for passive_scalar = FALSE'
+                ENDIF
+                CALL local_stop
+             ELSE
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/m3'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'qv', '#qv' )
+             IF ( .NOT. cloud_physics ) THEN
+                dopr_index(i) = 41
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 26
+                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ELSE
+                dopr_index(i) = 42
+                dopr_unit(i)  = 'kg/kg'
+                hom(:,2,42,:) = SPREAD( zu, 2, statistic_regions+1 )
+                IF ( data_output_pr(i)(1:1) == '#' )  THEN
+                   dopr_initial_index(i) = 27
+                   hom(:,2,27,:)         = SPREAD( zu, 2, statistic_regions+1 )
+                   hom(nzb,2,27,:)       = 0.0    ! weil zu(nzb) negativ ist
+                   data_output_pr(i)     = data_output_pr(i)(2:)
+                ENDIF
+             ENDIF
+
+          CASE ( 'lpt', '#lpt' )
+             IF ( .NOT. cloud_physics ) THEN
+                IF ( myid == 0 )  THEN
+                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
+                           data_output_pr(i),                          &
+                           '    is not implemented for cloud_physics = FALSE'
+                ENDIF
+                CALL local_stop
+             ELSE
+                dopr_index(i) = 4
+                dopr_unit(i)  = 'K'
                 hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
@@ -1244,219 +1488,10 @@
                    data_output_pr(i)     = data_output_pr(i)(2:)
                 ENDIF
-             ELSE
-                dopr_index(i) = 43
-                hom(:,2,43,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 28
-                   hom(:,2,28,:)         = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,28,:)       = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
-             ENDIF
-
-          CASE ( 'e' )
-             dopr_index(i)  = 8
-             hom(:,2,8,:)   = SPREAD( zu, 2, statistic_regions+1 )
-             hom(nzb,2,8,:) = 0.0
-
-          CASE ( 'km', '#km' )
-             dopr_index(i)  = 9
-             hom(:,2,9,:)   = SPREAD( zu, 2, statistic_regions+1 )
-             hom(nzb,2,9,:) = 0.0
-             IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                dopr_initial_index(i) = 23
-                hom(:,2,23,:)         = hom(:,2,9,:)
-                data_output_pr(i)     = data_output_pr(i)(2:)
-             ENDIF
-
-          CASE ( 'kh', '#kh' )
-             dopr_index(i)   = 10
-             hom(:,2,10,:)   = SPREAD( zu, 2, statistic_regions+1 )
-             hom(nzb,2,10,:) = 0.0
-             IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                dopr_initial_index(i) = 24
-                hom(:,2,24,:)         = hom(:,2,10,:)
-                data_output_pr(i)     = data_output_pr(i)(2:)
-             ENDIF
-
-          CASE ( 'l', '#l' )
-             dopr_index(i)   = 11
-             hom(:,2,11,:)   = SPREAD( zu, 2, statistic_regions+1 )
-             hom(nzb,2,11,:) = 0.0
-             IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                dopr_initial_index(i) = 25
-                hom(:,2,25,:)         = hom(:,2,11,:)
-                data_output_pr(i)     = data_output_pr(i)(2:)
-             ENDIF
-
-          CASE ( 'w"u"' )
-             dopr_index(i) = 12
-             hom(:,2,12,:) = SPREAD( zw, 2, statistic_regions+1 )
-             IF ( prandtl_layer )  hom(nzb,2,12,:) = zu(1)
-
-          CASE ( 'w*u*' )
-             dopr_index(i) = 13
-             hom(:,2,13,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w"v"' )
-             dopr_index(i) = 14
-             hom(:,2,14,:) = SPREAD( zw, 2, statistic_regions+1 )
-             IF ( prandtl_layer )  hom(nzb,2,14,:) = zu(1)
-
-          CASE ( 'w*v*' )
-             dopr_index(i) = 15
-             hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w"pt"' )
-             dopr_index(i) = 16
-             hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w*pt*' )
-             dopr_index(i) = 17
-             hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'wpt' )
-             dopr_index(i) = 18
-             hom(:,2,18,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'wu' )
-             dopr_index(i) = 19
-             hom(:,2,19,:) = SPREAD( zw, 2, statistic_regions+1 )
-             IF ( prandtl_layer )  hom(nzb,2,19,:) = zu(1)
-
-          CASE ( 'wv' )
-             dopr_index(i) = 20
-             hom(:,2,20,:) = SPREAD( zw, 2, statistic_regions+1 )
-             IF ( prandtl_layer )  hom(nzb,2,20,:) = zu(1)
-
-          CASE ( 'w*pt*BC' )
-             dopr_index(i) = 21
-             hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'wptBC' )
-             dopr_index(i) = 22
-             hom(:,2,22,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'u*2' )
-             dopr_index(i) = 30
-             hom(:,2,30,:) = SPREAD( zu, 2, statistic_regions+1 )
-
-          CASE ( 'v*2' )
-             dopr_index(i) = 31
-             hom(:,2,31,:) = SPREAD( zu, 2, statistic_regions+1 )
-
-          CASE ( 'w*2' )
-             dopr_index(i) = 32
-             hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'pt*2' )
-             dopr_index(i) = 33
-             hom(:,2,33,:) = SPREAD( zu, 2, statistic_regions+1 )
-
-          CASE ( 'e*' )
-             dopr_index(i) = 34
-             hom(:,2,34,:) = SPREAD( zu, 2, statistic_regions+1 )
-
-          CASE ( 'w*2pt*' )
-             dopr_index(i) = 35
-             hom(:,2,35,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w*pt*2' )
-             dopr_index(i) = 36
-             hom(:,2,36,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w*e*' )
-             dopr_index(i) = 37
-             hom(:,2,37,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'w*3' )
-             dopr_index(i) = 38
-             hom(:,2,38,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'Sw' )
-             dopr_index(i) = 39
-             hom(:,2,39,:) = SPREAD( zw, 2, statistic_regions+1 )
-
-          CASE ( 'q', '#q' )
-             IF ( .NOT. cloud_physics )  THEN
-                IF ( myid == 0 )  THEN
-                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
-                           data_output_pr(i),                          &
-                           '    is not implemented for cloud_physics = FALSE'
-                ENDIF
-                CALL local_stop
-             ELSE
-                dopr_index(i) = 41
-                hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 26
-                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
-             ENDIF
-
-          CASE ( 's', '#s' )
-             IF ( .NOT. passive_scalar )  THEN
-                IF ( myid == 0 )  THEN
-                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
-                           data_output_pr(i),                          &
-                           '    is not implemented for passive_scalar = FALSE'
-                ENDIF
-                CALL local_stop
-             ELSE
-                dopr_index(i) = 41
-                hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 26
-                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
-             ENDIF
-
-          CASE ( 'qv', '#qv' )
-             IF ( .NOT. cloud_physics ) THEN
-                dopr_index(i) = 41
-                hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 26
-                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
-             ELSE
-                dopr_index(i) = 42
-                hom(:,2,42,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 27
-                   hom(:,2,27,:)         = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,27,:)       = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
-             ENDIF
-
-          CASE ( 'lpt', '#lpt' )
-             IF ( .NOT. cloud_physics ) THEN
-                IF ( myid == 0 )  THEN
-                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
-                           data_output_pr(i),                          &
-                           '    is not implemented for cloud_physics = FALSE'
-                ENDIF
-                CALL local_stop
-             ELSE
-                dopr_index(i) = 4
-                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
-                IF ( data_output_pr(i)(1:1) == '#' )  THEN
-                   dopr_initial_index(i) = 7
-                   hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
-                   hom(nzb,2,7,:)        = 0.0    ! weil zu(nzb) negativ ist
-                   data_output_pr(i)     = data_output_pr(i)(2:)
-                ENDIF
              ENDIF
 
           CASE ( 'vpt', '#vpt' )
              dopr_index(i) = 44
-             hom(:,2,44,:)  = SPREAD( zu, 2, statistic_regions+1 )
+             dopr_unit(i)  = 'K'
+             hom(:,2,44,:) = SPREAD( zu, 2, statistic_regions+1 )
              IF ( data_output_pr(i)(1:1) == '#' )  THEN
                 dopr_initial_index(i) = 29
@@ -1468,12 +1503,15 @@
           CASE ( 'w"vpt"' )
              dopr_index(i) = 45
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,45,:) = SPREAD( zw, 2, statistic_regions+1 )
 
           CASE ( 'w*vpt*' )
              dopr_index(i) = 46
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,46,:) = SPREAD( zw, 2, statistic_regions+1 )
 
           CASE ( 'wvpt' )
              dopr_index(i) = 47
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,47,:) = SPREAD( zw, 2, statistic_regions+1 )
 
@@ -1488,4 +1526,5 @@
              ELSE
                 dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1501,4 +1540,5 @@
              ELSE
                 dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1514,4 +1554,5 @@
              ELSE
                 dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1527,4 +1568,5 @@
              ELSE
                 dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/m3 m/s'
                 hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1540,4 +1582,5 @@
              ELSE
                 dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/m3 m/s'
                 hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1553,4 +1596,5 @@
              ELSE
                 dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/m3 m/s'
                 hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
              ENDIF
@@ -1560,7 +1604,9 @@
              THEN
                 dopr_index(i) = 48
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSEIF( humidity .AND. cloud_physics ) THEN
                 dopr_index(i) = 51
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,51,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSE
@@ -1578,7 +1624,9 @@
              THEN
                 dopr_index(i) = 49
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSEIF( humidity .AND. cloud_physics ) THEN
                 dopr_index(i) = 52
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,52,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSE
@@ -1596,7 +1644,9 @@
              THEN
                 dopr_index(i) = 50
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSEIF( humidity .AND. cloud_physics ) THEN
                 dopr_index(i) = 53
+                dopr_unit(i)  = 'kg/kg m/s'
                 hom(:,2,53,:) = SPREAD( zw, 2, statistic_regions+1 )
              ELSE
@@ -1620,4 +1670,5 @@
              ELSE
                 dopr_index(i) = 54
+                dopr_unit(i)  = 'kg/kg'
                 hom(:,2,54,:)  = SPREAD( zu, 2, statistic_regions+1 )
              ENDIF
@@ -1625,45 +1676,65 @@
           CASE ( 'w*u*u*/dz' )
              dopr_index(i) = 55
+             dopr_unit(i)  = 'm2/s3'
              hom(:,2,55,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'w*p*/dz' )
              dopr_index(i) = 56
+             dopr_unit(i)  = 'm2/s3'
              hom(:,2,56,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'w"e/dz' )
              dopr_index(i) = 57
+             dopr_unit(i)  = 'm2/s3'
              hom(:,2,57,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'u"pt"' )
              dopr_index(i) = 58
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,58,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'u*pt*' )
              dopr_index(i) = 59
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,59,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'upt_t' )
              dopr_index(i) = 60
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,60,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'v"pt"' )
              dopr_index(i) = 61
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,61,:) = SPREAD( zu, 2, statistic_regions+1 )
              
           CASE ( 'v*pt*' )
              dopr_index(i) = 62
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,62,:) = SPREAD( zu, 2, statistic_regions+1 )
 
           CASE ( 'vpt_t' )
              dopr_index(i) = 63
+             dopr_unit(i)  = 'K m/s'
              hom(:,2,63,:) = SPREAD( zu, 2, statistic_regions+1 )
 
 
           CASE DEFAULT
-             IF ( myid == 0 )  THEN
-                PRINT*, '+++ check_parameters:  unknown output profile:  ', &
-                        'data_output_pr = ', data_output_pr(i)
-             ENDIF
-             CALL local_stop
+
+             CALL user_check_data_output_pr( data_output_pr(i), i, unit )
+
+             IF ( unit == 'illegal' )  THEN
+                IF ( myid == 0 )  THEN
+                   IF ( data_output_pr_user(1) /= ' ' )  THEN
+                      PRINT*, '+++ check_parameters:  illegal value for data_',&
+                                   'output_pr or data_output_pr_user: "',      &
+                                   TRIM( data_output_pr(i) ), '"'
+                   ELSE
+                      PRINT*, '+++ check_parameters:  illegal value for data_',&
+                                   'output_pr: "', TRIM( data_output_pr(i) ),'"'
+                   ENDIF
+                ENDIF
+                CALL local_stop
+             ENDIF
 
        END SELECT
