Changeset 6081 for LMDZ6/trunk/libf


Ignore:
Timestamp:
Feb 19, 2026, 4:34:20 PM (5 days ago)
Author:
rkazeroni
Message:

Fix naming of module procedures in lmdz_checksum

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phy_common/lmdz_checksum.f90

    r5940 r6081  
    11MODULE lmdz_checksum
    22  PRIVATE
    3   INTERFACE checksum 
     3  INTERFACE checksum
    44    MODULE PROCEDURE checksum_r0, checksum_r1, checksum_r2, checksum_r3, &
    55                     checksum_i0, checksum_i1, checksum_i2, checksum_i3, &
    66                     checksum_l0, checksum_l1, checksum_l2, checksum_l3
    77  END INTERFACE
    8  
     8
    99  PUBLIC checksum
    10  
     10
    1111CONTAINS
    1212
     
    1818    INTEGER :: tot_sum
    1919    INTEGER :: i
    20    
    21     tot_sum=0   
     20
     21    tot_sum=0
    2222    intval=transfer(field,intval,2)
    2323    tot_sum = tot_sum + intval(1) + intval(2)
    24  
     24
    2525    CALL print_checksum(name,tot_sum)
    2626  END SUBROUTINE checksum_r0
    27  
     27
    2828  SUBROUTINE checksum_r1(name, field)
    2929  IMPLICIT NONE
     
    3333    INTEGER :: tot_sum
    3434    INTEGER :: i
    35    
    36     tot_sum=0   
     35
     36    tot_sum=0
    3737    DO i=1,SIZE(field,1)
    3838      intval=transfer(field(i),intval,2)
    3939      tot_sum = tot_sum + intval(1) + intval(2)
    40     ENDDO 
    41  
     40    ENDDO
     41
    4242    CALL print_checksum(name,tot_sum)
    4343  END SUBROUTINE checksum_r1
    44  
     44
    4545  SUBROUTINE checksum_r2(name, field)
    4646  IMPLICIT NONE
     
    5050    INTEGER :: tot_sum
    5151    INTEGER :: i,j
    52    
    53     tot_sum=0   
     52
     53    tot_sum=0
    5454    DO j=1,SIZE(field,2)
    5555      DO i=1,SIZE(field,1)
     
    5757        tot_sum = tot_sum + intval(1) + intval(2)
    5858      ENDDO
    59     ENDDO 
    60  
     59    ENDDO
     60
    6161    CALL print_checksum(name,tot_sum)
    6262  END SUBROUTINE checksum_r2
     
    6969    INTEGER :: tot_sum
    7070    INTEGER :: i,j,k
    71    
    72     tot_sum=0   
     71
     72    tot_sum=0
    7373    DO k=1,SIZE(field,3)
    7474      DO j=1,SIZE(field,2)
     
    7777          tot_sum = tot_sum + intval(1) + intval(2)
    7878        ENDDO
    79       ENDDO 
    80     ENDDO
     79      ENDDO
     80    ENDDO
     81
    8182    CALL print_checksum(name,tot_sum)
    8283  END SUBROUTINE checksum_r3
    83  
    84  
    85  
    86    SUBROUTINE checksum_i0(name, field)
    87   IMPLICIT NONE
    88     CHARACTER(LEN=*),INTENT(IN) :: name
    89     LOGICAL,INTENT(IN)             :: field
    90     INTEGER :: intval(2)
    91     INTEGER :: tot_sum
    92     INTEGER :: i
    93    
     84
     85
     86
     87  SUBROUTINE checksum_l0(name, field)
     88  IMPLICIT NONE
     89    CHARACTER(LEN=*),INTENT(IN) :: name
     90    LOGICAL,INTENT(IN)          :: field
     91    INTEGER :: intval(2)
     92    INTEGER :: tot_sum
     93    INTEGER :: i
     94
    9495    tot_sum=0
    9596    intval(1)=0
    96     IF (field) intval(1)=1 
     97    IF (field) intval(1)=1
    9798    intval(2)=0
    9899    tot_sum = tot_sum + intval(1) + intval(2)
    99  
    100     CALL print_checksum(name,tot_sum)
    101   END SUBROUTINE checksum_i0
    102  
    103   SUBROUTINE checksum_i1(name, field)
    104   IMPLICIT NONE
    105     CHARACTER(LEN=*),INTENT(IN) :: name
    106     LOGICAL,INTENT(IN)             :: field(:)
    107     INTEGER :: intval(2)
    108     INTEGER :: tot_sum
    109     INTEGER :: i
    110    
    111     tot_sum=0   
     100
     101    CALL print_checksum(name,tot_sum)
     102  END SUBROUTINE checksum_l0
     103
     104  SUBROUTINE checksum_l1(name, field)
     105  IMPLICIT NONE
     106    CHARACTER(LEN=*),INTENT(IN) :: name
     107    LOGICAL,INTENT(IN)          :: field(:)
     108    INTEGER :: intval(2)
     109    INTEGER :: tot_sum
     110    INTEGER :: i
     111
     112    tot_sum=0
    112113    DO i=1,SIZE(field,1)
    113114      intval(1)=0
    114       IF (field(i)) intval(1)=1 
     115      IF (field(i)) intval(1)=1
    115116      tot_sum = tot_sum + intval(1) + intval(2)
    116     ENDDO 
    117  
    118     CALL print_checksum(name,tot_sum)
    119   END SUBROUTINE checksum_i1
    120  
    121   SUBROUTINE checksum_i2(name, field)
    122   IMPLICIT NONE
    123     CHARACTER(LEN=*),INTENT(IN) :: name
    124     LOGICAL,INTENT(IN)             :: field(:,:)
     117    ENDDO
     118
     119    CALL print_checksum(name,tot_sum)
     120  END SUBROUTINE checksum_l1
     121
     122  SUBROUTINE checksum_l2(name, field)
     123  IMPLICIT NONE
     124    CHARACTER(LEN=*),INTENT(IN) :: name
     125    LOGICAL,INTENT(IN)          :: field(:,:)
    125126    INTEGER :: intval(2)
    126127    INTEGER :: tot_sum
    127128    INTEGER :: i,j
    128    
    129     tot_sum=0   
     129
     130    tot_sum=0
    130131    DO j=1,SIZE(field,2)
    131132      DO i=1,SIZE(field,1)
    132133        intval(1)=0
    133         IF (field(i,j)) intval(1)=1 
     134        IF (field(i,j)) intval(1)=1
    134135        intval(2)=0
    135136        tot_sum = tot_sum + intval(1) + intval(2)
    136137      ENDDO
    137     ENDDO 
    138  
    139     CALL print_checksum(name,tot_sum)
    140   END SUBROUTINE checksum_i2
    141 
    142   SUBROUTINE checksum_i3(name, field)
    143   IMPLICIT NONE
    144     CHARACTER(LEN=*),INTENT(IN) :: name
    145     LOGICAL,INTENT(IN)             :: field(:,:,:)
     138    ENDDO
     139
     140    CALL print_checksum(name,tot_sum)
     141  END SUBROUTINE checksum_l2
     142
     143  SUBROUTINE checksum_l3(name, field)
     144  IMPLICIT NONE
     145    CHARACTER(LEN=*),INTENT(IN) :: name
     146    LOGICAL,INTENT(IN)          :: field(:,:,:)
    146147    INTEGER :: intval(2)
    147148    INTEGER :: tot_sum
    148149    INTEGER :: i,j,k
    149    
    150     tot_sum=0   
     150
     151    tot_sum=0
    151152    DO k=1,SIZE(field,3)
    152153      DO j=1,SIZE(field,2)
    153154        DO i=1,SIZE(field,1)
    154155          intval(1)=0
    155           IF (field(i,j,k)) intval(1)=1 
     156          IF (field(i,j,k)) intval(1)=1
    156157          intval(2)=0
    157158          tot_sum = tot_sum + intval(1) + intval(2)
    158159        ENDDO
    159       ENDDO 
    160     ENDDO
    161     CALL print_checksum(name,tot_sum)
    162   END SUBROUTINE checksum_i3
    163  
    164  
    165  
    166   SUBROUTINE checksum_l0(name, field)
    167   IMPLICIT NONE
    168     CHARACTER(LEN=*),INTENT(IN) :: name
    169     INTEGER,INTENT(IN)             :: field
    170     INTEGER :: intval(2)
    171     INTEGER :: tot_sum
    172     INTEGER :: i
    173    
    174     tot_sum=0   
     160      ENDDO
     161    ENDDO
     162
     163    CALL print_checksum(name,tot_sum)
     164  END SUBROUTINE checksum_l3
     165
     166
     167
     168  SUBROUTINE checksum_i0(name, field)
     169  IMPLICIT NONE
     170    CHARACTER(LEN=*),INTENT(IN) :: name
     171    INTEGER,INTENT(IN)          :: field
     172    INTEGER :: intval(2)
     173    INTEGER :: tot_sum
     174    INTEGER :: i
     175
     176    tot_sum=0
    175177    intval(1)=field
    176178    intval(2)=0
    177179    tot_sum = tot_sum + intval(1) + intval(2)
    178  
    179     CALL print_checksum(name,tot_sum)
    180   END SUBROUTINE checksum_l0
    181  
    182   SUBROUTINE checksum_l1(name, field)
    183   IMPLICIT NONE
    184     CHARACTER(LEN=*),INTENT(IN) :: name
    185     INTEGER,INTENT(IN)             :: field(:)
    186     INTEGER :: intval(2)
    187     INTEGER :: tot_sum
    188     INTEGER :: i
    189    
    190     tot_sum=0   
     180
     181    CALL print_checksum(name,tot_sum)
     182  END SUBROUTINE checksum_i0
     183
     184  SUBROUTINE checksum_i1(name, field)
     185  IMPLICIT NONE
     186    CHARACTER(LEN=*),INTENT(IN) :: name
     187    INTEGER,INTENT(IN)          :: field(:)
     188    INTEGER :: intval(2)
     189    INTEGER :: tot_sum
     190    INTEGER :: i
     191
     192    tot_sum=0
    191193    DO i=1,SIZE(field,1)
    192194      intval(1)=field(i)
    193195      intval(2)=0
    194196      tot_sum = tot_sum + intval(1) + intval(2)
    195     ENDDO 
    196  
    197     CALL print_checksum(name,tot_sum)
    198   END SUBROUTINE checksum_l1
    199  
    200   SUBROUTINE checksum_l2(name, field)
    201   IMPLICIT NONE
    202     CHARACTER(LEN=*),INTENT(IN) :: name
    203     INTEGER,INTENT(IN)             :: field(:,:)
     197    ENDDO
     198
     199    CALL print_checksum(name,tot_sum)
     200  END SUBROUTINE checksum_i1
     201
     202  SUBROUTINE checksum_i2(name, field)
     203  IMPLICIT NONE
     204    CHARACTER(LEN=*),INTENT(IN) :: name
     205    INTEGER,INTENT(IN)          :: field(:,:)
    204206    INTEGER :: intval(2)
    205207    INTEGER :: tot_sum
    206208    INTEGER :: i,j
    207    
    208     tot_sum=0   
     209
     210    tot_sum=0
    209211    DO j=1,SIZE(field,2)
    210212      DO i=1,SIZE(field,1)
     
    213215        tot_sum = tot_sum + intval(1) + intval(2)
    214216      ENDDO
    215     ENDDO 
    216  
    217     CALL print_checksum(name,tot_sum)
    218   END SUBROUTINE checksum_l2
    219 
    220   SUBROUTINE checksum_l3(name, field)
    221   IMPLICIT NONE
    222     CHARACTER(LEN=*),INTENT(IN) :: name
    223     INTEGER,INTENT(IN)             :: field(:,:,:)
     217    ENDDO
     218
     219    CALL print_checksum(name,tot_sum)
     220  END SUBROUTINE checksum_i2
     221
     222  SUBROUTINE checksum_i3(name, field)
     223  IMPLICIT NONE
     224    CHARACTER(LEN=*),INTENT(IN) :: name
     225    INTEGER,INTENT(IN)          :: field(:,:,:)
    224226    INTEGER :: intval(2)
    225227    INTEGER :: tot_sum
    226228    INTEGER :: i,j,k
    227    
    228     tot_sum=0   
     229
     230    tot_sum=0
    229231    DO k=1,SIZE(field,3)
    230232      DO j=1,SIZE(field,2)
     
    234236          tot_sum = tot_sum + intval(1) + intval(2)
    235237        ENDDO
    236       ENDDO 
    237     ENDDO
    238     CALL print_checksum(name,tot_sum)
    239   END SUBROUTINE checksum_l3
    240  
    241      
     238      ENDDO
     239    ENDDO
     240    CALL print_checksum(name,tot_sum)
     241  END SUBROUTINE checksum_i3
     242
     243
     244
    242245  SUBROUTINE print_checksum(name, tot_sum)
    243246  USE mod_phys_lmdz_para, ONLY : reduce_sum, is_master
    244   USE print_control_mod, ONLY: lunout 
     247  USE print_control_mod, ONLY: lunout
    245248  IMPLICIT NONE
    246249    CHARACTER(LEN=*),INTENT(IN) :: name
    247250    INTEGER, INTENT(IN) :: tot_sum
    248251    INTEGER             :: tot_sum_glo
    249    
    250     CALL reduce_sum(tot_sum, tot_sum_glo) 
    251      
     252
     253    CALL reduce_sum(tot_sum, tot_sum_glo)
     254
    252255    IF (is_master) WRITE(lunout,*) "CHECKSUM : ",TRIM(ADJUSTL(name)), " ==> ",tot_sum_glo
    253256  END SUBROUTINE print_checksum
Note: See TracChangeset for help on using the changeset viewer.