Ignore:
Timestamp:
May 22, 2007 3:46:47 PM (17 years ago)
Author:
raasch
Message:

Preliminary update for user defined profiles

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/check_parameters.f90

    r77 r87  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Check for user-defined profiles
    77!
    88! Former revisions:
     
    12141214          CASE ( 'u', '#u' )
    12151215             dopr_index(i) = 1
     1216             dopr_unit(i)  = 'm/s'
    12161217             hom(:,2,1,:)  = SPREAD( zu, 2, statistic_regions+1 )
    12171218             IF ( data_output_pr(i)(1:1) == '#' )  THEN
     
    12231224          CASE ( 'v', '#v' )
    12241225             dopr_index(i) = 2
    1225              hom(:,2,2,:) = SPREAD( zu, 2, statistic_regions+1 )
     1226             dopr_unit(i)  = 'm/s'
     1227             hom(:,2,2,:)  = SPREAD( zu, 2, statistic_regions+1 )
    12261228             IF ( data_output_pr(i)(1:1) == '#' )  THEN
    12271229                dopr_initial_index(i) = 6
     
    12321234          CASE ( 'w' )
    12331235             dopr_index(i) = 3
    1234              hom(:,2,3,:) = SPREAD( zw, 2, statistic_regions+1 )
     1236             dopr_unit(i)  = 'm/s'
     1237             hom(:,2,3,:)  = SPREAD( zw, 2, statistic_regions+1 )
    12351238
    12361239          CASE ( 'pt', '#pt' )
    12371240             IF ( .NOT. cloud_physics ) THEN
    12381241                dopr_index(i) = 4
     1242                dopr_unit(i)  = 'K'
     1243                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
     1244                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1245                   dopr_initial_index(i) = 7
     1246                   hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
     1247                   hom(nzb,2,7,:)        = 0.0    ! because zu(nzb) is negative
     1248                   data_output_pr(i)     = data_output_pr(i)(2:)
     1249                ENDIF
     1250             ELSE
     1251                dopr_index(i) = 43
     1252                dopr_unit(i)  = 'K'
     1253                hom(:,2,43,:)  = SPREAD( zu, 2, statistic_regions+1 )
     1254                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1255                   dopr_initial_index(i) = 28
     1256                   hom(:,2,28,:)         = SPREAD( zu, 2, statistic_regions+1 )
     1257                   hom(nzb,2,28,:)       = 0.0    ! because zu(nzb) is negative
     1258                   data_output_pr(i)     = data_output_pr(i)(2:)
     1259                ENDIF
     1260             ENDIF
     1261
     1262          CASE ( 'e' )
     1263             dopr_index(i)  = 8
     1264             dopr_unit(i)   = 'm2/s2'
     1265             hom(:,2,8,:)   = SPREAD( zu, 2, statistic_regions+1 )
     1266             hom(nzb,2,8,:) = 0.0
     1267
     1268          CASE ( 'km', '#km' )
     1269             dopr_index(i)  = 9
     1270             dopr_unit(i)   = 'm2/s'
     1271             hom(:,2,9,:)   = SPREAD( zu, 2, statistic_regions+1 )
     1272             hom(nzb,2,9,:) = 0.0
     1273             IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1274                dopr_initial_index(i) = 23
     1275                hom(:,2,23,:)         = hom(:,2,9,:)
     1276                data_output_pr(i)     = data_output_pr(i)(2:)
     1277             ENDIF
     1278
     1279          CASE ( 'kh', '#kh' )
     1280             dopr_index(i)   = 10
     1281             dopr_unit(i)    = 'm2/s'
     1282             hom(:,2,10,:)   = SPREAD( zu, 2, statistic_regions+1 )
     1283             hom(nzb,2,10,:) = 0.0
     1284             IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1285                dopr_initial_index(i) = 24
     1286                hom(:,2,24,:)         = hom(:,2,10,:)
     1287                data_output_pr(i)     = data_output_pr(i)(2:)
     1288             ENDIF
     1289
     1290          CASE ( 'l', '#l' )
     1291             dopr_index(i)   = 11
     1292             dopr_unit(i)    = 'm'
     1293             hom(:,2,11,:)   = SPREAD( zu, 2, statistic_regions+1 )
     1294             hom(nzb,2,11,:) = 0.0
     1295             IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1296                dopr_initial_index(i) = 25
     1297                hom(:,2,25,:)         = hom(:,2,11,:)
     1298                data_output_pr(i)     = data_output_pr(i)(2:)
     1299             ENDIF
     1300
     1301          CASE ( 'w"u"' )
     1302             dopr_index(i) = 12
     1303             dopr_unit(i)  = 'm2/s2'
     1304             hom(:,2,12,:) = SPREAD( zw, 2, statistic_regions+1 )
     1305             IF ( prandtl_layer )  hom(nzb,2,12,:) = zu(1)
     1306
     1307          CASE ( 'w*u*' )
     1308             dopr_index(i) = 13
     1309             dopr_unit(i)  = 'm2/s2'
     1310             hom(:,2,13,:) = SPREAD( zw, 2, statistic_regions+1 )
     1311
     1312          CASE ( 'w"v"' )
     1313             dopr_index(i) = 14
     1314             dopr_unit(i)  = 'm2/s2'
     1315             hom(:,2,14,:) = SPREAD( zw, 2, statistic_regions+1 )
     1316             IF ( prandtl_layer )  hom(nzb,2,14,:) = zu(1)
     1317
     1318          CASE ( 'w*v*' )
     1319             dopr_index(i) = 15
     1320             dopr_unit(i)  = 'm2/s2'
     1321             hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
     1322
     1323          CASE ( 'w"pt"' )
     1324             dopr_index(i) = 16
     1325             dopr_unit(i)  = 'K m/s'
     1326             hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
     1327
     1328          CASE ( 'w*pt*' )
     1329             dopr_index(i) = 17
     1330             dopr_unit(i)  = 'K m/s'
     1331             hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
     1332
     1333          CASE ( 'wpt' )
     1334             dopr_index(i) = 18
     1335             dopr_unit(i)  = 'K m/s'
     1336             hom(:,2,18,:) = SPREAD( zw, 2, statistic_regions+1 )
     1337
     1338          CASE ( 'wu' )
     1339             dopr_index(i) = 19
     1340             dopr_unit(i)  = 'm2/s2'
     1341             hom(:,2,19,:) = SPREAD( zw, 2, statistic_regions+1 )
     1342             IF ( prandtl_layer )  hom(nzb,2,19,:) = zu(1)
     1343
     1344          CASE ( 'wv' )
     1345             dopr_index(i) = 20
     1346             dopr_unit(i)  = 'm2/s2'
     1347             hom(:,2,20,:) = SPREAD( zw, 2, statistic_regions+1 )
     1348             IF ( prandtl_layer )  hom(nzb,2,20,:) = zu(1)
     1349
     1350          CASE ( 'w*pt*BC' )
     1351             dopr_index(i) = 21
     1352             dopr_unit(i)  = 'K m/s'
     1353             hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
     1354
     1355          CASE ( 'wptBC' )
     1356             dopr_index(i) = 22
     1357             dopr_unit(i)  = 'K m/s'
     1358             hom(:,2,22,:) = SPREAD( zw, 2, statistic_regions+1 )
     1359
     1360          CASE ( 'u*2' )
     1361             dopr_index(i) = 30
     1362             dopr_unit(i)  = 'm2/s2'
     1363             hom(:,2,30,:) = SPREAD( zu, 2, statistic_regions+1 )
     1364
     1365          CASE ( 'v*2' )
     1366             dopr_index(i) = 31
     1367             dopr_unit(i)  = 'm2/s2'
     1368             hom(:,2,31,:) = SPREAD( zu, 2, statistic_regions+1 )
     1369
     1370          CASE ( 'w*2' )
     1371             dopr_index(i) = 32
     1372             dopr_unit(i)  = 'm2/s2'
     1373             hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
     1374
     1375          CASE ( 'pt*2' )
     1376             dopr_index(i) = 33
     1377             dopr_unit(i)  = 'K2'
     1378             hom(:,2,33,:) = SPREAD( zu, 2, statistic_regions+1 )
     1379
     1380          CASE ( 'e*' )
     1381             dopr_index(i) = 34
     1382             dopr_unit(i)  = 'm2/s2'
     1383             hom(:,2,34,:) = SPREAD( zu, 2, statistic_regions+1 )
     1384
     1385          CASE ( 'w*2pt*' )
     1386             dopr_index(i) = 35
     1387             dopr_unit(i)  = 'K m2/s2'
     1388             hom(:,2,35,:) = SPREAD( zw, 2, statistic_regions+1 )
     1389
     1390          CASE ( 'w*pt*2' )
     1391             dopr_index(i) = 36
     1392             dopr_unit(i)  = 'K2 m/s'
     1393             hom(:,2,36,:) = SPREAD( zw, 2, statistic_regions+1 )
     1394
     1395          CASE ( 'w*e*' )
     1396             dopr_index(i) = 37
     1397             dopr_unit(i)  = 'm3/s3'
     1398             hom(:,2,37,:) = SPREAD( zw, 2, statistic_regions+1 )
     1399
     1400          CASE ( 'w*3' )
     1401             dopr_index(i) = 38
     1402             dopr_unit(i)  = 'm3/s3'
     1403             hom(:,2,38,:) = SPREAD( zw, 2, statistic_regions+1 )
     1404
     1405          CASE ( 'Sw' )
     1406             dopr_index(i) = 39
     1407             hom(:,2,39,:) = SPREAD( zw, 2, statistic_regions+1 )
     1408
     1409          CASE ( 'q', '#q' )
     1410             IF ( .NOT. cloud_physics )  THEN
     1411                IF ( myid == 0 )  THEN
     1412                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
     1413                           data_output_pr(i),                          &
     1414                           '    is not implemented for cloud_physics = FALSE'
     1415                ENDIF
     1416                CALL local_stop
     1417             ELSE
     1418                dopr_index(i) = 41
     1419                dopr_unit(i)  = 'kg/kg'
     1420                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
     1421                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1422                   dopr_initial_index(i) = 26
     1423                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
     1424                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
     1425                   data_output_pr(i)     = data_output_pr(i)(2:)
     1426                ENDIF
     1427             ENDIF
     1428
     1429          CASE ( 's', '#s' )
     1430             IF ( .NOT. passive_scalar )  THEN
     1431                IF ( myid == 0 )  THEN
     1432                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
     1433                           data_output_pr(i),                          &
     1434                           '    is not implemented for passive_scalar = FALSE'
     1435                ENDIF
     1436                CALL local_stop
     1437             ELSE
     1438                dopr_index(i) = 41
     1439                dopr_unit(i)  = 'kg/m3'
     1440                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
     1441                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1442                   dopr_initial_index(i) = 26
     1443                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
     1444                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
     1445                   data_output_pr(i)     = data_output_pr(i)(2:)
     1446                ENDIF
     1447             ENDIF
     1448
     1449          CASE ( 'qv', '#qv' )
     1450             IF ( .NOT. cloud_physics ) THEN
     1451                dopr_index(i) = 41
     1452                dopr_unit(i)  = 'kg/kg'
     1453                hom(:,2,41,:) = SPREAD( zu, 2, statistic_regions+1 )
     1454                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1455                   dopr_initial_index(i) = 26
     1456                   hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
     1457                   hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
     1458                   data_output_pr(i)     = data_output_pr(i)(2:)
     1459                ENDIF
     1460             ELSE
     1461                dopr_index(i) = 42
     1462                dopr_unit(i)  = 'kg/kg'
     1463                hom(:,2,42,:) = SPREAD( zu, 2, statistic_regions+1 )
     1464                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     1465                   dopr_initial_index(i) = 27
     1466                   hom(:,2,27,:)         = SPREAD( zu, 2, statistic_regions+1 )
     1467                   hom(nzb,2,27,:)       = 0.0    ! weil zu(nzb) negativ ist
     1468                   data_output_pr(i)     = data_output_pr(i)(2:)
     1469                ENDIF
     1470             ENDIF
     1471
     1472          CASE ( 'lpt', '#lpt' )
     1473             IF ( .NOT. cloud_physics ) THEN
     1474                IF ( myid == 0 )  THEN
     1475                   PRINT*, '+++ check_parameters:  data_output_pr = ', &
     1476                           data_output_pr(i),                          &
     1477                           '    is not implemented for cloud_physics = FALSE'
     1478                ENDIF
     1479                CALL local_stop
     1480             ELSE
     1481                dopr_index(i) = 4
     1482                dopr_unit(i)  = 'K'
    12391483                hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
    12401484                IF ( data_output_pr(i)(1:1) == '#' )  THEN
     
    12441488                   data_output_pr(i)     = data_output_pr(i)(2:)
    12451489                ENDIF
    1246              ELSE
    1247                 dopr_index(i) = 43
    1248                 hom(:,2,43,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1249                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1250                    dopr_initial_index(i) = 28
    1251                    hom(:,2,28,:)         = SPREAD( zu, 2, statistic_regions+1 )
    1252                    hom(nzb,2,28,:)       = 0.0    ! weil zu(nzb) negativ ist
    1253                    data_output_pr(i)     = data_output_pr(i)(2:)
    1254                 ENDIF
    1255              ENDIF
    1256 
    1257           CASE ( 'e' )
    1258              dopr_index(i)  = 8
    1259              hom(:,2,8,:)   = SPREAD( zu, 2, statistic_regions+1 )
    1260              hom(nzb,2,8,:) = 0.0
    1261 
    1262           CASE ( 'km', '#km' )
    1263              dopr_index(i)  = 9
    1264              hom(:,2,9,:)   = SPREAD( zu, 2, statistic_regions+1 )
    1265              hom(nzb,2,9,:) = 0.0
    1266              IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1267                 dopr_initial_index(i) = 23
    1268                 hom(:,2,23,:)         = hom(:,2,9,:)
    1269                 data_output_pr(i)     = data_output_pr(i)(2:)
    1270              ENDIF
    1271 
    1272           CASE ( 'kh', '#kh' )
    1273              dopr_index(i)   = 10
    1274              hom(:,2,10,:)   = SPREAD( zu, 2, statistic_regions+1 )
    1275              hom(nzb,2,10,:) = 0.0
    1276              IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1277                 dopr_initial_index(i) = 24
    1278                 hom(:,2,24,:)         = hom(:,2,10,:)
    1279                 data_output_pr(i)     = data_output_pr(i)(2:)
    1280              ENDIF
    1281 
    1282           CASE ( 'l', '#l' )
    1283              dopr_index(i)   = 11
    1284              hom(:,2,11,:)   = SPREAD( zu, 2, statistic_regions+1 )
    1285              hom(nzb,2,11,:) = 0.0
    1286              IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1287                 dopr_initial_index(i) = 25
    1288                 hom(:,2,25,:)         = hom(:,2,11,:)
    1289                 data_output_pr(i)     = data_output_pr(i)(2:)
    1290              ENDIF
    1291 
    1292           CASE ( 'w"u"' )
    1293              dopr_index(i) = 12
    1294              hom(:,2,12,:) = SPREAD( zw, 2, statistic_regions+1 )
    1295              IF ( prandtl_layer )  hom(nzb,2,12,:) = zu(1)
    1296 
    1297           CASE ( 'w*u*' )
    1298              dopr_index(i) = 13
    1299              hom(:,2,13,:) = SPREAD( zw, 2, statistic_regions+1 )
    1300 
    1301           CASE ( 'w"v"' )
    1302              dopr_index(i) = 14
    1303              hom(:,2,14,:) = SPREAD( zw, 2, statistic_regions+1 )
    1304              IF ( prandtl_layer )  hom(nzb,2,14,:) = zu(1)
    1305 
    1306           CASE ( 'w*v*' )
    1307              dopr_index(i) = 15
    1308              hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
    1309 
    1310           CASE ( 'w"pt"' )
    1311              dopr_index(i) = 16
    1312              hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
    1313 
    1314           CASE ( 'w*pt*' )
    1315              dopr_index(i) = 17
    1316              hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
    1317 
    1318           CASE ( 'wpt' )
    1319              dopr_index(i) = 18
    1320              hom(:,2,18,:) = SPREAD( zw, 2, statistic_regions+1 )
    1321 
    1322           CASE ( 'wu' )
    1323              dopr_index(i) = 19
    1324              hom(:,2,19,:) = SPREAD( zw, 2, statistic_regions+1 )
    1325              IF ( prandtl_layer )  hom(nzb,2,19,:) = zu(1)
    1326 
    1327           CASE ( 'wv' )
    1328              dopr_index(i) = 20
    1329              hom(:,2,20,:) = SPREAD( zw, 2, statistic_regions+1 )
    1330              IF ( prandtl_layer )  hom(nzb,2,20,:) = zu(1)
    1331 
    1332           CASE ( 'w*pt*BC' )
    1333              dopr_index(i) = 21
    1334              hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
    1335 
    1336           CASE ( 'wptBC' )
    1337              dopr_index(i) = 22
    1338              hom(:,2,22,:) = SPREAD( zw, 2, statistic_regions+1 )
    1339 
    1340           CASE ( 'u*2' )
    1341              dopr_index(i) = 30
    1342              hom(:,2,30,:) = SPREAD( zu, 2, statistic_regions+1 )
    1343 
    1344           CASE ( 'v*2' )
    1345              dopr_index(i) = 31
    1346              hom(:,2,31,:) = SPREAD( zu, 2, statistic_regions+1 )
    1347 
    1348           CASE ( 'w*2' )
    1349              dopr_index(i) = 32
    1350              hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
    1351 
    1352           CASE ( 'pt*2' )
    1353              dopr_index(i) = 33
    1354              hom(:,2,33,:) = SPREAD( zu, 2, statistic_regions+1 )
    1355 
    1356           CASE ( 'e*' )
    1357              dopr_index(i) = 34
    1358              hom(:,2,34,:) = SPREAD( zu, 2, statistic_regions+1 )
    1359 
    1360           CASE ( 'w*2pt*' )
    1361              dopr_index(i) = 35
    1362              hom(:,2,35,:) = SPREAD( zw, 2, statistic_regions+1 )
    1363 
    1364           CASE ( 'w*pt*2' )
    1365              dopr_index(i) = 36
    1366              hom(:,2,36,:) = SPREAD( zw, 2, statistic_regions+1 )
    1367 
    1368           CASE ( 'w*e*' )
    1369              dopr_index(i) = 37
    1370              hom(:,2,37,:) = SPREAD( zw, 2, statistic_regions+1 )
    1371 
    1372           CASE ( 'w*3' )
    1373              dopr_index(i) = 38
    1374              hom(:,2,38,:) = SPREAD( zw, 2, statistic_regions+1 )
    1375 
    1376           CASE ( 'Sw' )
    1377              dopr_index(i) = 39
    1378              hom(:,2,39,:) = SPREAD( zw, 2, statistic_regions+1 )
    1379 
    1380           CASE ( 'q', '#q' )
    1381              IF ( .NOT. cloud_physics )  THEN
    1382                 IF ( myid == 0 )  THEN
    1383                    PRINT*, '+++ check_parameters:  data_output_pr = ', &
    1384                            data_output_pr(i),                          &
    1385                            '    is not implemented for cloud_physics = FALSE'
    1386                 ENDIF
    1387                 CALL local_stop
    1388              ELSE
    1389                 dopr_index(i) = 41
    1390                 hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1391                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1392                    dopr_initial_index(i) = 26
    1393                    hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
    1394                    hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
    1395                    data_output_pr(i)     = data_output_pr(i)(2:)
    1396                 ENDIF
    1397              ENDIF
    1398 
    1399           CASE ( 's', '#s' )
    1400              IF ( .NOT. passive_scalar )  THEN
    1401                 IF ( myid == 0 )  THEN
    1402                    PRINT*, '+++ check_parameters:  data_output_pr = ', &
    1403                            data_output_pr(i),                          &
    1404                            '    is not implemented for passive_scalar = FALSE'
    1405                 ENDIF
    1406                 CALL local_stop
    1407              ELSE
    1408                 dopr_index(i) = 41
    1409                 hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1410                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1411                    dopr_initial_index(i) = 26
    1412                    hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
    1413                    hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
    1414                    data_output_pr(i)     = data_output_pr(i)(2:)
    1415                 ENDIF
    1416              ENDIF
    1417 
    1418           CASE ( 'qv', '#qv' )
    1419              IF ( .NOT. cloud_physics ) THEN
    1420                 dopr_index(i) = 41
    1421                 hom(:,2,41,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1422                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1423                    dopr_initial_index(i) = 26
    1424                    hom(:,2,26,:)         = SPREAD( zu, 2, statistic_regions+1 )
    1425                    hom(nzb,2,26,:)       = 0.0    ! weil zu(nzb) negativ ist
    1426                    data_output_pr(i)     = data_output_pr(i)(2:)
    1427                 ENDIF
    1428              ELSE
    1429                 dopr_index(i) = 42
    1430                 hom(:,2,42,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1431                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1432                    dopr_initial_index(i) = 27
    1433                    hom(:,2,27,:)         = SPREAD( zu, 2, statistic_regions+1 )
    1434                    hom(nzb,2,27,:)       = 0.0    ! weil zu(nzb) negativ ist
    1435                    data_output_pr(i)     = data_output_pr(i)(2:)
    1436                 ENDIF
    1437              ENDIF
    1438 
    1439           CASE ( 'lpt', '#lpt' )
    1440              IF ( .NOT. cloud_physics ) THEN
    1441                 IF ( myid == 0 )  THEN
    1442                    PRINT*, '+++ check_parameters:  data_output_pr = ', &
    1443                            data_output_pr(i),                          &
    1444                            '    is not implemented for cloud_physics = FALSE'
    1445                 ENDIF
    1446                 CALL local_stop
    1447              ELSE
    1448                 dopr_index(i) = 4
    1449                 hom(:,2,4,:)  = SPREAD( zu, 2, statistic_regions+1 )
    1450                 IF ( data_output_pr(i)(1:1) == '#' )  THEN
    1451                    dopr_initial_index(i) = 7
    1452                    hom(:,2,7,:)          = SPREAD( zu, 2, statistic_regions+1 )
    1453                    hom(nzb,2,7,:)        = 0.0    ! weil zu(nzb) negativ ist
    1454                    data_output_pr(i)     = data_output_pr(i)(2:)
    1455                 ENDIF
    14561490             ENDIF
    14571491
    14581492          CASE ( 'vpt', '#vpt' )
    14591493             dopr_index(i) = 44
    1460              hom(:,2,44,:)  = SPREAD( zu, 2, statistic_regions+1 )
     1494             dopr_unit(i)  = 'K'
     1495             hom(:,2,44,:) = SPREAD( zu, 2, statistic_regions+1 )
    14611496             IF ( data_output_pr(i)(1:1) == '#' )  THEN
    14621497                dopr_initial_index(i) = 29
     
    14681503          CASE ( 'w"vpt"' )
    14691504             dopr_index(i) = 45
     1505             dopr_unit(i)  = 'K m/s'
    14701506             hom(:,2,45,:) = SPREAD( zw, 2, statistic_regions+1 )
    14711507
    14721508          CASE ( 'w*vpt*' )
    14731509             dopr_index(i) = 46
     1510             dopr_unit(i)  = 'K m/s'
    14741511             hom(:,2,46,:) = SPREAD( zw, 2, statistic_regions+1 )
    14751512
    14761513          CASE ( 'wvpt' )
    14771514             dopr_index(i) = 47
     1515             dopr_unit(i)  = 'K m/s'
    14781516             hom(:,2,47,:) = SPREAD( zw, 2, statistic_regions+1 )
    14791517
     
    14881526             ELSE
    14891527                dopr_index(i) = 48
     1528                dopr_unit(i)  = 'kg/kg m/s'
    14901529                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
    14911530             ENDIF
     
    15011540             ELSE
    15021541                dopr_index(i) = 49
     1542                dopr_unit(i)  = 'kg/kg m/s'
    15031543                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
    15041544             ENDIF
     
    15141554             ELSE
    15151555                dopr_index(i) = 50
     1556                dopr_unit(i)  = 'kg/kg m/s'
    15161557                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
    15171558             ENDIF
     
    15271568             ELSE
    15281569                dopr_index(i) = 48
     1570                dopr_unit(i)  = 'kg/m3 m/s'
    15291571                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
    15301572             ENDIF
     
    15401582             ELSE
    15411583                dopr_index(i) = 49
     1584                dopr_unit(i)  = 'kg/m3 m/s'
    15421585                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
    15431586             ENDIF
     
    15531596             ELSE
    15541597                dopr_index(i) = 50
     1598                dopr_unit(i)  = 'kg/m3 m/s'
    15551599                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
    15561600             ENDIF
     
    15601604             THEN
    15611605                dopr_index(i) = 48
     1606                dopr_unit(i)  = 'kg/kg m/s'
    15621607                hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 )
    15631608             ELSEIF( humidity .AND. cloud_physics ) THEN
    15641609                dopr_index(i) = 51
     1610                dopr_unit(i)  = 'kg/kg m/s'
    15651611                hom(:,2,51,:) = SPREAD( zw, 2, statistic_regions+1 )
    15661612             ELSE
     
    15781624             THEN
    15791625                dopr_index(i) = 49
     1626                dopr_unit(i)  = 'kg/kg m/s'
    15801627                hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 )
    15811628             ELSEIF( humidity .AND. cloud_physics ) THEN
    15821629                dopr_index(i) = 52
     1630                dopr_unit(i)  = 'kg/kg m/s'
    15831631                hom(:,2,52,:) = SPREAD( zw, 2, statistic_regions+1 )
    15841632             ELSE
     
    15961644             THEN
    15971645                dopr_index(i) = 50
     1646                dopr_unit(i)  = 'kg/kg m/s'
    15981647                hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 )
    15991648             ELSEIF( humidity .AND. cloud_physics ) THEN
    16001649                dopr_index(i) = 53
     1650                dopr_unit(i)  = 'kg/kg m/s'
    16011651                hom(:,2,53,:) = SPREAD( zw, 2, statistic_regions+1 )
    16021652             ELSE
     
    16201670             ELSE
    16211671                dopr_index(i) = 54
     1672                dopr_unit(i)  = 'kg/kg'
    16221673                hom(:,2,54,:)  = SPREAD( zu, 2, statistic_regions+1 )
    16231674             ENDIF
     
    16251676          CASE ( 'w*u*u*/dz' )
    16261677             dopr_index(i) = 55
     1678             dopr_unit(i)  = 'm2/s3'
    16271679             hom(:,2,55,:) = SPREAD( zu, 2, statistic_regions+1 )
    16281680
    16291681          CASE ( 'w*p*/dz' )
    16301682             dopr_index(i) = 56
     1683             dopr_unit(i)  = 'm2/s3'
    16311684             hom(:,2,56,:) = SPREAD( zu, 2, statistic_regions+1 )
    16321685
    16331686          CASE ( 'w"e/dz' )
    16341687             dopr_index(i) = 57
     1688             dopr_unit(i)  = 'm2/s3'
    16351689             hom(:,2,57,:) = SPREAD( zu, 2, statistic_regions+1 )
    16361690
    16371691          CASE ( 'u"pt"' )
    16381692             dopr_index(i) = 58
     1693             dopr_unit(i)  = 'K m/s'
    16391694             hom(:,2,58,:) = SPREAD( zu, 2, statistic_regions+1 )
    16401695
    16411696          CASE ( 'u*pt*' )
    16421697             dopr_index(i) = 59
     1698             dopr_unit(i)  = 'K m/s'
    16431699             hom(:,2,59,:) = SPREAD( zu, 2, statistic_regions+1 )
    16441700
    16451701          CASE ( 'upt_t' )
    16461702             dopr_index(i) = 60
     1703             dopr_unit(i)  = 'K m/s'
    16471704             hom(:,2,60,:) = SPREAD( zu, 2, statistic_regions+1 )
    16481705
    16491706          CASE ( 'v"pt"' )
    16501707             dopr_index(i) = 61
     1708             dopr_unit(i)  = 'K m/s'
    16511709             hom(:,2,61,:) = SPREAD( zu, 2, statistic_regions+1 )
    16521710             
    16531711          CASE ( 'v*pt*' )
    16541712             dopr_index(i) = 62
     1713             dopr_unit(i)  = 'K m/s'
    16551714             hom(:,2,62,:) = SPREAD( zu, 2, statistic_regions+1 )
    16561715
    16571716          CASE ( 'vpt_t' )
    16581717             dopr_index(i) = 63
     1718             dopr_unit(i)  = 'K m/s'
    16591719             hom(:,2,63,:) = SPREAD( zu, 2, statistic_regions+1 )
    16601720
    16611721
    16621722          CASE DEFAULT
    1663              IF ( myid == 0 )  THEN
    1664                 PRINT*, '+++ check_parameters:  unknown output profile:  ', &
    1665                         'data_output_pr = ', data_output_pr(i)
    1666              ENDIF
    1667              CALL local_stop
     1723
     1724             CALL user_check_data_output_pr( data_output_pr(i), i, unit )
     1725
     1726             IF ( unit == 'illegal' )  THEN
     1727                IF ( myid == 0 )  THEN
     1728                   IF ( data_output_pr_user(1) /= ' ' )  THEN
     1729                      PRINT*, '+++ check_parameters:  illegal value for data_',&
     1730                                   'output_pr or data_output_pr_user: "',      &
     1731                                   TRIM( data_output_pr(i) ), '"'
     1732                   ELSE
     1733                      PRINT*, '+++ check_parameters:  illegal value for data_',&
     1734                                   'output_pr: "', TRIM( data_output_pr(i) ),'"'
     1735                   ENDIF
     1736                ENDIF
     1737                CALL local_stop
     1738             ENDIF
    16681739
    16691740       END SELECT
Note: See TracChangeset for help on using the changeset viewer.