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 1793 for trunk/AGRIF – NEMO

Changeset 1793 for trunk/AGRIF


Ignore:
Timestamp:
2010-01-06T20:20:12+01:00 (14 years ago)
Author:
rblod
Message:

Adaptation to use iomput with AGRIF, see ticket #630

Location:
trunk/AGRIF/AGRIF_FILES
Files:
7 edited

Legend:

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

    r1200 r1793  
    814814       
    815815      CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 
    816      &                     MPI_COMM_WORLD,code)   
     816     &                     MPI_COMM_AGRIF,code)   
    817817      
    818818      lubglob(1:nbdim,2) = - lubglob(1:nbdim,2)       
  • trunk/AGRIF/AGRIF_FILES/modinterp.F

    r1200 r1793  
    894894C 
    895895      Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 
    896      &                   MPI_INTEGER,MPI_COMM_WORLD,code) 
     896     &                   MPI_INTEGER,MPI_COMM_AGRIF,code) 
    897897 
    898898      IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) 
     
    908908      memberin1(1) = memberin 
    909909      CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 
    910      &                  1,MPI_LOGICAL,MPI_COMM_WORLD,code) 
     910     &                  1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 
    911911 
    912912       Call Get_External_Data_first(tab4t(:,:,1), 
  • trunk/AGRIF/AGRIF_FILES/modlinktomodel.F

    r662 r1793  
    3232        external Agrif_probdim_modtype_def 
    3333        external Agrif_clustering_def 
     34        external Agrif_comm_def 
    3435C     Interface                        
    3536      Interface 
  • trunk/AGRIF/AGRIF_FILES/modmpp.F

    r898 r1793  
    6767 
    6868         CALL MPI_ALLGATHER(memberout1,1,MPI_LOGICAL,memberoutall, 
    69      &                  1,MPI_LOGICAL,MPI_COMM_WORLD,code) 
     69     &                  1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 
    7070        ENDIF 
    7171         pttruetab2(:,Agrif_Procrank) = pttruetab(:,Agrif_Procrank) 
     
    207207 
    208208         CALL MPI_ALLGATHER(memberout1,1,MPI_LOGICAL,memberoutall, 
    209      &                  1,MPI_LOGICAL,MPI_COMM_WORLD,code) 
     209     &                  1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 
    210210        ENDIF 
    211211         pttruetab2(:,Agrif_Procrank) = pttruetab(:,Agrif_Procrank) 
     
    356356C 
    357357            Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 
    358      &                    MPI_COMM_WORLD,code) 
     358     &                    MPI_COMM_AGRIF,code) 
    359359C 
    360360            if (sendtoproc(k)) then 
     
    365365                Call MPI_SEND(iminmax_temp(:,:,k), 
    366366     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    367      &                        MPI_COMM_WORLD,code) 
     367     &                        MPI_COMM_AGRIF,code) 
    368368C 
    369369                datasize = 1 
     
    381381     &                        imin(1,k):imax(1,k)), 
    382382     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    383      &                        MPI_COMM_WORLD,code) 
     383     &                        MPI_COMM_AGRIF,code) 
    384384                CASE(2) 
    385385                   Call MPI_SEND(tempC%var%array2( 
     
    387387     &                        imin(2,k):imax(2,k)), 
    388388     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    389      &                        MPI_COMM_WORLD,code) 
     389     &                        MPI_COMM_AGRIF,code) 
    390390                CASE(3) 
    391391                 
     
    399399     &                        imin(4,k):imax(4,k)), 
    400400     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    401      &                        MPI_COMM_WORLD,code) 
     401     &                        MPI_COMM_AGRIF,code) 
    402402                CASE(5) 
    403403                   Call MPI_SEND(tempC%var%array5( 
     
    408408     &                        imin(5,k):imax(5,k)), 
    409409     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    410      &                        MPI_COMM_WORLD,code) 
     410     &                        MPI_COMM_AGRIF,code) 
    411411                CASE(6) 
    412412                   Call MPI_SEND(tempC%var%array6( 
     
    418418     &                        imin(6,k):imax(6,k)), 
    419419     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    420      &                        MPI_COMM_WORLD,code) 
     420     &                        MPI_COMM_AGRIF,code) 
    421421                END SELECT 
    422422C 
     
    432432C 
    433433            Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 
    434      &                    MPI_COMM_WORLD,statut,code) 
     434     &                    MPI_COMM_AGRIF,statut,code) 
    435435C 
    436436            recvfromproc(k) = res 
     
    441441                Call MPI_RECV(iminmax_temp(:,:,k), 
    442442     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    443      &                        MPI_COMM_WORLD,statut,code) 
     443     &                        MPI_COMM_AGRIF,statut,code) 
    444444 
    445445                imin_recv(:,k) = iminmax_temp(:,1,k) 
     
    462462              Call MPI_RECV(temprecv%var%array1, 
    463463     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    464      &               MPI_COMM_WORLD,statut,code) 
     464     &               MPI_COMM_AGRIF,statut,code) 
    465465            CASE(2) 
    466466              Call MPI_RECV(temprecv%var%array2, 
    467467     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    468      &               MPI_COMM_WORLD,statut,code) 
     468     &               MPI_COMM_AGRIF,statut,code) 
    469469            CASE(3) 
    470470              Call MPI_RECV(temprecv%var%array3, 
    471471     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    472      &               MPI_COMM_WORLD,statut,code) 
     472     &               MPI_COMM_AGRIF,statut,code) 
    473473 
    474474            CASE(4) 
    475475              Call MPI_RECV(temprecv%var%array4, 
    476476     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    477      &               MPI_COMM_WORLD,statut,code) 
     477     &               MPI_COMM_AGRIF,statut,code) 
    478478            CASE(5) 
    479479              Call MPI_RECV(temprecv%var%array5, 
    480480     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    481      &               MPI_COMM_WORLD,statut,code) 
     481     &               MPI_COMM_AGRIF,statut,code) 
    482482            CASE(6) 
    483483              Call MPI_RECV(temprecv%var%array6, 
    484484     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    485      &               MPI_COMM_WORLD,statut,code) 
     485     &               MPI_COMM_AGRIF,statut,code) 
    486486       END SELECT 
    487487                         
     
    503503             
    504504            Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 
    505      &                    MPI_COMM_WORLD,code) 
     505     &                    MPI_COMM_AGRIF,code) 
    506506C 
    507507            if (sendtoproc(k)) then 
     
    512512                Call MPI_SEND(iminmax_temp(:,:,k), 
    513513     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    514      &                        MPI_COMM_WORLD,code) 
     514     &                        MPI_COMM_AGRIF,code) 
    515515C 
    516516                SELECT CASE(nbdim) 
     
    521521     &                        imin(1,k):imax(1,k)), 
    522522     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    523      &                        MPI_COMM_WORLD,code) 
     523     &                        MPI_COMM_AGRIF,code) 
    524524                CASE(2) 
    525525                datasize=SIZE(tempC%var%array2( 
     
    530530     &                        imin(2,k):imax(2,k)), 
    531531     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    532      &                        MPI_COMM_WORLD,code) 
     532     &                        MPI_COMM_AGRIF,code) 
    533533                CASE(3) 
    534534                datasize=SIZE(tempC%var%array3( 
     
    541541     &                        imin(3,k):imax(3,k)), 
    542542     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    543      &                        MPI_COMM_WORLD,code) 
     543     &                        MPI_COMM_AGRIF,code) 
    544544                CASE(4) 
    545545                datasize=SIZE(tempC%var%array4( 
     
    554554     &                        imin(4,k):imax(4,k)), 
    555555     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    556      &                        MPI_COMM_WORLD,code) 
     556     &                        MPI_COMM_AGRIF,code) 
    557557                CASE(5) 
    558558                datasize=SIZE(tempC%var%array5( 
     
    569569     &                        imin(5,k):imax(5,k)), 
    570570     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    571      &                        MPI_COMM_WORLD,code) 
     571     &                        MPI_COMM_AGRIF,code) 
    572572                CASE(6) 
    573573                datasize=SIZE(tempC%var%array6( 
     
    586586     &                        imin(6,k):imax(6,k)), 
    587587     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    588      &                        MPI_COMM_WORLD,code) 
     588     &                        MPI_COMM_AGRIF,code) 
    589589                END SELECT 
    590590C 
     
    600600C 
    601601            Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 
    602      &                    MPI_COMM_WORLD,statut,code) 
     602     &                    MPI_COMM_AGRIF,statut,code) 
    603603C 
    604604            recvfromproc(k) = res 
     
    609609                Call MPI_RECV(iminmax_temp(:,:,k), 
    610610     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    611      &                        MPI_COMM_WORLD,statut,code) 
     611     &                        MPI_COMM_AGRIF,statut,code) 
    612612 
    613613C                imin_recv(:,k) = iminmax_temp(:,1,k) 
     
    629629              Call MPI_RECV(temprecv%var%array1, 
    630630     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    631      &               MPI_COMM_WORLD,statut,code) 
     631     &               MPI_COMM_AGRIF,statut,code) 
    632632            CASE(2) 
    633633              datasize=SIZE(temprecv%var%array2) 
    634634              Call MPI_RECV(temprecv%var%array2, 
    635635     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    636      &               MPI_COMM_WORLD,statut,code) 
     636     &               MPI_COMM_AGRIF,statut,code) 
    637637            CASE(3) 
    638638              datasize=SIZE(temprecv%var%array3) 
    639639              Call MPI_RECV(temprecv%var%array3, 
    640640     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    641      &               MPI_COMM_WORLD,statut,code) 
     641     &               MPI_COMM_AGRIF,statut,code) 
    642642 
    643643            CASE(4) 
     
    645645              Call MPI_RECV(temprecv%var%array4, 
    646646     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    647      &               MPI_COMM_WORLD,statut,code) 
     647     &               MPI_COMM_AGRIF,statut,code) 
    648648            CASE(5) 
    649649              datasize=SIZE(temprecv%var%array5) 
    650650              Call MPI_RECV(temprecv%var%array5, 
    651651     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    652      &               MPI_COMM_WORLD,statut,code) 
     652     &               MPI_COMM_AGRIF,statut,code) 
    653653            CASE(6) 
    654654              datasize=SIZE(temprecv%var%array6) 
    655655              Call MPI_RECV(temprecv%var%array6, 
    656656     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    657      &               MPI_COMM_WORLD,statut,code) 
     657     &               MPI_COMM_AGRIF,statut,code) 
    658658          END SELECT 
    659659             
     
    693693C 
    694694            Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 
    695      &                    MPI_COMM_WORLD,code) 
     695     &                    MPI_COMM_AGRIF,code) 
    696696C 
    697697            if (sendtoproc(k)) then 
     
    702702                Call MPI_SEND(iminmax_temp(:,:,k), 
    703703     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    704      &                        MPI_COMM_WORLD,code) 
     704     &                        MPI_COMM_AGRIF,code) 
    705705C 
    706706            endif 
     
    715715C 
    716716            Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 
    717      &                    MPI_COMM_WORLD,statut,code) 
     717     &                    MPI_COMM_AGRIF,statut,code) 
    718718C 
    719719            recvfromproc(k) = res 
     
    724724                Call MPI_RECV(iminmax_temp(:,:,k), 
    725725     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    726      &                        MPI_COMM_WORLD,statut,code) 
     726     &                        MPI_COMM_AGRIF,statut,code) 
    727727 
    728728                imin_recv(:,k) = iminmax_temp(:,1,k) 
     
    739739             
    740740            Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 
    741      &                    MPI_COMM_WORLD,code) 
     741     &                    MPI_COMM_AGRIF,code) 
    742742C 
    743743            if (sendtoproc(k)) then 
     
    748748                Call MPI_SEND(iminmax_temp(:,:,k), 
    749749     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    750      &                        MPI_COMM_WORLD,code) 
     750     &                        MPI_COMM_AGRIF,code) 
    751751C 
    752752            endif 
     
    761761C 
    762762            Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 
    763      &                    MPI_COMM_WORLD,statut,code) 
     763     &                    MPI_COMM_AGRIF,statut,code) 
    764764C 
    765765            recvfromproc(k) = res 
     
    770770                Call MPI_RECV(iminmax_temp(:,:,k), 
    771771     &                        2*nbdim,MPI_INTEGER,k,etiquette, 
    772      &                        MPI_COMM_WORLD,statut,code) 
     772     &                        MPI_COMM_AGRIF,statut,code) 
    773773 
    774774                imin_recv(:,k) = iminmax_temp(:,1,k) 
     
    842842     &                        imin(1,k):imax(1,k)), 
    843843     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    844      &                        MPI_COMM_WORLD,code) 
     844     &                        MPI_COMM_AGRIF,code) 
    845845                CASE(2)                
    846846                   Call MPI_SEND(tempC%var%array2( 
     
    848848     &                        imin(2,k):imax(2,k)), 
    849849     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    850      &                        MPI_COMM_WORLD,code) 
     850     &                        MPI_COMM_AGRIF,code) 
    851851                CASE(3) 
    852852      
     
    860860     &                        imin(4,k):imax(4,k)), 
    861861     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    862      &                        MPI_COMM_WORLD,code) 
     862     &                        MPI_COMM_AGRIF,code) 
    863863                CASE(5) 
    864864                   Call MPI_SEND(tempC%var%array5( 
     
    869869     &                        imin(5,k):imax(5,k)), 
    870870     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    871      &                        MPI_COMM_WORLD,code) 
     871     &                        MPI_COMM_AGRIF,code) 
    872872                CASE(6) 
    873873                   Call MPI_SEND(tempC%var%array6( 
     
    879879     &                        imin(6,k):imax(6,k)), 
    880880     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    881      &                        MPI_COMM_WORLD,code) 
     881     &                        MPI_COMM_AGRIF,code) 
    882882                END SELECT 
    883883C 
     
    910910              Call MPI_RECV(temprecv%var%array1, 
    911911     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    912      &               MPI_COMM_WORLD,statut,code) 
     912     &               MPI_COMM_AGRIF,statut,code) 
    913913            CASE(2)            
    914914              Call MPI_RECV(temprecv%var%array2, 
    915915     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    916      &               MPI_COMM_WORLD,statut,code) 
     916     &               MPI_COMM_AGRIF,statut,code) 
    917917            CASE(3)        
    918918              Call MPI_RECV(temprecv%var%array3, 
    919919     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    920      &               MPI_COMM_WORLD,statut,code) 
     920     &               MPI_COMM_AGRIF,statut,code) 
    921921 
    922922            CASE(4) 
    923923              Call MPI_RECV(temprecv%var%array4, 
    924924     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    925      &               MPI_COMM_WORLD,statut,code) 
     925     &               MPI_COMM_AGRIF,statut,code) 
    926926            CASE(5) 
    927927              Call MPI_RECV(temprecv%var%array5, 
    928928     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    929      &               MPI_COMM_WORLD,statut,code) 
     929     &               MPI_COMM_AGRIF,statut,code) 
    930930            CASE(6) 
    931931              Call MPI_RECV(temprecv%var%array6, 
    932932     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    933      &               MPI_COMM_WORLD,statut,code) 
     933     &               MPI_COMM_AGRIF,statut,code) 
    934934       END SELECT 
    935935                         
     
    958958     &                        imin(1,k):imax(1,k)), 
    959959     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    960      &                        MPI_COMM_WORLD,code) 
     960     &                        MPI_COMM_AGRIF,code) 
    961961                CASE(2)                 
    962962                datasize=SIZE(tempC%var%array2( 
     
    967967     &                        imin(2,k):imax(2,k)), 
    968968     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    969      &                        MPI_COMM_WORLD,code) 
     969     &                        MPI_COMM_AGRIF,code) 
    970970                CASE(3) 
    971971                datasize=SIZE(tempC%var%array3( 
     
    978978     &                        imin(3,k):imax(3,k)), 
    979979     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    980      &                        MPI_COMM_WORLD,code) 
     980     &                        MPI_COMM_AGRIF,code) 
    981981                CASE(4) 
    982982                datasize=SIZE(tempC%var%array4( 
     
    991991     &                        imin(4,k):imax(4,k)), 
    992992     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    993      &                        MPI_COMM_WORLD,code) 
     993     &                        MPI_COMM_AGRIF,code) 
    994994                CASE(5) 
    995995                datasize=SIZE(tempC%var%array5( 
     
    10061006     &                        imin(5,k):imax(5,k)), 
    10071007     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1008      &                        MPI_COMM_WORLD,code) 
     1008     &                        MPI_COMM_AGRIF,code) 
    10091009                CASE(6) 
    10101010                datasize=SIZE(tempC%var%array6( 
     
    10231023     &                        imin(6,k):imax(6,k)), 
    10241024     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1025      &                        MPI_COMM_WORLD,code) 
     1025     &                        MPI_COMM_AGRIF,code) 
    10261026                END SELECT 
    10271027C 
     
    10471047              Call MPI_RECV(temprecv%var%array1, 
    10481048     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1049      &               MPI_COMM_WORLD,statut,code) 
     1049     &               MPI_COMM_AGRIF,statut,code) 
    10501050            CASE(2)            
    10511051              datasize=SIZE(temprecv%var%array2) 
    10521052              Call MPI_RECV(temprecv%var%array2, 
    10531053     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1054      &               MPI_COMM_WORLD,statut,code) 
     1054     &               MPI_COMM_AGRIF,statut,code) 
    10551055            CASE(3)            
    10561056              datasize=SIZE(temprecv%var%array3) 
    10571057              Call MPI_RECV(temprecv%var%array3, 
    10581058     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1059      &               MPI_COMM_WORLD,statut,code) 
     1059     &               MPI_COMM_AGRIF,statut,code) 
    10601060 
    10611061            CASE(4) 
     
    10631063              Call MPI_RECV(temprecv%var%array4, 
    10641064     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1065      &               MPI_COMM_WORLD,statut,code) 
     1065     &               MPI_COMM_AGRIF,statut,code) 
    10661066            CASE(5) 
    10671067              datasize=SIZE(temprecv%var%array5) 
    10681068              Call MPI_RECV(temprecv%var%array5, 
    10691069     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1070      &               MPI_COMM_WORLD,statut,code) 
     1070     &               MPI_COMM_AGRIF,statut,code) 
    10711071            CASE(6) 
    10721072              datasize=SIZE(temprecv%var%array6) 
    10731073              Call MPI_RECV(temprecv%var%array6, 
    10741074     &               datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1075      &               MPI_COMM_WORLD,statut,code) 
     1075     &               MPI_COMM_AGRIF,statut,code) 
    10761076          END SELECT 
    10771077             
     
    11081108     &                        imin(3):imax(3)), 
    11091109     &                        datasize,MPI_DOUBLE_PRECISION,k,etiquette, 
    1110      &                        MPI_COMM_WORLD,code) 
     1110     &                        MPI_COMM_AGRIF,code) 
    11111111      
    11121112         End Subroutine Agrif_Send_3Darray 
  • trunk/AGRIF/AGRIF_FILES/modtypes.F

    r1200 r1793  
    3737      INTEGER, PARAMETER :: Agrif_NbMaxGrids = 10 
    3838                   
     39C     MPI Communicator 
     40      INTEGER :: mpi_comm_agrif 
    3941C 
    4042C     ************************************************************************** 
     
    409411      INTEGER :: Agrif_Nbprocs  ! Number of processors 
    410412      INTEGER :: Agrif_ProcRank ! Rank of the current processor  
    411       INTEGER :: Agrif_Group    ! Group associated to MPI_COMM_WORLD 
     413      INTEGER :: Agrif_Group    ! Group associated to MPI_COMM_AGRIF 
    412414      INTEGER :: Agrif_MPIPREC 
    413415#endif 
  • trunk/AGRIF/AGRIF_FILES/modupdate.F

    r1200 r1793  
    757757       
    758758      CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 
    759      &                     MPI_COMM_WORLD,code) 
     759     &                     MPI_COMM_AGRIF,code) 
    760760 
    761761      lubglob(1:nbdim,2) = - lubglob(1:nbdim,2)       
     
    925925       
    926926      CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 
    927      &                     MPI_COMM_WORLD,code)   
     927     &                     MPI_COMM_AGRIF,code)   
    928928      
    929929      lubglob(1:nbdim,2) = - lubglob(1:nbdim,2)       
     
    12871287C 
    12881288      Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 
    1289      &                   MPI_INTEGER,MPI_COMM_WORLD,code) 
     1289     &                   MPI_INTEGER,MPI_COMM_AGRIF,code) 
    12901290 
    12911291      IF (.not.associated(tempCextend%var)) Allocate(tempCextend%var) 
     
    13001300      memberin1(1) = memberin 
    13011301      CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 
    1302      &                  1,MPI_LOGICAL,MPI_COMM_WORLD,code) 
     1302     &                  1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 
    13031303  
    13041304       Call Get_External_Data_first(tab4t(:,:,1), 
     
    14191419C 
    14201420      Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 
    1421      &                   MPI_INTEGER,MPI_COMM_WORLD,code) 
     1421     &                   MPI_INTEGER,MPI_COMM_AGRIF,code) 
    14221422 
    14231423      IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) 
     
    14321432      memberin1(1) = member 
    14331433      CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall2, 
    1434      &                  1,MPI_LOGICAL,MPI_COMM_WORLD,code) 
     1434     &                  1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 
    14351435  
    14361436      Call Get_External_Data_first(tab5t(:,:,1), 
  • trunk/AGRIF/AGRIF_FILES/modutil.F

    r662 r1793  
    6363C 
    6464#ifdef AGRIF_MPI 
    65       Integer      :: code 
     65      Logical      :: mpi_was_called 
     66      Integer      :: code, ierr 
    6667#include "mpif.h" 
    6768C 
    6869C 
     70      Call Agrif_comm_def(mpi_comm_agrif) 
     71 
     72      CALL mpi_initialized ( mpi_was_called, code ) 
     73      IF( code /= MPI_SUCCESS ) THEN 
     74         WRITE(*, *) ': Error in routine mpi_initialized' 
     75         CALL mpi_abort( mpi_comm_world, code, ierr ) 
     76      ENDIF 
     77 
     78      IF( .NOT. mpi_was_called ) THEN  
     79         CALL mpi_comm_dup( mpi_comm_world, mpi_comm_agrif, code) 
     80         IF( code /= MPI_SUCCESS ) THEN 
     81            WRITE(*, *) ' Agrif_Step: Error in routine mpi_comm_dup' 
     82            CALL mpi_abort( mpi_comm_world, code, ierr ) 
     83         ENDIF 
     84      ENDIF 
     85 
    6986      If (Agrif_Mygrid % ngridstep == 0) Then 
    70           Call MPI_COMM_SIZE(MPI_COMM_WORLD,Agrif_Nbprocs,code) 
    71           Call MPI_COMM_RANK(MPI_COMM_WORLD,Agrif_ProcRank,code) 
    72           Call MPI_COMM_GROUP(MPI_COMM_WORLD,Agrif_Group,code) 
     87          Call MPI_COMM_SIZE(MPI_COMM_AGRIF,Agrif_Nbprocs,code) 
     88          Call MPI_COMM_RANK(MPI_COMM_AGRIF,Agrif_ProcRank,code) 
     89          Call MPI_COMM_GROUP(MPI_COMM_AGRIF,Agrif_Group,code) 
    7390      endif 
    7491#endif 
Note: See TracChangeset for help on using the changeset viewer.