Changeset 143
- Timestamp:
- Dec 28, 2007 9:44:53 AM (17 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/CURRENT_MODIFICATIONS
r142 r143 1 1 New: 2 2 --- 3 Within a job chain, the number of processors or the virtual processor grid 4 is now allowed to be changed. This modifies the domain decomposition and 5 requires that the PEs within a restart job have to know from which file(s) they 6 have to read their restart data (up to now there is a one to one relation 7 between the restart files and the PEs, i.e. processor 4 only reads data 8 from file "_0004"). Informations about the subdomain index limits of all 9 restart files are now written by PE0 (to file "_0000"). Also, all variables 10 containing global values which do not depend on the subdomain are written 11 to file "_0000" only. In a restart run, this file is opened by all PEs to 12 read these global values and the informations about the subdomain index 13 limits. Depending on these index limit information it is decided which 14 restart file(s) has/have to be opened in order to read the complete data 15 necessary for the current subdomain. 3 16 17 check_open, read_var_list, read_3d_binary, write_3d_binary 4 18 5 19 6 20 Changed: 7 21 ------- 22 -cross_ts_* (read_var_list, write_var_list) 23 -dopr_time_count, old profil parameters (cross_..., dopr_crossindex, 24 profile_***) removed (read_3d_binary, write_3d_binary) 8 25 26 hom_sum moved, volume_flow_area, volume_flow_initial moved from ..._3d_binary 27 to ..._var_list, hom_sum is now allocated in parin instead of init_3d_model 28 29 init_3d_model, parin, read_var_list, read_3d_binary, write_var_list, write_3d_binary 9 30 10 31 11 32 Errors: 12 33 ------ 34 Bugfix: remove IF statement in plant_canopy_model_ij (plant_canopy_model) 35 Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) 36 (like other scalars) (flow_statistics) 37 Bugfix: dopr_time_count was written on the binary file, which caused that 38 NetCDF files newly created by restart files (no append of existing files!) 39 contained uneccessary time levels. (read_3d_binary, write_3d_binary) 13 40 14 Bugfix: remove IF statement in plant_canopy_model_ij 15 Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) 16 (like other scalars) 41 flow_statistics, plant_canopy_model, read_3d_binary, write_3d_binary 17 42 18 flow_statistics, plant_canopy_model19 -
palm/trunk/SOURCE/check_open.f90
r139 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! First opening of unit 13 openes file _0000 on all PEs (parallel version) 7 ! because only this file contains the global variables 7 8 ! 8 9 ! Former revisions: … … 92 93 IF ( openfile(file_id)%opened_before ) THEN 93 94 SELECT CASE ( file_id ) 94 CASE ( 1 4, 21, 22, 23, 80:85 )95 CASE ( 13, 14, 21, 22, 23, 80:85 ) 95 96 IF ( file_id == 14 .AND. openfile(file_id)%opened_before ) THEN 96 97 IF ( myid == 0 ) PRINT*, '+++ check_open: re-open of unit ', & 97 98 ' 14 is not verified. Please check results!' 98 99 ENDIF 99 CONTINUE 100 100 101 CASE DEFAULT 101 102 IF ( myid == 0 ) THEN … … 104 105 ENDIF 105 106 RETURN 107 106 108 END SELECT 107 109 ENDIF … … 162 164 FORM='UNFORMATTED', STATUS='OLD' ) 163 165 ELSE 164 OPEN ( 13, FILE='BININ'//TRIM( coupling_char )//'/'//myid_char, & 165 FORM='UNFORMATTED', STATUS='OLD' ) 166 ! 167 !-- First opening of unit 13 openes file _0000 on all PEs because only 168 !-- this file contains the global variables 169 IF ( .NOT. openfile(file_id)%opened_before ) THEN 170 OPEN ( 13, FILE='BININ'//TRIM( coupling_char )//'/_0000',& 171 FORM='UNFORMATTED', STATUS='OLD' ) 172 ELSE 173 OPEN ( 13, FILE='BININ'//TRIM( coupling_char )//'/'//myid_char,& 174 FORM='UNFORMATTED', STATUS='OLD' ) 175 ENDIF 166 176 ENDIF 167 177 -
palm/trunk/SOURCE/init_3d_model.f90
r139 r143 7 7 ! Actual revisions: 8 8 ! ----------------- 9 ! 9 ! Allocation of hom_sum moved to parin 10 10 ! 11 11 ! Former revisions: … … 101 101 sums_divold_l(0:statistic_regions) ) 102 102 ALLOCATE( rdf(nzb+1:nzt) ) 103 ALLOCATE( hom_sum(nzb:nzt+1,pr_palm+max_pr_user,0:statistic_regions), & 104 ngp_2dh_outer(nzb:nzt+1,0:statistic_regions), & 103 ALLOCATE( ngp_2dh_outer(nzb:nzt+1,0:statistic_regions), & 105 104 ngp_2dh_outer_l(nzb:nzt+1,0:statistic_regions), & 106 105 ngp_2dh_s_inner(nzb:nzt+1,0:statistic_regions), & -
palm/trunk/SOURCE/parin.f90
r139 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Allocation of hom_sum moved from init_3d_model to here 7 7 ! 8 8 ! Former revisions: … … 243 243 244 244 ALLOCATE( ug(0:nz+1), vg(0:nz+1), & 245 pt_init(0:nz+1), q_init(0:nz+1), sa_init(0:nz+1), & 246 u_init(0:nz+1), v_init(0:nz+1), & 247 hom(0:nz+1,2,pr_palm+max_pr_user,0:statistic_regions) ) 245 pt_init(0:nz+1), q_init(0:nz+1), sa_init(0:nz+1), & 246 u_init(0:nz+1), v_init(0:nz+1), & 247 hom(0:nz+1,2,pr_palm+max_pr_user,0:statistic_regions), & 248 hom_sum(nzb:nzt+1,pr_palm+max_pr_user,0:statistic_regions) ) 248 249 hom = 0.0 249 250 -
palm/trunk/SOURCE/read_3d_binary.f90
r110 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Restart file has to be re-opened on all PEs except PE0 7 ! -dopr_time_count, 8 ! hom_sum moved, volume_flow_area, volume_flow_initial moved to read_var_list, 9 ! reading of old profil parameters (cross_..., dopr_crossindex, profile_***) 10 ! removed 7 11 ! 8 12 ! Former revisions: … … 54 58 CHARACTER (LEN=10) :: binary_version, version_on_file 55 59 CHARACTER (LEN=20) :: field_chr 56 CHARACTER (LEN=10), DIMENSION(:), ALLOCATABLE :: chdum1057 CHARACTER (LEN=40), DIMENSION(:), ALLOCATABLE :: chdum4058 CHARACTER (LEN=100), DIMENSION(:), ALLOCATABLE :: chdum10059 60 60 61 INTEGER :: idum1, myid_on_file, numprocs_on_file, nxl_on_file, & 61 62 nxr_on_file, nyn_on_file, nys_on_file, nzb_on_file, nzt_on_file 62 63 63 INTEGER, DIMENSION(:), ALLOCATABLE :: idum64 65 REAL, DIMENSION(:), ALLOCATABLE :: rdum66 67 64 ! 68 65 !-- Read data from previous model run. unit 13 already opened in parin 69 66 CALL cpu_log( log_point_s(14), 'read_3d_binary', 'start' ) 67 68 ! 69 !-- Restart file has to be re-opened on all PEs except PE0 70 CALL check_open( 13 ) 70 71 71 72 ! … … 173 174 CALL local_stop 174 175 ENDIF 175 176 !177 !-- Local arrays that may be required for possible temporary information178 !-- storage in the following179 ALLOCATE( chdum10(crmax), chdum40(crmax), chdum100(crmax), &180 idum(100*crmax), rdum(100*crmax) )181 176 182 177 ! … … 304 299 CASE ( 'shf_m' ) 305 300 READ ( 13 ) shf_m 306 CASE ( 'tswst' )307 READ ( 13 ) tswst308 CASE ( 'tswst_m' )309 READ ( 13 ) tswst_m310 301 CASE ( 'spectrum_x' ) 311 302 READ ( 13 ) spectrum_x … … 317 308 ALLOCATE( ts_av(nys-1:nyn+1,nxl-1:nxr+1) ) 318 309 READ ( 13 ) ts_av 310 CASE ( 'tswst' ) 311 READ ( 13 ) tswst 312 CASE ( 'tswst_m' ) 313 READ ( 13 ) tswst_m 319 314 CASE ( 'u' ) 320 315 READ ( 13 ) u … … 347 342 CASE ( 'v' ) 348 343 READ ( 13 ) v 349 CASE ( 'volume_flow_area' )350 READ ( 13 ) volume_flow_area351 CASE ( 'volume_flow_initial' )352 READ ( 13 ) volume_flow_initial353 344 CASE ( 'v_av' ) 354 345 ALLOCATE( v_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) … … 400 391 READ ( 13 ) z0_av 401 392 402 CASE ( 'cross_linecolors' )403 IF ( use_prior_plot1d_parameters ) THEN404 READ ( 13 ) cross_linecolors405 ELSE406 READ ( 13 ) idum407 ENDIF408 CASE ( 'cross_linestyles' )409 IF ( use_prior_plot1d_parameters ) THEN410 READ ( 13 ) cross_linestyles411 ELSE412 READ ( 13 ) idum413 ENDIF414 CASE ( 'cross_normalized_x' )415 IF ( use_prior_plot1d_parameters ) THEN416 READ ( 13 ) cross_normalized_x417 ELSE418 READ ( 13 ) chdum10419 ENDIF420 CASE ( 'cross_normalized_y' )421 IF ( use_prior_plot1d_parameters ) THEN422 READ ( 13 ) cross_normalized_y423 ELSE424 READ ( 13 ) chdum10425 ENDIF426 CASE ( 'cross_normx_factor' )427 IF ( use_prior_plot1d_parameters ) THEN428 READ ( 13 ) cross_normx_factor429 ELSE430 READ ( 13 ) rdum431 ENDIF432 CASE ( 'cross_normy_factor' )433 IF ( use_prior_plot1d_parameters ) THEN434 READ ( 13 ) cross_normy_factor435 ELSE436 READ ( 13 ) rdum437 ENDIF438 CASE ( 'cross_profiles' )439 IF ( use_prior_plot1d_parameters ) THEN440 READ ( 13 ) cross_profiles441 ELSE442 READ ( 13 ) chdum100443 ENDIF444 CASE ( 'cross_profile_n_coun' )445 IF ( use_prior_plot1d_parameters ) THEN446 READ ( 13 ) cross_profile_number_count447 ELSE448 READ ( 13 ) idum(1:crmax)449 ENDIF450 CASE ( 'cross_profile_number' )451 IF ( use_prior_plot1d_parameters ) THEN452 READ ( 13 ) cross_profile_numbers453 ELSE454 READ ( 13 ) idum455 ENDIF456 CASE ( 'cross_uxmax' )457 IF ( use_prior_plot1d_parameters ) THEN458 READ ( 13 ) cross_uxmax459 ELSE460 READ ( 13 ) rdum(1:crmax)461 ENDIF462 CASE ( 'cross_uxmax_computed' )463 IF ( use_prior_plot1d_parameters ) THEN464 READ ( 13 ) cross_uxmax_computed465 ELSE466 READ ( 13 ) rdum(1:crmax)467 ENDIF468 CASE ( 'cross_uxmax_normaliz' )469 IF ( use_prior_plot1d_parameters ) THEN470 READ ( 13 ) cross_uxmax_normalized471 ELSE472 READ ( 13 ) rdum(1:crmax)473 ENDIF474 CASE ( 'cross_uxmax_norm_com' )475 IF ( use_prior_plot1d_parameters ) THEN476 READ ( 13 ) cross_uxmax_normalized_computed477 ELSE478 READ ( 13 ) rdum(1:crmax)479 ENDIF480 CASE ( 'cross_uxmin' )481 IF ( use_prior_plot1d_parameters ) THEN482 READ ( 13 ) cross_uxmin483 ELSE484 READ ( 13 ) rdum(1:crmax)485 ENDIF486 CASE ( 'cross_uxmin_computed' )487 IF ( use_prior_plot1d_parameters ) THEN488 READ ( 13 ) cross_uxmin_computed489 ELSE490 READ ( 13 ) rdum(1:crmax)491 ENDIF492 CASE ( 'cross_uxmin_normaliz' )493 IF ( use_prior_plot1d_parameters ) THEN494 READ ( 13 ) cross_uxmin_normalized495 ELSE496 READ ( 13 ) rdum(1:crmax)497 ENDIF498 CASE ( 'cross_uxmin_norm_com' )499 IF ( use_prior_plot1d_parameters ) THEN500 READ ( 13 ) cross_uxmin_normalized_computed501 ELSE502 READ ( 13 ) rdum(1:crmax)503 ENDIF504 CASE ( 'cross_uymax' )505 IF ( use_prior_plot1d_parameters ) THEN506 READ ( 13 ) cross_uymax507 ELSE508 READ ( 13 ) rdum(1:crmax)509 ENDIF510 CASE ( 'cross_uymin' )511 IF ( use_prior_plot1d_parameters ) THEN512 READ ( 13 ) cross_uymin513 ELSE514 READ ( 13 ) rdum(1:crmax)515 ENDIF516 CASE ( 'cross_xtext' )517 IF ( use_prior_plot1d_parameters ) THEN518 READ ( 13 ) cross_xtext519 ELSE520 READ ( 13 ) chdum40521 ENDIF522 CASE ( 'dopr_crossindex' )523 IF ( use_prior_plot1d_parameters ) THEN524 READ ( 13 ) dopr_crossindex525 ELSE526 READ ( 13 ) idum(1:100)527 ENDIF528 CASE ( 'dopr_time_count' )529 IF ( use_prior_plot1d_parameters ) THEN530 READ ( 13 ) dopr_time_count531 ELSE532 READ ( 13 ) idum1533 ENDIF534 CASE ( 'hom_sum' )535 READ ( 13 ) hom_sum536 CASE ( 'profile_columns' )537 IF ( use_prior_plot1d_parameters ) THEN538 READ ( 13 ) profile_columns539 ELSE540 READ ( 13 ) idum1541 ENDIF542 CASE ( 'profile_number' )543 IF ( use_prior_plot1d_parameters ) THEN544 READ ( 13 ) profile_number545 ELSE546 READ ( 13 ) idum1547 ENDIF548 CASE ( 'profile_rows' )549 IF ( use_prior_plot1d_parameters ) THEN550 READ ( 13 ) profile_rows551 ELSE552 READ ( 13 ) idum1553 ENDIF554 555 393 CASE DEFAULT 556 394 PRINT*, '+++ init_3d_model: unknown field named "', & … … 566 404 ENDDO 567 405 568 DEALLOCATE( chdum10, chdum40, chdum100, idum, rdum )569 570 406 ! 571 407 !-- End of time measuring for reading binary data -
palm/trunk/SOURCE/read_var_list.f90
r139 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! After reading the global variables, unit 13 is closed for all PEs except PE0 7 ! -cross_ts_*, 8 ! hom_sum moved, volume_flow_area, volume_flow_initial moved from 9 ! read_3d_binary to here 7 10 ! 8 11 ! Former revisions: … … 42 45 ! Description: 43 46 ! ------------ 44 ! Reading values of control variables from restart-file (binary format)47 ! Reading values of global control variables from restart-file (binary format) 45 48 !------------------------------------------------------------------------------! 46 49 … … 62 65 63 66 INTEGER :: max_pr_user_on_file 64 67 68 65 69 CALL check_open( 13 ) 66 70 … … 245 249 CASE ( 'hom' ) 246 250 READ ( 13 ) hom 251 CASE ( 'hom_sum' ) 252 READ ( 13 ) hom_sum 247 253 CASE ( 'inflow_disturbance_begin' ) 248 254 READ ( 13 ) inflow_disturbance_begin … … 485 491 CASE ( 'vg_vertical_gradient_level_ind' ) 486 492 READ ( 13 ) vg_vertical_gradient_level_ind 493 CASE ( 'volume_flow_area' ) 494 READ ( 13 ) volume_flow_area 495 CASE ( 'volume_flow_initial' ) 496 READ ( 13 ) volume_flow_initial 487 497 CASE ( 'wall_adjustment' ) 488 498 READ ( 13 ) wall_adjustment … … 491 501 CASE ( 'w_max_ijk' ) 492 502 READ ( 13 ) w_max_ijk 493 CASE ( 'time-series-quantities' )494 READ ( 13 ) cross_ts_uymax, cross_ts_uymax_computed, &495 cross_ts_uymin, cross_ts_uymin_computed496 503 497 504 CASE DEFAULT … … 507 514 ENDDO 508 515 516 IF ( myid /= 0 ) CALL close_file( 13 ) 517 509 518 510 519 END SUBROUTINE read_var_list -
palm/trunk/SOURCE/write_3d_binary.f90
r110 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! write_var_list is only called for pe0 7 ! -dopr_time_count, 8 ! hom_sum moved, volume_flow_area, volume_flow_initial moved to write_var_list, 9 ! writing of old profil parameters (cross_..., dopr_crossindex, profile_***) 10 ! removed 7 11 ! 8 12 ! Former revisions: … … 61 65 ! 62 66 !-- Write control parameters and other variables for restart. 63 CALL write_var_list67 IF ( myid == 0 ) CALL write_var_list 64 68 65 69 ! … … 177 181 WRITE ( 14 ) 'shf_m '; WRITE ( 14 ) shf_m 178 182 ENDIF 183 IF ( ALLOCATED( spectrum_x ) ) THEN 184 WRITE ( 14 ) 'spectrum_x '; WRITE ( 14 ) spectrum_x 185 WRITE ( 14 ) 'spectrum_y '; WRITE ( 14 ) spectrum_y 186 ENDIF 179 187 WRITE ( 14 ) 'ts '; WRITE ( 14 ) ts 180 188 IF ( ALLOCATED( ts_av ) ) THEN … … 213 221 ENDIF 214 222 WRITE ( 14 ) 'v '; WRITE ( 14 ) v 215 WRITE ( 14 ) 'volume_flow_area '; WRITE ( 14 ) volume_flow_area216 WRITE ( 14 ) 'volume_flow_initial '; WRITE ( 14 ) volume_flow_initial217 223 IF ( ALLOCATED( v_av ) ) THEN 218 224 WRITE ( 14 ) 'v_av '; WRITE ( 14 ) v_av … … 268 274 ENDIF 269 275 270 WRITE ( 14 ) 'cross_linecolors '; WRITE ( 14 ) cross_linecolors271 WRITE ( 14 ) 'cross_linestyles '; WRITE ( 14 ) cross_linestyles272 WRITE ( 14 ) 'cross_normalized_x '; WRITE ( 14 ) cross_normalized_x273 WRITE ( 14 ) 'cross_normalized_y '; WRITE ( 14 ) cross_normalized_y274 WRITE ( 14 ) 'cross_normx_factor '; WRITE ( 14 ) cross_normx_factor275 WRITE ( 14 ) 'cross_normy_factor '; WRITE ( 14 ) cross_normy_factor276 WRITE ( 14 ) 'cross_profiles '; WRITE ( 14 ) cross_profiles277 WRITE ( 14 ) 'cross_profile_n_coun'278 WRITE ( 14 ) cross_profile_number_count279 WRITE ( 14 ) 'cross_profile_number'; WRITE ( 14 ) cross_profile_numbers280 WRITE ( 14 ) 'cross_uxmax '; WRITE ( 14 ) cross_uxmax281 WRITE ( 14 ) 'cross_uxmax_computed'; WRITE ( 14 ) cross_uxmax_computed282 WRITE ( 14 ) 'cross_uxmax_normaliz'; WRITE ( 14 ) cross_uxmax_normalized283 WRITE ( 14 ) 'cross_uxmax_norm_com'284 WRITE ( 14 ) cross_uxmax_normalized_computed285 WRITE ( 14 ) 'cross_uxmin '; WRITE ( 14 ) cross_uxmin286 WRITE ( 14 ) 'cross_uxmin_computed'; WRITE ( 14 ) cross_uxmin_computed287 WRITE ( 14 ) 'cross_uxmin_normaliz'; WRITE ( 14 ) cross_uxmin_normalized288 WRITE ( 14 ) 'cross_uxmin_norm_com'289 WRITE ( 14 ) cross_uxmin_normalized_computed290 WRITE ( 14 ) 'cross_uymax '; WRITE ( 14 ) cross_uymax291 WRITE ( 14 ) 'cross_uymin '; WRITE ( 14 ) cross_uymin292 WRITE ( 14 ) 'cross_xtext '; WRITE ( 14 ) cross_xtext293 WRITE ( 14 ) 'dopr_crossindex '; WRITE ( 14 ) dopr_crossindex294 WRITE ( 14 ) 'dopr_time_count '; WRITE ( 14 ) dopr_time_count295 WRITE ( 14 ) 'hom_sum '; WRITE ( 14 ) hom_sum296 WRITE ( 14 ) 'profile_columns '; WRITE ( 14 ) profile_columns297 WRITE ( 14 ) 'profile_number '; WRITE ( 14 ) profile_number298 WRITE ( 14 ) 'profile_rows '; WRITE ( 14 ) profile_rows299 IF ( ALLOCATED( spectrum_x ) ) THEN300 WRITE ( 14 ) 'spectrum_x '; WRITE ( 14 ) spectrum_x301 WRITE ( 14 ) 'spectrum_y '; WRITE ( 14 ) spectrum_y302 ENDIF303 304 276 ! 305 277 !-- Write end label. Unit 14 is closed in the main program. -
palm/trunk/SOURCE/write_var_list.f90
r139 r143 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! -cross_ts_*, 7 ! hom_sum, volume_flow_area, volume_flow_initial moved from write_3d_binary 8 ! to here 7 9 ! 8 10 ! Former revisions: … … 191 193 WRITE ( 14 ) 'hom ' 192 194 WRITE ( 14 ) hom 195 WRITE ( 14 ) 'hom_sum ' 196 WRITE ( 14 ) hom_sum 193 197 WRITE ( 14 ) 'inflow_disturbance_begin ' 194 198 WRITE ( 14 ) inflow_disturbance_begin … … 431 435 WRITE ( 14 ) 'vg_vertical_gradient_level_ind' 432 436 WRITE ( 14 ) vg_vertical_gradient_level_ind 437 WRITE ( 14 ) 'volume_flow_area ' 438 WRITE ( 14 ) volume_flow_area 439 WRITE ( 14 ) 'volume_flow_initial ' 440 WRITE ( 14 ) volume_flow_initial 433 441 WRITE ( 14 ) 'wall_adjustment ' 434 442 WRITE ( 14 ) wall_adjustment … … 437 445 WRITE ( 14 ) 'w_max_ijk ' 438 446 WRITE ( 14 ) w_max_ijk 439 WRITE ( 14 ) 'time-series-quantities '440 WRITE ( 14 ) cross_ts_uymax, cross_ts_uymax_computed, cross_ts_uymin, &441 cross_ts_uymin_computed442 447 443 448 !
Note: See TracChangeset
for help on using the changeset viewer.