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 779 for trunk/AGRIF/AGRIF_FILES/modbc.F – NEMO

Ignore:
Timestamp:
2007-12-22T18:04:17+01:00 (16 years ago)
Author:
rblod
Message:

Agrif improvment for vectorization, see ticket #41

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AGRIF/AGRIF_FILES/modbc.F

    r774 r779  
    10461046      if (child % var % interpIndex  
    10471047     &        /= Agrif_Curgrid % parent % ngridstep ) then 
    1048        child%var%oldvalues2d(kindex:kindex+newsize-1,1)= 
    1049      &        child%var%oldvalues2d(kindex:kindex+newsize-1,2) 
     1048       child%var%oldvalues2d(1,kindex:kindex+newsize-1)= 
     1049     &        child%var%oldvalues2d(2,kindex:kindex+newsize-1) 
    10501050      endif 
    10511051 
     
    10531053      CASE (1) 
    10541054 
     1055!CDIR ALTCODE 
    10551056         do ir=bounds(1,1),bounds(1,2) 
    1056             child%var%oldvalues2d(kindex,2) = 
     1057            child%var%oldvalues2d(2,kindex) = 
    10571058     &           child%var%array1(ir) 
    10581059            kindex = kindex + 1 
     
    10621063 
    10631064        do jr=bounds(2,1),bounds(2,2) 
     1065!CDIR ALTCODE 
    10641066           do ir=bounds(1,1),bounds(1,2) 
    1065             child%var%oldvalues2d(kindex,2) = 
     1067            child%var%oldvalues2d(2,kindex) = 
    10661068     &           child%var%array2(ir,jr) 
    10671069            kindex = kindex + 1 
     
    10721074        do kr=bounds(3,1),bounds(3,2) 
    10731075          do jr=bounds(2,1),bounds(2,2) 
     1076!CDIR ALTCODE 
    10741077             do ir=bounds(1,1),bounds(1,2) 
    1075             child%var%oldvalues2d(kindex,2) = 
     1078            child%var%oldvalues2d(2,kindex) = 
    10761079     &           child%var%array3(ir,jr,kr) 
    10771080            kindex = kindex + 1 
     
    10841087           do kr=bounds(3,1),bounds(3,2) 
    10851088             do jr=bounds(2,1),bounds(2,2) 
     1089!CDIR ALTCODE 
    10861090               do ir=bounds(1,1),bounds(1,2) 
    1087             child%var%oldvalues2d(kindex,2) = 
     1091            child%var%oldvalues2d(2,kindex) = 
    10881092     &           child%var%array4(ir,jr,kr,lr) 
    10891093            kindex = kindex + 1 
     
    10981102            do kr=bounds(3,1),bounds(3,2)  
    10991103              do jr=bounds(2,1),bounds(2,2) 
     1104!CDIR ALTCODE 
    11001105                 do ir=bounds(1,1),bounds(1,2) 
    1101             child%var%oldvalues2d(kindex,2) = 
     1106            child%var%oldvalues2d(2,kindex) = 
    11021107     &           child%var%array5(ir,jr,kr,lr,mr) 
    11031108            kindex = kindex + 1 
     
    11141119               do kr=bounds(3,1),bounds(3,2) 
    11151120                do jr=bounds(2,1),bounds(2,2) 
     1121!CDIR ALTCODE 
    11161122                   do ir=bounds(1,1),bounds(1,2) 
    1117             child%var%oldvalues2d(kindex,2) = 
     1123            child%var%oldvalues2d(2,kindex) = 
    11181124     &           child%var%array6(ir,jr,kr,lr,mr,nr) 
    11191125            kindex = kindex + 1 
     
    11651171      CASE (1) 
    11661172 
     1173!CDIR ALTCODE 
    11671174         do ir=bounds(1,1),bounds(1,2) 
    11681175                child%var%array1(ir) = 
    1169      &           c2t*child % var % oldvalues2d(kindex,1)    
    1170      &         + c1t*child % var % oldvalues2d(kindex,2)     
     1176     &           c2t*child % var % oldvalues2d(1,kindex)    
     1177     &         + c1t*child % var % oldvalues2d(2,kindex)     
    11711178            kindex = kindex + 1 
    11721179         enddo        
     
    11751182 
    11761183        do jr=bounds(2,1),bounds(2,2) 
     1184!CDIR ALTCODE 
    11771185           do ir=bounds(1,1),bounds(1,2) 
    11781186                child%var%array2(ir,jr) = 
    1179      &           c2t*child % var % oldvalues2d(kindex,1)    
    1180      &         + c1t*child % var % oldvalues2d(kindex,2)  
     1187     &           c2t*child % var % oldvalues2d(1,kindex)    
     1188     &         + c1t*child % var % oldvalues2d(2,kindex)  
    11811189            kindex = kindex + 1 
    11821190           enddo 
     
    11861194        do kr=bounds(3,1),bounds(3,2) 
    11871195          do jr=bounds(2,1),bounds(2,2) 
     1196!CDIR ALTCODE 
    11881197             do ir=bounds(1,1),bounds(1,2) 
    11891198                child%var%array3(ir,jr,kr) = 
    1190      &           c2t*child % var % oldvalues2d(kindex,1)    
    1191      &         + c1t*child % var % oldvalues2d(kindex,2)  
     1199     &           c2t*child % var % oldvalues2d(1,kindex)    
     1200     &         + c1t*child % var % oldvalues2d(2,kindex)  
    11921201            kindex = kindex + 1 
    11931202             enddo 
     
    11991208           do kr=bounds(3,1),bounds(3,2) 
    12001209             do jr=bounds(2,1),bounds(2,2) 
     1210!CDIR ALTCODE 
    12011211               do ir=bounds(1,1),bounds(1,2) 
    12021212                child%var%array4(ir,jr,kr,lr) = 
    1203      &           c2t*child % var % oldvalues2d(kindex,1)    
    1204      &         + c1t*child % var % oldvalues2d(kindex,2)  
     1213     &           c2t*child % var % oldvalues2d(1,kindex)    
     1214     &         + c1t*child % var % oldvalues2d(2,kindex)  
    12051215            kindex = kindex + 1 
    12061216               enddo 
     
    12141224            do kr=bounds(3,1),bounds(3,2)  
    12151225              do jr=bounds(2,1),bounds(2,2) 
     1226!CDIR ALTCODE 
    12161227                 do ir=bounds(1,1),bounds(1,2) 
    12171228                child%var%array5(ir,jr,kr,lr,mr) = 
    1218      &           c2t*child % var % oldvalues2d(kindex,1)    
    1219      &         + c1t*child % var % oldvalues2d(kindex,2)  
     1229     &           c2t*child % var % oldvalues2d(1,kindex)    
     1230     &         + c1t*child % var % oldvalues2d(2,kindex)  
    12201231            kindex = kindex + 1 
    12211232                 enddo 
     
    12311242               do kr=bounds(3,1),bounds(3,2) 
    12321243                do jr=bounds(2,1),bounds(2,2) 
     1244!CDIR ALTCODE 
    12331245                   do ir=bounds(1,1),bounds(1,2) 
    12341246                child%var%array6(ir,jr,kr,lr,mr,nr) = 
    1235      &           c2t*child % var % oldvalues2d(kindex,1)    
    1236      &         + c1t*child % var % oldvalues2d(kindex,2)  
     1247     &           c2t*child % var % oldvalues2d(1,kindex)    
     1248     &         + c1t*child % var % oldvalues2d(2,kindex)  
    12371249            kindex = kindex + 1 
    12381250                   enddo 
     
    12771289      if (.NOT. associated(child % var % oldvalues2d)) then 
    12781290C 
    1279           allocate(child % var % oldvalues2d(newsize,2)) 
     1291          allocate(child % var % oldvalues2d(2,newsize)) 
    12801292 
    12811293          child % var % oldvalues2d=0. 
     
    12831295        else 
    12841296C 
    1285           if (SIZE(child % var % oldvalues2d,1) < newsize) then    
    1286 C 
    1287               allocate(tempoldvalues(SIZE(child % var % 
    1288      &                                    oldvalues2d,1),2)) 
     1297          if (SIZE(child % var % oldvalues2d,2) < newsize) then    
     1298C 
     1299              allocate(tempoldvalues(2,SIZE(child % var % 
     1300     &                                    oldvalues2d,2))) 
    12891301C 
    12901302              tempoldvalues = child % var % oldvalues2d 
     
    12921304              deallocate(child % var % oldvalues2d) 
    12931305C 
    1294               allocate(child % var % oldvalues2d(newsize,2)) 
     1306              allocate(child % var % oldvalues2d(2,newsize)) 
    12951307C             
    12961308              child%var%oldvalues2d=0. 
    12971309C 
    1298               child % var % oldvalues2d(1:SIZE(tempoldvalues,1),:) =  
     1310              child % var % oldvalues2d(:,1:SIZE(tempoldvalues,1)) =  
    12991311     &        tempoldvalues(:,:) 
    13001312C 
Note: See TracChangeset for help on using the changeset viewer.