Changeset 2731
- Timestamp:
- 2011-04-08T14:05:35+02:00 (14 years ago)
- Location:
- trunk/NEMOGCM
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/CONFIG/makenemo
r2528 r2731 265 265 266 266 #- At this stage the configuration has beeen chosen 267 #- We coose the default light file 268 export USEBLD=bldxioxag.cfg 269 267 270 #- We look after agrif 268 grep key_agrif ${COMPIL_DIR}/cpp.fcm && export AGRIFUSE=1 271 grep key_agrif ${COMPIL_DIR}/cpp.fcm && export AGRIFUSE=1 && export USEBLD=${USEBLD/xag/} 269 272 . ${COMPIL_DIR}/Fprep_agrif.sh ${NEW_CONF} ${NEMO_TDIR} || exit 270 273 271 274 #- and test whether we need to build the ioserver 272 export USEBLD=bldxio.cfg 273 grep key_iomput ${COMPIL_DIR}/cpp.fcm && export USEBLD=bld.cfg 275 grep key_iomput ${COMPIL_DIR}/cpp.fcm && export USEBLD=${USEBLD/xio/} 274 276 275 277 #- -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modbc.F
r2715 r2731 814 814 815 815 CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 816 & MPI_COMM_ WORLD,code)816 & MPI_COMM_AGRIF,code) 817 817 818 818 lubglob(1:nbdim,2) = - lubglob(1:nbdim,2) -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modinterp.F
r2715 r2731 892 892 C 893 893 Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 894 & MPI_INTEGER,MPI_COMM_ WORLD,code)894 & MPI_INTEGER,MPI_COMM_AGRIF,code) 895 895 896 896 IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) … … 906 906 memberin1(1) = memberin 907 907 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 908 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)908 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 909 909 910 910 Call Get_External_Data_first(tab4t(:,:,1), -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modlinktomodel.F
r2715 r2731 27 27 C 28 28 c external Agrif_InitValues 29 c external Agrif_InitWorkspace30 29 c external Agrif_detect 31 30 C 31 external Agrif_InitWorkspace 32 32 external Agrif_probdim_modtype_def 33 33 external Agrif_clustering_def 34 external Agrif_comm_def 34 35 C Interface 36 INTERFACE 37 SUBROUTINE Sub_Loop_Agrif_InvLoc(indloc,nprocloc,i, 38 & indglob,njmppt,nimppt) 39 INTEGER :: indglob 40 INTEGER :: indloc 41 INTEGER :: nprocloc 42 INTEGER :: i 43 44 INTEGER, ALLOCATABLE, Dimension(:) :: njmppt 45 INTEGER, ALLOCATABLE, Dimension(:) :: nimppt 46 END SUBROUTINE 47 END INTERFACE 35 48 Interface 36 49 Subroutine Agrif_Set_numberofcells(Agrif_Gr) -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modmpp.F
r2715 r2731 67 67 68 68 CALL MPI_ALLGATHER(memberout1,1,MPI_LOGICAL,memberoutall, 69 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)69 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 70 70 ENDIF 71 71 pttruetab2(:,Agrif_Procrank) = pttruetab(:,Agrif_Procrank) … … 207 207 208 208 CALL MPI_ALLGATHER(memberout1,1,MPI_LOGICAL,memberoutall, 209 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)209 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 210 210 ENDIF 211 211 pttruetab2(:,Agrif_Procrank) = pttruetab(:,Agrif_Procrank) … … 356 356 C 357 357 Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 358 & MPI_COMM_ WORLD,code)358 & MPI_COMM_AGRIF,code) 359 359 C 360 360 if (sendtoproc(k)) then … … 365 365 Call MPI_SEND(iminmax_temp(:,:,k), 366 366 & 2*nbdim,MPI_INTEGER,k,etiquette, 367 & MPI_COMM_ WORLD,code)367 & MPI_COMM_AGRIF,code) 368 368 C 369 369 datasize = 1 … … 381 381 & imin(1,k):imax(1,k)), 382 382 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 383 & MPI_COMM_ WORLD,code)383 & MPI_COMM_AGRIF,code) 384 384 CASE(2) 385 385 Call MPI_SEND(tempC%var%array2( … … 387 387 & imin(2,k):imax(2,k)), 388 388 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 389 & MPI_COMM_ WORLD,code)389 & MPI_COMM_AGRIF,code) 390 390 CASE(3) 391 391 … … 399 399 & imin(4,k):imax(4,k)), 400 400 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 401 & MPI_COMM_ WORLD,code)401 & MPI_COMM_AGRIF,code) 402 402 CASE(5) 403 403 Call MPI_SEND(tempC%var%array5( … … 408 408 & imin(5,k):imax(5,k)), 409 409 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 410 & MPI_COMM_ WORLD,code)410 & MPI_COMM_AGRIF,code) 411 411 CASE(6) 412 412 Call MPI_SEND(tempC%var%array6( … … 418 418 & imin(6,k):imax(6,k)), 419 419 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 420 & MPI_COMM_ WORLD,code)420 & MPI_COMM_AGRIF,code) 421 421 END SELECT 422 422 C … … 432 432 C 433 433 Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 434 & MPI_COMM_ WORLD,statut,code)434 & MPI_COMM_AGRIF,statut,code) 435 435 C 436 436 recvfromproc(k) = res … … 441 441 Call MPI_RECV(iminmax_temp(:,:,k), 442 442 & 2*nbdim,MPI_INTEGER,k,etiquette, 443 & MPI_COMM_ WORLD,statut,code)443 & MPI_COMM_AGRIF,statut,code) 444 444 445 445 imin_recv(:,k) = iminmax_temp(:,1,k) … … 462 462 Call MPI_RECV(temprecv%var%array1, 463 463 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 464 & MPI_COMM_ WORLD,statut,code)464 & MPI_COMM_AGRIF,statut,code) 465 465 CASE(2) 466 466 Call MPI_RECV(temprecv%var%array2, 467 467 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 468 & MPI_COMM_ WORLD,statut,code)468 & MPI_COMM_AGRIF,statut,code) 469 469 CASE(3) 470 470 Call MPI_RECV(temprecv%var%array3, 471 471 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 472 & MPI_COMM_ WORLD,statut,code)472 & MPI_COMM_AGRIF,statut,code) 473 473 474 474 CASE(4) 475 475 Call MPI_RECV(temprecv%var%array4, 476 476 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 477 & MPI_COMM_ WORLD,statut,code)477 & MPI_COMM_AGRIF,statut,code) 478 478 CASE(5) 479 479 Call MPI_RECV(temprecv%var%array5, 480 480 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 481 & MPI_COMM_ WORLD,statut,code)481 & MPI_COMM_AGRIF,statut,code) 482 482 CASE(6) 483 483 Call MPI_RECV(temprecv%var%array6, 484 484 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 485 & MPI_COMM_ WORLD,statut,code)485 & MPI_COMM_AGRIF,statut,code) 486 486 END SELECT 487 487 … … 503 503 504 504 Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 505 & MPI_COMM_ WORLD,code)505 & MPI_COMM_AGRIF,code) 506 506 C 507 507 if (sendtoproc(k)) then … … 512 512 Call MPI_SEND(iminmax_temp(:,:,k), 513 513 & 2*nbdim,MPI_INTEGER,k,etiquette, 514 & MPI_COMM_ WORLD,code)514 & MPI_COMM_AGRIF,code) 515 515 C 516 516 SELECT CASE(nbdim) … … 521 521 & imin(1,k):imax(1,k)), 522 522 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 523 & MPI_COMM_ WORLD,code)523 & MPI_COMM_AGRIF,code) 524 524 CASE(2) 525 525 datasize=SIZE(tempC%var%array2( … … 530 530 & imin(2,k):imax(2,k)), 531 531 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 532 & MPI_COMM_ WORLD,code)532 & MPI_COMM_AGRIF,code) 533 533 CASE(3) 534 534 datasize=SIZE(tempC%var%array3( … … 541 541 & imin(3,k):imax(3,k)), 542 542 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 543 & MPI_COMM_ WORLD,code)543 & MPI_COMM_AGRIF,code) 544 544 CASE(4) 545 545 datasize=SIZE(tempC%var%array4( … … 554 554 & imin(4,k):imax(4,k)), 555 555 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 556 & MPI_COMM_ WORLD,code)556 & MPI_COMM_AGRIF,code) 557 557 CASE(5) 558 558 datasize=SIZE(tempC%var%array5( … … 569 569 & imin(5,k):imax(5,k)), 570 570 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 571 & MPI_COMM_ WORLD,code)571 & MPI_COMM_AGRIF,code) 572 572 CASE(6) 573 573 datasize=SIZE(tempC%var%array6( … … 586 586 & imin(6,k):imax(6,k)), 587 587 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 588 & MPI_COMM_ WORLD,code)588 & MPI_COMM_AGRIF,code) 589 589 END SELECT 590 590 C … … 600 600 C 601 601 Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 602 & MPI_COMM_ WORLD,statut,code)602 & MPI_COMM_AGRIF,statut,code) 603 603 C 604 604 recvfromproc(k) = res … … 609 609 Call MPI_RECV(iminmax_temp(:,:,k), 610 610 & 2*nbdim,MPI_INTEGER,k,etiquette, 611 & MPI_COMM_ WORLD,statut,code)611 & MPI_COMM_AGRIF,statut,code) 612 612 613 613 C imin_recv(:,k) = iminmax_temp(:,1,k) … … 629 629 Call MPI_RECV(temprecv%var%array1, 630 630 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 631 & MPI_COMM_ WORLD,statut,code)631 & MPI_COMM_AGRIF,statut,code) 632 632 CASE(2) 633 633 datasize=SIZE(temprecv%var%array2) 634 634 Call MPI_RECV(temprecv%var%array2, 635 635 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 636 & MPI_COMM_ WORLD,statut,code)636 & MPI_COMM_AGRIF,statut,code) 637 637 CASE(3) 638 638 datasize=SIZE(temprecv%var%array3) 639 639 Call MPI_RECV(temprecv%var%array3, 640 640 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 641 & MPI_COMM_ WORLD,statut,code)641 & MPI_COMM_AGRIF,statut,code) 642 642 643 643 CASE(4) … … 645 645 Call MPI_RECV(temprecv%var%array4, 646 646 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 647 & MPI_COMM_ WORLD,statut,code)647 & MPI_COMM_AGRIF,statut,code) 648 648 CASE(5) 649 649 datasize=SIZE(temprecv%var%array5) 650 650 Call MPI_RECV(temprecv%var%array5, 651 651 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 652 & MPI_COMM_ WORLD,statut,code)652 & MPI_COMM_AGRIF,statut,code) 653 653 CASE(6) 654 654 datasize=SIZE(temprecv%var%array6) 655 655 Call MPI_RECV(temprecv%var%array6, 656 656 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 657 & MPI_COMM_ WORLD,statut,code)657 & MPI_COMM_AGRIF,statut,code) 658 658 END SELECT 659 659 … … 693 693 C 694 694 Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 695 & MPI_COMM_ WORLD,code)695 & MPI_COMM_AGRIF,code) 696 696 C 697 697 if (sendtoproc(k)) then … … 702 702 Call MPI_SEND(iminmax_temp(:,:,k), 703 703 & 2*nbdim,MPI_INTEGER,k,etiquette, 704 & MPI_COMM_ WORLD,code)704 & MPI_COMM_AGRIF,code) 705 705 C 706 706 endif … … 715 715 C 716 716 Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 717 & MPI_COMM_ WORLD,statut,code)717 & MPI_COMM_AGRIF,statut,code) 718 718 C 719 719 recvfromproc(k) = res … … 724 724 Call MPI_RECV(iminmax_temp(:,:,k), 725 725 & 2*nbdim,MPI_INTEGER,k,etiquette, 726 & MPI_COMM_ WORLD,statut,code)726 & MPI_COMM_AGRIF,statut,code) 727 727 728 728 imin_recv(:,k) = iminmax_temp(:,1,k) … … 739 739 740 740 Call MPI_SEND(sendtoproc(k),1,MPI_LOGICAL,k,etiquette, 741 & MPI_COMM_ WORLD,code)741 & MPI_COMM_AGRIF,code) 742 742 C 743 743 if (sendtoproc(k)) then … … 748 748 Call MPI_SEND(iminmax_temp(:,:,k), 749 749 & 2*nbdim,MPI_INTEGER,k,etiquette, 750 & MPI_COMM_ WORLD,code)750 & MPI_COMM_AGRIF,code) 751 751 C 752 752 endif … … 761 761 C 762 762 Call MPI_RECV(res,1,MPI_LOGICAL,k,etiquette, 763 & MPI_COMM_ WORLD,statut,code)763 & MPI_COMM_AGRIF,statut,code) 764 764 C 765 765 recvfromproc(k) = res … … 770 770 Call MPI_RECV(iminmax_temp(:,:,k), 771 771 & 2*nbdim,MPI_INTEGER,k,etiquette, 772 & MPI_COMM_ WORLD,statut,code)772 & MPI_COMM_AGRIF,statut,code) 773 773 774 774 imin_recv(:,k) = iminmax_temp(:,1,k) … … 842 842 & imin(1,k):imax(1,k)), 843 843 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 844 & MPI_COMM_ WORLD,code)844 & MPI_COMM_AGRIF,code) 845 845 CASE(2) 846 846 Call MPI_SEND(tempC%var%array2( … … 848 848 & imin(2,k):imax(2,k)), 849 849 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 850 & MPI_COMM_ WORLD,code)850 & MPI_COMM_AGRIF,code) 851 851 CASE(3) 852 852 … … 860 860 & imin(4,k):imax(4,k)), 861 861 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 862 & MPI_COMM_ WORLD,code)862 & MPI_COMM_AGRIF,code) 863 863 CASE(5) 864 864 Call MPI_SEND(tempC%var%array5( … … 869 869 & imin(5,k):imax(5,k)), 870 870 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 871 & MPI_COMM_ WORLD,code)871 & MPI_COMM_AGRIF,code) 872 872 CASE(6) 873 873 Call MPI_SEND(tempC%var%array6( … … 879 879 & imin(6,k):imax(6,k)), 880 880 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 881 & MPI_COMM_ WORLD,code)881 & MPI_COMM_AGRIF,code) 882 882 END SELECT 883 883 C … … 910 910 Call MPI_RECV(temprecv%var%array1, 911 911 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 912 & MPI_COMM_ WORLD,statut,code)912 & MPI_COMM_AGRIF,statut,code) 913 913 CASE(2) 914 914 Call MPI_RECV(temprecv%var%array2, 915 915 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 916 & MPI_COMM_ WORLD,statut,code)916 & MPI_COMM_AGRIF,statut,code) 917 917 CASE(3) 918 918 Call MPI_RECV(temprecv%var%array3, 919 919 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 920 & MPI_COMM_ WORLD,statut,code)920 & MPI_COMM_AGRIF,statut,code) 921 921 922 922 CASE(4) 923 923 Call MPI_RECV(temprecv%var%array4, 924 924 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 925 & MPI_COMM_ WORLD,statut,code)925 & MPI_COMM_AGRIF,statut,code) 926 926 CASE(5) 927 927 Call MPI_RECV(temprecv%var%array5, 928 928 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 929 & MPI_COMM_ WORLD,statut,code)929 & MPI_COMM_AGRIF,statut,code) 930 930 CASE(6) 931 931 Call MPI_RECV(temprecv%var%array6, 932 932 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 933 & MPI_COMM_ WORLD,statut,code)933 & MPI_COMM_AGRIF,statut,code) 934 934 END SELECT 935 935 … … 958 958 & imin(1,k):imax(1,k)), 959 959 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 960 & MPI_COMM_ WORLD,code)960 & MPI_COMM_AGRIF,code) 961 961 CASE(2) 962 962 datasize=SIZE(tempC%var%array2( … … 967 967 & imin(2,k):imax(2,k)), 968 968 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 969 & MPI_COMM_ WORLD,code)969 & MPI_COMM_AGRIF,code) 970 970 CASE(3) 971 971 datasize=SIZE(tempC%var%array3( … … 978 978 & imin(3,k):imax(3,k)), 979 979 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 980 & MPI_COMM_ WORLD,code)980 & MPI_COMM_AGRIF,code) 981 981 CASE(4) 982 982 datasize=SIZE(tempC%var%array4( … … 991 991 & imin(4,k):imax(4,k)), 992 992 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 993 & MPI_COMM_ WORLD,code)993 & MPI_COMM_AGRIF,code) 994 994 CASE(5) 995 995 datasize=SIZE(tempC%var%array5( … … 1006 1006 & imin(5,k):imax(5,k)), 1007 1007 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1008 & MPI_COMM_ WORLD,code)1008 & MPI_COMM_AGRIF,code) 1009 1009 CASE(6) 1010 1010 datasize=SIZE(tempC%var%array6( … … 1023 1023 & imin(6,k):imax(6,k)), 1024 1024 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1025 & MPI_COMM_ WORLD,code)1025 & MPI_COMM_AGRIF,code) 1026 1026 END SELECT 1027 1027 C … … 1047 1047 Call MPI_RECV(temprecv%var%array1, 1048 1048 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1049 & MPI_COMM_ WORLD,statut,code)1049 & MPI_COMM_AGRIF,statut,code) 1050 1050 CASE(2) 1051 1051 datasize=SIZE(temprecv%var%array2) 1052 1052 Call MPI_RECV(temprecv%var%array2, 1053 1053 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1054 & MPI_COMM_ WORLD,statut,code)1054 & MPI_COMM_AGRIF,statut,code) 1055 1055 CASE(3) 1056 1056 datasize=SIZE(temprecv%var%array3) 1057 1057 Call MPI_RECV(temprecv%var%array3, 1058 1058 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1059 & MPI_COMM_ WORLD,statut,code)1059 & MPI_COMM_AGRIF,statut,code) 1060 1060 1061 1061 CASE(4) … … 1063 1063 Call MPI_RECV(temprecv%var%array4, 1064 1064 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1065 & MPI_COMM_ WORLD,statut,code)1065 & MPI_COMM_AGRIF,statut,code) 1066 1066 CASE(5) 1067 1067 datasize=SIZE(temprecv%var%array5) 1068 1068 Call MPI_RECV(temprecv%var%array5, 1069 1069 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1070 & MPI_COMM_ WORLD,statut,code)1070 & MPI_COMM_AGRIF,statut,code) 1071 1071 CASE(6) 1072 1072 datasize=SIZE(temprecv%var%array6) 1073 1073 Call MPI_RECV(temprecv%var%array6, 1074 1074 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1075 & MPI_COMM_ WORLD,statut,code)1075 & MPI_COMM_AGRIF,statut,code) 1076 1076 END SELECT 1077 1077 … … 1108 1108 & imin(3):imax(3)), 1109 1109 & datasize,MPI_DOUBLE_PRECISION,k,etiquette, 1110 & MPI_COMM_ WORLD,code)1110 & MPI_COMM_AGRIF,code) 1111 1111 1112 1112 End Subroutine Agrif_Send_3Darray -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modtypes.F
r2715 r2731 36 36 C Maximum number of grids of the hierarchy 37 37 INTEGER, PARAMETER :: Agrif_NbMaxGrids = 10 38 38 C MPI Communicator 39 INTEGER :: MPI_COMM_AGRIF 39 40 C 40 41 C ************************************************************************** … … 422 423 INTEGER :: Agrif_Nbprocs ! Number of processors 423 424 INTEGER :: Agrif_ProcRank ! Rank of the current processor 424 INTEGER :: Agrif_Group ! Group associated to MPI_COMM_ WORLD425 INTEGER :: Agrif_Group ! Group associated to MPI_COMM_AGRIF 425 426 INTEGER :: Agrif_MPIPREC 426 427 #endif -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modupdate.F
r2715 r2731 744 744 745 745 CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 746 & MPI_COMM_ WORLD,code)746 & MPI_COMM_AGRIF,code) 747 747 748 748 lubglob(1:nbdim,2) = - lubglob(1:nbdim,2) … … 910 910 911 911 CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 912 & MPI_COMM_ WORLD,code)912 & MPI_COMM_AGRIF,code) 913 913 914 914 lubglob(1:nbdim,2) = - lubglob(1:nbdim,2) … … 1270 1270 C 1271 1271 Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 1272 & MPI_INTEGER,MPI_COMM_ WORLD,code)1272 & MPI_INTEGER,MPI_COMM_AGRIF,code) 1273 1273 1274 1274 IF (.not.associated(tempCextend%var)) Allocate(tempCextend%var) … … 1283 1283 memberin1(1) = memberin 1284 1284 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 1285 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)1285 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 1286 1286 1287 1287 Call Get_External_Data_first(tab4t(:,:,1), … … 1402 1402 C 1403 1403 Call MPI_ALLGATHER(tab3,4*nbdim,MPI_INTEGER,tab4,4*nbdim, 1404 & MPI_INTEGER,MPI_COMM_ WORLD,code)1404 & MPI_INTEGER,MPI_COMM_AGRIF,code) 1405 1405 1406 1406 IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) … … 1415 1415 memberin1(1) = member 1416 1416 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall2, 1417 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)1417 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 1418 1418 1419 1419 Call Get_External_Data_first(tab5t(:,:,1), -
trunk/NEMOGCM/EXTERNAL/AGRIF/AGRIF_FILES/modutil.F
r2715 r2731 63 63 C 64 64 #ifdef key_mpp_mpi 65 Integer :: code66 65 INCLUDE 'mpif.h' 67 C 68 C 66 Integer :: code, ierr 67 Logical :: mpi_was_called 68 C 69 C 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 69 86 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) 73 90 endif 74 91 #endif -
trunk/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r2715 r2731 248 248 WRITE(ldtxt(ii),*) ' size in bytes of exported buffer nn_buffer = ', nn_buffer ; ii = ii + 1 249 249 250 #if defined key_agrif 251 IF( .NOT. Agrif_Root() ) THEN 252 jpni = Agrif_Parent(jpni ) 253 jpnj = Agrif_Parent(jpnj ) 254 jpnij = Agrif_Parent(jpnij) 255 ENDIF 256 #endif 257 250 258 IF(jpnij < 1)THEN 251 259 ! If jpnij is not specified in namelist then we calculate it - this
Note: See TracChangeset
for help on using the changeset viewer.