Changeset 1032


Ignore:
Timestamp:
Oct 21, 2012 1:03:21 PM (9 years ago)
Author:
letzel
Message:
  • mask locations determined based on scalar positions (init_masks)
  • save memory by not allocating pt_2 in case of neutral = .T. (init_3d_model, swap_timelevel)
  • minor reformatting (check_for_restart)
Location:
palm/trunk/SOURCE
Files:
4 edited

Legend:

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

    r668 r1032  
    44! Current revisions:
    55! -----------------
    6 !
     6! minor reformatting
    77!
    88! Former revisions:
     
    9797#if defined( __parallel )
    9898       IF ( myid == 0 ) THEN
    99           CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,          &
    100                              target_id, 0,                                      &
    101                              terminate_coupled_remote, 1, MPI_INTEGER,          &
    102                              target_id, 0,                                      &
     99          CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,         &
     100                             target_id, 0,                                     &
     101                             terminate_coupled_remote, 1, MPI_INTEGER,         &
     102                             target_id, 0,                                     &
    103103                             comm_inter, status, ierr )
    104104       ENDIF
    105        CALL MPI_BCAST( terminate_coupled_remote, 1, MPI_INTEGER, 0, comm2d, ierr)
     105       CALL MPI_BCAST( terminate_coupled_remote, 1, MPI_INTEGER, 0, comm2d,  &
     106                       ierr )
    106107#endif
    107108    ENDIF
     
    147148#if defined( __parallel )
    148149             IF ( myid == 0 ) THEN
    149                 CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,    &
    150                                    target_id,  0,                               &
    151                                    terminate_coupled_remote, 1, MPI_INTEGER,    &
    152                                    target_id,  0,                               &
     150                CALL MPI_SENDRECV( terminate_coupled,        1, MPI_INTEGER,   &
     151                                   target_id,  0,                              &
     152                                   terminate_coupled_remote, 1, MPI_INTEGER,   &
     153                                   target_id,  0,                              &
    153154                                   comm_inter, status, ierr )   
    154155             ENDIF
    155              CALL MPI_BCAST( terminate_coupled_remote, 1, MPI_INTEGER, 0, comm2d, ierr) 
    156            
     156             CALL MPI_BCAST( terminate_coupled_remote, 1, MPI_INTEGER, 0,  &
     157                             comm2d, ierr ) 
    157158#endif
    158159          ENDIF
  • palm/trunk/SOURCE/init_3d_model.f90

    r1026 r1032  
    77! Current revisions:
    88! ------------------
    9 !
     9! save memory by not allocating pt_2 in case of neutral = .T.
     10!
    1011!
    1112! Former revisions:
     
    274275              e_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg),   &
    275276              pt_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),  &
    276               pt_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),  &
    277277              pt_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg),  &
    278278              u_1(nzb:nzt+1,nysg:nyng,nxlg:nxrg),   &
     
    285285              w_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg),   &
    286286              w_3(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     287    IF ( .NOT. neutral )  THEN
     288       ALLOCATE( pt_2(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
     289    ENDIF
    287290#endif
    288291
     
    473476!-- Initial assignment of the pointers
    474477    e  => e_1;   e_p  => e_2;   te_m  => e_3
    475     pt => pt_1;  pt_p => pt_2;  tpt_m => pt_3
     478    IF ( .NOT. neutral )  THEN
     479       pt => pt_1;  pt_p => pt_2;  tpt_m => pt_3
     480    ELSE
     481       pt => pt_1;  pt_p => pt_1;  tpt_m => pt_3
     482    ENDIF
    476483    u  => u_1;   u_p  => u_2;   tu_m  => u_3
    477484    v  => v_1;   v_p  => v_2;   tv_m  => v_3
  • palm/trunk/SOURCE/init_masks.f90

    r1031 r1032  
    44! Current revisions:
    55! -----------------
     6! hotfix: mask locations determined based on scalar positions
    67! netCDF4 without parallel file support implemented
    78!
     
    464465             count = count + 1
    465466             IF ( dim == 1 .OR. dim == 2 )  THEN
    466                 m = NINT( mask(mid,dim,count) * mask_scale(dim) * ddxyz )
     467                m = NINT( mask(mid,dim,count) * mask_scale(dim) * ddxyz - 0.5 )
    467468             ELSEIF ( dim == 3 )  THEN
    468469                ind_array =  &
     
    515516                CALL message( 'init_masks', 'PA0332', 1, 2, 0, 6, 0 )
    516517             ENDIF
    517              loop_begin  = NINT( mask_loop(mid,dim,1) * mask_scale(dim) * ddxyz )
    518              loop_end    = NINT( mask_loop(mid,dim,2) * mask_scale(dim) * ddxyz )
    519              loop_stride = NINT( mask_loop(mid,dim,3) * mask_scale(dim) * ddxyz )
     518             loop_begin  = NINT( mask_loop(mid,dim,1) * mask_scale(dim) &
     519                  * ddxyz - 0.5 )
     520             loop_end    = NINT( mask_loop(mid,dim,2) * mask_scale(dim) &
     521                  * ddxyz - 0.5 )
     522             loop_stride = NINT( mask_loop(mid,dim,3) * mask_scale(dim) &
     523                  * ddxyz )
    520524          ELSEIF ( dim == 3 )  THEN
    521525             IF ( mask_loop(mid,dim,2) < 0.0 )  THEN
  • palm/trunk/SOURCE/swap_timelevel.f90

    r1011 r1032  
    44! Current revisions:
    55! -----------------
    6 !
     6! save memory by not allocating pt_2 in case of neutral = .T.
    77!
    88! Former revisions:
     
    8383          v  => v_1;   v_p  => v_2
    8484          w  => w_1;   w_p  => w_2
    85           pt => pt_1;  pt_p => pt_2
     85          IF ( .NOT. neutral )  THEN
     86             pt => pt_1;  pt_p => pt_2
     87          ENDIF
    8688          IF ( .NOT. constant_diffusion )  THEN
    8789             e => e_1;    e_p => e_2
     
    100102          v  => v_2;   v_p  => v_1
    101103          w  => w_2;   w_p  => w_1
    102           pt => pt_2;  pt_p => pt_1
     104          IF ( .NOT. neutral )  THEN
     105             pt => pt_2;  pt_p => pt_1
     106          ENDIF
    103107          IF ( .NOT. constant_diffusion )  THEN
    104108             e => e_2;    e_p => e_1
Note: See TracChangeset for help on using the changeset viewer.