New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14651 – NEMO

Changeset 14651


Ignore:
Timestamp:
2021-03-26T18:51:55+01:00 (3 years ago)
Author:
sparonuz
Message:

Renamed structure member that was shadowing a fortran intrinsic

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/ICB/icblbc.F90

    r14644 r14651  
    4343 
    4444   TYPE, PUBLIC :: buffer 
    45       INTEGER :: size = 0 
    46       REAL(wp), DIMENSION(:,:), POINTER ::   data 
     45      INTEGER :: buff_size = 0 
     46      REAL(wp), DIMENSION(:,:), POINTER ::   buff_data 
    4747   END TYPE buffer 
    4848 
     
    285285      ENDIF 
    286286       
    287       IF( ibergs_to_send_w > 0 ) CALL mppsend( 13, obuffer_w%data, ibergs_to_send_w*jp_buffer_width, ipe_W, iml_req2 ) 
    288       IF( ibergs_to_send_e > 0 ) CALL mppsend( 14, obuffer_e%data, ibergs_to_send_e*jp_buffer_width, ipe_E, iml_req3 ) 
     287      IF( ibergs_to_send_w > 0 ) CALL mppsend( 13, obuffer_w%buff_data, ibergs_to_send_w*jp_buffer_width, ipe_W, iml_req2 ) 
     288      IF( ibergs_to_send_e > 0 ) CALL mppsend( 14, obuffer_e%buff_data, ibergs_to_send_e*jp_buffer_width, ipe_E, iml_req3 ) 
    289289      IF( ibergs_rcvd_from_e > 0 ) THEN 
    290290         CALL icb_increase_ibuffer(ibuffer_e, ibergs_rcvd_from_e) 
    291          CALL mpprecv( 13, ibuffer_e%data, ibergs_rcvd_from_e*jp_buffer_width ) 
     291         CALL mpprecv( 13, ibuffer_e%buff_data, ibergs_rcvd_from_e*jp_buffer_width ) 
    292292      ENDIF 
    293293      IF( ibergs_rcvd_from_w > 0 ) THEN 
    294294         CALL icb_increase_ibuffer(ibuffer_w, ibergs_rcvd_from_w) 
    295          CALL mpprecv( 14, ibuffer_w%data, ibergs_rcvd_from_w*jp_buffer_width ) 
     295         CALL mpprecv( 14, ibuffer_w%buff_data, ibergs_rcvd_from_w*jp_buffer_width ) 
    296296      ENDIF 
    297297      IF( ibergs_to_send_w > 0 ) CALL mpi_wait( iml_req2, iml_stat, iml_err ) 
     
    299299      DO i = 1, ibergs_rcvd_from_e 
    300300         IF( nn_verbose_level >= 4 ) THEN 
    301             WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
     301            WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%buff_data(16,i)),' from east' 
    302302            CALL FLUSH( numicb ) 
    303303         ENDIF 
     
    306306      DO i = 1, ibergs_rcvd_from_w 
    307307         IF( nn_verbose_level >= 4 ) THEN 
    308             WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
     308            WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%buff_data(16,i)),' from west' 
    309309            CALL FLUSH( numicb ) 
    310310         ENDIF 
     
    370370      ENDIF 
    371371 
    372       IF( ibergs_to_send_s > 0 ) CALL mppsend( 17, obuffer_s%data, ibergs_to_send_s*jp_buffer_width, ipe_S, iml_req2 ) 
    373       IF( ibergs_to_send_n > 0 ) CALL mppsend( 18, obuffer_n%data, ibergs_to_send_n*jp_buffer_width, ipe_N, iml_req3 ) 
     372      IF( ibergs_to_send_s > 0 ) CALL mppsend( 17, obuffer_s%buff_data, ibergs_to_send_s*jp_buffer_width, ipe_S, iml_req2 ) 
     373      IF( ibergs_to_send_n > 0 ) CALL mppsend( 18, obuffer_n%buff_data, ibergs_to_send_n*jp_buffer_width, ipe_N, iml_req3 ) 
    374374      IF( ibergs_rcvd_from_n > 0 ) THEN 
    375375         CALL icb_increase_ibuffer(ibuffer_n, ibergs_rcvd_from_n) 
    376          CALL mpprecv( 17, ibuffer_n%data, ibergs_rcvd_from_n*jp_buffer_width ) 
     376         CALL mpprecv( 17, ibuffer_n%buff_data, ibergs_rcvd_from_n*jp_buffer_width ) 
    377377      ENDIF 
    378378      IF( ibergs_rcvd_from_s > 0 ) THEN 
    379379         CALL icb_increase_ibuffer(ibuffer_s, ibergs_rcvd_from_s) 
    380          CALL mpprecv( 18, ibuffer_s%data, ibergs_rcvd_from_s*jp_buffer_width ) 
     380         CALL mpprecv( 18, ibuffer_s%buff_data, ibergs_rcvd_from_s*jp_buffer_width ) 
    381381      ENDIF 
    382382      IF( ibergs_to_send_s > 0 ) CALL mpi_wait( iml_req2, iml_stat, iml_err ) 
     
    384384      DO i = 1, ibergs_rcvd_from_n 
    385385         IF( nn_verbose_level >= 4 ) THEN 
    386             WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
     386            WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%buff_data(16,i)),' from north' 
    387387            CALL FLUSH( numicb ) 
    388388         ENDIF 
     
    391391      DO i = 1, ibergs_rcvd_from_s 
    392392         IF( nn_verbose_level >= 4 ) THEN 
    393             WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
     393            WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%buff_data(16,i)),' from south' 
    394394            CALL FLUSH( numicb ) 
    395395         ENDIF 
     
    637637    
    638638            IF( ibergs_to_send > 0 )  & 
    639                 CALL mppsend( 12, obuffer_f%data, ibergs_to_send*jp_buffer_width, ifldproc-1, nicbfldreq(jn) ) 
     639                CALL mppsend( 12, obuffer_f%buff_data, ibergs_to_send*jp_buffer_width, ifldproc-1, nicbfldreq(jn) ) 
    640640            ! 
    641641         ENDIF 
     
    652652            IF( ibergs_to_rcv  > 0 ) THEN 
    653653               CALL icb_increase_ibuffer(ibuffer_f, ibergs_to_rcv) 
    654                CALL mpprecv( 12, ibuffer_f%data, ibergs_to_rcv*jp_buffer_width, ifldproc-1 ) 
     654               CALL mpprecv( 12, ibuffer_f%buff_data, ibergs_to_rcv*jp_buffer_width, ifldproc-1 ) 
    655655            ENDIF 
    656656            ! 
    657657            DO jk = 1, ibergs_to_rcv 
    658658               IF( nn_verbose_level >= 4 ) THEN 
    659                   WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_f%data(16,jk)),' from north fold' 
     659                  WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_f%buff_data(16,jk)),' from north fold' 
    660660                  CALL flush( numicb ) 
    661661               ENDIF 
     
    690690      ! 
    691691      IF( .NOT. ASSOCIATED(pbuff) ) CALL icb_increase_buffer( pbuff, jp_delta_buf ) 
    692       IF( kb .GT. pbuff%size ) CALL icb_increase_buffer( pbuff, jp_delta_buf ) 
     692      IF( kb .GT. pbuff%buff_size ) CALL icb_increase_buffer( pbuff, jp_delta_buf ) 
    693693 
    694694      !! pack points into buffer 
    695695 
    696       pbuff%data( 1,kb) = berg%current_point%lon 
    697       pbuff%data( 2,kb) = berg%current_point%lat 
    698       pbuff%data( 3,kb) = berg%current_point%uvel 
    699       pbuff%data( 4,kb) = berg%current_point%vvel 
    700       pbuff%data( 5,kb) = berg%current_point%xi 
    701       pbuff%data( 6,kb) = berg%current_point%yj 
    702       pbuff%data( 7,kb) = float(berg%current_point%year) 
    703       pbuff%data( 8,kb) = berg%current_point%day 
    704       pbuff%data( 9,kb) = berg%current_point%mass 
    705       pbuff%data(10,kb) = berg%current_point%thickness 
    706       pbuff%data(11,kb) = berg%current_point%width 
    707       pbuff%data(12,kb) = berg%current_point%length 
    708       pbuff%data(13,kb) = berg%current_point%mass_of_bits 
    709       pbuff%data(14,kb) = berg%current_point%heat_density 
    710  
    711       pbuff%data(15,kb) = berg%mass_scaling 
     696      pbuff%buff_data( 1,kb) = berg%current_point%lon 
     697      pbuff%buff_data( 2,kb) = berg%current_point%lat 
     698      pbuff%buff_data( 3,kb) = berg%current_point%uvel 
     699      pbuff%buff_data( 4,kb) = berg%current_point%vvel 
     700      pbuff%buff_data( 5,kb) = berg%current_point%xi 
     701      pbuff%buff_data( 6,kb) = berg%current_point%yj 
     702      pbuff%buff_data( 7,kb) = float(berg%current_point%year) 
     703      pbuff%buff_data( 8,kb) = berg%current_point%day 
     704      pbuff%buff_data( 9,kb) = berg%current_point%mass 
     705      pbuff%buff_data(10,kb) = berg%current_point%thickness 
     706      pbuff%buff_data(11,kb) = berg%current_point%width 
     707      pbuff%buff_data(12,kb) = berg%current_point%length 
     708      pbuff%buff_data(13,kb) = berg%current_point%mass_of_bits 
     709      pbuff%buff_data(14,kb) = berg%current_point%heat_density 
     710 
     711      pbuff%buff_data(15,kb) = berg%mass_scaling 
    712712      DO k=1,nkounts 
    713          pbuff%data(15+k,kb) = REAL( berg%number(k), wp ) 
     713         pbuff%buff_data(15+k,kb) = REAL( berg%number(k), wp ) 
    714714      END DO 
    715715      ! 
     
    729729      !!---------------------------------------------------------------------- 
    730730      ! 
    731       pt%lon            =      pbuff%data( 1,kb) 
    732       pt%lat            =      pbuff%data( 2,kb) 
    733       pt%uvel           =      pbuff%data( 3,kb) 
    734       pt%vvel           =      pbuff%data( 4,kb) 
    735       pt%xi             =      pbuff%data( 5,kb) 
    736       pt%yj             =      pbuff%data( 6,kb) 
    737       pt%year           = INT( pbuff%data( 7,kb) ) 
    738       pt%day            =      pbuff%data( 8,kb) 
    739       pt%mass           =      pbuff%data( 9,kb) 
    740       pt%thickness      =      pbuff%data(10,kb) 
    741       pt%width          =      pbuff%data(11,kb) 
    742       pt%length         =      pbuff%data(12,kb) 
    743       pt%mass_of_bits   =      pbuff%data(13,kb) 
    744       pt%heat_density   =      pbuff%data(14,kb) 
    745  
    746       currentberg%mass_scaling =      pbuff%data(15,kb) 
     731      pt%lon            =      pbuff%buff_data( 1,kb) 
     732      pt%lat            =      pbuff%buff_data( 2,kb) 
     733      pt%uvel           =      pbuff%buff_data( 3,kb) 
     734      pt%vvel           =      pbuff%buff_data( 4,kb) 
     735      pt%xi             =      pbuff%buff_data( 5,kb) 
     736      pt%yj             =      pbuff%buff_data( 6,kb) 
     737      pt%year           = INT( pbuff%buff_data( 7,kb) ) 
     738      pt%day            =      pbuff%buff_data( 8,kb) 
     739      pt%mass           =      pbuff%buff_data( 9,kb) 
     740      pt%thickness      =      pbuff%buff_data(10,kb) 
     741      pt%width          =      pbuff%buff_data(11,kb) 
     742      pt%length         =      pbuff%buff_data(12,kb) 
     743      pt%mass_of_bits   =      pbuff%buff_data(13,kb) 
     744      pt%heat_density   =      pbuff%buff_data(14,kb) 
     745 
     746      currentberg%mass_scaling =      pbuff%buff_data(15,kb) 
    747747      DO ik = 1, nkounts 
    748          currentberg%number(ik) = INT( pbuff%data(15+ik,kb) ) 
     748         currentberg%number(ik) = INT( pbuff%buff_data(15+ik,kb) ) 
    749749      END DO 
    750750      ! 
     
    764764      ! 
    765765      IF( .NOT. ASSOCIATED(old) ) THEN   ;   inew_size = kdelta 
    766       ELSE                               ;   inew_size = old%size + kdelta 
     766      ELSE                               ;   inew_size = old%buff_size + kdelta 
    767767      ENDIF 
    768768      ALLOCATE( new ) 
    769       ALLOCATE( new%data( jp_buffer_width, inew_size) ) 
    770       new%size = inew_size 
     769      ALLOCATE( new%buff_data( jp_buffer_width, inew_size) ) 
     770      new%buff_size = inew_size 
    771771      IF( ASSOCIATED(old) ) THEN 
    772          new%data(:,1:old%size) = old%data(:,1:old%size) 
    773          DEALLOCATE(old%data) 
     772         new%buff_data(:,1:old%buff_size) = old%buff_data(:,1:old%buff_size) 
     773         DEALLOCATE(old%buff_data) 
    774774         DEALLOCATE(old) 
    775775      ENDIF 
     
    793793         iold_size = 0 
    794794      ELSE 
    795          iold_size = old%size 
    796          IF( kdelta .LT. old%size ) THEN 
    797             inew_size = old%size + kdelta 
     795         iold_size = old%buff_size 
     796         IF( kdelta .LT. old%buff_size ) THEN 
     797            inew_size = old%buff_size + kdelta 
    798798         ELSE 
    799799            inew_size = kdelta + jp_delta_buf 
     
    803803      IF( iold_size .NE. inew_size ) THEN 
    804804         ALLOCATE( new ) 
    805          ALLOCATE( new%data( jp_buffer_width, inew_size) ) 
    806          new%size = inew_size 
     805         ALLOCATE( new%buff_data( jp_buffer_width, inew_size) ) 
     806         new%buff_size = inew_size 
    807807         IF( ASSOCIATED(old) ) THEN 
    808             new%data(:,1:old%size) = old%data(:,1:old%size) 
    809             DEALLOCATE(old%data) 
     808            new%buff_data(:,1:old%buff_size) = old%buff_data(:,1:old%buff_size) 
     809            DEALLOCATE(old%buff_data) 
    810810            DEALLOCATE(old) 
    811811         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.