Changeset 1804
- Timestamp:
- 2010-02-08T11:51:02+01:00 (13 years ago)
- Location:
- branches/dev_005_AWL
- Files:
-
- 84 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_005_AWL/AGRIF/AA_make
r1771 r1804 13 13 #-Q- sxdkrz C_L = $(FC_L) 14 14 #-Q- sxdkrz C_O = $(FC_O) 15 #-Q- es hpuxC_L = $(FC_L)16 #-Q- es hpuxC_O = $(FC_O)15 #-Q- es2 C_L = $(FC_L) 16 #-Q- es2 C_O = $(FC_O) 17 17 #-Q- sx8mercure F_O += -Wf"-init heap=zero" 18 18 #-Q- sx9mercure F_O += -Wf"-init heap=zero" 19 19 #-Q- sx8brodie F_O += -Wf"-init heap=zero" 20 20 #-Q- sxdkrz F_O += -Wf"-init heap=zero" 21 #-Q- es hpuxF_O += -Wf"-init heap=zero"21 #-Q- es2 F_O += -Wf"-init heap=zero" 22 22 #-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -qextname 23 23 #-Q- aix6 F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -qextname … … 56 56 $(SXMODEL_LIB) : $(OBJS) 57 57 #-Q- sxdkrz @$(A_X) $@ $(OBJS) 58 #-Q- es hpux@$(A_X) $@ $(OBJS)58 #-Q- es2 @$(A_X) $@ $(OBJS) 59 59 60 60 $(AGRIFOBJS)/%.o : $(AGRIFFILES)/%.F KEY_CPP … … 70 70 #-Q- sx8brodie mv *.mod $(MODDIR) 71 71 #-Q- sxdkrz mv *.mod $(MODDIR) 72 #-Q- es hpuxmv *.mod $(MODDIR)72 #-Q- es2 mv *.mod $(MODDIR) 73 73 #-Q- solaris mv *.mod $(MODDIR) 74 74 -
branches/dev_005_AWL/AGRIF/AA_make.ldef
r1272 r1804 25 25 SXMODEL_LIB = $(MODEL_LIB) 26 26 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/libsxagrif.a 27 #-Q- es hpuxSXMODEL_LIB = $(LIBDIR)/libsxagrif.a27 #-Q- es2 SXMODEL_LIB = $(LIBDIR)/libsxagrif.a 28 28 #- 29 29 P_P=$(AGRIF_MPI) -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modbc.F
r1200 r1804 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) -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modinterp.F
r1200 r1804 894 894 C 895 895 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) 897 897 898 898 IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) … … 908 908 memberin1(1) = memberin 909 909 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 910 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)910 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 911 911 912 912 Call Get_External_Data_first(tab4t(:,:,1), -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modlinktomodel.F
r662 r1804 32 32 external Agrif_probdim_modtype_def 33 33 external Agrif_clustering_def 34 external Agrif_comm_def 34 35 C Interface 35 36 Interface -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modmpp.F
r898 r1804 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 -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modtypes.F
r1200 r1804 37 37 INTEGER, PARAMETER :: Agrif_NbMaxGrids = 10 38 38 39 C MPI Communicator 40 INTEGER :: mpi_comm_agrif 39 41 C 40 42 C ************************************************************************** … … 409 411 INTEGER :: Agrif_Nbprocs ! Number of processors 410 412 INTEGER :: Agrif_ProcRank ! Rank of the current processor 411 INTEGER :: Agrif_Group ! Group associated to MPI_COMM_ WORLD413 INTEGER :: Agrif_Group ! Group associated to MPI_COMM_AGRIF 412 414 INTEGER :: Agrif_MPIPREC 413 415 #endif -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modupdate.F
r1200 r1804 757 757 758 758 CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 759 & MPI_COMM_ WORLD,code)759 & MPI_COMM_AGRIF,code) 760 760 761 761 lubglob(1:nbdim,2) = - lubglob(1:nbdim,2) … … 925 925 926 926 CALL MPI_ALLREDUCE(iminmaxg,lubglob,2*nbdim,MPI_INTEGER,MPI_MIN, 927 & MPI_COMM_ WORLD,code)927 & MPI_COMM_AGRIF,code) 928 928 929 929 lubglob(1:nbdim,2) = - lubglob(1:nbdim,2) … … 1287 1287 C 1288 1288 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) 1290 1290 1291 1291 IF (.not.associated(tempCextend%var)) Allocate(tempCextend%var) … … 1300 1300 memberin1(1) = memberin 1301 1301 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall, 1302 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)1302 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 1303 1303 1304 1304 Call Get_External_Data_first(tab4t(:,:,1), … … 1419 1419 C 1420 1420 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) 1422 1422 1423 1423 IF (.not.associated(tempPextend%var)) Allocate(tempPextend%var) … … 1432 1432 memberin1(1) = member 1433 1433 CALL MPI_ALLGATHER(memberin1,1,MPI_LOGICAL,memberinall2, 1434 & 1,MPI_LOGICAL,MPI_COMM_ WORLD,code)1434 & 1,MPI_LOGICAL,MPI_COMM_AGRIF,code) 1435 1435 1436 1436 Call Get_External_Data_first(tab5t(:,:,1), -
branches/dev_005_AWL/AGRIF/AGRIF_FILES/modutil.F
r662 r1804 63 63 C 64 64 #ifdef AGRIF_MPI 65 Integer :: code 65 Logical :: mpi_was_called 66 Integer :: code, ierr 66 67 #include "mpif.h" 67 68 C 68 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 -
branches/dev_005_AWL/CONFIG/GYRE/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 456 456 #-Q- sx8brodie -R2 \ 457 457 #-Q- sxdkrz -R2 \ 458 #-Q- es hpux-R2 \458 #-Q- es2 -R2 \ 459 459 #-Q- aix6 -qsource \ 460 460 #-Q- aix -qsource \ … … 462 462 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 463 463 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 464 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null464 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 465 465 endif 466 466 … … 476 476 .PRECIOUS : $(MODEL_LIB) 477 477 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 478 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)478 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 479 479 480 480 # library dependancies … … 495 495 #-Q- sx8brodie -R2 \ 496 496 #-Q- sxdkrz -R2 \ 497 #-Q- es hpux-R2 \497 #-Q- es2 -R2 \ 498 498 #-Q- aix -qsource \ 499 499 #-Q- aix6 -qsource \ … … 501 501 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 502 502 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 503 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null503 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 504 504 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 505 505 @$(RM) $*.[of] … … 531 531 #-Q- sx8brodie -R2 \ 532 532 #-Q- sxdkrz -R2 \ 533 #-Q- es hpux-R2 \533 #-Q- es2 -R2 \ 534 534 #-Q- aix -qsource \ 535 535 #-Q- aix6 -qsource \ … … 543 543 #-Q- sx8brodie -R2 \ 544 544 #-Q- sxdkrz -R2 \ 545 #-Q- es hpux-R2 \545 #-Q- es2 -R2 \ 546 546 #-Q- aix -qsource \ 547 547 #-Q- aix6 -qsource \ … … 550 550 endif 551 551 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 552 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null552 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 553 553 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 554 554 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/GYRE/scripts/BB_make.ldef
r1759 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrc AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a19 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a22 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/CONFIG/GYRE_LOBSTER/EXP00/iodef.xml
r1772 r1804 250 250 --> 251 251 252 <file_definition output_level="10" enabled=".TRUE."> 253 254 252 255 <group id="1h" output_freq="3600" output_level="10" enabled=".TRUE."> <!-- 1h files --> 253 256 </group> -
branches/dev_005_AWL/CONFIG/GYRE_LOBSTER/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 585 585 #-Q- sx8brodie -R2 \ 586 586 #-Q- sxdkrz -R2 \ 587 #-Q- es hpux-R2 \587 #-Q- es2 -R2 \ 588 588 #-Q- aix6 -qsource \ 589 589 #-Q- aix -qsource \ … … 591 591 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 592 592 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 593 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null593 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 594 594 endif 595 595 … … 605 605 .PRECIOUS : $(MODEL_LIB) 606 606 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 607 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)607 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 608 608 609 609 # library dependancies … … 624 624 #-Q- sx8brodie -R2 \ 625 625 #-Q- sxdkrz -R2 \ 626 #-Q- es hpux-R2 \626 #-Q- es2 -R2 \ 627 627 #-Q- aix -qsource \ 628 628 #-Q- aix6 -qsource \ … … 630 630 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 631 631 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 632 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null632 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 633 633 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 634 634 @$(RM) $*.[of] … … 660 660 #-Q- sx8brodie -R2 \ 661 661 #-Q- sxdkrz -R2 \ 662 #-Q- es hpux-R2 \662 #-Q- es2 -R2 \ 663 663 #-Q- aix -qsource \ 664 664 #-Q- aix6 -qsource \ … … 672 672 #-Q- sx8brodie -R2 \ 673 673 #-Q- sxdkrz -R2 \ 674 #-Q- es hpux-R2 \674 #-Q- es2 -R2 \ 675 675 #-Q- aix -qsource \ 676 676 #-Q- aix6 -qsource \ … … 679 679 endif 680 680 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 681 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null681 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 682 682 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 683 683 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/GYRE_LOBSTER/scripts/BB_make.ldef
r1759 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxAGRIF_LIB = $(LIBDIR)/libsxagrif.a19 #-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxSXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a22 #-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/CONFIG/ORCA2_LIM/EXP00/iodef.xml
r1772 r1804 560 560 </context> 561 561 562 <context id="1_nemo"> 563 564 <!-- 565 ============================================================================================================ 566 = definition of all existing variables = 567 = DO NOT CHANGE = 568 ============================================================================================================ 569 --> 570 571 <field_definition level="1" prec="4" operation="ave(X)" enabled=".TRUE."> <!-- time step automaticaly defined --> 572 573 <!-- T grid --> 574 575 <group id="grid_T" axis_ref="none" grid_ref="grid_T"> 576 <field id="toce" description="temperature" unit="degC" axis_ref="deptht" /> 577 <field id="soce" description="salinity" unit="psu" axis_ref="deptht" /> 578 <field id="sst" description="sea surface temperature" unit="degC" /> 579 <field id="sst2" description="square of sea surface temperature" unit="degC2" /> 580 <field id="|sstgrad|" description="module of sst gradient" unit="degC/m" /> 581 <field id="|sstgrad|2" description="square of module of sst gradient" unit="degC2/m2" /> 582 <field id="sss" description="sea surface salinity" unit="psu" /> 583 <field id="sss2" description="square of sea surface salinity" unit="psu2" /> 584 <field id="ssh" description="sea surface height" unit="m" /> 585 <field id="ssh2" description="square of sea surface height" unit="m2" /> 586 <field id="mldkz5" description="mixing layer depth (Turbocline)" unit="m" /> 587 <field id="mldr10_1" description="Mixed Layer Depth 0.01 ref.10m" unit="m" /> 588 <field id="rhop" description="potential density (sigma0)" unit="kg/m3" axis_ref="deptht" /> 589 <!-- next variables available with key_diahth --> 590 <field id="mlddzt" description="Thermocline Depth (max dT/dz)" unit="m" /> 591 <field id="mldr10_3" description="Mixed Layer Depth dr=0.03 (ref.10m)" unit="m" /> 592 <field id="mldr0_1" description="Mixed Layer Depth dr=0.01 (ref.surf)" unit="m" /> 593 <field id="mldr0_3" description="Mixed Layer Depth dr=0.03 (ref.surf)" unit="m" /> 594 <field id="mld|dt|" description="Mixed Layer Depth |dt|=0.2 (ref.10m)" unit="m" /> 595 <field id="topthdep" description="Top of the thermocline dt=-0.2 (ref.10m)" unit="m" /> 596 <field id="pycndep" description="Pycnocline depth dr~dt=-0.2 (ref.10m)" unit="m" /> 597 <field id="BLT" description="Barrier Layer Thickness" unit="m" /> 598 <field id="tinv" description="Max of vertical invertion of temperature" unit="degC" /> 599 <field id="depti" description="Depth of max. vert. inv. of temperature" unit="m" /> 600 <field id="20d" description="Depth of 20C isotherm" unit="m" /> 601 <field id="28d" description="Depth of 28C isotherm" unit="m" /> 602 <field id="hc300" description="Heat content 300 m" unit="W" /> 603 <!-- variables available with key_diaar5 --> 604 <field id="botpres" description="Pressure at sea floor" unit="dbar" /> 605 <field id="cellthc" description="Cell thickness" unit="m" axis_ref="deptht" /> 606 </group> 607 608 <!-- SBC --> 609 610 <group id="SBC" axis_ref="none" grid_ref="grid_T" > <!-- time step automaticaly defined based on nn_fsbc --> 611 612 <field id="emp" description="Net Upward Water Flux" unit="kg/m2/s" /> 613 <field id="emps" description="concentration/dilution water flux" unit="kg/m2/s" /> 614 <field id="snowpre" description="Snow precipitation" unit="kg/m2/s" /> 615 <field id="runoffs" description="River Runoffs" unit="Kg/m2/s" /> 616 617 <field id="qns+qsr" description="Net Downward Heat Flux" unit="W/m2" /> 618 <field id="qns" description="non solar Downward Heat Flux" unit="W/m2" /> 619 <field id="qsr" description="Shortwave Radiation" unit="W/m2" /> 620 <field id="qsr3d" description="Shortwave Radiation 3D distribution" axis_ref="deptht" unit="W/m2" /> 621 <field id="qrp" description="Surface Heat Flux: Damping" unit="W/m2" /> 622 <field id="erp" description="Surface Water Flux: Damping" unit="Kg/m2/s" /> 623 <field id="taum" description="wind stress module" unit="N/m2" /> 624 <field id="wspd" description="Wind speed module at 10 m" unit="m/s" /> 625 626 <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 627 <field id="qns_oce" description="Non solar Downward Heat Flux over open ocean" unit="W/m2" /> 628 <field id="qlw_oce" description="Longwave Downward Heat Flux over open ocean" unit="W/m2" /> 629 <field id="qsb_oce" description="Sensible Downward Heat Flux over open ocean" unit="W/m2" /> 630 <field id="qla_oce" description="Latent Downward Heat Flux over open ocean" unit="W/m2" /> 631 <field id="taum_oce" description="wind stress module over open ocean" unit="N/m2" /> 632 633 <field id="ice_cover" description="Ice fraction" unit="1" /> 634 635 <field id="ioceflxb" description="Oceanic flux at the ice base" unit="W/m2" /> 636 <field id="qsr_ai_cea" description="Air-Ice downward solar heat flux (cell average)" unit="W/m2" /> 637 <field id="qns_ai_cea" description="Air-Ice downward non-solar heat flux (cell average)" unit="W/m2" /> 638 <field id="qla_ai_cea" description="Air-Ice downward Latent heat flux (cell average)" unit="W/m2" /> 639 640 <field id="qsr_io_cea" description="Ice-Oce downward solar heat flux (cell average)" unit="W/m2" /> 641 <field id="qns_io_cea" description="Ice-Oce downward non-solar heat flux (cell average)" unit="W/m2" /> 642 643 <field id="snowthic_cea" description="Snow thickness (cell average)" unit="m" /> 644 <field id="icethic_cea" description="Ice thickness (cell average)" unit="m" /> 645 <field id="iceprod_cea" description="Ice production (cell average)" unit="m/s" /> 646 647 <field id="ice_pres" description="Ice presence" unit="-" /> 648 <field id="ist_cea" description="Ice surface temperature (cell average)" unit="degC" /> 649 <field id="ist_ipa" description="Ice surface temperature (ice presence average)" unit="degC" /> 650 <field id="uice_ipa" description="Ice velocity along i-axis at I-point (ice presence average)" unit="m/s" /> 651 <field id="vice_ipa" description="Ice velocity along j-axis at I-point (ice presence average)" unit="m/s" /> 652 653 <field id="utau_ice" description="Wind stress along i-axis over the ice at i-point" unit="N/m2" /> 654 <field id="vtau_ice" description="Wind stress along j-axis over the ice at i-point" unit="N/m2" /> 655 656 <field id="u_imasstr" description="Sea-ice mass transport along i-axis" unit="kg/s" /> 657 <field id="v_imasstr" description="Sea-ice mass transport along j-axis" unit="kg/s" /> 658 659 <!-- available key_coupled --> 660 <field id="snow_ao_cea" description="Snow over ice-free ocean (cell average)" unit="kg/m2/s" /> 661 <field id="snow_ai_cea" description="Snow over sea-ice (cell average)" unit="kg/m2/s" /> 662 <field id="subl_ai_cea" description="Sublimation over sea-ice (cell average)" unit="kg/m2/s" /> 663 <field id="icealb_cea" description="Ice albedo (cell average)" unit="1" /> 664 <field id="calving" description="Calving" unit="kg/m2/s" /> 665 <!-- available if key_coupled + conservative method --> 666 <field id="rain" description="Liquid precipitation" unit="Kg/m2/s" /> 667 <field id="evap_ao_cea" description="Evaporation over ice-free ocean (cell average)" unit="kg/m2/s" /> 668 <!-- variables available with key_diaar5 --> 669 <field id="isnwmlt_cea" description="Snow over Ice melting (cell average)" unit="kg/m2/s" /> 670 <field id="fsal_virt_cea" description="Virtual salt flux due to ice formation (cell average)" unit="kg/m2/s" /> 671 <field id="fsal_real_cea" description="Real salt flux due to ice formation (cell average)" unit="kg/m2/s" /> 672 <field id="hflx_rain_cea" description="heat flux due to rainfall" unit="W/m2" /> 673 <field id="hflx_evap_cea" description="heat flux due to evaporation" unit="W/m2" /> 674 <field id="hflx_snow_cea" description="heat flux due to snow falling over ice-free ocean" unit="W/m2" /> 675 <field id="hflx_ice_cea" description="heat flux due to ice thermodynamics" unit="W/m2" /> 676 <field id="hflx_rnf_cea" description="heat flux due to runoffs" unit="W/m2" /> 677 <field id="hflx_cal_cea" description="heat flux due to calving" unit="W/m2" /> 678 <field id="bicemel_cea" description="Rate of Melt at Sea Ice Base (cell average)" unit="kg/m2/s" /> 679 <field id="licepro_cea" description="Lateral Sea Ice Growth Rate (cell average)" unit="kg/m2/s" /> 680 <field id="snowmel_cea" description="Snow Melt Rate (cell average)" unit="kg/m2/s" /> 681 <field id="sntoice_cea" description="Snow-Ice Formation Rate (cell average)" unit="kg/m2/s" /> 682 <field id="ticemel_cea" description="Rate of Melt at Upper Surface of Sea Ice (cell average)" unit="kg/m2/s" /> 683 684 </group> 685 686 <!-- U grid --> 687 688 <group id="grid_U" axis_ref="depthu" grid_ref="grid_U"> 689 <field id="utau" description="Wind Stress along i-axis" unit="N/m2" axis_ref="none" /> 690 <field id="uoce" description="ocean current along i-axis" unit="m/s" /> 691 <field id="uoce_eff" description="Effective ocean current along i-axis" unit="m/s" /> 692 <!-- uoce_eiv: available with key_traldf_eiv and key_diaeiv --> 693 <field id="uoce_eiv" description="EIV ocean current along i-axis" unit="m/s" /> 694 <!-- uoce_eiv: available with key_trabbl_adv --> 695 <field id="uoce_bbl" description="BBL ocean current along i-axis" unit="m/s" /> 696 <!-- variables available with key_diaar5 --> 697 <field id="u_masstr" description="ocean eulerian mass transport along i-axis" unit="kg/s" /> 698 <field id="u_heattr" description="ocean eulerian heat transport along i-axis" unit="W" axis_ref="none" /> 699 <field id="ueiv_heattr" description="ocean bolus heat transport along i-axis" unit="W" axis_ref="none" /> 700 <field id="udiff_heattr" description="ocean diffusion heat transport along i-axis" unit="W" axis_ref="none" /> 701 </group> 702 703 <!-- V grid --> 704 705 <group id="grid_V" axis_ref="depthv" grid_ref="grid_V"> 706 <field id="vtau" description="Wind Stress along j-axis" unit="N/m2" axis_ref="none" /> 707 <field id="voce" description="ocean current along j-axis" unit="m/s" /> 708 <field id="voce_eff" description="Effective ocean current along j-axis" unit="m/s" /> 709 <!-- voce_eiv: available with key_traldf_eiv and key_diaeiv --> 710 <field id="voce_eiv" description="EIV ocean current along j-axis" unit="m/s" /> 711 <!-- voce_eiv: available with key_trabbl_adv --> 712 <field id="voce_bbl" description="BBL ocean current along j-axis" unit="m/s" /> 713 <!-- variables available with key_diaar5 --> 714 <field id="v_masstr" description="ocean eulerian mass transport along j-axis" unit="kg/s" /> 715 <field id="v_heattr" description="ocean eulerian heat transport along j-axis" unit="W" axis_ref="none" /> 716 <field id="veiv_heattr" description="ocean bolus heat transport along j-axis" unit="W" axis_ref="none" /> 717 <field id="vdiff_heattr" description="ocean diffusion heat transport along j-axis" unit="W" axis_ref="none" /> 718 </group> 719 720 <!-- W grid --> 721 722 <group id="grid_W" axis_ref="depthw" grid_ref="grid_W"> 723 <field id="woce" description="ocean vertical velocity" unit="m/s" /> 724 <field id="woce_eff" description="effective ocean vertical velocity" unit="m/s" /> 725 <!-- woce_eiv: available with key_traldf_eiv and key_diaeiv --> 726 <field id="woce_eiv" description="EIV ocean vertical velocity" unit="m/s" /> 727 <!-- woce_eiv: available with key_trabbl_adv --> 728 <field id="woce_bbl" description="BBL ocean vertical velocity" unit="m/s" /> 729 <field id="avt" description="vertical eddy diffusivity" unit="m2/s" /> 730 <field id="avm" description="vertical eddy viscosity" unit="m2/s" /> 731 <!-- avs: available with key_zdfddm --> 732 <field id="avs" description="salt vertical eddy diffusivity" unit="m2/s" /> 733 <!-- avt_evd and avm_evd: available with ln_zdfevd --> 734 <field id="avt_evd" description="enhanced vertical diffusivity" unit="m2/s" /> 735 <field id="avm_evd" description="enhanced vertical viscosity" unit="m2/s" /> 736 <!-- aht2d and aht2d_eiv: available with key_traldf_eiv and key_traldf_c2d --> 737 <field id="aht2d" description="lateral eddy diffusivity" unit="m2/s" axis_ref="none" /> 738 <field id="aht2d_eiv" description="EIV lateral eddy diffusivity" unit="m2/s" axis_ref="none" /> 739 <!-- avt_tide: available with key_zdftmx --> 740 <field id="av_tide" description="tidal vertical diffusivity" unit="m2/s" /> 741 <!-- variables available with key_diaar5 --> 742 <field id="w_masstr" description="vertical mass trasport" unit="kg/s" /> 743 <field id="w_masstr2" description="square of vertical mass trasport" unit="kg2/s2" /> 744 </group> 745 746 <!-- scalar --> 747 748 <!-- variables available with key_diaar5 --> 749 <group id="scalar" axis_ref="none" grid_ref="scalarpoint" zoom_ref="1point" > 750 <field id="voltot" description="global mean volume" unit="m3" /> 751 <field id="sshtot" description="global mean ssh" unit="m" /> 752 <field id="sshsteric" description="global mean ssh steric" unit="m" /> 753 <field id="sshthster" description="global mean ssh thermosteric" unit="m" /> 754 <field id="masstot" description="global mean mass" unit="kg" /> 755 <field id="temptot" description="global mean temperature" unit="degC" /> 756 <field id="saltot" description="global mean salinity" unit="psu" /> 757 <field id="fram_trans" description="Sea Ice Mass Transport Through Fram Strait" unit="kg/s" /> 758 </group> 759 760 </field_definition> 761 762 <!-- 763 ============================================================================================================ 764 = output files definition = 765 = Define your own files = 766 = put the variables you want... = 767 ============================================================================================================ 768 --> 769 770 <file_definition > 771 772 <group id="1h" output_freq="3600" output_level="10" enabled=".TRUE."> <!-- 1h files --> 773 </group> 774 775 <group id="2h" output_freq="7200" output_level="10" enabled=".TRUE."> <!-- 2h files --> 776 </group> 777 778 <group id="3h" output_freq="10800" output_level="10" enabled=".TRUE."> <!-- 3h files --> 779 </group> 780 781 <group id="4h" output_freq="14400" output_level="10" enabled=".TRUE."> <!-- 4h files --> 782 </group> 783 784 <group id="6h" output_freq="21600" output_level="10" enabled=".TRUE."> <!-- 6h files --> 785 </group> 786 787 <group id="1d" output_freq="86400" output_level="10" enabled=".TRUE."> <!-- 1d files --> 788 <!-- global file with different operations on data --> 789 <file id="1d_grid_T" name="auto" description="ocean T grid variables" > 790 <field ref="sst" name="sst_1d_ave" /> <!-- mean --> 791 <field ref="sst" name="sst_1d_max" operation="t_max(X)" /> <!-- max --> 792 </file> 793 </group> 794 795 <group id="3d" output_freq="259200" output_level="10" enabled=".TRUE."> <!-- 3d files --> 796 </group> 797 798 <group id="5d" output_freq="432000" output_level="10" enabled=".TRUE."> <!-- 5d files --> 799 800 <file id="5d_grid_T" name="auto" description="ocean T grid variables" > 801 <field ref="toce" name="votemper" /> 802 <field ref="soce" name="vosaline" /> 803 <field ref="sst" name="sosstsst" /> 804 <field ref="sss" name="sosaline" /> 805 <field ref="ssh" name="sossheig" /> 806 <field ref="emp" name="sowaflup" /> 807 <field ref="qsr" name="soshfldo" /> 808 <field ref="emps" name="sowaflcd" /> 809 <field ref="qns+qsr" name="sohefldo" /> 810 <field ref="mldr10_1" name="somxl010" /> 811 <field ref="mldkz5" name="somixhgt" /> 812 <field ref="ice_cover" name="soicecov" /> 813 <field ref="wspd" name="sowindsp" /> 814 <field ref="qrp" name="sohefldp" /> 815 <field ref="erp" name="sowafldp" /> 816 <field ref="mlddzt" name="sothedep" /> 817 <field ref="20d" name="so20chgt" /> 818 <field ref="28d" name="so28chgt" /> 819 <field ref="hc300" name="sohtc300" /> 820 <field ref="ist_ipa" name="soicetem" /> 821 <field ref="icealb_cea" name="soicealb" /> 822 </file> 823 824 <file id="5d_grid_U" name="auto" description="ocean U grid variables" > 825 <field ref="uoce" name="vozocrtx" /> 826 <field ref="utau" name="sozotaux" /> 827 </file> 828 829 <file id="5d_grid_V" name="auto" description="ocean V grid variables" > 830 <field ref="voce" name="vomecrty" /> 831 <field ref="vtau" name="sometauy" /> 832 </file> 833 834 <file id="5d_grid_W" name="auto" description="ocean W grid variables" > 835 <field ref="woce" name="vovecrtz" /> 836 <field ref="avt" name="votkeavt" /> 837 <field ref="avt_evd" name="votkeevd" /> 838 <field ref="avm" name="votkeavm" /> 839 <field ref="avm_evd" name="votkeevm" /> 840 <field ref="avs" name="voddmavs" /> 841 <field ref="aht2d" name="soleahtw" /> 842 </file> 843 844 <!-- 845 <file id="5d_icemod" name="auto" description="ice variables" > 846 <field ref="ice_pres" /> 847 <field ref="snowthic_cea" name="isnowthi" /> 848 <field ref="icethic_cea" name="iicethic" /> 849 <field ref="iceprod_cea" name="iiceprod" /> 850 <field ref="ist_ipa" name="iicetemp" /> 851 <field ref="ioceflxb" name="ioceflxb" /> 852 <field ref="uice_ipa" name="iicevelu" /> 853 <field ref="vice_ipa" name="iicevelv" /> 854 <field ref="utau_ice" name="iicestru" /> 855 <field ref="vtau_ice" name="iicestrv" /> 856 <field ref="qsr_io_cea" name="iicesflx" /> 857 <field ref="qns_io_cea" name="iicenflx" /> 858 <field ref="snowpre" name="isnowpre" /> 859 </file> 860 --> 861 862 </group> 863 864 <group id="1m" output_freq="-1" output_level="10" enabled=".TRUE."> <!-- real monthly files --> 865 866 <file id="1m_grid_T" name="auto" description="ocean T grid variables" > 867 <field ref="sst" name="sosstsst" /> 868 </file> 869 870 </group> 871 872 <group id="2m" output_freq="-2" output_level="10" enabled=".TRUE."> <!-- real 2m files --> 873 </group> 874 875 <group id="3m" output_freq="-3" output_level="10" enabled=".TRUE."> <!-- real 3m files --> 876 </group> 877 878 <group id="4m" output_freq="-4" output_level="10" enabled=".TRUE."> <!-- real 4m files --> 879 </group> 880 881 <group id="6m" output_freq="-6" output_level="10" enabled=".TRUE."> <!-- real 6m files --> 882 </group> 883 884 <group id="1y" output_freq="-12" output_level="10" enabled=".TRUE."> <!-- real yearly files --> 885 886 <file id="1y_grid_T" name="auto" description="ocean T grid variables" > 887 <field ref="mldr10_1" name="sobowlin" operation="t_max(X)" /> 888 </file> 889 890 </group> 891 892 <group id="2y" output_freq="-24" output_level="10" enabled=".TRUE."> <!-- real 2y files --> 893 </group> 894 895 <group id="5y" output_freq="-60" output_level="10" enabled=".TRUE."> <!-- real 5y files --> 896 </group> 897 898 <group id="10y" output_freq="-120" output_level="10" enabled=".TRUE."> <!-- real 10y files --> 899 </group> 900 901 </file_definition> 902 903 <!-- 904 ============================================================================================================ 905 = grid definition = 906 = DO NOT CHANGE = 907 ============================================================================================================ 908 --> 909 910 <axis_definition> 911 <axis id="deptht" description="Vertical T levels" unit="m" positive=".false." /> 912 <axis id="depthu" description="Vertical U levels" unit="m" positive=".false." /> 913 <axis id="depthv" description="Vertical V levels" unit="m" positive=".false." /> 914 <axis id="depthw" description="Vertical W levels" unit="m" positive=".false." /> 915 <axis id="none" description="axe non defini" unit="none" size="1" /> 916 </axis_definition> 917 918 <grid_definition> 919 <grid id="grid_T" description="grid T" > 920 </grid> 921 922 <grid id="grid_U" description="grid U" > 923 </grid> 924 925 <grid id="grid_V" description="grid V" > 926 </grid> 927 928 <grid id="grid_W" description="grid W" > 929 </grid> 930 931 <grid id="scalarpoint" description="scalar" > 932 <zoom id="1point" ibegin="1" jbegin="1" ni="1" nj="1" /> 933 </grid> 934 935 </grid_definition> 936 937 </context> 938 562 939 </simulation> -
branches/dev_005_AWL/CONFIG/ORCA2_LIM/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 463 463 #-Q- sx8brodie -R2 \ 464 464 #-Q- sxdkrz -R2 \ 465 #-Q- es hpux-R2 \465 #-Q- es2 -R2 \ 466 466 #-Q- aix6 -qsource \ 467 467 #-Q- aix -qsource \ … … 469 469 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 470 470 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 471 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null471 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 472 472 endif 473 473 … … 483 483 .PRECIOUS : $(MODEL_LIB) 484 484 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 485 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)485 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 486 486 487 487 # library dependancies … … 502 502 #-Q- sx8brodie -R2 \ 503 503 #-Q- sxdkrz -R2 \ 504 #-Q- es hpux-R2 \504 #-Q- es2 -R2 \ 505 505 #-Q- aix -qsource \ 506 506 #-Q- aix6 -qsource \ … … 508 508 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 509 509 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 510 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null510 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 511 511 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 512 512 @$(RM) $*.[of] … … 538 538 #-Q- sx8brodie -R2 \ 539 539 #-Q- sxdkrz -R2 \ 540 #-Q- es hpux-R2 \540 #-Q- es2 -R2 \ 541 541 #-Q- aix -qsource \ 542 542 #-Q- aix6 -qsource \ … … 550 550 #-Q- sx8brodie -R2 \ 551 551 #-Q- sxdkrz -R2 \ 552 #-Q- es hpux-R2 \552 #-Q- es2 -R2 \ 553 553 #-Q- aix -qsource \ 554 554 #-Q- aix6 -qsource \ … … 557 557 endif 558 558 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 559 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null559 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 560 560 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 561 561 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/ORCA2_LIM/scripts/BB_make.ldef
r1759 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxAGRIF_LIB = $(LIBDIR)/libsxagrif.a19 #-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxSXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a22 #-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_pisces
r1751 r1804 25 25 xkmort = 1.E-7 ! half saturation constant for mortality 26 26 ferat3 = 3.E-6 ! Fe/C in zooplankton 27 wsbio2 = 50. ! Big particles sinking speed27 wsbio2 = 30. ! Big particles sinking speed 28 28 / 29 29 !''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' … … 32 32 conc0 = 2.e-6 ! Phosphate half saturation 33 33 conc1 = 10E-6 ! Phosphate half saturation for diatoms 34 conc2 = 0.0 2E-9 ! Iron half saturation for phyto34 conc2 = 0.01E-9 ! Iron half saturation for phyto 35 35 conc2m = 0.08E-9 ! Max iron half saturation for phyto 36 36 conc3 = 0.1E-9 ! Iron half saturation for diatoms … … 46 46 &nampisprod ! parameters for phytoplankton growth 47 47 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 48 pislope = 4. ! P-I slope49 pislope2 = 4. ! P-I slope for diatoms48 pislope = 3. ! P-I slope 49 pislope2 = 3. ! P-I slope for diatoms 50 50 excret = 0.05 ! excretion ratio of phytoplankton 51 51 excret2 = 0.05 ! excretion ratio of diatoms … … 87 87 resrat = 0.03 ! exsudation rate of zooplankton 88 88 mzrat = 0.0 ! zooplankton mortality rate 89 xpref2c = 0. 0! Microzoo preference for POM90 xpref2p = 0. 5! Microzoo preference for Nanophyto91 xpref2d = 0. 5! Microzoo preference for Diatoms89 xpref2c = 0.1 ! Microzoo preference for POM 90 xpref2p = 0.45 ! Microzoo preference for Nanophyto 91 xpref2d = 0.45 ! Microzoo preference for Diatoms 92 92 xkgraz = 20.E-6 ! half sturation constant for grazing 93 93 epsher = 0.33 ! Efficiency of microzoo growth -
branches/dev_005_AWL/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 588 588 #-Q- sx8brodie -R2 \ 589 589 #-Q- sxdkrz -R2 \ 590 #-Q- es hpux-R2 \590 #-Q- es2 -R2 \ 591 591 #-Q- aix6 -qsource \ 592 592 #-Q- aix -qsource \ … … 594 594 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 595 595 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 596 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null596 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 597 597 endif 598 598 … … 608 608 .PRECIOUS : $(MODEL_LIB) 609 609 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 610 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)610 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 611 611 612 612 # library dependancies … … 627 627 #-Q- sx8brodie -R2 \ 628 628 #-Q- sxdkrz -R2 \ 629 #-Q- es hpux-R2 \629 #-Q- es2 -R2 \ 630 630 #-Q- aix -qsource \ 631 631 #-Q- aix6 -qsource \ … … 633 633 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 634 634 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 635 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null635 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 636 636 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 637 637 @$(RM) $*.[of] … … 663 663 #-Q- sx8brodie -R2 \ 664 664 #-Q- sxdkrz -R2 \ 665 #-Q- es hpux-R2 \665 #-Q- es2 -R2 \ 666 666 #-Q- aix -qsource \ 667 667 #-Q- aix6 -qsource \ … … 675 675 #-Q- sx8brodie -R2 \ 676 676 #-Q- sxdkrz -R2 \ 677 #-Q- es hpux-R2 \677 #-Q- es2 -R2 \ 678 678 #-Q- aix -qsource \ 679 679 #-Q- aix6 -qsource \ … … 682 682 endif 683 683 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 684 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null684 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 685 685 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 686 686 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make.ldef
r1759 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxAGRIF_LIB = $(LIBDIR)/libsxagrif.a19 #-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxSXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a22 #-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
r1751 r1804 128 128 lperdyn = .true. ! periodicity of the unique file (T) 129 129 ! ! F (default) computed with Blanke' scheme 130 cfile_grid_T = 'NEMOV3_5d_2 0910101_20911231_grid_T.nc' ! name of grid_T file131 cfile_grid_U = 'NEMOV3_5d_2 0910101_20911231_grid_U.nc' ! name of grid_U file132 cfile_grid_V = 'NEMOV3_5d_2 0910101_20911231_grid_V.nc' ! name of grid_V file133 cfile_grid_W = 'NEMOV3_5d_2 0910101_20911231_grid_W.nc' ! name of grid_W file130 cfile_grid_T = 'NEMOV3_5d_21210101_21211231_grid_T.nc' ! name of grid_T file 131 cfile_grid_U = 'NEMOV3_5d_21210101_21211231_grid_U.nc' ! name of grid_U file 132 cfile_grid_V = 'NEMOV3_5d_21210101_21211231_grid_V.nc' ! name of grid_V file 133 cfile_grid_W = 'NEMOV3_5d_21210101_21211231_grid_W.nc' ! name of grid_W file 134 134 / 135 135 -
branches/dev_005_AWL/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_pisces
r1751 r1804 25 25 xkmort = 1.E-7 ! half saturation constant for mortality 26 26 ferat3 = 3.E-6 ! Fe/C in zooplankton 27 wsbio2 = 50. ! Big particles sinking speed27 wsbio2 = 30. ! Big particles sinking speed 28 28 / 29 29 !''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' … … 32 32 conc0 = 2.e-6 ! Phosphate half saturation 33 33 conc1 = 10E-6 ! Phosphate half saturation for diatoms 34 conc2 = 0.0 2E-9 ! Iron half saturation for phyto34 conc2 = 0.01E-9 ! Iron half saturation for phyto 35 35 conc2m = 0.08E-9 ! Max iron half saturation for phyto 36 36 conc3 = 0.1E-9 ! Iron half saturation for diatoms … … 46 46 &nampisprod ! parameters for phytoplankton growth 47 47 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 48 pislope = 4. ! P-I slope49 pislope2 = 4. ! P-I slope for diatoms48 pislope = 3. ! P-I slope 49 pislope2 = 3. ! P-I slope for diatoms 50 50 excret = 0.05 ! excretion ratio of phytoplankton 51 51 excret2 = 0.05 ! excretion ratio of diatoms … … 87 87 resrat = 0.03 ! exsudation rate of zooplankton 88 88 mzrat = 0.0 ! zooplankton mortality rate 89 xpref2c = 0. 0! Microzoo preference for POM90 xpref2p = 0. 5! Microzoo preference for Nanophyto91 xpref2d = 0. 5! Microzoo preference for Diatoms89 xpref2c = 0.1 ! Microzoo preference for POM 90 xpref2p = 0.45 ! Microzoo preference for Nanophyto 91 xpref2d = 0.45 ! Microzoo preference for Diatoms 92 92 xkgraz = 20.E-6 ! half sturation constant for grazing 93 93 epsher = 0.33 ! Efficiency of microzoo growth … … 175 175 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 176 176 ln_pisdmp = .true. ! Relaxation fo some tracers to a mean value 177 ln_pisclo = .false. ! Restoring of tracer to initial value on closed sea ("key_dtatrc") 177 178 / -
branches/dev_005_AWL/CONFIG/ORCA2_OFF_PISCES/IGCM00/COMP/pisces.card
r1764 r1804 17 17 List= () 18 18 ListNonDel= (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_mesh_mask.nc, mesh_mask.nc), \ 19 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_2 0910101_20911231_grid_T.nc, .), \20 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_2 0910101_20911231_grid_U.nc, .), \21 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_2 0910101_20911231_grid_V.nc, .), \22 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_2 0910101_20911231_grid_W.nc, .), \19 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_21210101_21211231_grid_T.nc, .), \ 20 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_21210101_21211231_grid_U.nc, .), \ 21 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_21210101_21211231_grid_V.nc, .), \ 22 (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_21210101_21211231_grid_W.nc, .), \ 23 23 (${R_BC}/${config_UserChoices_TagName}/INI/data_1m_DIC_nomask.nc, .), \ 24 24 (${R_BC}/${config_UserChoices_TagName}/INI/data_1m_Alkalini_nomask.nc, .), \ -
branches/dev_005_AWL/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 390 390 #-Q- sx8brodie -R2 \ 391 391 #-Q- sxdkrz -R2 \ 392 #-Q- es hpux-R2 \392 #-Q- es2 -R2 \ 393 393 #-Q- aix6 -qsource \ 394 394 #-Q- aix -qsource \ … … 396 396 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 397 397 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 398 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null398 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 399 399 endif 400 400 … … 410 410 .PRECIOUS : $(MODEL_LIB) 411 411 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 412 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)412 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 413 413 414 414 # library dependancies … … 429 429 #-Q- sx8brodie -R2 \ 430 430 #-Q- sxdkrz -R2 \ 431 #-Q- es hpux-R2 \431 #-Q- es2 -R2 \ 432 432 #-Q- aix -qsource \ 433 433 #-Q- aix6 -qsource \ … … 435 435 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 436 436 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 437 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null437 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 438 438 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 439 439 @$(RM) $*.[of] … … 465 465 #-Q- sx8brodie -R2 \ 466 466 #-Q- sxdkrz -R2 \ 467 #-Q- es hpux-R2 \467 #-Q- es2 -R2 \ 468 468 #-Q- aix -qsource \ 469 469 #-Q- aix6 -qsource \ … … 477 477 #-Q- sx8brodie -R2 \ 478 478 #-Q- sxdkrz -R2 \ 479 #-Q- es hpux-R2 \479 #-Q- es2 -R2 \ 480 480 #-Q- aix -qsource \ 481 481 #-Q- aix6 -qsource \ … … 484 484 endif 485 485 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 486 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null486 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 487 487 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 488 488 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make.ldef
r1759 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxAGRIF_LIB = $(LIBDIR)/libsxagrif.a19 #-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxSXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a22 #-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/CONFIG/POMME/scripts/BB_make
r1778 r1804 22 22 #-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 23 23 #-Q- sxdkrz L_X = $(L_O) -ftrace 24 #-Q- es hpux# Compiler options for NEMO (Earth Simulator)25 #-Q- es hpux# for super perfs!26 #-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)27 #-Q- es hpux# regular options!28 #-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)29 #-Q- es hpuxL_X = $(L_O)24 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 25 #-Q- es2 # for super perfs! 26 #-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 27 #-Q- es2 # regular options! 28 #-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 29 #-Q- es2 L_X = $(L_O) 30 30 #-Q- linux # Compiler options for NEMO (pgf version) 31 31 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 62 #-Q- sx8brodie PREF=i. 63 63 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.64 #-Q- es2 PREF=i. 65 65 66 66 # add suffix to P_P … … 456 456 #-Q- sx8brodie -R2 \ 457 457 #-Q- sxdkrz -R2 \ 458 #-Q- es hpux-R2 \458 #-Q- es2 -R2 \ 459 459 #-Q- aix6 -qsource \ 460 460 #-Q- aix -qsource \ … … 462 462 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 463 463 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 464 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null464 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 465 465 endif 466 466 … … 476 476 .PRECIOUS : $(MODEL_LIB) 477 477 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 478 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)478 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 479 479 480 480 # library dependancies … … 495 495 #-Q- sx8brodie -R2 \ 496 496 #-Q- sxdkrz -R2 \ 497 #-Q- es hpux-R2 \497 #-Q- es2 -R2 \ 498 498 #-Q- aix -qsource \ 499 499 #-Q- aix6 -qsource \ … … 501 501 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 502 502 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 503 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null503 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 504 504 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 505 505 @$(RM) $*.[of] … … 531 531 #-Q- sx8brodie -R2 \ 532 532 #-Q- sxdkrz -R2 \ 533 #-Q- es hpux-R2 \533 #-Q- es2 -R2 \ 534 534 #-Q- aix -qsource \ 535 535 #-Q- aix6 -qsource \ … … 543 543 #-Q- sx8brodie -R2 \ 544 544 #-Q- sxdkrz -R2 \ 545 #-Q- es hpux-R2 \545 #-Q- es2 -R2 \ 546 546 #-Q- aix -qsource \ 547 547 #-Q- aix6 -qsource \ … … 550 550 endif 551 551 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 552 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null552 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 553 553 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 554 554 @$(RM) $*.[of] -
branches/dev_005_AWL/CONFIG/POMME/scripts/BB_make.ldef
r1729 r1804 14 14 IOIPSL_LIB = $(LIBDIR)/libioipsl.a 15 15 #-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 16 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a16 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 17 17 AGRIF_LIB = $(LIBDIR)/libagrif.a 18 18 #-Q- sxdkrc AGRIF_LIB = $(LIBDIR)/libsxagrif.a 19 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a19 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 20 20 SXMODEL_LIB = $(MODEL_LIB) 21 21 #-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 22 #-Q- es hpuxIOIPSL_LIB = $(LIBDIR)/libsxioipsl.a22 #-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 23 23 OASISMPI2_LIB = 24 24 LIBMPI = … … 37 37 #-Q- sx9mercure prefix = -D 38 38 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D39 #-Q- es2 prefix = -D 40 40 #-Q- sxdkrz prefix = -D 41 41 #-Q- linux prefix = -D -
branches/dev_005_AWL/EXTERNAL/XMLF90/AA_make
r1722 r1804 11 11 #- 12 12 #-Q- sxdkrz F_O = $(F_D) $(F_P) -C vsafe -size_t64 -I $(MODDIR) 13 #-Q- es hpuxF_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR)13 #-Q- es2 F_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR) 14 14 #-Q- sx8brodie F_O = $(F_D) $(F_P) -I $(MODDIR) 15 15 #-Q- sx6nec F_O = $(F_D) $(F_P) -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -
branches/dev_005_AWL/EXTERNAL/XMLF90/makemake_XMLF90.perl
r1723 r1804 31 31 print MAKEFILE "#-\n"; 32 32 print MAKEFILE "#-Q- sxdkrz F_O = \$(F_D) \$(F_P) -C vsafe -size_t64 -I \$(MODDIR)\n"; 33 print MAKEFILE "#-Q- es hpuxF_O = \$(F_D) \$(F_P) -C vsafe -I \$(MODDIR)\n";33 print MAKEFILE "#-Q- es2 F_O = \$(F_D) \$(F_P) -C vsafe -I \$(MODDIR)\n"; 34 34 print MAKEFILE "#-Q- sx8brodie F_O = \$(F_D) \$(F_P) -I \$(MODDIR)\n"; 35 35 print MAKEFILE "#-Q- sx6nec F_O = \$(F_D) \$(F_P) -size_t64 -Wf\,\"-pvctl loopcnt=999999\" -I \$(MODDIR)\n"; -
branches/dev_005_AWL/EXTERNAL/XMLIO_SERVER/AA_make
r1728 r1804 15 15 #-Q- sx9mercure F_O := $(F_O) -Wf,-ptr byte 16 16 #-Q- sxdkrz F_O := $(F_O) -Wf,-ptr byte 17 #-Q- es hpuxF_O := $(F_O) -Wf,-ptr byte17 #-Q- es2 F_O := $(F_O) -Wf,-ptr byte 18 18 #-Q- aix6 F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90 -qmoddir=$(MODDIR) -I $(MODDIR) 19 19 #-Q- aix F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90 -qmoddir=$(MODDIR) -I $(MODDIR) -
branches/dev_005_AWL/EXTERNAL/XMLIO_SERVER/makemake_XMLIO.perl
r1728 r1804 35 35 print MAKEFILE "#-Q- sx9mercure F_O := \$(F_O) -Wf,-ptr byte\n"; 36 36 print MAKEFILE "#-Q- sxdkrz F_O := \$(F_O) -Wf,-ptr byte\n"; 37 print MAKEFILE "#-Q- es hpuxF_O := \$(F_O) -Wf,-ptr byte\n";37 print MAKEFILE "#-Q- es2 F_O := \$(F_O) -Wf,-ptr byte\n"; 38 38 print MAKEFILE "#-Q- aix6 F_O = \$(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90 -qmoddir=\$(MODDIR) -I \$(MODDIR)\n"; 39 39 print MAKEFILE "#-Q- aix F_O = \$(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90 -qmoddir=\$(MODDIR) -I \$(MODDIR)\n"; -
branches/dev_005_AWL/NEMO/NST_SRC/agrif2model.F90
r1156 r1804 73 73 74 74 END SUBROUTINE Agrif_clustering_def 75 76 SUBROUTINE Agrif_comm_def(modelcomm) 77 78 !!--------------------------------------------- 79 !! *** ROUTINE Agrif_clustering_def *** 80 !!--------------------------------------------- 81 Use Agrif_Types 82 Use lib_mpp 83 84 IMPLICIT NONE 85 86 INTEGER :: modelcomm 87 88 #if defined key_mpp_mpi 89 modelcomm = mpi_comm_opa 90 #endif 91 Return 92 93 END SUBROUTINE Agrif_comm_def 75 94 #else 76 95 SUBROUTINE Agrif2Model -
branches/dev_005_AWL/NEMO/OFF_SRC/DOM/domrea.F90
r1641 r1804 215 215 216 216 217 DO jk = 1,jpk218 gdept(:,:,jk) = gdept_0(jk)219 gdepw(:,:,jk) = gdepw_0(jk)220 END DO221 222 223 217 IF( ln_zps ) THEN 218 ! Vertical coordinates and scales factors 219 CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 ) ! depth 220 CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', gdepw_0 ) 221 CALL iom_get( inum4, jpdom_unknown, 'e3t_0' , e3t_0 ) 222 CALL iom_get( inum4, jpdom_unknown, 'e3w_0' , e3w_0 ) 224 223 ! z-coordinate - partial steps 225 224 IF( nmsh <= 6 ) THEN ! ! 3D vertical scale factors … … 233 232 END IF 234 233 235 IF( nmsh <= 3 ) THEN ! ! 3D depth234 IF( iom_varid( inum4, 'gdept', ldstop = .FALSE. ) > 0 ) THEN 236 235 CALL iom_get( inum4, jpdom_data, 'gdept', gdept ) ! scale factors 237 236 CALL iom_get( inum4, jpdom_data, 'gdepw', gdepw ) … … 240 239 CALL iom_get( inum4, jpdom_data, 'hdepw', hdepw ) 241 240 241 DO jk = 1,jpk 242 gdept(:,:,jk) = gdept_0(jk) 243 gdepw(:,:,jk) = gdepw_0(jk) 244 ENDDO 245 242 246 DO jj = 1, jpj 243 247 DO ji = 1, jpi … … 252 256 END DO 253 257 END DO 258 254 259 ENDIF 255 260 256 261 ENDIF 257 ! Vertical coordinates and scales factors258 CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 ) ! depth259 CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', gdepw_0 )260 CALL iom_get( inum4, jpdom_unknown, 'e3t_0' , e3t_0 )261 CALL iom_get( inum4, jpdom_unknown, 'e3w_0' , e3w_0 )262 262 # endif 263 263 IF( ln_zco ) THEN -
branches/dev_005_AWL/NEMO/OPA_SRC/DIA/dianam.F90
r1731 r1804 129 129 130 130 cdfnam = TRIM(cexper)//TRIM(clave)//"_"//TRIM(cldate1)//"_"//TRIM(cldate2)//"_"//TRIM(cdsuff) 131 #if defined key_agrif 132 if ( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 133 #endif 131 IF( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 134 132 135 133 END SUBROUTINE dia_nam -
branches/dev_005_AWL/NEMO/OPA_SRC/DIA/diawri.F90
r1756 r1804 629 629 ! Define name, frequency of output and means 630 630 clname = cdfile_name 631 #if defined key_agrif 632 if ( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 633 #endif 631 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 634 632 zdt = rdt 635 633 zsto = rdt -
branches/dev_005_AWL/NEMO/OPA_SRC/DOM/dom_oce.F90
r1730 r1804 219 219 #else 220 220 LOGICAL, PUBLIC, PARAMETER :: lk_agrif = .FALSE. !: agrif flag 221 222 CONTAINS 223 LOGICAL FUNCTION Agrif_Root() 224 Agrif_Root = .TRUE. 225 END FUNCTION Agrif_Root 226 227 CHARACTER(len=3) FUNCTION Agrif_CFixed() 228 Agrif_CFixed = '0' 229 END FUNCTION Agrif_CFixed 221 230 #endif 222 231 -
branches/dev_005_AWL/NEMO/OPA_SRC/DOM/domain.F90
r1732 r1804 166 166 ENDIF 167 167 168 #if defined key_agrif169 168 IF( Agrif_Root() ) THEN 170 #endif 171 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 172 CASE ( 1 ) 173 CALL ioconf_calendar('gregorian') 174 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "gregorian", i.e. leap year' 175 CASE ( 0 ) 176 CALL ioconf_calendar('noleap') 177 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "noleap", i.e. no leap year' 178 CASE ( 30 ) 179 CALL ioconf_calendar('360d') 180 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "360d", i.e. 360 days in a year' 181 END SELECT 182 #if defined key_agrif 183 ENDIF 184 #endif 169 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 170 CASE ( 1 ) 171 CALL ioconf_calendar('gregorian') 172 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "gregorian", i.e. leap year' 173 CASE ( 0 ) 174 CALL ioconf_calendar('noleap') 175 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "noleap", i.e. no leap year' 176 CASE ( 30 ) 177 CALL ioconf_calendar('360d') 178 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "360d", i.e. 360 days in a year' 179 END SELECT 180 ENDIF 185 181 186 182 REWIND( numnam ) ! Namelist namdom : space & time domain (bathymetry, mesh, timestep) -
branches/dev_005_AWL/NEMO/OPA_SRC/DOM/domhgr.F90
r1707 r1804 270 270 271 271 #if defined key_agrif && defined key_eel_r6 272 IF (.Not.Agrif_Root()) THEN272 IF( .NOT. Agrif_Root() ) THEN 273 273 glam0 = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 274 274 gphi0 = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 … … 465 465 466 466 #if defined key_agrif && defined key_eel_r6 467 IF (.Not.Agrif_Root()) THEN467 IF( .NOT. Agrif_Root() ) THEN 468 468 zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) 469 469 ENDIF -
branches/dev_005_AWL/NEMO/OPA_SRC/DYN/divcur.F90
r1152 r1804 123 123 124 124 #if defined key_obc 125 #if defined key_agrif 126 IF (Agrif_Root() ) THEN 127 #endif 128 ! open boundaries (div must be zero behind the open boundary) 129 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 130 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 131 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 132 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 133 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 134 #if defined key_agrif 135 ENDIF 136 #endif 125 IF( Agrif_Root() ) THEN 126 ! open boundaries (div must be zero behind the open boundary) 127 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 128 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 129 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 130 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 131 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 132 ENDIF 137 133 #endif 138 134 #if defined key_bdy 139 135 ! unstructured open boundaries (div must be zero behind the open boundary) 140 136 DO jj = 1, jpj 141 DO ji = 1, jpi142 hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj)143 END DO137 DO ji = 1, jpi 138 hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 139 END DO 144 140 END DO 145 141 #endif 146 #if defined key_agrif 147 if ( .NOT. AGRIF_Root() ) then 148 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 149 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 150 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 151 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 152 endif 153 #endif 142 IF( .NOT. AGRIF_Root() ) THEN 143 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 144 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 145 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 146 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 147 ENDIF 154 148 155 149 ! ! -------- … … 341 335 342 336 #if defined key_obc 343 #if defined key_agrif 344 IF ( Agrif_Root() ) THEN 345 #endif 346 ! open boundaries (div must be zero behind the open boundary) 347 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 348 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 349 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 350 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 351 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 352 #if defined key_agrif 353 ENDIF 354 #endif 337 IF( Agrif_Root() ) THEN 338 ! open boundaries (div must be zero behind the open boundary) 339 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 340 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 341 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 342 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 343 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 344 ENDIF 355 345 #endif 356 346 #if defined key_bdy … … 362 352 END DO 363 353 #endif 364 #if defined key_agrif 365 if ( .NOT. AGRIF_Root() ) then 354 IF( .NOT. AGRIF_Root() ) THEN 366 355 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 367 356 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 368 357 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 369 358 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 370 endif 371 #endif 359 ENDIF 372 360 373 361 ! ! -------- -
branches/dev_005_AWL/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r1739 r1804 330 330 END DO 331 331 332 #if defined key_agrif 332 #if defined key_agrif 333 333 IF( .NOT. Agrif_Root() ) THEN 334 334 ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface … … 338 338 IF( nbondj == 1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 339 339 ENDIF 340 #endif 340 #endif 341 341 342 ! Add the trends multiplied by z2dt to the after velocity 342 343 ! ------------------------------------------------------- -
branches/dev_005_AWL/NEMO/OPA_SRC/DYN/sshwzv.F90
r1756 r1804 157 157 158 158 #if defined key_obc 159 # if defined key_agrif160 159 IF ( Agrif_Root() ) THEN 161 # endif162 160 ssha(:,:) = ssha(:,:) * obctmsk(:,:) 163 161 CALL lbc_lnk( ssha, 'T', 1. ) ! absolutly compulsory !! (jmm) 164 # if defined key_agrif 165 ENDIF 166 # endif 162 ENDIF 167 163 #endif 168 164 -
branches/dev_005_AWL/NEMO/OPA_SRC/IOM/iom.F90
r1743 r1804 43 43 LOGICAL, PUBLIC, PARAMETER :: lk_iomput = .FALSE. !: iom_put flag 44 44 #endif 45 PUBLIC iom_init, iom_ open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put45 PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put 46 46 47 47 PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d … … 86 86 !!---------------------------------------------------------------------- 87 87 ! read the xml file 88 CALL event__parse_xml_file( 'iodef.xml' ) ! <- to get from the nameliste (namrun)... 88 IF( Agrif_Root() ) CALL event__parse_xml_file( 'iodef.xml' ) ! <- to get from the nameliste (namrun)... 89 CALL iom_swap 89 90 90 91 ! calendar parameters … … 119 120 120 121 END SUBROUTINE iom_init 122 123 124 SUBROUTINE iom_swap 125 !!--------------------------------------------------------------------- 126 !! *** SUBROUTINE iom_swap *** 127 !! 128 !! ** Purpose : swap context between different agrif grid for xmlio_server 129 !!--------------------------------------------------------------------- 130 #if defined key_iomput 131 132 IF( TRIM(Agrif_CFixed()) == '0' ) THEN 133 CALL event__swap_context("nemo") 134 ELSE 135 CALL event__swap_context(TRIM(Agrif_CFixed())//"_nemo") 136 ENDIF 137 138 #endif 139 END SUBROUTINE iom_swap 121 140 122 141 … … 164 183 ! if iom_open is called for the first time: initialize iom_file(:)%nfid to 0 165 184 ! (could be done when defining iom_file in f95 but not in f90) 166 #if ! defined key_agrif167 IF( iom_open_init == 0 ) THEN168 iom_file(:)%nfid = 0169 iom_open_init = 1170 ENDIF171 #else172 185 IF( Agrif_Root() ) THEN 173 186 IF( iom_open_init == 0 ) THEN … … 176 189 ENDIF 177 190 ENDIF 178 #endif179 191 ! do we read or write the file? 180 192 IF( PRESENT(ldwrt) ) THEN ; llwrt = ldwrt … … 199 211 ! ============= 200 212 clname = trim(cdname) 201 #if defined key_agrif202 213 IF ( .NOT. Agrif_Root() .AND. .NOT. lliof ) THEN 203 214 iln = INDEX(clname,'/') … … 206 217 clname=TRIM(cltmpn)//TRIM(Agrif_CFixed())//'_'//TRIM(clname) 207 218 ENDIF 208 #endif209 219 ! which suffix should we use? 210 220 SELECT CASE (iolib) -
branches/dev_005_AWL/NEMO/OPA_SRC/SBC/sbcmod.F90
r1790 r1804 86 86 !!gm here no overwrite, test all option via namelist change: require more incore memory 87 87 !!gm IF( lk_sbc_cpl ) THEN ; ln_cpl = .TRUE. ; ELSE ; ln_cpl = .FALSE. ; ENDIF 88 #if defined key_agrif 88 89 89 IF ( Agrif_Root() ) THEN 90 #endif91 90 IF( lk_lim2 ) nn_ice = 2 92 91 IF( lk_lim3 ) nn_ice = 3 93 #if defined key_agrif 94 ENDIF 95 #endif 92 ENDIF 93 ! 96 94 IF( cp_cfg == 'gyre' ) THEN 97 95 ln_ana = .TRUE. -
branches/dev_005_AWL/NEMO/OPA_SRC/SOL/solmat.F90
r1601 r1804 142 142 #endif 143 143 144 #if defined key_agrif 145 IF( .NOT.AGRIF_ROOT() ) THEN 144 IF( .NOT. Agrif_Root() ) THEN ! Fine grid boundaries 146 145 ! 147 146 IF( nbondi == -1 .OR. nbondi == 2 ) bmask(2 ,: ) = 0.e0 … … 192 191 ! 193 192 ENDIF 194 #endif195 193 196 194 ! 2. Boundary conditions -
branches/dev_005_AWL/NEMO/OPA_SRC/lib_mpp.F90
r1718 r1804 112 112 INTEGER :: mppsize ! number of process 113 113 INTEGER :: mpprank ! process number [ 0 - size-1 ] 114 INTEGER :: mpi_comm_opa ! opa local communicator 114 !$AGRIF_DO_NOT_TREAT 115 INTEGER, PUBLIC :: mpi_comm_opa ! opa local communicator 116 !$AGRIF_END_DO_NOT_TREAT 115 117 116 118 ! variables used in case of sea-ice … … 191 193 WRITE(ldtxt(6),*) ' size in bytes of exported buffer nn_buffer = ', nn_buffer 192 194 193 #if defined key_agrif 194 IF( Agrif_Root() ) THEN 195 #endif 196 !!bug RB : should be clean to use Agrif in coupled mode 197 #if ! defined key_agrif 198 CALL mpi_initialized ( mpi_was_called, code ) 199 IF( code /= MPI_SUCCESS ) THEN 200 WRITE(*, cform_err) 201 WRITE(*, *) 'lib_mpp: Error in routine mpi_initialized' 202 CALL mpi_abort( mpi_comm_world, code, ierr ) 203 ENDIF 204 205 IF( PRESENT(localComm) .and. mpi_was_called ) THEN 206 mpi_comm_opa = localComm 207 SELECT CASE ( cn_mpi_send ) 208 CASE ( 'S' ) ! Standard mpi send (blocking) 209 WRITE(ldtxt(7),*) ' Standard blocking mpi send (send)' 210 CASE ( 'B' ) ! Buffer mpi send (blocking) 211 WRITE(ldtxt(7),*) ' Buffer blocking mpi send (bsend)' 212 CALL mpi_init_opa( ierr ) 213 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 214 WRITE(ldtxt(7),*) ' Immediate non-blocking send (isend)' 215 l_isend = .TRUE. 216 CASE DEFAULT 217 WRITE(ldtxt(7),cform_err) 218 WRITE(ldtxt(8),*) ' bad value for cn_mpi_send = ', cn_mpi_send 219 nstop = nstop + 1 220 END SELECT 221 ELSE IF ( PRESENT(localComm) .and. .not. mpi_was_called ) THEN 222 WRITE(ldtxt(7),*) ' lib_mpp: You cannot provide a local communicator ' 223 WRITE(ldtxt(8),*) ' without calling MPI_Init before ! ' 224 nstop = nstop + 1 225 ELSE 226 #endif 227 SELECT CASE ( cn_mpi_send ) 228 CASE ( 'S' ) ! Standard mpi send (blocking) 229 WRITE(ldtxt(7),*) ' Standard blocking mpi send (send)' 230 CALL mpi_init( ierr ) 231 CASE ( 'B' ) ! Buffer mpi send (blocking) 232 WRITE(ldtxt(7),*) ' Buffer blocking mpi send (bsend)' 233 CALL mpi_init_opa( ierr ) 234 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 235 WRITE(ldtxt(7),*) ' Immediate non-blocking send (isend)' 236 l_isend = .TRUE. 237 CALL mpi_init( ierr ) 238 CASE DEFAULT 239 WRITE(ldtxt(7),cform_err) 240 WRITE(ldtxt(8),*) ' bad value for cn_mpi_send = ', cn_mpi_send 241 nstop = nstop + 1 242 END SELECT 243 244 #if ! defined key_agrif 245 CALL mpi_comm_dup( mpi_comm_world, mpi_comm_opa, code) 246 IF( code /= MPI_SUCCESS ) THEN 247 WRITE(*, cform_err) 248 WRITE(*, *) ' lib_mpp: Error in routine mpi_comm_dup' 249 CALL mpi_abort( mpi_comm_world, code, ierr ) 250 ENDIF 251 ! 252 ENDIF 253 #endif 254 #if defined key_agrif 255 ELSE 195 CALL mpi_initialized ( mpi_was_called, code ) 196 IF( code /= MPI_SUCCESS ) THEN 197 WRITE(*, cform_err) 198 WRITE(*, *) 'lib_mpp: Error in routine mpi_initialized' 199 CALL mpi_abort( mpi_comm_world, code, ierr ) 200 ENDIF 201 202 IF( mpi_was_called ) THEN 203 ! 256 204 SELECT CASE ( cn_mpi_send ) 257 205 CASE ( 'S' ) ! Standard mpi send (blocking) … … 259 207 CASE ( 'B' ) ! Buffer mpi send (blocking) 260 208 WRITE(ldtxt(7),*) ' Buffer blocking mpi send (bsend)' 209 CALL mpi_init_opa( ierr ) 261 210 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 262 211 WRITE(ldtxt(7),*) ' Immediate non-blocking send (isend)' … … 267 216 nstop = nstop + 1 268 217 END SELECT 218 ELSE IF ( PRESENT(localComm) .and. .not. mpi_was_called ) THEN 219 WRITE(ldtxt(7),*) ' lib_mpp: You cannot provide a local communicator ' 220 WRITE(ldtxt(8),*) ' without calling MPI_Init before ! ' 221 nstop = nstop + 1 222 ELSE 223 SELECT CASE ( cn_mpi_send ) 224 CASE ( 'S' ) ! Standard mpi send (blocking) 225 WRITE(ldtxt(7),*) ' Standard blocking mpi send (send)' 226 CALL mpi_init( ierr ) 227 CASE ( 'B' ) ! Buffer mpi send (blocking) 228 WRITE(ldtxt(7),*) ' Buffer blocking mpi send (bsend)' 229 CALL mpi_init_opa( ierr ) 230 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 231 WRITE(ldtxt(7),*) ' Immediate non-blocking send (isend)' 232 l_isend = .TRUE. 233 CALL mpi_init( ierr ) 234 CASE DEFAULT 235 WRITE(ldtxt(7),cform_err) 236 WRITE(ldtxt(8),*) ' bad value for cn_mpi_send = ', cn_mpi_send 237 nstop = nstop + 1 238 END SELECT 239 ! 269 240 ENDIF 270 241 271 mpi_comm_opa = mpi_comm_world 272 #endif 242 IF( PRESENT(localComm) ) THEN 243 IF( Agrif_Root() ) THEN 244 mpi_comm_opa = localComm 245 ENDIF 246 ELSE 247 CALL mpi_comm_dup( mpi_comm_world, mpi_comm_opa, code) 248 IF( code /= MPI_SUCCESS ) THEN 249 WRITE(*, cform_err) 250 WRITE(*, *) ' lib_mpp: Error in routine mpi_comm_dup' 251 CALL mpi_abort( mpi_comm_world, code, ierr ) 252 ENDIF 253 ENDIF 254 273 255 CALL mpi_comm_rank( mpi_comm_opa, mpprank, ierr ) 274 256 CALL mpi_comm_size( mpi_comm_opa, mppsize, ierr ) -
branches/dev_005_AWL/NEMO/OPA_SRC/opa.F90
r1725 r1804 156 156 CALL opa_closefile 157 157 #if defined key_oasis3 || defined key_oasis4 158 CALL cpl_prism_finalize ! end coupling and mpp communications with OASIS 158 IF( Agrif_Root() ) THEN 159 CALL cpl_prism_finalize ! end coupling and mpp communications with OASIS 160 ENDIF 159 161 #else 160 162 IF( lk_mpp ) CALL mppstop ! end mpp communications … … 191 193 #if defined key_iomput 192 194 # if defined key_oasis3 || defined key_oasis4 193 CALL cpl_prism_init( ilocal_comm ) ! nemo local communicator given by oasis 194 CALL init_ioclient() ! io_server will get its communicators (if needed) from oasis (we don't see it) 195 IF( Agrif_Root() ) THEN 196 CALL cpl_prism_init( ilocal_comm ) ! nemo local communicator given by oasis 197 CALL init_ioclient() ! io_server will get its communicators (if needed) from oasis (we don't see it) 198 ENDIF 195 199 # else 196 CALL init_ioclient( ilocal_comm ) ! nemo local communicator (used or not) given by the io_server 200 IF( Agrif_Root() ) THEN 201 CALL init_ioclient( ilocal_comm ) ! nemo local communicator (used or not) given by the io_server 202 ENDIF 197 203 # endif 198 204 narea = mynode( cltxt, ilocal_comm ) ! Nodes selection … … 200 206 #else 201 207 # if defined key_oasis3 || defined key_oasis4 202 CALL cpl_prism_init( ilocal_comm ) ! nemo local communicator given by oasis 208 IF( Agrif_Root() ) THEN 209 CALL cpl_prism_init( ilocal_comm ) ! nemo local communicator given by oasis 210 ENDIF 203 211 narea = mynode( cltxt, ilocal_comm ) ! Nodes selection (control print return in cltxt) 204 212 # else -
branches/dev_005_AWL/NEMO/OPA_SRC/step.F90
r1756 r1804 166 166 #if defined key_agrif 167 167 kstp = nit000 + Agrif_Nb_Step() 168 ! IF ( Agrif_Root() .and. lwp) Write(*,*) '---' 169 ! IF (lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 168 ! IF( Agrif_Root() .and. lwp) Write(*,*) '---' 169 ! IF(lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 170 # if defined key_iomput 171 IF( Agrif_Nbstepint() == 0) CALL iom_swap 172 # endif 170 173 #endif 171 174 indic = 1 ! reset to no error condition -
branches/dev_005_AWL/NEMO/TOP_SRC/C14b/trclsm_c14b.F90
r1581 r1804 44 44 INTEGER :: numnatb 45 45 46 #if defined key_trc_diaadd 46 #if defined key_trc_diaadd && ! defined key_iomput 47 47 ! definition of additional diagnostic as a structure 48 48 INTEGER :: jl, jn … … 58 58 !! 59 59 NAMELIST/namc14date/ ndate_beg_b, nyear_res_b 60 #if defined key_trc_diaadd 60 #if defined key_trc_diaadd && ! defined key_iomput 61 61 NAMELIST/namc14dia/nwritedia, c14dia2d, c14dia3d ! additional diagnostics 62 62 #endif … … 81 81 IF(lwp) WRITE(numout,*) ' initial year (aa) nyear_beg_b = ', nyear_beg_b 82 82 ! 83 #if defined key_trc_diaadd 83 #if defined key_trc_diaadd && ! defined key_iomput 84 84 85 85 ! Namelist namc14dia -
branches/dev_005_AWL/NEMO/TOP_SRC/CFC/trcctl_cfc.F90
r1255 r1804 44 44 IF( jp_cfc > 2) THEN 45 45 IF(lwp) THEN 46 WRITE (numout,*) ' ===>>>> : w a r n i n g ' 47 WRITE (numout,*) ' ======= ============= ' 46 WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 48 47 WRITE (numout,*) & 49 48 & ' STOP, change jp_cfc to 1 or 2 in par_CFC module ' … … 62 61 63 62 IF(lwp) THEN 64 WRITE (numout,*) ' ===>>>> : w a r n i n g ' 65 WRITE (numout,*) ' ======= ============= ' 63 WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 66 64 WRITE (numout,*) ' we force tracer names' 67 65 DO jl = 1, jp_cfc … … 80 78 ctrcun(jn) = 'mole/m3' 81 79 IF(lwp) THEN 82 WRITE (numout,*) ' ===>>>> : w a r n i n g ' 83 WRITE (numout,*) ' ======= ============= ' 80 WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 84 81 WRITE (numout,*) ' we force tracer unit' 85 82 WRITE(numout,*) ' tracer ',ctrcnm(jn), 'UNIT= ',ctrcun(jn) -
branches/dev_005_AWL/NEMO/TOP_SRC/CFC/trclsm_cfc.F90
r1581 r1804 43 43 !!---------------------------------------------------------------------- 44 44 INTEGER :: numnatc 45 #if defined key_trc_diaadd 45 #if defined key_trc_diaadd && ! defined key_iomput 46 46 ! definition of additional diagnostic as a structure 47 47 INTEGER :: jl, jn … … 56 56 !! 57 57 NAMELIST/namcfcdate/ ndate_beg, nyear_res 58 #if defined key_trc_diaadd 58 #if defined key_trc_diaadd && ! defined key_iomput 59 59 NAMELIST/namcfcdia/nwritedia, cfcdia2d ! additional diagnostics 60 60 #endif … … 79 79 IF(lwp) WRITE(numout,*) ' initial year (aa) nyear_beg = ', nyear_beg 80 80 ! 81 #if defined key_trc_diaadd 81 #if defined key_trc_diaadd && ! defined key_iomput 82 82 83 83 ! Namelist namcfcdia -
branches/dev_005_AWL/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r1457 r1804 482 482 ENDIF 483 483 484 IF( l_trdtrc ) DEALLOCATE( ztrbio ) 485 484 486 IF(ln_ctl) THEN ! print mean trends (used for debugging) 485 487 WRITE(charout, FMT="('bio')") -
branches/dev_005_AWL/NEMO/TOP_SRC/LOBSTER/trcexp.F90
r1457 r1804 164 164 ENDIF 165 165 166 IF( l_trdtrc ) DEALLOCATE( ztrbio ) 167 166 168 IF(ln_ctl) THEN ! print mean trends (used for debugging) 167 169 WRITE(charout, FMT="('exp')") -
branches/dev_005_AWL/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90
r1542 r1804 26 26 PUBLIC trc_ini_lobster ! called by trcini.F90 module 27 27 28 # include "domzgr_substitute.h90"29 28 # include "top_substitute.h90" 30 29 !!---------------------------------------------------------------------- -
branches/dev_005_AWL/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r1445 r1804 28 28 29 29 !!* Substitution 30 # include " domzgr_substitute.h90"30 # include "top_substitute.h90" 31 31 !!---------------------------------------------------------------------- 32 32 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r1457 r1804 29 29 30 30 !!* Substitution 31 # include " domzgr_substitute.h90"31 # include "top_substitute.h90" 32 32 !!---------------------------------------------------------------------- 33 33 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 136 136 ENDIF 137 137 138 IF( l_trdtrc ) DEALLOCATE( ztrbio ) 139 138 140 IF(ln_ctl) THEN ! print mean trends (used for debugging) 139 141 WRITE(charout, FMT="('sed')") -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zbio.F90
r1678 r1804 39 39 40 40 !!* Substitution 41 # include " domzgr_substitute.h90"41 # include "top_substitute.h90" 42 42 !!---------------------------------------------------------------------- 43 43 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zche.F90
r1180 r1804 147 147 148 148 !!* Substitution 149 #include " domzgr_substitute.h90"149 #include "top_substitute.h90" 150 150 !!---------------------------------------------------------------------- 151 151 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zflx.F90
r1737 r1804 52 52 53 53 !!* Substitution 54 # include " domzgr_substitute.h90"54 # include "top_substitute.h90" 55 55 !!---------------------------------------------------------------------- 56 56 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zlim.F90
r1152 r1804 41 41 42 42 !!* Substitution 43 # include " domzgr_substitute.h90"43 # include "top_substitute.h90" 44 44 !!---------------------------------------------------------------------- 45 45 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zmeso.F90
r1736 r1804 45 45 46 46 !!* Substitution 47 # include " domzgr_substitute.h90"47 # include "top_substitute.h90" 48 48 !!---------------------------------------------------------------------- 49 49 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zmicro.F90
r1736 r1804 43 43 44 44 !!* Substitution 45 # include " domzgr_substitute.h90"45 # include "top_substitute.h90" 46 46 !!---------------------------------------------------------------------- 47 47 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zmort.F90
r1736 r1804 41 41 42 42 !!* Substitution 43 # include " domzgr_substitute.h90"43 # include "top_substitute.h90" 44 44 !!---------------------------------------------------------------------- 45 45 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zopt.F90
r1678 r1804 35 35 36 36 !!* Substitution 37 # include " domzgr_substitute.h90"37 # include "top_substitute.h90" 38 38 !!---------------------------------------------------------------------- 39 39 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zprod.F90
r1736 r1804 53 53 54 54 !!* Substitution 55 # include " domzgr_substitute.h90"55 # include "top_substitute.h90" 56 56 !!---------------------------------------------------------------------- 57 57 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zrem.F90
r1744 r1804 45 45 46 46 !!* Substitution 47 # include " domzgr_substitute.h90"47 # include "top_substitute.h90" 48 48 !!---------------------------------------------------------------------- 49 49 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/p4zsink.F90
r1736 r1804 69 69 70 70 !!* Substitution 71 # include " domzgr_substitute.h90"71 # include "top_substitute.h90" 72 72 !!---------------------------------------------------------------------- 73 73 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r1678 r1804 38 38 LOGICAL :: ln_pisdmp !: relaxation or not of nutrients to a mean value 39 39 !: when initialize from a restart file 40 LOGICAL :: ln_pisclo !: Restoring or not of nutrients to initial value 41 !: on close seas 40 42 41 43 !!* Biological fluxes for light -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
r1542 r1804 38 38 no3 = 31.04e-6 * 7.6 39 39 40 # include "domzgr_substitute.h90"41 40 # include "top_substitute.h90" 42 41 !!---------------------------------------------------------------------- -
branches/dev_005_AWL/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90
r1581 r1804 67 67 NAMELIST/nampisdia/ nwritedia, pisdia3d, pisdia2d ! additional diagnostics 68 68 #endif 69 NAMELIST/nampisdmp/ ln_pisdmp 69 NAMELIST/nampisdmp/ ln_pisdmp, ln_pisclo 70 70 71 71 !!---------------------------------------------------------------------- … … 188 188 WRITE(numout,*) 189 189 WRITE(numout,*) ' Namelist : nampisdmp' 190 WRITE(numout,*) ' Relaxation of tracer to glodap mean value ln_pisdmp =', ln_pisdmp 190 WRITE(numout,*) ' Relaxation of tracer to glodap mean value ln_pisdmp =', ln_pisdmp 191 WRITE(numout,*) ' Restoring of tracer to initial value on closed seas ln_pisclo =', ln_pisclo 191 192 WRITE(numout,*) ' ' 192 193 ENDIF -
branches/dev_005_AWL/NEMO/TOP_SRC/TRP/trctrp.F90
r1445 r1804 53 53 54 54 !! * Substitutions 55 # include " domzgr_substitute.h90"55 # include "top_substitute.h90" 56 56 !!---------------------------------------------------------------------- 57 57 !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) -
branches/dev_005_AWL/NEMO/TOP_SRC/TRP/trczdf_imp.F90
r1271 r1804 112 112 rdttrc(:) = rdttra(:) * FLOAT(ndttrc) 113 113 ENDIF 114 ! ! =========== 114 115 ! Initialisation 116 zwd( 1 ,:,:) = 0.e0 ; zwd(jpi,:,:) = 0.e0 117 zws( 1 ,:,:) = 0.e0 ; zws(jpi,:,:) = 0.e0 118 zwi( 1 ,:,:) = 0.e0 ; zwi(jpi,:,:) = 0.e0 119 ! 120 ! 0. Matrix construction 121 ! ---------------------- 122 123 ! Diagonal, inferior, superior 124 ! (including the bottom boundary condition via avs masked 125 DO jk = 1, jpkm1 126 DO jj = 2, jpjm1 127 DO ji = fs_2, fs_jpim1 ! vector opt. 128 zwi(ji,jj,jk) = - rdttrc(jk) * fstravs(ji,jj,jk ) /( fse3t(ji,jj,jk) * fse3w(ji,jj,jk ) ) 129 zws(ji,jj,jk) = - rdttrc(jk) * fstravs(ji,jj,jk+1) /( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) ) 130 zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zws(ji,jj,jk) 131 END DO 132 END DO 133 END DO 134 135 ! Surface boudary conditions 136 DO jj = 2, jpjm1 137 DO ji = fs_2, fs_jpim1 138 zwi(ji,jj,1) = 0.e0 139 zwd(ji,jj,1) = 1. - zws(ji,jj,1) 140 END DO 141 END DO 142 143 ! ! =========== 115 144 DO jn = 1, jptra ! tracer loop 116 145 ! ! =========== 117 146 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! ??? validation needed 118 147 119 ! Initialisation120 zwd( 1 ,:,:) = 0.e0 ; zwd(jpi,:,:) = 0.e0121 zws( 1 ,:,:) = 0.e0 ; zws(jpi,:,:) = 0.e0122 zwi( 1 ,:,:) = 0.e0 ; zwi(jpi,:,:) = 0.e0123 148 zwt( 1 ,:,:) = 0.e0 ; zwt(jpi,:,:) = 0.e0 124 149 zwt( :,:,1) = 0.e0 ; zwt( :,:,jpk) = 0.e0 125 !126 ! 0. Matrix construction127 ! ----------------------128 129 ! Diagonal, inferior, superior130 ! (including the bottom boundary condition via avs masked131 DO jk = 1, jpkm1132 DO jj = 2, jpjm1133 DO ji = fs_2, fs_jpim1 ! vector opt.134 zwi(ji,jj,jk) = - rdttrc(jk) * fstravs(ji,jj,jk ) /( fse3t(ji,jj,jk) * fse3w(ji,jj,jk ) )135 zws(ji,jj,jk) = - rdttrc(jk) * fstravs(ji,jj,jk+1) /( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) )136 zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zws(ji,jj,jk)137 END DO138 END DO139 END DO140 141 ! Surface boudary conditions142 DO jj = 2, jpjm1143 DO ji = fs_2, fs_jpim1144 zwi(ji,jj,1) = 0.e0145 zwd(ji,jj,1) = 1. - zws(ji,jj,1)146 END DO147 END DO148 150 149 151 ! Second member construction -
branches/dev_005_AWL/NEMO/TOP_SRC/TRP/trczdf_iso.F90
r1271 r1804 182 182 183 183 184 185 DO jn = 1, jptra 184 ! 0.2 Update and save of avt (and avs if double diffusive mixing) 185 ! --------------------------- 186 187 DO jj = 2, jpjm1 ! Vertical slab 188 ! ! =============== 189 DO jk = 2, jpkm1 190 DO ji = 2, jpim1 191 zavi = fsahtw(ji,jj,jk)*( wslpi(ji,jj,jk)*wslpi(ji,jj,jk) & 192 & +wslpj(ji,jj,jk)*wslpj(ji,jj,jk) ) 193 ! add isopycnal vertical coeff. to avs 194 fstravs(ji,jj,jk) = fstravs(ji,jj,jk) + zavi 195 END DO 196 END DO 197 ! 198 END DO 199 200 201 202 DO jn = 1, jptra 186 203 187 204 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends … … 262 279 END DO 263 280 264 265 ! I.3 update and save of avt (and avs if double diffusive mixing)266 ! ---------------------------267 268 DO jk = 2, jpkm1269 DO ji = 2, jpim1270 271 zavi = fsahtw(ji,jj,jk)*( wslpi(ji,jj,jk)*wslpi(ji,jj,jk) &272 & +wslpj(ji,jj,jk)*wslpj(ji,jj,jk) )273 274 ! add isopycnal vertical coeff. to avs275 fstravs(ji,jj,jk) = fstravs(ji,jj,jk) + zavi276 277 END DO278 END DO279 281 280 282 #if defined key_trcldf_eiv -
branches/dev_005_AWL/NEMO/TOP_SRC/TRP/trczdf_iso_vopt.F90
r1328 r1804 154 154 zws => va ! workspace 155 155 INTEGER, INTENT( in ) :: kt ! ocean time-step index 156 INTEGER :: ji, jj, jk, jn ! dummy loop indices156 INTEGER :: ji, jj, jk, jn ! dummy loop indices 157 157 REAL(wp) :: zavi, zrhs ! temporary scalars 158 158 REAL(wp), DIMENSION(jpi,jpj,jpk) :: & … … 180 180 ENDIF 181 181 182 183 zwd ( 1, :, : ) = 0.e0 ; zwd ( jpi, :, : ) = 0.e0 184 zws ( 1, :, : ) = 0.e0 ; zws ( jpi, :, : ) = 0.e0 185 zwi ( 1, :, : ) = 0.e0 ; zwi ( jpi, :, : ) = 0.e0 186 zwt ( 1, :, : ) = 0.e0 ; zwt ( jpi, :, : ) = 0.e0 187 zwt ( :, :, 1 ) = 0.e0 ; zwt ( :, :, jpk ) = 0.e0 188 zavsi( 1, :, : ) = 0.e0 ; zavsi( jpi, :, : ) = 0.e0 189 zavsi( :, :, 1 ) = 0.e0 ; zavsi( :, :, jpk ) = 0.e0 190 191 192 ! II. Vertical trend associated with the vertical physics 193 !======================================================= 194 ! (including the vertical flux proportional to dk[t] associated 195 ! with the lateral mixing, through the avt update) 196 ! dk[ avt dk[ (t,s) ] ] diffusive trends 197 198 ! II.0 Matrix construction 199 ! ------------------------ 200 ! update and save of avt (and avs if double diffusive mixing) 201 DO jk = 2, jpkm1 202 DO jj = 2, jpjm1 203 DO ji = fs_2, fs_jpim1 ! vector opt. 204 zavi = fsahtw(ji,jj,jk) * ( & ! vertical mixing coef. due to lateral mixing 205 & wslpi(ji,jj,jk) * wslpi(ji,jj,jk) & 206 & + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) ) 207 zavsi(ji,jj,jk) = fstravs(ji,jj,jk) + zavi ! dd mixing: zavsi = total vertical mixing coef. on tracer 208 END DO 209 END DO 210 END DO 211 212 ! II.1 Vertical diffusion on tracer 213 ! --------------------------------- 214 ! Rebuild the Matrix as avt /= avs 215 216 ! Diagonal, inferior, superior (including the bottom boundary condition via avs masked) 217 DO jk = 1, jpkm1 218 DO jj = 2, jpjm1 219 DO ji = fs_2, fs_jpim1 ! vector opt. 220 zwi(ji,jj,jk) = - rdttrc(jk) * zavsi(ji,jj,jk ) / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk ) ) 221 zws(ji,jj,jk) = - rdttrc(jk) * zavsi(ji,jj,jk+1) / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) ) 222 zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zws(ji,jj,jk) 223 END DO 224 END DO 225 END DO 226 227 ! Surface boudary conditions 228 DO jj = 2, jpjm1 229 DO ji = fs_2, fs_jpim1 ! vector opt. 230 zwi(ji,jj,1) = 0.e0 231 zwd(ji,jj,1) = 1. - zws(ji,jj,1) 232 END DO 233 END DO 234 235 !! Matrix inversion from the first level 236 !!---------------------------------------------------------------------- 237 ! solve m.x = y where m is a tri diagonal matrix ( jpk*jpk ) 238 ! 239 ! ( zwd1 zws1 0 0 0 )( zwx1 ) ( zwy1 ) 240 ! ( zwi2 zwd2 zws2 0 0 )( zwx2 ) ( zwy2 ) 241 ! ( 0 zwi3 zwd3 zws3 0 )( zwx3 )=( zwy3 ) 242 ! ( ... )( ... ) ( ... ) 243 ! ( 0 0 0 zwik zwdk )( zwxk ) ( zwyk ) 244 ! 245 ! m is decomposed in the product of an upper and lower triangular 246 ! matrix 247 ! The 3 diagonal terms are in 2d arrays: zwd, zws, zwi 248 ! The second member is in 2d array zwy 249 ! The solution is in 2d array zwx 250 ! The 3d arry zwt is a work space array 251 ! zwy is used and then used as a work space array : its value is modified! 252 253 ! first recurrence: Tk = Dk - Ik Sk-1 / Tk-1 (increasing k) 254 DO jj = 2, jpjm1 255 DO ji = fs_2, fs_jpim1 256 zwt(ji,jj,1) = zwd(ji,jj,1) 257 END DO 258 END DO 259 DO jk = 2, jpkm1 260 DO jj = 2, jpjm1 261 DO ji = fs_2, fs_jpim1 262 zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1)/zwt(ji,jj,jk-1) 263 END DO 264 END DO 265 END DO 266 182 267 IF( l_trdtrc ) ALLOCATE( ztrtrd(jpi,jpj,jpk) ) 183 268 … … 187 272 188 273 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends 189 190 zwd ( 1, :, : ) = 0.e0 ; zwd ( jpi, :, : ) = 0.e0191 zws ( 1, :, : ) = 0.e0 ; zws ( jpi, :, : ) = 0.e0192 zwi ( 1, :, : ) = 0.e0 ; zwi ( jpi, :, : ) = 0.e0193 zwt ( 1, :, : ) = 0.e0 ; zwt ( jpi, :, : ) = 0.e0194 zwt ( :, :, 1 ) = 0.e0 ; zwt ( :, :, jpk ) = 0.e0195 zavsi( 1, :, : ) = 0.e0 ; zavsi( jpi, :, : ) = 0.e0196 zavsi( :, :, 1 ) = 0.e0 ; zavsi( :, :, jpk ) = 0.e0197 274 198 275 # if defined key_trc_diatrd … … 200 277 ztrd(:,:,:) = tra(:,:,:,jn) 201 278 # endif 202 203 ! II. Vertical trend associated with the vertical physics204 ! =======================================================205 ! (including the vertical flux proportional to dk[t] associated206 ! with the lateral mixing, through the avt update)207 ! dk[ avt dk[ (t,s) ] ] diffusive trends208 209 210 ! II.0 Matrix construction211 ! ------------------------212 ! update and save of avt (and avs if double diffusive mixing)213 DO jk = 2, jpkm1214 DO jj = 2, jpjm1215 DO ji = fs_2, fs_jpim1 ! vector opt.216 zavi = fsahtw(ji,jj,jk) * ( & ! vertical mixing coef. due to lateral mixing217 & wslpi(ji,jj,jk) * wslpi(ji,jj,jk) &218 & + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) )219 zavsi(ji,jj,jk) = fstravs(ji,jj,jk) + zavi ! dd mixing: zavsi = total vertical mixing coef. on tracer220 221 END DO222 END DO223 END DO224 225 226 ! II.1 Vertical diffusion on tracer227 ! ---------------------------------228 229 ! Rebuild the Matrix as avt /= avs230 231 ! Diagonal, inferior, superior (including the bottom boundary condition via avs masked)232 DO jk = 1, jpkm1233 DO jj = 2, jpjm1234 DO ji = fs_2, fs_jpim1 ! vector opt.235 zwi(ji,jj,jk) = - rdttrc(jk) * zavsi(ji,jj,jk ) / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk ) )236 zws(ji,jj,jk) = - rdttrc(jk) * zavsi(ji,jj,jk+1) / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) )237 zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zws(ji,jj,jk)238 END DO239 END DO240 END DO241 242 ! Surface boudary conditions243 DO jj = 2, jpjm1244 DO ji = fs_2, fs_jpim1 ! vector opt.245 zwi(ji,jj,1) = 0.e0246 zwd(ji,jj,1) = 1. - zws(ji,jj,1)247 END DO248 END DO249 250 !! Matrix inversion from the first level251 !!----------------------------------------------------------------------252 ! solve m.x = y where m is a tri diagonal matrix ( jpk*jpk )253 !254 ! ( zwd1 zws1 0 0 0 )( zwx1 ) ( zwy1 )255 ! ( zwi2 zwd2 zws2 0 0 )( zwx2 ) ( zwy2 )256 ! ( 0 zwi3 zwd3 zws3 0 )( zwx3 )=( zwy3 )257 ! ( ... )( ... ) ( ... )258 ! ( 0 0 0 zwik zwdk )( zwxk ) ( zwyk )259 !260 ! m is decomposed in the product of an upper and lower triangular261 ! matrix262 ! The 3 diagonal terms are in 2d arrays: zwd, zws, zwi263 ! The second member is in 2d array zwy264 ! The solution is in 2d array zwx265 ! The 3d arry zwt is a work space array266 ! zwy is used and then used as a work space array : its value is modified!267 268 ! first recurrence: Tk = Dk - Ik Sk-1 / Tk-1 (increasing k)269 DO jj = 2, jpjm1270 DO ji = fs_2, fs_jpim1271 zwt(ji,jj,1) = zwd(ji,jj,1)272 END DO273 END DO274 DO jk = 2, jpkm1275 DO jj = 2, jpjm1276 DO ji = fs_2, fs_jpim1277 zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) /zwt(ji,jj,jk-1)278 END DO279 END DO280 END DO281 279 282 280 ! second recurrence: Zk = Yk - Ik / Tk-1 Zk-1 -
branches/dev_005_AWL/NEMO/TOP_SRC/trcdta.F90
r1645 r1804 25 25 PUBLIC trc_dta ! called in trcini.F90 and trcdmp.F90 26 26 27 LOGICAL , PUBLIC, PARAMETER :: lk_dtatrc = .TRUE. !: temperature data flag 27 28 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jptra) :: trdta !: tracer data at given time-step 28 29 … … 62 63 !! 63 64 CHARACTER (len=39) :: clname(jptra) 64 INTEGER, PARAMETER :: jpmois = 12 ! number of months 65 INTEGER, PARAMETER :: & 66 jpmonth = 12 ! number of months 65 67 INTEGER :: ji, jj, jn, jl 66 68 INTEGER :: imois, iman, i15, ik ! temporary integers … … 81 83 ENDIF 82 84 ! Initialization 83 iman = jpmo is85 iman = jpmonth 84 86 i15 = nday / 16 85 87 imois = nmonth + i15 -1 … … 188 190 ! Read init file only 189 191 IF( kt == nittrc000 ) THEN 192 ntrc1(jn) = 1 190 193 CALL iom_get ( numtr(jn), jpdom_data, ctrcnm(jn), trdta(:,:,:,jn), ntrc1(jn) ) 191 194 trdta(:,:,:,jn) = trdta(:,:,:,jn) * tmask(:,:,:) … … 204 207 !! Dummy module NO 3D passive tracer data 205 208 !!---------------------------------------------------------------------- 209 LOGICAL , PUBLIC, PARAMETER :: lk_dtatrc = .FALSE. !: temperature data flag 206 210 CONTAINS 207 211 SUBROUTINE trc_dta( kt ) ! Empty routine -
branches/dev_005_AWL/NEMO/TOP_SRC/trcrst.F90
r1655 r1804 1 1 MODULE trcrst 2 2 !!====================================================================== 3 !! *** MODULE trcrst ***4 !! TOP : create, write, read the restart files for passive tracers3 !! *** MODULE trcrst *** 4 !! TOP : Manage the passive tracer restart 5 5 !!====================================================================== 6 !! History : 1.0 ! 2007-02 (C. Ethe) adaptation from the ocean 6 !! History : - ! 1991-03 () original code 7 !! 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) F90 8 !! - ! 2005-10 (C. Ethe) print control 9 !! 2.0 ! 2005-10 (C. Ethe, G. Madec) revised architecture 7 10 !!---------------------------------------------------------------------- 8 11 #if defined key_top 12 !!---------------------------------------------------------------------- 13 !! 'key_top' TOP models 14 !!---------------------------------------------------------------------- 15 !!---------------------------------------------------------------------- 16 !! trc_rst : Restart for passive tracer 17 !!---------------------------------------------------------------------- 9 18 !!---------------------------------------------------------------------- 10 19 !! 'key_top' TOP models … … 16 25 USE oce_trc 17 26 USE trc 18 USE sms_lobster ! LOBSTER variables 19 USE sms_pisces ! PISCES variables 20 USE trcsms_cfc ! CFC variables 21 USE trcsms_c14b ! C14 variables 22 USE trcsms_my_trc ! MY_TRC variables 23 USE trctrp_lec 27 USE trctrp_lec 24 28 USE lib_mpp 25 29 USE iom 26 30 USE trcrst_cfc ! CFC 31 USE trcrst_lobster ! LOBSTER restart 32 USE trcrst_pisces ! PISCES restart 33 USE trcrst_c14b ! C14 bomb restart 34 USE trcrst_my_trc ! MY_TRC restart 35 27 36 IMPLICIT NONE 28 37 PRIVATE 29 38 30 39 PUBLIC trc_rst_opn ! called by ??? 31 40 PUBLIC trc_rst_read ! called by ??? 32 41 PUBLIC trc_rst_wri ! called by ??? 33 42 34 43 INTEGER, PUBLIC :: numrtr, numrtw !: logical unit for trc restart (read and write) 35 36 44 37 45 !! * Substitutions … … 89 97 END SUBROUTINE trc_rst_opn 90 98 91 92 SUBROUTINE trc_rst_read 99 SUBROUTINE trc_rst_read 93 100 !!---------------------------------------------------------------------- 94 101 !! *** trc_rst_opn *** … … 96 103 !! ** purpose : read passive tracer fields in restart files 97 104 !!---------------------------------------------------------------------- 98 INTEGER :: jn 99 INTEGER :: iarak0 105 INTEGER :: jn 106 INTEGER :: iarak0 100 107 REAL(wp) :: zarak0 101 108 INTEGER :: jlibalt = jprstlib 102 109 LOGICAL :: llok 103 #if defined key_pisces104 INTEGER :: ji, jj, jk105 REAL(wp) :: zcaralk, zbicarb, zco3106 REAL(wp) :: ztmas, ztmas1107 #endif108 110 109 111 !!---------------------------------------------------------------------- … … 115 117 IF ( jprstlib == jprstdimg ) THEN 116 118 ! eventually read netcdf file (monobloc) for restarting on different number of processors 117 ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 119 ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 118 120 INQUIRE( FILE = TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 119 IF ( llok ) THEN ; jlibalt = jpnf90 ; ELSE ; jlibalt = jprstlib ; ENDIF 120 ENDIF 121 122 CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt ) 121 IF ( llok ) THEN ; jlibalt = jpnf90 ; ELSE ; jlibalt = jprstlib ; ENDIF 122 ENDIF 123 124 CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt ) 123 125 124 126 ! Time domain : restart … … 136 138 & ' centered or euler ' ) 137 139 IF(lwp) WRITE(numout,*) 138 139 140 IF(lwp) WRITE(numout,*) ' arakawa option : ', NINT( zarak0 ) 140 141 141 142 142 ! READ prognostic variables and computes diagnostic variable 143 143 DO jn = 1, jptra 144 CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 145 END DO 146 147 DO jn = 1, jptra 148 CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 149 END DO 150 151 #if defined key_lobster 152 CALL iom_get( numrtr, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 153 CALL iom_get( numrtr, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 154 #endif 155 #if defined key_pisces 156 ! 157 IF( ln_pisdmp ) CALL pis_dmp_ini ! relaxation of some tracers 158 ! 159 IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 160 CALL iom_get( numrtr, jpdom_autoglo, 'PH' , hi(:,:,:) ) 161 ELSE 162 ! Set PH from total alkalinity, borat (???), akb3 (???) and ak23 (???) 163 ! -------------------------------------------------------- 164 DO jk = 1, jpk 165 DO jj = 1, jpj 166 DO ji = 1, jpi 167 ztmas = tmask(ji,jj,jk) 168 ztmas1 = 1. - tmask(ji,jj,jk) 169 zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) ) ) 170 zco3 = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 171 zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 172 hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 173 END DO 174 END DO 175 END DO 176 ENDIF 177 CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 178 IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 179 CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax' , xksimax(:,:) ) 180 ELSE 181 xksimax(:,:) = xksi(:,:) 182 ENDIF 183 #endif 184 #if defined key_cfc 185 DO jn = jp_cfc0, jp_cfc1 186 CALL iom_get( numrtr, jpdom_autoglo, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) ) 187 END DO 188 #endif 189 #if defined key_c14b 190 CALL iom_get( numrtr, jpdom_autoglo, 'qint_'//ctrcnm(jn) , qint_c14(:,:) ) 191 #endif 192 #if defined key_my_trc 193 #endif 194 144 CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 145 END DO 146 147 DO jn = 1, jptra 148 CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 149 END DO 150 151 IF( lk_lobster ) CALL trc_rst_read_lobster( numrtr ) ! LOBSTER bio-model 152 IF( lk_pisces ) CALL trc_rst_read_pisces ( numrtr ) ! PISCES bio-model 153 IF( lk_cfc ) CALL trc_rst_read_cfc ( numrtr ) ! CFC tracers 154 IF( lk_c14b ) CALL trc_rst_read_c14b ( numrtr ) ! C14 bomb tracer 155 IF( lk_my_trc ) CALL trc_rst_read_my_trc ( numrtr ) ! MY_TRC tracers 156 195 157 CALL iom_close( numrtr ) 196 158 ! 197 159 END SUBROUTINE trc_rst_read 198 199 160 200 161 SUBROUTINE trc_rst_wri( kt ) … … 218 179 CALL iom_rstput( kt, nitrst, numrtw, 'arak0', zarak0 ) 219 180 220 ! prognostic variables 221 ! -------------------- 181 ! prognostic variables 182 ! -------------------- 222 183 DO jn = 1, jptra 223 184 CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) … … 228 189 END DO 229 190 230 #if defined key_lobster 231 CALL iom_rstput( kt, nitrst, numrtw, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 232 CALL iom_rstput( kt, nitrst, numrtw, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 233 #endif 234 #if defined key_pisces 235 CALL iom_rstput( kt, nitrst, numrtw, 'PH', hi(:,:,:) ) 236 CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:) ) 237 CALL iom_rstput( kt, nitrst, numrtw, 'Silicamax', xksimax(:,:) ) 238 #endif 239 #if defined key_cfc 240 DO jn = jp_cfc0, jp_cfc1 241 CALL iom_rstput( kt, nitrst, numrtw, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) ) 242 END DO 243 #endif 244 #if defined key_c14b 245 CALL iom_rstput( kt, nitrst, numrtw, 'qint_'//ctrcnm(jn), qint_c14(:,:) ) 246 #endif 247 #if defined key_my_trc 248 #endif 249 191 IF( lk_lobster ) CALL trc_rst_wri_lobster( kt, nitrst, numrtw ) ! LOBSTER bio-model 192 IF( lk_pisces ) CALL trc_rst_wri_pisces ( kt, nitrst, numrtw ) ! PISCES bio-model 193 IF( lk_cfc ) CALL trc_rst_wri_cfc ( kt, nitrst, numrtw ) ! CFC tracers 194 IF( lk_c14b ) CALL trc_rst_wri_c14b ( kt, nitrst, numrtw ) ! C14 bomb tracer 195 IF( lk_my_trc ) CALL trc_rst_wri_my_trc ( kt, nitrst, numrtw ) ! MY_TRC tracers 196 250 197 IF( kt == nitrst ) THEN 251 198 CALL trc_rst_stat ! statistics … … 256 203 ENDIF 257 204 ! 258 END SUBROUTINE trc_rst_wri 205 END SUBROUTINE trc_rst_wri 206 259 207 260 208 SUBROUTINE trc_rst_cal( kt, cdrw ) … … 347 295 END SUBROUTINE trc_rst_cal 348 296 349 # if defined key_pisces350 351 SUBROUTINE pis_dmp_ini352 !!----------------------------------------------------------------------353 !! *** pis_dmp_ini ***354 !!355 !! ** purpose : Relaxation of some tracers356 !!----------------------------------------------------------------------357 INTEGER :: ji, jj, jk358 REAL(wp) :: &359 alkmean = 2426. , & ! mean value of alkalinity ( Glodap ; for Goyet 2391. )360 po4mean = 2.165 , & ! mean value of phosphates361 no3mean = 30.90 , & ! mean value of nitrate362 siomean = 91.51 ! mean value of silicate363 364 REAL(wp) :: zvol, ztrasum365 366 367 IF(lwp) WRITE(numout,*)368 369 IF( cp_cfg == "orca" .AND. .NOT. lk_trc_c1d ) THEN ! ORCA condiguration (not 1D) !370 ! ! --------------------------- !371 ! set total alkalinity, phosphate, NO3 & silicate372 373 ! total alkalinity374 ztrasum = 0.e0375 DO jk = 1, jpk376 DO jj = 1, jpj377 DO ji = 1, jpi378 zvol = cvol(ji,jj,jk)379 # if defined key_off_degrad380 zvol = zvol * facvol(ji,jj,jk)381 # endif382 ztrasum = ztrasum + trn(ji,jj,jk,jptal) * zvol383 END DO384 END DO385 END DO386 IF( lk_mpp ) CALL mpp_sum( ztrasum ) ! sum over the global domain387 388 ztrasum = ztrasum / areatot * 1.e6389 IF(lwp) WRITE(numout,*) ' TALK mean : ', ztrasum390 trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum391 392 ! phosphate393 ztrasum = 0.e0394 DO jk = 1, jpk395 DO jj = 1, jpj396 DO ji = 1, jpi397 zvol = cvol(ji,jj,jk)398 # if defined key_off_degrad399 zvol = zvol * facvol(ji,jj,jk)400 # endif401 ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * zvol402 END DO403 END DO404 END DO405 IF( lk_mpp ) CALL mpp_sum( ztrasum ) ! sum over the global domain406 407 ztrasum = ztrasum / areatot * 1.e6 / 122.408 IF(lwp) WRITE(numout,*) ' PO4 mean : ', ztrasum409 trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum410 411 ! Nitrates412 ztrasum = 0.e0413 DO jk = 1, jpk414 DO jj = 1, jpj415 DO ji = 1, jpi416 zvol = cvol(ji,jj,jk)417 # if defined key_off_degrad418 zvol = zvol * facvol(ji,jj,jk)419 # endif420 ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * zvol421 END DO422 END DO423 END DO424 IF( lk_mpp ) CALL mpp_sum( ztrasum ) ! sum over the global domain425 426 ztrasum = ztrasum / areatot * 1.e6 / 7.6427 IF(lwp) WRITE(numout,*) ' NO3 mean : ', ztrasum428 trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum429 430 ! Silicate431 ztrasum = 0.e0432 DO jk = 1, jpk433 DO jj = 1, jpj434 DO ji = 1, jpi435 zvol = cvol(ji,jj,jk)436 # if defined key_off_degrad437 zvol = zvol * facvol(ji,jj,jk)438 # endif439 ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * zvol440 END DO441 END DO442 END DO443 IF( lk_mpp ) CALL mpp_sum( ztrasum ) ! sum over the global domain444 ztrasum = ztrasum / areatot * 1.e6445 IF(lwp) WRITE(numout,*) ' SiO3 mean : ', ztrasum446 trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum )447 !448 ENDIF449 450 !#if defined key_kriest451 ! !! Initialize number of particles from a standart restart file452 ! !! The name of big organic particles jpgoc has been only change453 ! !! and replace by jpnum but the values here are concentration454 ! trn(:,:,:,jppoc) = trn(:,:,:,jppoc) + trn(:,:,:,jpnum)455 ! trn(:,:,:,jpnum) = trn(:,:,:,jppoc) / ( 6. * xkr_massp )456 !#endif457 458 END SUBROUTINE pis_dmp_ini459 460 #endif461 !!----------------------------------------------------------------------462 297 463 298 SUBROUTINE trc_rst_stat -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE
r1402 r1804 38 38 #-Q- sx8mercure prefix = -D 39 39 #-Q- sx8brodie prefix = -D 40 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 41 41 #-Q- sxdkrz prefix = -D 42 42 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE_LOBSTER
r1402 r1804 38 38 #-Q- sx8mercure prefix = -D 39 39 #-Q- sx8brodie prefix = -D 40 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 41 41 #-Q- sxdkrz prefix = -D 42 42 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM
r1412 r1804 39 39 #-Q- sx8mercure prefix = -D 40 40 #-Q- sx8brodie prefix = -D 41 #-Q- es hpuxprefix = -D41 #-Q- es2 prefix = -D 42 42 #-Q- sxdkrz prefix = -D 43 43 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM3
r1464 r1804 39 39 #-Q- sx8mercure prefix = -D 40 40 #-Q- sx8brodie prefix = -D 41 #-Q- es hpuxprefix = -D41 #-Q- es2 prefix = -D 42 42 #-Q- sxdkrz prefix = -D 43 43 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM_PISCES
r1402 r1804 38 38 #-Q- sx8mercure prefix = -D 39 39 #-Q- sx8brodie prefix = -D 40 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 41 41 #-Q- sxdkrz prefix = -D 42 42 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_OFF_PISCES
r1402 r1804 38 38 #-Q- sx8mercure prefix = -D 39 39 #-Q- sx8brodie prefix = -D 40 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 41 41 #-Q- sxdkrz prefix = -D 42 42 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ZAGRIF
r1402 r1804 38 38 #-Q- sx8mercure prefix = -D 39 39 #-Q- sx8brodie prefix = -D 40 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 41 41 #-Q- sxdkrz prefix = -D 42 42 #-Q- linux prefix = -D -
branches/dev_005_AWL/NVTK/fait_AA_make
r1611 r1804 126 126 #-Q- sx8brodie -R2 \\ 127 127 #-Q- sxdkrz -R2 \\ 128 #-Q- es hpux-R2 \\128 #-Q- es2 -R2 \\ 129 129 #-Q- aix6 -qsource \\ 130 130 #-Q- babel -qsource \\ … … 143 143 .PRECIOUS : \$(MODEL_LIB) 144 144 #-Q- sxdkrz .PRECIOUS : \$(SXMODEL_LIB) 145 #-Q- es hpux.PRECIOUS : \$(SXMODEL_LIB)145 #-Q- es2 .PRECIOUS : \$(SXMODEL_LIB) 146 146 147 147 # library dependancies … … 161 161 #-Q- sx8brodie -R2 \\ 162 162 #-Q- sxdkrz -R2 \\ 163 #-Q- es hpux-R2 \\163 #-Q- es2 -R2 \\ 164 164 #-Q- aix6 -qsource \\ 165 165 #-Q- babel -qsource \\ … … 192 192 #-Q- sx8brodie -R2 \\ 193 193 #-Q- sxdkrz -R2 \\ 194 #-Q- es hpux-R2 \\194 #-Q- es2 -R2 \\ 195 195 #-Q- aix6 -qsource \\ 196 196 #-Q- babel -qsource \\ … … 202 202 #-Q- sx8brodie -R2 \\ 203 203 #-Q- sxdkrz -R2 \\ 204 #-Q- es hpux-R2 \\204 #-Q- es2 -R2 \\ 205 205 #-Q- aix6 -qsource \\ 206 206 #-Q- babel -qsource \\ … … 240 240 echo '#-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)' 241 241 echo '#-Q- sxdkrz L_X = $(L_O) -ftrace' 242 echo '#-Q- es hpux# Compiler options for NEMO (Earth Simulator)'243 echo '#-Q- es hpux# for super perfs!'244 echo '#-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)'245 echo '#-Q- es hpux# regular options!'246 echo '#-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)'247 echo '#-Q- es hpuxL_X = $(L_O)'242 echo '#-Q- es2 # Compiler options for NEMO (Earth Simulator)' 243 echo '#-Q- es2 # for super perfs!' 244 echo '#-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)' 245 echo '#-Q- es2 # regular options!' 246 echo '#-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)' 247 echo '#-Q- es2 L_X = $(L_O)' 248 248 echo '#-Q- linux # Compiler options for NEMO (pgf version)' 249 249 echo '#-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)' … … 276 276 echo '#-Q- sx8brodie PREF=i.' 277 277 echo '#-Q- sxdkrz PREF=i.' 278 echo '#-Q- es hpuxPREF=i.'278 echo '#-Q- es2 PREF=i.' 279 279 echo '' 280 280 echo '#Run type: mon, mpi or omp ' -
branches/dev_005_AWL/UTIL/fait_AA_make
r1773 r1804 86 86 87 87 # Agrif library and conv 88 libagrif : \$(call keycompat,key_iomput,key_agrif)88 libagrif : 89 89 ifeq (\$(AGRIF),use) 90 90 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 112 112 #-Q- sx8brodie -R2 \\ 113 113 #-Q- sxdkrz -R2 \\ 114 #-Q- es hpux-R2 \\114 #-Q- es2 -R2 \\ 115 115 #-Q- aix6 -qsource \\ 116 116 #-Q- aix -qsource \\ … … 118 118 OPAFILES/\$*.F90 || { mv \$(PREF).L \$(TMP) ; false ; exit ; } 119 119 #-Q- sxdkrz @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 120 #-Q- es hpux@\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null120 #-Q- es2 @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 121 121 endif 122 122 … … 132 132 .PRECIOUS : \$(MODEL_LIB) 133 133 #-Q- sxdkrz .PRECIOUS : \$(SXMODEL_LIB) 134 #-Q- es hpux.PRECIOUS : \$(SXMODEL_LIB)134 #-Q- es2 .PRECIOUS : \$(SXMODEL_LIB) 135 135 136 136 # library dependancies … … 151 151 #-Q- sx8brodie -R2 \\ 152 152 #-Q- sxdkrz -R2 \\ 153 #-Q- es hpux-R2 \\153 #-Q- es2 -R2 \\ 154 154 #-Q- aix -qsource \\ 155 155 #-Q- aix6 -qsource \\ … … 157 157 \$*.f90 || { if [ -f \$(PREF)\$*.L ] ; then mv \$(PREF)\$*.L \$(TMP) ; fi ; false ; exit ; } 158 158 #-Q- sxdkrz @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 159 #-Q- es hpux@\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null159 #-Q- es2 @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 160 160 @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null 161 161 @\$(RM) \$*.[of] … … 187 187 #-Q- sx8brodie -R2 \\ 188 188 #-Q- sxdkrz -R2 \\ 189 #-Q- es hpux-R2 \\189 #-Q- es2 -R2 \\ 190 190 #-Q- aix -qsource \\ 191 191 #-Q- aix6 -qsource \\ … … 199 199 #-Q- sx8brodie -R2 \\ 200 200 #-Q- sxdkrz -R2 \\ 201 #-Q- es hpux-R2 \\201 #-Q- es2 -R2 \\ 202 202 #-Q- aix -qsource \\ 203 203 #-Q- aix6 -qsource \\ … … 206 206 endif 207 207 #-Q- sxdkrz @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 208 #-Q- es hpux@\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null208 #-Q- es2 @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null 209 209 @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null 210 210 @\$(RM) \$*.[of] … … 245 245 echo '#-Q- sxdkrz F_O = -f2003 nocbind -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 246 246 echo '#-Q- sxdkrz L_X = $(L_O) -ftrace' 247 echo '#-Q- es hpux# Compiler options for NEMO (Earth Simulator)'248 echo '#-Q- es hpux# for super perfs!'249 echo '#-Q- es hpux# F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)'250 echo '#-Q- es hpux# regular options!'251 echo '#-Q- es hpuxF_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)'252 echo '#-Q- es hpuxL_X = $(L_O)'247 echo '#-Q- es2 # Compiler options for NEMO (Earth Simulator)' 248 echo '#-Q- es2 # for super perfs!' 249 echo '#-Q- es2 # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 250 echo '#-Q- es2 # regular options!' 251 echo '#-Q- es2 F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 252 echo '#-Q- es2 L_X = $(L_O)' 253 253 echo '#-Q- linux # Compiler options for NEMO (pgf version)' 254 254 echo '#-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' … … 286 286 echo '#-Q- sx8brodie PREF=i.' 287 287 echo '#-Q- sxdkrz PREF=i.' 288 echo '#-Q- es hpuxPREF=i.'288 echo '#-Q- es2 PREF=i.' 289 289 echo '' 290 290 echo '# add suffix to P_P' … … 327 327 328 328 echo '#check key compatibility' 329 echo 'keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))'329 echo 'keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 330 330 331 331 echo ''
Note: See TracChangeset
for help on using the changeset viewer.