Changeset 410 for palm/trunk/SOURCE/modules.f90
- Timestamp:
- Dec 4, 2009 5:05:40 PM (15 years ago)
- Location:
- palm/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk
-
Property
svn:mergeinfo
set to
False
/palm/branches/letzel/masked_output 296-409
-
Property
svn:mergeinfo
set to
False
-
palm/trunk/SOURCE/modules.f90
r405 r410 8 8 ! initial data assignments to some dvrp arrays changed due to error messages 9 9 ! from gfortran compiler 10 ! 11 ! Branch revisions: 12 ! ----------------- 13 ! Masked data output: + dt_domask, mask_01~20_x|y|z, mask_01~20_x|y|z_loop, 14 ! mask_scale|_x|y|z, masks, netcdf_format_mask[_av], skip_time_domask 10 15 ! 11 16 ! Former revisions: … … 281 286 TYPE(file_status), DIMENSION(200) :: openfile = file_status(.FALSE.,.FALSE.) 282 287 288 289 INTEGER, PARAMETER :: mask_xyz_dimension = 100, max_masks = 20 283 290 284 291 CHARACTER (LEN=1) :: cycle_mg = 'w', timestep_reason = ' ' … … 322 329 CHARACTER (LEN=11), DIMENSION(100) :: data_output = ' ', & 323 330 data_output_user = ' ', doav = ' ' 331 CHARACTER (LEN=10), DIMENSION(100) :: & 332 data_output_mask_01 = ' ', data_output_mask_02 = ' ', & 333 data_output_mask_03 = ' ', data_output_mask_04 = ' ', & 334 data_output_mask_05 = ' ', data_output_mask_06 = ' ', & 335 data_output_mask_07 = ' ', data_output_mask_08 = ' ', & 336 data_output_mask_09 = ' ', data_output_mask_10 = ' ', & 337 data_output_mask_11 = ' ', data_output_mask_12 = ' ', & 338 data_output_mask_13 = ' ', data_output_mask_14 = ' ', & 339 data_output_mask_15 = ' ', data_output_mask_16 = ' ', & 340 data_output_mask_17 = ' ', data_output_mask_18 = ' ', & 341 data_output_mask_19 = ' ', data_output_mask_20 = ' ', & 342 data_output_mask_user_01 = ' ', data_output_mask_user_02 = ' ', & 343 data_output_mask_user_03 = ' ', data_output_mask_user_04 = ' ', & 344 data_output_mask_user_05 = ' ', data_output_mask_user_06 = ' ', & 345 data_output_mask_user_07 = ' ', data_output_mask_user_08 = ' ', & 346 data_output_mask_user_09 = ' ', data_output_mask_user_10 = ' ', & 347 data_output_mask_user_11 = ' ', data_output_mask_user_12 = ' ', & 348 data_output_mask_user_13 = ' ', data_output_mask_user_14 = ' ', & 349 data_output_mask_user_15 = ' ', data_output_mask_user_16 = ' ', & 350 data_output_mask_user_17 = ' ', data_output_mask_user_18 = ' ', & 351 data_output_mask_user_19 = ' ', data_output_mask_user_20 = ' ' 352 324 353 CHARACTER (LEN=10), DIMENSION(300) :: data_output_pr = ' ' 325 354 CHARACTER (LEN=10), DIMENSION(200) :: data_output_pr_user = ' ' 326 CHARACTER (LEN=20), DIMENSION(10) :: netcdf_precision = ' ' 327 355 CHARACTER (LEN=20), DIMENSION(50) :: netcdf_precision = ' ' 356 357 CHARACTER (LEN=10), DIMENSION(max_masks,0:1,100) :: domask = ' ' 328 358 CHARACTER (LEN=10), DIMENSION(0:1,100) :: do2d = ' ', do3d = ' ' 329 359 … … 341 371 inflow_disturbance_begin = -1, inflow_disturbance_end = -1, & 342 372 intermediate_timestep_count, intermediate_timestep_count_max, & 343 iran = -1234567, last_dt_change = 0, maximum_grid_level, & 373 iran = -1234567, last_dt_change = 0, masks = 0, & 374 maximum_grid_level, & 344 375 max_pr_user = 0, mgcycles = 0, mg_cycles = -1, & 345 mg_switch_to_pe0_level = 0, ngsrb = 2, nsor = 20, &376 mg_switch_to_pe0_level = 0, mid, ngsrb = 2, nsor = 20, & 346 377 nsor_ini = 100, n_sor, normalizing_region = 0, & 347 378 nz_do1d, nz_do3d = -9999, outflow_damping_width = -1, & … … 354 385 do2d_xz_time_count(0:1), do2d_yz_time_count(0:1), & 355 386 do3d_no(0:1) = 0, do3d_time_count(0:1), & 387 domask_no(max_masks,0:1) = 0, domask_time_count(max_masks,0:1),& 356 388 lad_vertical_gradient_level_ind(10) = -9999, & 389 mask_size(max_masks,3) = -1, mask_size_l(max_masks,3) = -1, & 390 mask_start_l(max_masks,3) = -1, & 391 nc_format_mask(1:max_masks,0:1), & 392 netcdf_format_mask(1:max_masks) = 1, & 393 netcdf_format_mask_av(1:max_masks) = 1, & 357 394 pt_vertical_gradient_level_ind(10) = -9999, & 358 395 q_vertical_gradient_level_ind(10) = -9999, & … … 364 401 365 402 INTEGER, DIMENSION(:), ALLOCATABLE :: grid_level_count 403 404 INTEGER, DIMENSION(:,:), ALLOCATABLE :: mask_i, mask_j, mask_k 405 INTEGER, DIMENSION(:,:), ALLOCATABLE :: & 406 mask_i_global, mask_j_global, mask_k_global 366 407 367 408 LOGICAL :: adjust_mixing_length = .FALSE., avs_output = .FALSE., & … … 381 422 disturbance_created = .FALSE., & 382 423 first_call_advec_particles = .TRUE., & 383 force_print_header = .FALSE., galilei_transformation = .FALSE.,& 424 force_print_header = .FALSE., format_parallel_io = .FALSE., & 425 galilei_transformation = .FALSE.,& 384 426 humidity = .FALSE., humidity_remote = .FALSE., & 385 427 inflow_l = .FALSE., inflow_n = .FALSE., & … … 439 481 km_damp_max = -1.0, lad_surface = 0.0, & 440 482 leaf_surface_concentration = 0.0, long_filter_factor = 0.0, & 441 maximum_cpu_time_allowed = 0.0, molecular_viscosity = 1.461E-5, & 483 mask_scale_x = 1.0, mask_scale_y = 1.0, mask_scale_z = 1.0, & 484 maximum_cpu_time_allowed = 0.0, & 485 molecular_viscosity = 1.461E-5, & 442 486 old_dt = 1.0E-10, omega = 7.29212E-5, omega_sor = 1.8, & 443 487 overshoot_limit_e = 0.0, overshoot_limit_pt = 0.0, & … … 480 524 REAL :: do2d_xy_last_time(0:1) = -1.0, do2d_xz_last_time(0:1) = -1.0, & 481 525 do2d_yz_last_time(0:1) = -1.0, dpdxy(1:2) = 0.0, & 482 lad_vertical_gradient(10) = 0.0,&526 dt_domask(max_masks) = 9999999.9, lad_vertical_gradient(10) = 0.0,& 483 527 lad_vertical_gradient_level(10) = -9999999.9, & 528 mask_scale(3), & 484 529 pt_vertical_gradient(10) = 0.0, & 485 530 pt_vertical_gradient_level(10) = -9999999.9, & … … 489 534 s_vertical_gradient_level(10) = -1.0, & 490 535 sa_vertical_gradient(10) = 0.0, & 491 sa_vertical_gradient_level(10) = -9999999.9, threshold(20) = 0.0, & 536 sa_vertical_gradient_level(10) = -9999999.9, & 537 skip_time_domask(max_masks) = 9999999.9, threshold(20) = 0.0, & 538 time_domask(max_masks) = 0.0, & 492 539 tsc(10) = (/ 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 /), & 493 540 ug_vertical_gradient(10) = 0.0, & … … 502 549 REAL, DIMENSION(:), ALLOCATABLE :: dp_smooth_factor 503 550 551 REAL, DIMENSION(mask_xyz_dimension) :: & 552 mask_01_x = -1.0, mask_02_x = -1.0, mask_03_x = -1.0, mask_04_x = -1.0, & 553 mask_05_x = -1.0, mask_06_x = -1.0, mask_07_x = -1.0, mask_08_x = -1.0, & 554 mask_09_x = -1.0, mask_10_x = -1.0, mask_11_x = -1.0, mask_12_x = -1.0, & 555 mask_13_x = -1.0, mask_14_x = -1.0, mask_15_x = -1.0, mask_16_x = -1.0, & 556 mask_17_x = -1.0, mask_18_x = -1.0, mask_19_x = -1.0, mask_20_x = -1.0, & 557 mask_01_y = -1.0, mask_02_y = -1.0, mask_03_y = -1.0, mask_04_y = -1.0, & 558 mask_05_y = -1.0, mask_06_y = -1.0, mask_07_y = -1.0, mask_08_y = -1.0, & 559 mask_09_y = -1.0, mask_10_y = -1.0, mask_11_y = -1.0, mask_12_y = -1.0, & 560 mask_13_y = -1.0, mask_14_y = -1.0, mask_15_y = -1.0, mask_16_y = -1.0, & 561 mask_17_y = -1.0, mask_18_y = -1.0, mask_19_y = -1.0, mask_20_y = -1.0, & 562 mask_01_z = -1.0, mask_02_z = -1.0, mask_03_z = -1.0, mask_04_z = -1.0, & 563 mask_05_z = -1.0, mask_06_z = -1.0, mask_07_z = -1.0, mask_08_z = -1.0, & 564 mask_09_z = -1.0, mask_10_z = -1.0, mask_11_z = -1.0, mask_12_z = -1.0, & 565 mask_13_z = -1.0, mask_14_z = -1.0, mask_15_z = -1.0, mask_16_z = -1.0, & 566 mask_17_z = -1.0, mask_18_z = -1.0, mask_19_z = -1.0, mask_20_z = -1.0 567 REAL, DIMENSION(3) :: & 568 mask_01_x_loop = (/ -1.0, -1.0, 0.0 /), & 569 mask_02_x_loop = (/ -1.0, -1.0, 0.0 /), & 570 mask_03_x_loop = (/ -1.0, -1.0, 0.0 /), & 571 mask_04_x_loop = (/ -1.0, -1.0, 0.0 /), & 572 mask_05_x_loop = (/ -1.0, -1.0, 0.0 /), & 573 mask_06_x_loop = (/ -1.0, -1.0, 0.0 /), & 574 mask_07_x_loop = (/ -1.0, -1.0, 0.0 /), & 575 mask_08_x_loop = (/ -1.0, -1.0, 0.0 /), & 576 mask_09_x_loop = (/ -1.0, -1.0, 0.0 /), & 577 mask_10_x_loop = (/ -1.0, -1.0, 0.0 /), & 578 mask_11_x_loop = (/ -1.0, -1.0, 0.0 /), & 579 mask_12_x_loop = (/ -1.0, -1.0, 0.0 /), & 580 mask_13_x_loop = (/ -1.0, -1.0, 0.0 /), & 581 mask_14_x_loop = (/ -1.0, -1.0, 0.0 /), & 582 mask_15_x_loop = (/ -1.0, -1.0, 0.0 /), & 583 mask_16_x_loop = (/ -1.0, -1.0, 0.0 /), & 584 mask_17_x_loop = (/ -1.0, -1.0, 0.0 /), & 585 mask_18_x_loop = (/ -1.0, -1.0, 0.0 /), & 586 mask_19_x_loop = (/ -1.0, -1.0, 0.0 /), & 587 mask_20_x_loop = (/ -1.0, -1.0, 0.0 /), & 588 mask_01_y_loop = (/ -1.0, -1.0, 0.0 /), & 589 mask_02_y_loop = (/ -1.0, -1.0, 0.0 /), & 590 mask_03_y_loop = (/ -1.0, -1.0, 0.0 /), & 591 mask_04_y_loop = (/ -1.0, -1.0, 0.0 /), & 592 mask_05_y_loop = (/ -1.0, -1.0, 0.0 /), & 593 mask_06_y_loop = (/ -1.0, -1.0, 0.0 /), & 594 mask_07_y_loop = (/ -1.0, -1.0, 0.0 /), & 595 mask_08_y_loop = (/ -1.0, -1.0, 0.0 /), & 596 mask_09_y_loop = (/ -1.0, -1.0, 0.0 /), & 597 mask_10_y_loop = (/ -1.0, -1.0, 0.0 /), & 598 mask_11_y_loop = (/ -1.0, -1.0, 0.0 /), & 599 mask_12_y_loop = (/ -1.0, -1.0, 0.0 /), & 600 mask_13_y_loop = (/ -1.0, -1.0, 0.0 /), & 601 mask_14_y_loop = (/ -1.0, -1.0, 0.0 /), & 602 mask_15_y_loop = (/ -1.0, -1.0, 0.0 /), & 603 mask_16_y_loop = (/ -1.0, -1.0, 0.0 /), & 604 mask_17_y_loop = (/ -1.0, -1.0, 0.0 /), & 605 mask_18_y_loop = (/ -1.0, -1.0, 0.0 /), & 606 mask_19_y_loop = (/ -1.0, -1.0, 0.0 /), & 607 mask_20_y_loop = (/ -1.0, -1.0, 0.0 /), & 608 mask_01_z_loop = (/ -1.0, -1.0, 0.0 /), & 609 mask_02_z_loop = (/ -1.0, -1.0, 0.0 /), & 610 mask_03_z_loop = (/ -1.0, -1.0, 0.0 /), & 611 mask_04_z_loop = (/ -1.0, -1.0, 0.0 /), & 612 mask_05_z_loop = (/ -1.0, -1.0, 0.0 /), & 613 mask_06_z_loop = (/ -1.0, -1.0, 0.0 /), & 614 mask_07_z_loop = (/ -1.0, -1.0, 0.0 /), & 615 mask_08_z_loop = (/ -1.0, -1.0, 0.0 /), & 616 mask_09_z_loop = (/ -1.0, -1.0, 0.0 /), & 617 mask_10_z_loop = (/ -1.0, -1.0, 0.0 /), & 618 mask_11_z_loop = (/ -1.0, -1.0, 0.0 /), & 619 mask_12_z_loop = (/ -1.0, -1.0, 0.0 /), & 620 mask_13_z_loop = (/ -1.0, -1.0, 0.0 /), & 621 mask_14_z_loop = (/ -1.0, -1.0, 0.0 /), & 622 mask_15_z_loop = (/ -1.0, -1.0, 0.0 /), & 623 mask_16_z_loop = (/ -1.0, -1.0, 0.0 /), & 624 mask_17_z_loop = (/ -1.0, -1.0, 0.0 /), & 625 mask_18_z_loop = (/ -1.0, -1.0, 0.0 /), & 626 mask_19_z_loop = (/ -1.0, -1.0, 0.0 /), & 627 mask_20_z_loop = (/ -1.0, -1.0, 0.0 /) 628 ! 629 !-- internal mask arrays ("mask,dimension,selection") 630 REAL, DIMENSION(:,:,:), ALLOCATABLE :: mask, mask_loop 504 631 505 632 SAVE … … 832 959 !------------------------------------------------------------------------------! 833 960 961 USE control_parameters 834 962 #if defined( __netcdf ) 835 963 USE netcdf … … 934 1062 id_var_zw_xy, id_var_zw_xz, id_var_zw_yz, id_var_zw_3d 935 1063 936 INTEGER, DIMENSION(10) :: id_var_dospx, id_var_dospy , nc_precision1064 INTEGER, DIMENSION(10) :: id_var_dospx, id_var_dospy 937 1065 INTEGER, DIMENSION(20) :: id_var_prt 1066 INTEGER, DIMENSION(50) :: nc_precision 938 1067 INTEGER, DIMENSION(dopr_norm_num) :: id_var_norm_dopr 939 1068 … … 944 1073 INTEGER, DIMENSION(dots_max,0:9) :: id_var_dots 945 1074 1075 ! 1076 !-- masked output 1077 CHARACTER (LEN=7), DIMENSION(max_masks,0:1,100) :: domask_unit 1078 946 1079 LOGICAL :: output_for_t0 = .FALSE. 1080 1081 INTEGER, DIMENSION(1:max_masks,0:1) :: id_dim_time_mask, id_dim_x_mask, & 1082 id_dim_xu_mask, id_dim_y_mask, id_dim_yv_mask, id_dim_zu_mask, & 1083 id_dim_zw_mask, & 1084 id_set_mask, & 1085 id_var_time_mask, id_var_x_mask, id_var_xu_mask, & 1086 id_var_y_mask, id_var_yv_mask, id_var_zu_mask, id_var_zw_mask, & 1087 id_var_zusi_mask, id_var_zwwi_mask 1088 1089 INTEGER, DIMENSION(1:max_masks,0:1,100) :: id_var_domask 947 1090 948 1091 SAVE
Note: See TracChangeset
for help on using the changeset viewer.