- Timestamp:
- 2010-09-30T14:25:53+02:00 (14 years ago)
- Location:
- branches/devmercator2010_1
- Files:
-
- 151 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/devmercator2010_1/AGRIF/AA_make
r1771 r2137 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/devmercator2010_1/AGRIF/AA_make.ldef
r1272 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modbc.F
r1200 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modinterp.F
r1200 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modlinktomodel.F
r662 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modmpp.F
r898 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modtypes.F
r1200 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modupdate.F
r1200 r2137 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/devmercator2010_1/AGRIF/AGRIF_FILES/modutil.F
r662 r2137 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/devmercator2010_1/CONFIG/GYRE/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 430 432 431 433 # Agrif library and conv 432 libagrif : $(call keycompat,key_iomput,key_agrif)434 libagrif : 433 435 ifeq ($(AGRIF),use) 434 436 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 456 458 #-Q- sx8brodie -R2 \ 457 459 #-Q- sxdkrz -R2 \ 458 #-Q- es hpux-R2 \460 #-Q- es2 -R2 \ 459 461 #-Q- aix6 -qsource \ 460 462 #-Q- aix -qsource \ … … 462 464 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 463 465 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 464 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null466 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 465 467 endif 466 468 … … 476 478 .PRECIOUS : $(MODEL_LIB) 477 479 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 478 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)480 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 479 481 480 482 # library dependancies … … 495 497 #-Q- sx8brodie -R2 \ 496 498 #-Q- sxdkrz -R2 \ 497 #-Q- es hpux-R2 \499 #-Q- es2 -R2 \ 498 500 #-Q- aix -qsource \ 499 501 #-Q- aix6 -qsource \ … … 501 503 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 502 504 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 503 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null505 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 504 506 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 505 507 @$(RM) $*.[of] … … 531 533 #-Q- sx8brodie -R2 \ 532 534 #-Q- sxdkrz -R2 \ 533 #-Q- es hpux-R2 \535 #-Q- es2 -R2 \ 534 536 #-Q- aix -qsource \ 535 537 #-Q- aix6 -qsource \ … … 543 545 #-Q- sx8brodie -R2 \ 544 546 #-Q- sxdkrz -R2 \ 545 #-Q- es hpux-R2 \547 #-Q- es2 -R2 \ 546 548 #-Q- aix -qsource \ 547 549 #-Q- aix6 -qsource \ … … 550 552 endif 551 553 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 552 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null554 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 553 555 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 554 556 @$(RM) $*.[of] … … 1195 1197 diaar5.F90 1196 1198 $(MODEL_LIB)(diadimg.o) : \ 1197 $(MODEL_LIB)(lib_print.o) \ 1198 $(MODEL_LIB)(par_kind.o) \ 1199 $(MODEL_LIB)(par_oce.o) \ 1200 lib_print.f90 \ 1201 par_kind.F90 \ 1202 par_oce.F90 \ 1203 $(MODEL_LIB)(dom_oce.o) \ 1204 $(MODEL_LIB)(in_out_manager.o) \ 1205 $(MODEL_LIB)(oce.o) \ 1199 $(MODEL_LIB)(dom_oce.o) \ 1200 $(MODEL_LIB)(in_out_manager.o) \ 1201 $(MODEL_LIB)(iom.o) \ 1202 $(MODEL_LIB)(lib_print.o) \ 1203 $(MODEL_LIB)(par_kind.o) \ 1204 $(MODEL_LIB)(par_oce.o) \ 1205 $(MODEL_LIB)(phycst.o) \ 1206 $(MODEL_LIB)(prtctl.o) \ 1207 $(MODEL_LIB)(restart.o) \ 1208 dom_oce.F90 \ 1209 in_out_manager.F90 \ 1210 iom.F90 \ 1211 lib_print.f90 \ 1212 par_kind.F90 \ 1213 par_oce.F90 \ 1214 phycst.F90 \ 1215 prtctl.F90 \ 1216 restart.F90 \ 1217 $(MODEL_LIB)(daymod.o) \ 1218 $(MODEL_LIB)(dom_oce.o) \ 1219 $(MODEL_LIB)(in_out_manager.o) \ 1220 $(MODEL_LIB)(oce.o) \ 1221 daymod.F90 \ 1206 1222 dom_oce.F90 \ 1207 1223 in_out_manager.F90 \ … … 1358 1374 phycst.F90 \ 1359 1375 $(IOIPSL_LIB) \ 1360 KEY_CPP \1361 1376 dianam.F90 1362 1377 $(MODEL_LIB)(diaptr.o) : \ … … 1419 1434 diaptr.F90 1420 1435 $(MODEL_LIB)(diawri.o) : \ 1436 $(MODEL_LIB)(daymod.o) \ 1421 1437 $(MODEL_LIB)(dianam.o) \ 1422 1438 $(MODEL_LIB)(dom_ice_2.o) \ … … 1446 1462 $(MODEL_LIB)(sbcrnf.o) \ 1447 1463 $(MODEL_LIB)(zdf_oce.o) \ 1464 daymod.F90 \ 1448 1465 dianam.F90 \ 1449 1466 dom_ice_2.F90 \ … … 4594 4611 in_out_manager.F90 \ 4595 4612 lbcnfd.F90 \ 4596 $(AGRIF_LIB) \4597 4613 KEY_CPP \ 4598 4614 lib_mpp.F90 … … 5309 5325 $(MODEL_LIB)(limistate_2.o) \ 5310 5326 $(MODEL_LIB)(phycst.o) \ 5327 $(MODEL_LIB)(sbc_oce.o) \ 5311 5328 dom_ice_2.F90 \ 5312 5329 dom_oce.F90 \ … … 5319 5336 limistate_2.F90 \ 5320 5337 phycst.F90 \ 5338 sbc_oce.F90 \ 5321 5339 vectopt_loop_substitute.h90 \ 5322 5340 KEY_CPP \ … … 7996 8014 $(MODEL_LIB)(lib_print.o) \ 7997 8015 $(MODEL_LIB)(limwri_2.o) \ 8016 $(MODEL_LIB)(obc_oce.o) \ 7998 8017 $(MODEL_LIB)(obctra.o) \ 7999 8018 $(MODEL_LIB)(oce.o) \ … … 8067 8086 lib_print.f90 \ 8068 8087 limwri_2.F90 \ 8088 obc_oce.F90 \ 8069 8089 obctra.F90 \ 8070 8090 oce.F90 \ … … 9620 9640 $(MODEL_LIB)(lib_print.o) \ 9621 9641 $(MODEL_LIB)(obc_oce.o) \ 9642 $(MODEL_LIB)(obc_par.o) \ 9622 9643 $(MODEL_LIB)(oce.o) \ 9623 9644 $(MODEL_LIB)(par_kind.o) \ … … 9644 9665 lib_print.f90 \ 9645 9666 obc_oce.F90 \ 9667 obc_par.F90 \ 9646 9668 oce.F90 \ 9647 9669 par_kind.F90 \ … … 9668 9690 $(MODEL_LIB)(in_out_manager.o) \ 9669 9691 $(MODEL_LIB)(lbclnk.o) \ 9692 $(MODEL_LIB)(obc_oce.o) \ 9670 9693 $(MODEL_LIB)(obctra.o) \ 9671 9694 $(MODEL_LIB)(oce.o) \ … … 9684 9707 in_out_manager.F90 \ 9685 9708 lbclnk.F90 \ 9709 obc_oce.F90 \ 9686 9710 obctra.F90 \ 9687 9711 oce.F90 \ … … 10172 10196 $(MODEL_LIB)(trdmld.o) : \ 10173 10197 $(MODEL_LIB)(c1d.o) \ 10198 $(MODEL_LIB)(daymod.o) \ 10174 10199 $(MODEL_LIB)(dom_oce.o) \ 10175 10200 $(MODEL_LIB)(eosbn2.o) \ … … 10197 10222 $(MODEL_LIB)(zpshde.o) \ 10198 10223 c1d.F90 \ 10224 daymod.F90 \ 10199 10225 dom_oce.F90 \ 10200 10226 eosbn2.F90 \ -
branches/devmercator2010_1/CONFIG/GYRE/scripts/BB_make.ldef
r1759 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/CONFIG/GYRE_LOBSTER/EXP00/iodef.xml
r1772 r2137 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/devmercator2010_1/CONFIG/GYRE_LOBSTER/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 477 479 $(MODEL_LIB)(trcrad.o)\ 478 480 $(MODEL_LIB)(trcrst.o)\ 481 $(MODEL_LIB)(trcrst_c14b.o)\ 482 $(MODEL_LIB)(trcrst_cfc.o)\ 483 $(MODEL_LIB)(trcrst_lobster.o)\ 484 $(MODEL_LIB)(trcrst_my_trc.o)\ 485 $(MODEL_LIB)(trcrst_pisces.o)\ 479 486 $(MODEL_LIB)(trcsbc.o)\ 480 487 $(MODEL_LIB)(trcsed.o)\ … … 559 566 560 567 # Agrif library and conv 561 libagrif : $(call keycompat,key_iomput,key_agrif)568 libagrif : 562 569 ifeq ($(AGRIF),use) 563 570 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 585 592 #-Q- sx8brodie -R2 \ 586 593 #-Q- sxdkrz -R2 \ 587 #-Q- es hpux-R2 \594 #-Q- es2 -R2 \ 588 595 #-Q- aix6 -qsource \ 589 596 #-Q- aix -qsource \ … … 591 598 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 592 599 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 593 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null600 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 594 601 endif 595 602 … … 605 612 .PRECIOUS : $(MODEL_LIB) 606 613 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 607 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)614 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 608 615 609 616 # library dependancies … … 624 631 #-Q- sx8brodie -R2 \ 625 632 #-Q- sxdkrz -R2 \ 626 #-Q- es hpux-R2 \633 #-Q- es2 -R2 \ 627 634 #-Q- aix -qsource \ 628 635 #-Q- aix6 -qsource \ … … 630 637 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 631 638 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 632 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null639 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 633 640 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 634 641 @$(RM) $*.[of] … … 660 667 #-Q- sx8brodie -R2 \ 661 668 #-Q- sxdkrz -R2 \ 662 #-Q- es hpux-R2 \669 #-Q- es2 -R2 \ 663 670 #-Q- aix -qsource \ 664 671 #-Q- aix6 -qsource \ … … 672 679 #-Q- sx8brodie -R2 \ 673 680 #-Q- sxdkrz -R2 \ 674 #-Q- es hpux-R2 \681 #-Q- es2 -R2 \ 675 682 #-Q- aix -qsource \ 676 683 #-Q- aix6 -qsource \ … … 679 686 endif 680 687 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 681 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null688 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 682 689 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 683 690 @$(RM) $*.[of] … … 1330 1337 diaar5.F90 1331 1338 $(MODEL_LIB)(diadimg.o) : \ 1332 $(MODEL_LIB)(lib_print.o) \ 1333 $(MODEL_LIB)(par_kind.o) \ 1334 $(MODEL_LIB)(par_oce.o) \ 1335 lib_print.f90 \ 1336 par_kind.F90 \ 1337 par_oce.F90 \ 1338 $(MODEL_LIB)(dom_oce.o) \ 1339 $(MODEL_LIB)(in_out_manager.o) \ 1340 $(MODEL_LIB)(oce.o) \ 1339 $(MODEL_LIB)(dom_oce.o) \ 1340 $(MODEL_LIB)(in_out_manager.o) \ 1341 $(MODEL_LIB)(iom.o) \ 1342 $(MODEL_LIB)(lib_print.o) \ 1343 $(MODEL_LIB)(par_kind.o) \ 1344 $(MODEL_LIB)(par_oce.o) \ 1345 $(MODEL_LIB)(phycst.o) \ 1346 $(MODEL_LIB)(prtctl.o) \ 1347 $(MODEL_LIB)(restart.o) \ 1348 dom_oce.F90 \ 1349 in_out_manager.F90 \ 1350 iom.F90 \ 1351 lib_print.f90 \ 1352 par_kind.F90 \ 1353 par_oce.F90 \ 1354 phycst.F90 \ 1355 prtctl.F90 \ 1356 restart.F90 \ 1357 $(MODEL_LIB)(daymod.o) \ 1358 $(MODEL_LIB)(dom_oce.o) \ 1359 $(MODEL_LIB)(in_out_manager.o) \ 1360 $(MODEL_LIB)(oce.o) \ 1361 daymod.F90 \ 1341 1362 dom_oce.F90 \ 1342 1363 in_out_manager.F90 \ … … 1493 1514 phycst.F90 \ 1494 1515 $(IOIPSL_LIB) \ 1495 KEY_CPP \1496 1516 dianam.F90 1497 1517 $(MODEL_LIB)(diaptr.o) : \ … … 1554 1574 diaptr.F90 1555 1575 $(MODEL_LIB)(diawri.o) : \ 1576 $(MODEL_LIB)(daymod.o) \ 1556 1577 $(MODEL_LIB)(dianam.o) \ 1557 1578 $(MODEL_LIB)(dom_ice_2.o) \ … … 1581 1602 $(MODEL_LIB)(sbcrnf.o) \ 1582 1603 $(MODEL_LIB)(zdf_oce.o) \ 1604 daymod.F90 \ 1583 1605 dianam.F90 \ 1584 1606 dom_ice_2.F90 \ … … 4729 4751 in_out_manager.F90 \ 4730 4752 lbcnfd.F90 \ 4731 $(AGRIF_LIB) \4732 4753 KEY_CPP \ 4733 4754 lib_mpp.F90 … … 5444 5465 $(MODEL_LIB)(limistate_2.o) \ 5445 5466 $(MODEL_LIB)(phycst.o) \ 5467 $(MODEL_LIB)(sbc_oce.o) \ 5446 5468 dom_ice_2.F90 \ 5447 5469 dom_oce.F90 \ … … 5454 5476 limistate_2.F90 \ 5455 5477 phycst.F90 \ 5478 sbc_oce.F90 \ 5456 5479 vectopt_loop_substitute.h90 \ 5457 5480 KEY_CPP \ … … 6528 6551 trc.F90 \ 6529 6552 domzgr_substitute.h90 \ 6553 ldfeiv_substitute.h90 \ 6554 ldftra_substitute.h90 \ 6555 top_substitute.h90 \ 6556 vectopt_loop_substitute.h90 \ 6530 6557 KEY_CPP \ 6531 6558 p4zbio.F90 … … 6570 6597 trc.F90 \ 6571 6598 domzgr_substitute.h90 \ 6599 ldfeiv_substitute.h90 \ 6600 ldftra_substitute.h90 \ 6601 top_substitute.h90 \ 6602 vectopt_loop_substitute.h90 \ 6572 6603 KEY_CPP \ 6573 6604 p4zche.F90 … … 6644 6675 trc.F90 \ 6645 6676 domzgr_substitute.h90 \ 6677 ldfeiv_substitute.h90 \ 6678 ldftra_substitute.h90 \ 6679 top_substitute.h90 \ 6680 vectopt_loop_substitute.h90 \ 6646 6681 KEY_CPP \ 6647 6682 p4zflx.F90 … … 6727 6762 trc.F90 \ 6728 6763 domzgr_substitute.h90 \ 6764 ldfeiv_substitute.h90 \ 6765 ldftra_substitute.h90 \ 6766 top_substitute.h90 \ 6767 vectopt_loop_substitute.h90 \ 6729 6768 KEY_CPP \ 6730 6769 p4zlim.F90 … … 6862 6901 trc.F90 \ 6863 6902 domzgr_substitute.h90 \ 6903 ldfeiv_substitute.h90 \ 6904 ldftra_substitute.h90 \ 6905 top_substitute.h90 \ 6906 vectopt_loop_substitute.h90 \ 6864 6907 KEY_CPP \ 6865 6908 p4zmeso.F90 … … 6936 6979 trc.F90 \ 6937 6980 domzgr_substitute.h90 \ 6981 ldfeiv_substitute.h90 \ 6982 ldftra_substitute.h90 \ 6983 top_substitute.h90 \ 6984 vectopt_loop_substitute.h90 \ 6938 6985 KEY_CPP \ 6939 6986 p4zmicro.F90 … … 6992 7039 trc.F90 \ 6993 7040 domzgr_substitute.h90 \ 7041 ldfeiv_substitute.h90 \ 7042 ldftra_substitute.h90 \ 7043 top_substitute.h90 \ 7044 vectopt_loop_substitute.h90 \ 6994 7045 KEY_CPP \ 6995 7046 p4zmort.F90 … … 7052 7103 trc_oce.F90 \ 7053 7104 domzgr_substitute.h90 \ 7105 ldfeiv_substitute.h90 \ 7106 ldftra_substitute.h90 \ 7107 top_substitute.h90 \ 7108 vectopt_loop_substitute.h90 \ 7054 7109 KEY_CPP \ 7055 7110 p4zopt.F90 … … 7132 7187 trc.F90 \ 7133 7188 domzgr_substitute.h90 \ 7189 ldfeiv_substitute.h90 \ 7190 ldftra_substitute.h90 \ 7191 top_substitute.h90 \ 7192 vectopt_loop_substitute.h90 \ 7134 7193 KEY_CPP \ 7135 7194 p4zprod.F90 … … 7206 7265 trc.F90 \ 7207 7266 domzgr_substitute.h90 \ 7267 ldfeiv_substitute.h90 \ 7268 ldftra_substitute.h90 \ 7269 top_substitute.h90 \ 7270 vectopt_loop_substitute.h90 \ 7208 7271 KEY_CPP \ 7209 7272 p4zrem.F90 … … 7382 7445 trc.F90 \ 7383 7446 domzgr_substitute.h90 \ 7447 ldfeiv_substitute.h90 \ 7448 ldftra_substitute.h90 \ 7449 top_substitute.h90 \ 7450 vectopt_loop_substitute.h90 \ 7384 7451 KEY_CPP \ 7385 7452 p4zsink.F90 … … 9922 9989 $(MODEL_LIB)(lib_print.o) \ 9923 9990 $(MODEL_LIB)(limwri_2.o) \ 9991 $(MODEL_LIB)(obc_oce.o) \ 9924 9992 $(MODEL_LIB)(obctra.o) \ 9925 9993 $(MODEL_LIB)(oce.o) \ … … 10003 10071 lib_print.f90 \ 10004 10072 limwri_2.F90 \ 10073 obc_oce.F90 \ 10005 10074 obctra.F90 \ 10006 10075 oce.F90 \ … … 11568 11637 $(MODEL_LIB)(lib_print.o) \ 11569 11638 $(MODEL_LIB)(obc_oce.o) \ 11639 $(MODEL_LIB)(obc_par.o) \ 11570 11640 $(MODEL_LIB)(oce.o) \ 11571 11641 $(MODEL_LIB)(par_kind.o) \ … … 11592 11662 lib_print.f90 \ 11593 11663 obc_oce.F90 \ 11664 obc_par.F90 \ 11594 11665 oce.F90 \ 11595 11666 par_kind.F90 \ … … 11616 11687 $(MODEL_LIB)(in_out_manager.o) \ 11617 11688 $(MODEL_LIB)(lbclnk.o) \ 11689 $(MODEL_LIB)(obc_oce.o) \ 11618 11690 $(MODEL_LIB)(obctra.o) \ 11619 11691 $(MODEL_LIB)(oce.o) \ … … 11632 11704 in_out_manager.F90 \ 11633 11705 lbclnk.F90 \ 11706 obc_oce.F90 \ 11634 11707 obctra.F90 \ 11635 11708 oce.F90 \ … … 13025 13098 $(MODEL_LIB)(lib_print.o) \ 13026 13099 $(MODEL_LIB)(oce.o) \ 13027 $(MODEL_LIB)(par_kind.o) \ 13028 $(MODEL_LIB)(par_oce.o) \ 13100 $(MODEL_LIB)(par_c14b.o) \ 13101 $(MODEL_LIB)(par_cfc.o) \ 13102 $(MODEL_LIB)(par_kind.o) \ 13103 $(MODEL_LIB)(par_lobster.o) \ 13104 $(MODEL_LIB)(par_my_trc.o) \ 13105 $(MODEL_LIB)(par_oce.o) \ 13106 $(MODEL_LIB)(par_pisces.o) \ 13029 13107 $(MODEL_LIB)(par_trc.o) \ 13030 13108 $(MODEL_LIB)(phycst.o) \ … … 13045 13123 lib_print.f90 \ 13046 13124 oce.F90 \ 13047 par_kind.F90 \ 13048 par_oce.F90 \ 13125 par_c14b.F90 \ 13126 par_cfc.F90 \ 13127 par_kind.F90 \ 13128 par_lobster.F90 \ 13129 par_my_trc.F90 \ 13130 par_oce.F90 \ 13131 par_pisces.F90 \ 13049 13132 par_trc.F90 \ 13050 13133 phycst.F90 \ … … 13062 13145 $(MODEL_LIB)(lib_mpp.o) \ 13063 13146 $(MODEL_LIB)(oce_trc.o) \ 13147 $(MODEL_LIB)(par_trc.o) \ 13064 13148 $(MODEL_LIB)(trc.o) \ 13065 13149 $(MODEL_LIB)(trdmld_trc_oce.o) \ … … 13070 13154 lib_mpp.F90 \ 13071 13155 oce_trc.F90 \ 13156 par_trc.F90 \ 13072 13157 trc.F90 \ 13073 13158 trdmld_trc_oce.F90 \ … … 13345 13430 trcexp.F90 13346 13431 $(MODEL_LIB)(trcini.o) : \ 13432 $(MODEL_LIB)(daymod.o) \ 13347 13433 $(MODEL_LIB)(dom_oce.o) \ 13348 13434 $(MODEL_LIB)(in_out_manager.o) \ … … 13380 13466 $(MODEL_LIB)(trclsm_my_trc.o) \ 13381 13467 $(MODEL_LIB)(trclsm_pisces.o) \ 13468 $(MODEL_LIB)(trcrst_c14b.o) \ 13469 $(MODEL_LIB)(trcrst_cfc.o) \ 13470 $(MODEL_LIB)(trcrst_lobster.o) \ 13471 $(MODEL_LIB)(trcrst_my_trc.o) \ 13472 $(MODEL_LIB)(trcrst_pisces.o) \ 13382 13473 $(MODEL_LIB)(trcsms_c14b.o) \ 13383 13474 $(MODEL_LIB)(trcsms_cfc.o) \ 13384 $(MODEL_LIB)(trcsms_my_trc.o) \13385 13475 $(MODEL_LIB)(trctrp_ctl.o) \ 13386 13476 $(MODEL_LIB)(trctrp_lec.o) \ … … 13390 13480 $(MODEL_LIB)(zdfddm.o) \ 13391 13481 $(MODEL_LIB)(zdfmxl.o) \ 13482 daymod.F90 \ 13392 13483 dom_oce.F90 \ 13393 13484 in_out_manager.F90 \ … … 13425 13516 trclsm_my_trc.F90 \ 13426 13517 trclsm_pisces.F90 \ 13518 trcrst_c14b.F90 \ 13519 trcrst_cfc.F90 \ 13520 trcrst_lobster.F90 \ 13521 trcrst_my_trc.F90 \ 13522 trcrst_pisces.F90 \ 13427 13523 trcsms_c14b.F90 \ 13428 13524 trcsms_cfc.F90 \ 13429 trcsms_my_trc.F90 \13430 13525 trctrp_ctl.F90 \ 13431 13526 trctrp_lec.F90 \ … … 14678 14773 trc.F90 \ 14679 14774 domzgr_substitute.h90 \ 14775 ldfeiv_substitute.h90 \ 14776 ldftra_substitute.h90 \ 14777 top_substitute.h90 \ 14778 vectopt_loop_substitute.h90 \ 14680 14779 KEY_CPP \ 14681 14780 trcopt.F90 … … 14776 14875 $(MODEL_LIB)(par_trc.o) \ 14777 14876 $(MODEL_LIB)(phycst.o) \ 14877 $(MODEL_LIB)(prtctl.o) \ 14878 $(MODEL_LIB)(restart.o) \ 14879 $(MODEL_LIB)(sbc_oce.o) \ 14880 $(MODEL_LIB)(sbcrnf.o) \ 14881 $(MODEL_LIB)(sms_lobster.o) \ 14882 $(MODEL_LIB)(sms_pisces.o) \ 14883 $(MODEL_LIB)(trabbl.o) \ 14884 $(MODEL_LIB)(traqsr.o) \ 14885 $(MODEL_LIB)(trc.o) \ 14886 $(MODEL_LIB)(trcdta.o) \ 14887 $(MODEL_LIB)(trcsms_c14b.o) \ 14888 $(MODEL_LIB)(trcsms_cfc.o) \ 14889 $(MODEL_LIB)(trcsms_lobster.o) \ 14890 $(MODEL_LIB)(trcsms_pisces.o) \ 14891 $(MODEL_LIB)(trp_trc.o) \ 14892 $(MODEL_LIB)(zdf_oce.o) \ 14893 $(MODEL_LIB)(zdfddm.o) \ 14894 $(MODEL_LIB)(zdfmxl.o) \ 14895 dianam.F90 \ 14896 dom_oce.F90 \ 14897 domngb.F90 \ 14898 in_out_manager.F90 \ 14899 iom.F90 \ 14900 iom_def.F90 \ 14901 iom_ioipsl.F90 \ 14902 iom_nf90.F90 \ 14903 iom_rstdimg.F90 \ 14904 lbclnk.F90 \ 14905 lbcnfd.F90 \ 14906 ldfslp.F90 \ 14907 ldftra_oce.F90 \ 14908 lib_mpp.F90 \ 14909 oce.F90 \ 14910 oce_trc.F90 \ 14911 par_oce.F90 \ 14912 par_trc.F90 \ 14913 phycst.F90 \ 14914 prtctl.F90 \ 14915 restart.F90 \ 14916 sbc_oce.F90 \ 14917 sbcrnf.F90 \ 14918 sms_lobster.F90 \ 14919 sms_pisces.F90 \ 14920 trabbl.F90 \ 14921 traqsr.F90 \ 14922 trc.F90 \ 14923 trcdta.F90 \ 14924 trcsms_c14b.F90 \ 14925 trcsms_cfc.F90 \ 14926 trcsms_lobster.F90 \ 14927 trcsms_pisces.F90 \ 14928 trp_trc.F90 \ 14929 zdf_oce.F90 \ 14930 zdfddm.F90 \ 14931 zdfmxl.F90 \ 14932 $(MODEL_LIB)(daymod.o) \ 14933 $(MODEL_LIB)(iom.o) \ 14934 $(MODEL_LIB)(lib_mpp.o) \ 14935 $(MODEL_LIB)(oce_trc.o) \ 14936 $(MODEL_LIB)(trc.o) \ 14937 $(MODEL_LIB)(trcrst_c14b.o) \ 14938 $(MODEL_LIB)(trcrst_cfc.o) \ 14939 $(MODEL_LIB)(trcrst_lobster.o) \ 14940 $(MODEL_LIB)(trcrst_my_trc.o) \ 14941 $(MODEL_LIB)(trcrst_pisces.o) \ 14942 $(MODEL_LIB)(trctrp_lec.o) \ 14943 daymod.F90 \ 14944 iom.F90 \ 14945 lib_mpp.F90 \ 14946 oce_trc.F90 \ 14947 trc.F90 \ 14948 trcrst_c14b.F90 \ 14949 trcrst_cfc.F90 \ 14950 trcrst_lobster.F90 \ 14951 trcrst_my_trc.F90 \ 14952 trcrst_pisces.F90 \ 14953 trctrp_lec.F90 \ 14954 domzgr_substitute.h90 \ 14955 ldfeiv_substitute.h90 \ 14956 ldftra_substitute.h90 \ 14957 top_substitute.h90 \ 14958 vectopt_loop_substitute.h90 \ 14959 KEY_CPP \ 14960 trcrst.F90 14961 $(MODEL_LIB)(trcrst_c14b.o) : \ 14962 $(MODEL_LIB)(dianam.o) \ 14963 $(MODEL_LIB)(dom_oce.o) \ 14964 $(MODEL_LIB)(domngb.o) \ 14965 $(MODEL_LIB)(in_out_manager.o) \ 14966 $(MODEL_LIB)(iom.o) \ 14967 $(MODEL_LIB)(iom_def.o) \ 14968 $(MODEL_LIB)(iom_ioipsl.o) \ 14969 $(MODEL_LIB)(iom_nf90.o) \ 14970 $(MODEL_LIB)(iom_rstdimg.o) \ 14971 $(MODEL_LIB)(lbclnk.o) \ 14972 $(MODEL_LIB)(ldfslp.o) \ 14973 $(MODEL_LIB)(ldftra_oce.o) \ 14974 $(MODEL_LIB)(lib_mpp.o) \ 14975 $(MODEL_LIB)(lib_print.o) \ 14976 $(MODEL_LIB)(oce.o) \ 14977 $(MODEL_LIB)(oce_trc.o) \ 14978 $(MODEL_LIB)(par_c14b.o) \ 14979 $(MODEL_LIB)(par_cfc.o) \ 14980 $(MODEL_LIB)(par_kind.o) \ 14981 $(MODEL_LIB)(par_lobster.o) \ 14982 $(MODEL_LIB)(par_my_trc.o) \ 14983 $(MODEL_LIB)(par_oce.o) \ 14984 $(MODEL_LIB)(par_pisces.o) \ 14985 $(MODEL_LIB)(par_trc.o) \ 14986 $(MODEL_LIB)(phycst.o) \ 14778 14987 $(MODEL_LIB)(sbc_oce.o) \ 14779 14988 $(MODEL_LIB)(sbcrnf.o) \ … … 14783 14992 $(MODEL_LIB)(trdmld_trc.o) \ 14784 14993 $(MODEL_LIB)(trdmld_trc_oce.o) \ 14785 $(MODEL_LIB)(trp_trc.o) \14786 14994 $(MODEL_LIB)(zdf_oce.o) \ 14787 14995 $(MODEL_LIB)(zdfddm.o) \ … … 14797 15005 iom_rstdimg.F90 \ 14798 15006 lbclnk.F90 \ 14799 lbcnfd.F90 \14800 15007 ldfslp.F90 \ 14801 15008 ldftra_oce.F90 \ 14802 15009 lib_mpp.F90 \ 15010 lib_print.f90 \ 14803 15011 oce.F90 \ 14804 15012 oce_trc.F90 \ 14805 par_oce.F90 \ 15013 par_c14b.F90 \ 15014 par_cfc.F90 \ 15015 par_kind.F90 \ 15016 par_lobster.F90 \ 15017 par_my_trc.F90 \ 15018 par_oce.F90 \ 15019 par_pisces.F90 \ 14806 15020 par_trc.F90 \ 14807 15021 phycst.F90 \ … … 14813 15027 trdmld_trc.F90 \ 14814 15028 trdmld_trc_oce.F90 \ 14815 trp_trc.F90 \14816 15029 zdf_oce.F90 \ 14817 15030 zdfddm.F90 \ 14818 15031 zdfmxl.F90 \ 14819 $(MODEL_LIB)(i om.o) \14820 $(MODEL_LIB)( lib_mpp.o) \15032 $(MODEL_LIB)(in_out_manager.o) \ 15033 $(MODEL_LIB)(iom.o) \ 14821 15034 $(MODEL_LIB)(oce_trc.o) \ 15035 $(MODEL_LIB)(par_trc.o) \ 15036 $(MODEL_LIB)(trc.o) \ 15037 $(MODEL_LIB)(trcsms_c14b.o) \ 15038 in_out_manager.F90 \ 15039 iom.F90 \ 15040 oce_trc.F90 \ 15041 par_trc.F90 \ 15042 trc.F90 \ 15043 trcsms_c14b.F90 \ 15044 KEY_CPP \ 15045 trcrst_c14b.F90 15046 $(MODEL_LIB)(trcrst_cfc.o) : \ 15047 $(MODEL_LIB)(dianam.o) \ 15048 $(MODEL_LIB)(dom_oce.o) \ 15049 $(MODEL_LIB)(domngb.o) \ 15050 $(MODEL_LIB)(in_out_manager.o) \ 15051 $(MODEL_LIB)(iom.o) \ 15052 $(MODEL_LIB)(iom_def.o) \ 15053 $(MODEL_LIB)(iom_ioipsl.o) \ 15054 $(MODEL_LIB)(iom_nf90.o) \ 15055 $(MODEL_LIB)(iom_rstdimg.o) \ 15056 $(MODEL_LIB)(lbclnk.o) \ 15057 $(MODEL_LIB)(ldfslp.o) \ 15058 $(MODEL_LIB)(ldftra_oce.o) \ 15059 $(MODEL_LIB)(lib_mpp.o) \ 15060 $(MODEL_LIB)(lib_print.o) \ 15061 $(MODEL_LIB)(oce.o) \ 15062 $(MODEL_LIB)(oce_trc.o) \ 15063 $(MODEL_LIB)(par_c14b.o) \ 15064 $(MODEL_LIB)(par_cfc.o) \ 15065 $(MODEL_LIB)(par_kind.o) \ 15066 $(MODEL_LIB)(par_lobster.o) \ 15067 $(MODEL_LIB)(par_my_trc.o) \ 15068 $(MODEL_LIB)(par_oce.o) \ 15069 $(MODEL_LIB)(par_pisces.o) \ 15070 $(MODEL_LIB)(par_trc.o) \ 15071 $(MODEL_LIB)(phycst.o) \ 15072 $(MODEL_LIB)(sbc_oce.o) \ 15073 $(MODEL_LIB)(sbcrnf.o) \ 15074 $(MODEL_LIB)(trabbl.o) \ 15075 $(MODEL_LIB)(traqsr.o) \ 15076 $(MODEL_LIB)(trc.o) \ 15077 $(MODEL_LIB)(trdmld_trc.o) \ 15078 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15079 $(MODEL_LIB)(zdf_oce.o) \ 15080 $(MODEL_LIB)(zdfddm.o) \ 15081 $(MODEL_LIB)(zdfmxl.o) \ 15082 dianam.F90 \ 15083 dom_oce.F90 \ 15084 domngb.F90 \ 15085 in_out_manager.F90 \ 15086 iom.F90 \ 15087 iom_def.F90 \ 15088 iom_ioipsl.F90 \ 15089 iom_nf90.F90 \ 15090 iom_rstdimg.F90 \ 15091 lbclnk.F90 \ 15092 ldfslp.F90 \ 15093 ldftra_oce.F90 \ 15094 lib_mpp.F90 \ 15095 lib_print.f90 \ 15096 oce.F90 \ 15097 oce_trc.F90 \ 15098 par_c14b.F90 \ 15099 par_cfc.F90 \ 15100 par_kind.F90 \ 15101 par_lobster.F90 \ 15102 par_my_trc.F90 \ 15103 par_oce.F90 \ 15104 par_pisces.F90 \ 15105 par_trc.F90 \ 15106 phycst.F90 \ 15107 sbc_oce.F90 \ 15108 sbcrnf.F90 \ 15109 trabbl.F90 \ 15110 traqsr.F90 \ 15111 trc.F90 \ 15112 trdmld_trc.F90 \ 15113 trdmld_trc_oce.F90 \ 15114 zdf_oce.F90 \ 15115 zdfddm.F90 \ 15116 zdfmxl.F90 \ 15117 $(MODEL_LIB)(in_out_manager.o) \ 15118 $(MODEL_LIB)(iom.o) \ 15119 $(MODEL_LIB)(oce_trc.o) \ 15120 $(MODEL_LIB)(par_trc.o) \ 15121 $(MODEL_LIB)(trc.o) \ 15122 $(MODEL_LIB)(trcsms_cfc.o) \ 15123 in_out_manager.F90 \ 15124 iom.F90 \ 15125 oce_trc.F90 \ 15126 par_trc.F90 \ 15127 trc.F90 \ 15128 trcsms_cfc.F90 \ 15129 KEY_CPP \ 15130 trcrst_cfc.F90 15131 $(MODEL_LIB)(trcrst_lobster.o) : \ 15132 $(MODEL_LIB)(dianam.o) \ 15133 $(MODEL_LIB)(dom_oce.o) \ 15134 $(MODEL_LIB)(domngb.o) \ 15135 $(MODEL_LIB)(in_out_manager.o) \ 15136 $(MODEL_LIB)(iom_def.o) \ 15137 $(MODEL_LIB)(iom_ioipsl.o) \ 15138 $(MODEL_LIB)(iom_nf90.o) \ 15139 $(MODEL_LIB)(iom_rstdimg.o) \ 15140 $(MODEL_LIB)(lbclnk.o) \ 15141 $(MODEL_LIB)(ldfslp.o) \ 15142 $(MODEL_LIB)(ldftra_oce.o) \ 15143 $(MODEL_LIB)(lib_mpp.o) \ 15144 $(MODEL_LIB)(lib_print.o) \ 15145 $(MODEL_LIB)(oce.o) \ 15146 $(MODEL_LIB)(oce_trc.o) \ 15147 $(MODEL_LIB)(par_c14b.o) \ 15148 $(MODEL_LIB)(par_cfc.o) \ 15149 $(MODEL_LIB)(par_kind.o) \ 15150 $(MODEL_LIB)(par_lobster.o) \ 15151 $(MODEL_LIB)(par_my_trc.o) \ 15152 $(MODEL_LIB)(par_oce.o) \ 15153 $(MODEL_LIB)(par_pisces.o) \ 15154 $(MODEL_LIB)(par_trc.o) \ 15155 $(MODEL_LIB)(phycst.o) \ 15156 $(MODEL_LIB)(sbc_oce.o) \ 15157 $(MODEL_LIB)(sbcrnf.o) \ 15158 $(MODEL_LIB)(trabbl.o) \ 15159 $(MODEL_LIB)(traqsr.o) \ 15160 $(MODEL_LIB)(trc.o) \ 15161 $(MODEL_LIB)(trcbio.o) \ 15162 $(MODEL_LIB)(trcexp.o) \ 15163 $(MODEL_LIB)(trcopt.o) \ 15164 $(MODEL_LIB)(trcsed.o) \ 15165 $(MODEL_LIB)(trdmld_trc.o) \ 15166 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15167 $(MODEL_LIB)(zdf_oce.o) \ 15168 $(MODEL_LIB)(zdfddm.o) \ 15169 $(MODEL_LIB)(zdfmxl.o) \ 15170 dianam.F90 \ 15171 dom_oce.F90 \ 15172 domngb.F90 \ 15173 in_out_manager.F90 \ 15174 iom_def.F90 \ 15175 iom_ioipsl.F90 \ 15176 iom_nf90.F90 \ 15177 iom_rstdimg.F90 \ 15178 lbclnk.F90 \ 15179 ldfslp.F90 \ 15180 ldftra_oce.F90 \ 15181 lib_mpp.F90 \ 15182 lib_print.f90 \ 15183 oce.F90 \ 15184 oce_trc.F90 \ 15185 par_c14b.F90 \ 15186 par_cfc.F90 \ 15187 par_kind.F90 \ 15188 par_lobster.F90 \ 15189 par_my_trc.F90 \ 15190 par_oce.F90 \ 15191 par_pisces.F90 \ 15192 par_trc.F90 \ 15193 phycst.F90 \ 15194 sbc_oce.F90 \ 15195 sbcrnf.F90 \ 15196 trabbl.F90 \ 15197 traqsr.F90 \ 15198 trc.F90 \ 15199 trcbio.F90 \ 15200 trcexp.F90 \ 15201 trcopt.F90 \ 15202 trcsed.F90 \ 15203 trdmld_trc.F90 \ 15204 trdmld_trc_oce.F90 \ 15205 zdf_oce.F90 \ 15206 zdfddm.F90 \ 15207 zdfmxl.F90 \ 15208 $(MODEL_LIB)(in_out_manager.o) \ 15209 $(MODEL_LIB)(iom.o) \ 15210 $(MODEL_LIB)(oce_trc.o) \ 15211 $(MODEL_LIB)(par_trc.o) \ 14822 15212 $(MODEL_LIB)(sms_lobster.o) \ 15213 $(MODEL_LIB)(trc.o) \ 15214 $(MODEL_LIB)(trcsms_lobster.o) \ 15215 in_out_manager.F90 \ 15216 iom.F90 \ 15217 oce_trc.F90 \ 15218 par_trc.F90 \ 15219 sms_lobster.F90 \ 15220 trc.F90 \ 15221 trcsms_lobster.F90 \ 15222 KEY_CPP \ 15223 trcrst_lobster.F90 15224 $(MODEL_LIB)(trcrst_my_trc.o) : \ 15225 KEY_CPP \ 15226 trcrst_my_trc.F90 15227 $(MODEL_LIB)(trcrst_pisces.o) : \ 15228 $(MODEL_LIB)(dianam.o) \ 15229 $(MODEL_LIB)(dom_oce.o) \ 15230 $(MODEL_LIB)(domngb.o) \ 15231 $(MODEL_LIB)(in_out_manager.o) \ 15232 $(MODEL_LIB)(iom.o) \ 15233 $(MODEL_LIB)(iom_def.o) \ 15234 $(MODEL_LIB)(iom_ioipsl.o) \ 15235 $(MODEL_LIB)(iom_nf90.o) \ 15236 $(MODEL_LIB)(iom_rstdimg.o) \ 15237 $(MODEL_LIB)(lbclnk.o) \ 15238 $(MODEL_LIB)(ldfslp.o) \ 15239 $(MODEL_LIB)(ldftra_oce.o) \ 15240 $(MODEL_LIB)(lib_mpp.o) \ 15241 $(MODEL_LIB)(lib_print.o) \ 15242 $(MODEL_LIB)(oce.o) \ 15243 $(MODEL_LIB)(oce_trc.o) \ 15244 $(MODEL_LIB)(p4zbio.o) \ 15245 $(MODEL_LIB)(p4zche.o) \ 15246 $(MODEL_LIB)(p4zflx.o) \ 15247 $(MODEL_LIB)(p4zint.o) \ 15248 $(MODEL_LIB)(p4zlys.o) \ 15249 $(MODEL_LIB)(p4zsed.o) \ 15250 $(MODEL_LIB)(par_c14b.o) \ 15251 $(MODEL_LIB)(par_cfc.o) \ 15252 $(MODEL_LIB)(par_kind.o) \ 15253 $(MODEL_LIB)(par_lobster.o) \ 15254 $(MODEL_LIB)(par_my_trc.o) \ 15255 $(MODEL_LIB)(par_oce.o) \ 15256 $(MODEL_LIB)(par_pisces.o) \ 15257 $(MODEL_LIB)(par_trc.o) \ 15258 $(MODEL_LIB)(phycst.o) \ 15259 $(MODEL_LIB)(sbc_oce.o) \ 15260 $(MODEL_LIB)(sbcrnf.o) \ 15261 $(MODEL_LIB)(sedmodel.o) \ 15262 $(MODEL_LIB)(sms_pisces.o) \ 15263 $(MODEL_LIB)(trabbl.o) \ 15264 $(MODEL_LIB)(traqsr.o) \ 15265 $(MODEL_LIB)(trc.o) \ 15266 $(MODEL_LIB)(trdmld_trc.o) \ 15267 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15268 $(MODEL_LIB)(zdf_oce.o) \ 15269 $(MODEL_LIB)(zdfddm.o) \ 15270 $(MODEL_LIB)(zdfmxl.o) \ 15271 dianam.F90 \ 15272 dom_oce.F90 \ 15273 domngb.F90 \ 15274 in_out_manager.F90 \ 15275 iom.F90 \ 15276 iom_def.F90 \ 15277 iom_ioipsl.F90 \ 15278 iom_nf90.F90 \ 15279 iom_rstdimg.F90 \ 15280 lbclnk.F90 \ 15281 ldfslp.F90 \ 15282 ldftra_oce.F90 \ 15283 lib_mpp.F90 \ 15284 lib_print.f90 \ 15285 oce.F90 \ 15286 oce_trc.F90 \ 15287 p4zbio.F90 \ 15288 p4zche.F90 \ 15289 p4zflx.F90 \ 15290 p4zint.F90 \ 15291 p4zlys.F90 \ 15292 p4zsed.F90 \ 15293 par_c14b.F90 \ 15294 par_cfc.F90 \ 15295 par_kind.F90 \ 15296 par_lobster.F90 \ 15297 par_my_trc.F90 \ 15298 par_oce.F90 \ 15299 par_pisces.F90 \ 15300 par_trc.F90 \ 15301 phycst.F90 \ 15302 sbc_oce.F90 \ 15303 sbcrnf.F90 \ 15304 sedmodel.F90 \ 15305 sms_pisces.F90 \ 15306 trabbl.F90 \ 15307 traqsr.F90 \ 15308 trc.F90 \ 15309 trdmld_trc.F90 \ 15310 trdmld_trc_oce.F90 \ 15311 zdf_oce.F90 \ 15312 zdfddm.F90 \ 15313 zdfmxl.F90 \ 15314 $(MODEL_LIB)(in_out_manager.o) \ 15315 $(MODEL_LIB)(iom.o) \ 15316 $(MODEL_LIB)(oce_trc.o) \ 15317 $(MODEL_LIB)(par_trc.o) \ 14823 15318 $(MODEL_LIB)(sms_pisces.o) \ 14824 15319 $(MODEL_LIB)(trc.o) \ 14825 $(MODEL_LIB)(trcsms_c14b.o) \ 14826 $(MODEL_LIB)(trcsms_cfc.o) \ 14827 $(MODEL_LIB)(trcsms_my_trc.o) \ 14828 $(MODEL_LIB)(trctrp_lec.o) \ 14829 iom.F90 \ 14830 lib_mpp.F90 \ 15320 $(MODEL_LIB)(trcdta.o) \ 15321 $(MODEL_LIB)(trcsms_pisces.o) \ 15322 in_out_manager.F90 \ 15323 iom.F90 \ 14831 15324 oce_trc.F90 \ 14832 sms_lobster.F90 \15325 par_trc.F90 \ 14833 15326 sms_pisces.F90 \ 14834 15327 trc.F90 \ 14835 trcsms_c14b.F90 \ 14836 trcsms_cfc.F90 \ 14837 trcsms_my_trc.F90 \ 14838 trctrp_lec.F90 \ 14839 domzgr_substitute.h90 \ 14840 ldfeiv_substitute.h90 \ 14841 ldftra_substitute.h90 \ 14842 top_substitute.h90 \ 14843 vectopt_loop_substitute.h90 \ 14844 KEY_CPP \ 14845 trcrst.F90 15328 trcdta.F90 \ 15329 trcsms_pisces.F90 \ 15330 KEY_CPP \ 15331 trcrst_pisces.F90 14846 15332 $(MODEL_LIB)(trcsbc.o) : \ 14847 15333 $(MODEL_LIB)(dianam.o) \ … … 15000 15486 trdmld_trc_oce.F90 \ 15001 15487 domzgr_substitute.h90 \ 15488 ldfeiv_substitute.h90 \ 15489 ldftra_substitute.h90 \ 15490 top_substitute.h90 \ 15491 vectopt_loop_substitute.h90 \ 15002 15492 KEY_CPP \ 15003 15493 trcsed.F90 … … 15560 16050 $(MODEL_LIB)(trcstp.o) : \ 15561 16051 $(MODEL_LIB)(agrif_top_sponge.o) \ 16052 $(MODEL_LIB)(daymod.o) \ 15562 16053 $(MODEL_LIB)(dianam.o) \ 15563 16054 $(MODEL_LIB)(dom_oce.o) \ … … 15603 16094 $(MODEL_LIB)(trcnxt.o) \ 15604 16095 $(MODEL_LIB)(trcrad.o) \ 16096 $(MODEL_LIB)(trcrst_c14b.o) \ 16097 $(MODEL_LIB)(trcrst_cfc.o) \ 16098 $(MODEL_LIB)(trcrst_lobster.o) \ 16099 $(MODEL_LIB)(trcrst_my_trc.o) \ 16100 $(MODEL_LIB)(trcrst_pisces.o) \ 15605 16101 $(MODEL_LIB)(trcsbc.o) \ 15606 16102 $(MODEL_LIB)(trcsms_c14b.o) \ … … 15622 16118 $(MODEL_LIB)(zpshde_trc.o) \ 15623 16119 agrif_top_sponge.F90 \ 16120 daymod.F90 \ 15624 16121 dianam.F90 \ 15625 16122 dom_oce.F90 \ … … 15665 16162 trcnxt.F90 \ 15666 16163 trcrad.F90 \ 16164 trcrst_c14b.F90 \ 16165 trcrst_cfc.F90 \ 16166 trcrst_lobster.F90 \ 16167 trcrst_my_trc.F90 \ 16168 trcrst_pisces.F90 \ 15667 16169 trcsbc.F90 \ 15668 16170 trcsms_c14b.F90 \ … … 15823 16325 zpshde_trc.F90 \ 15824 16326 domzgr_substitute.h90 \ 16327 ldfeiv_substitute.h90 \ 16328 ldftra_substitute.h90 \ 16329 top_substitute.h90 \ 16330 vectopt_loop_substitute.h90 \ 15825 16331 $(AGRIF_LIB) \ 15826 16332 KEY_CPP \ … … 15935 16441 $(MODEL_LIB)(trabbl.o) \ 15936 16442 $(MODEL_LIB)(traqsr.o) \ 16443 $(MODEL_LIB)(trc.o) \ 15937 16444 $(MODEL_LIB)(zdf_oce.o) \ 15938 16445 $(MODEL_LIB)(zdfddm.o) \ … … 15958 16465 trabbl.F90 \ 15959 16466 traqsr.F90 \ 16467 trc.F90 \ 15960 16468 zdf_oce.F90 \ 15961 16469 zdfddm.F90 \ 15962 16470 zdfmxl.F90 \ 15963 16471 $(MODEL_LIB)(dianam.o) \ 16472 $(MODEL_LIB)(dom_oce.o) \ 15964 16473 $(MODEL_LIB)(iom.o) \ 15965 16474 $(MODEL_LIB)(oce_trc.o) \ 15966 16475 $(MODEL_LIB)(trc.o) \ 16476 $(MODEL_LIB)(trdmld_trc_oce.o) \ 16477 $(MODEL_LIB)(trp_trc.o) \ 15967 16478 dianam.F90 \ 16479 dom_oce.F90 \ 15968 16480 iom.F90 \ 15969 16481 oce_trc.F90 \ 15970 16482 trc.F90 \ 16483 trdmld_trc_oce.F90 \ 16484 trp_trc.F90 \ 15971 16485 domzgr_substitute.h90 \ 15972 16486 ldfeiv_substitute.h90 \ … … 16347 16861 $(MODEL_LIB)(trdmld.o) : \ 16348 16862 $(MODEL_LIB)(c1d.o) \ 16863 $(MODEL_LIB)(daymod.o) \ 16349 16864 $(MODEL_LIB)(dom_oce.o) \ 16350 16865 $(MODEL_LIB)(eosbn2.o) \ … … 16372 16887 $(MODEL_LIB)(zpshde.o) \ 16373 16888 c1d.F90 \ 16889 daymod.F90 \ 16374 16890 dom_oce.F90 \ 16375 16891 eosbn2.F90 \ -
branches/devmercator2010_1/CONFIG/GYRE_LOBSTER/scripts/BB_make.ldef
r1759 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/CONFIG/ORCA2_LIM/EXP00/iodef.xml
r1772 r2137 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/devmercator2010_1/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.card
r1764 r2137 21 21 22 22 [Interannual] 23 #===================================================================== 24 #-- Surface Boundary Condition original files name ( get by the job ) 25 #===================================================================== 23 #================================================================================================== 24 #-- Surface Boundary Condition original files name ( get by the job ) same as the ones in namelist 25 #================================================================================================== 26 26 #-- NOTE: MANDATORY STRUCTURE OF FILE NAMES GET BY THE JOB : 27 27 #-- "basename_yyyy.nc" ( for interannual data ) … … 31 31 # default climatology, bulk_clio: 32 32 List_jobsbc=(flx, taux_1m, tauy_1m) 33 # example for interannual, bulk core: 33 # example for interannual, bulk core, forcing CORE2: 34 #List_jobsbc=(u_10_orca2, v_10_orca2, ncar_rad_orca2, t_10_orca2, q_10_orca2, ncar_precip_orca2) 35 # example for interannual, bulk core, forcing DRAKKAR: 34 36 #List_jobsbc=(radlw_DFS4-ORCA2, radsw_DFS4-ORCA2, q2_DFS4-ORCA2, t2_DFS4-ORCA2, u10_DFS4-ORCA2, v10_DFS4-ORCA2, snow_DFS4-ORCA2, precip_DFS4-ORCA2) 35 37 36 #==========================================================================================37 #-- Surface Boundary Condition files name expected by NEMO ( same as the ones in namelist )38 #==========================================================================================39 #-- NOTE: 2 possible cases :40 #-- 1) put in List_runsbc file names different from List_jobsbc but identical to the ones in namelist41 #-- 2) leave List_runsbc empty so NEMO will read file names specified in List_jobsbc variable above42 43 # default climatology, bulk_clio:44 List_runsbc=()45 # example for interannual, bulk core:46 #List_runsbc=(qlw_core, qsw_core, q2_core, t2_core, u10_core, v10_core, snow_core, precip_core)47 38 48 39 [InitialStateFiles] … … 62 53 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/sss_data.nc, .),\ 63 54 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/sst_data.nc, .),\ 64 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/subbasins.nc, .) 55 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/subbasins.nc, .),\ 56 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/chlaseawifs_c1m-99-05_smooth_ORCA_R2.nc, chlorophyll.nc),\ 57 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/Tides_K1_drg_ORCA_R2.nc, K1rowdrg.nc),\ 58 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/Tides_M2_drg_ORCA_R2.nc, M2rowdrg.nc),\ 59 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/tmaskitf_ORCA2_bis.nc, mask_itf.nc),\ 60 (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/kRGB61.txt, .) 61 62 65 63 66 64 … … 79 77 List= (${PREFIX_WF1}_grid_T.nc, ${R_OUT_OCE_WF1}/${PREFIX}_${WF1}_grid_T.nc, Post_1Y_grid_T),\ 80 78 (${PREFIX_WF2}_grid_T.nc, ${R_OUT_OCE_WF2}/${PREFIX}_${WF2}_grid_T.nc, Post_1M_grid_T),\ 81 (${PREFIX_WF3}_grid_T.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_T.nc, Post_ 5D_grid_T),\82 (${PREFIX_WF3}_grid_U.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_U.nc, Post_ 5D_grid_U) ,\83 (${PREFIX_WF3}_grid_V.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_V.nc, Post_ 5D_grid_V),\84 (${PREFIX_WF3}_grid_W.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_W.nc, Post_ 5D_grid_W),\79 (${PREFIX_WF3}_grid_T.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_T.nc, Post_1M_grid_T),\ 80 (${PREFIX_WF3}_grid_U.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_U.nc, Post_1M_grid_U) ,\ 81 (${PREFIX_WF3}_grid_V.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_V.nc, Post_1M_grid_V),\ 82 (${PREFIX_WF3}_grid_W.nc, ${R_OUT_OCE_WF3}/${PREFIX}_${WF3}_grid_W.nc, Post_1M_grid_W),\ 85 83 (${PREFIX_WF4}_grid_T_0n180w.nc, ${R_OUT_OCE_WF4}/${PREFIX}_${WF4}_grid_T_0n180w.nc, NONE ),\ 86 84 (${PREFIX_WF4}_grid_T_Eq.nc, ${R_OUT_OCE_WF4}/${PREFIX}_${WF4}_grid_T_Eq.nc, NONE ),\ … … 91 89 92 90 91 [Post_1Y_grid_T] 92 Patches = (Patch_20091030_histcom_time_axis) 93 GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter) 94 TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 95 93 96 [Post_1M_grid_T] 94 97 Patches = (Patch_20091030_histcom_time_axis) … … 96 99 TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 97 100 98 [Post_1Y_grid_T] 99 Patches = (Patch_20091030_histcom_time_axis) 100 GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter) 101 TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 102 103 [Post_5D_grid_T] 104 Patches = (Patch_20091030_histcom_time_axis) 105 GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter) 106 TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 107 108 [Post_5D_grid_U] 101 [Post_1M_grid_U] 109 102 Patches = (Patch_20091030_histcom_time_axis) 110 103 GatherWithInternal = (nav_lon, nav_lat, depthu, time_counter) 111 104 TimeSeriesVars = (sozotaux) 112 105 113 [Post_ 5D_grid_V]106 [Post_1M_grid_V] 114 107 Patches = (Patch_20091030_histcom_time_axis) 115 108 GatherWithInternal = (nav_lon, nav_lat, depthv, time_counter) 116 109 TimeSeriesVars = (sometauy) 117 110 118 [Post_ 5D_grid_W]111 [Post_1M_grid_W] 119 112 Patches = (Patch_20091030_histcom_time_axis) 120 113 GatherWithInternal = (nav_lon, nav_lat, depthw, time_counter) -
branches/devmercator2010_1/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.driver
r1764 r2137 51 51 # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs 52 52 IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_jobsbc 53 IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_runsbc54 53 set -A ListFormulationJobsbc -- \${opa9_Interannual_Listjobsc${opa9_Interannual_List_jobsbc}[*]} 55 set -A ListFormulationRunsbc -- \${opa9_Interannual_Listrunsbc${opa9_Interannual_List_runsbc}[*]}56 54 57 55 ##--Variables used for XMLIO_SERVER configuration file … … 71 69 if [ X${opa9_UserChoices_Interannual_Run} = Xy ] ; then 72 70 73 typeset file fileo 74 75 eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 76 71 typeset file 72 73 (( PeriodCumulPeriod = ${CumulPeriod} - 1 )) 74 (( PeriodInitYear =${InitYear} + ${PeriodCumulPeriod} * ${PeriodLengthInYears} )) 75 (( PeriodFinalYear =${InitYear} + ${PeriodLengthInYears}*${CumulPeriod} - 1 )) 76 77 NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 78 (( NbFileInter_tot=${#opa9_Interannual_List_jobsbc[*]} * ${PeriodLengthInYears} )) 77 79 (( i = 0 )) 78 while [ $i -lt ${NbFileInter} ] ; do 79 eval file=${opa9_Interannual_List_jobsbc[$i]} 80 eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 81 eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 82 eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 83 # Copy of List_jobsbc in List_runsbc if this last one is empty 84 if [ X${opa9_Interannual_List_runsbc[0]} = X${NULL_STR} ] ; then 85 eval fileo=${opa9_Interannual_List_jobsbc[$i]} 86 eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 87 eval runsbc_file_y=${file}_y${year}.nc 88 eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 89 else 90 eval fileo=${opa9_Interannual_List_runsbc[$i]} 91 eval runsbc_file_ym1=${fileo}_y$(( year - 1 )).nc 92 eval runsbc_file_y=${fileo}_y${year}.nc 93 eval runsbc_file_yp1=${fileo}_y$(( year + 1 )).nc 94 fi 95 96 if [ X${Period} = X1 ] ; then 97 if [ ${month} -eq 01 ] ; then 98 IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 80 81 while [ ${year} -le ${PeriodFinalYear} ] ; do #copy in ONCE of ALL necessary files for all PeriodLength 82 83 while [ $i -lt ${NbFileInter} ] ; do 84 85 eval file=${opa9_Interannual_List_jobsbc[$i]} 86 if [ X${year} = X${PeriodInitYear} ] ; then 87 if [ ${month} -eq 01 ] ; then 88 # if year-1 does not exist we create a file _noym1.nc copy of year 89 eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 90 if [ ! -f ${jobsbc_file_ym1} ] ; then 91 eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 92 eval runsbc_file_ym1=${file}_noym1.nc 93 else 94 eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 95 eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 96 fi 97 98 IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 99 fi 99 100 fi 101 102 # download year 103 eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 104 eval runsbc_file_y=${file}_y${year}.nc 105 100 106 if [ ! -f ${runsbc_file_y} ] ; then 101 107 IGCM_sys_Get ${jobsbc_file_y} ${runsbc_file_y} 102 108 fi 103 if [ ! -f ${runsbc_file_yp1} ] ; then 104 IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 109 110 # download (year+1) if it is last year of run 111 if [ X${year} = X${PeriodFinalYear} ] ; then 112 113 eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 114 eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 115 116 if [ ! -f ${runsbc_file_yp1} ] ; then 117 118 # if year+1 does not exist we create a file _noyp1.nc copy of year 119 eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 120 if [ ! -f ${jobsbc_file_yp1} ] ; then 121 eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 122 eval runsbc_file_yp1=${file}_noyp1.nc 123 else 124 eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 125 eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 126 fi 127 IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 128 fi 129 105 130 fi 106 else107 if [ ! -f ${runsbc_file_yp1} ] ; then108 IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1}109 fi110 fi111 112 (( i = i + 1))131 (( i = i + 1 )) 132 133 done 134 135 (( year = year + 1 )) 136 137 (( i = 0 )) 113 138 done 139 114 140 # End interannual 115 141 elif [ X${opa9_UserChoices_Interannual_Run} = Xn ] ; then 116 142 # Climatological run 117 typeset file fileo143 typeset file 118 144 119 145 eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} … … 123 149 eval file=${opa9_Interannual_List_jobsbc[$i]} 124 150 eval jobsbc_file=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}.nc 125 if [ X${opa9_Interannual_List_runsbc[0]} = X${NULL_STR} ] ; then 126 eval fileo=${opa9_Interannual_List_jobsbc[$i]} 127 eval runsbc_file=${fileo}.nc 128 else 129 eval fileo=${opa9_Interannual_List_runsbc[$i]} 130 eval runsbc_file=${fileo}.nc 131 fi 151 eval runsbc_file=${file}.nc 132 152 133 153 IGCM_sys_Get ${jobsbc_file} ${runsbc_file} … … 224 244 NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) ) 225 245 226 sed -e "s%${PAT_CEXPER}% cn_exp=\"${config_UserChoices_JobName}\"%" \246 sed -e "s%${PAT_CEXPER}% cn_exp=\"${config_UserChoices_JobName}\"%" \ 227 247 -e "s%${PAT_NIT000}% nn_it000=${OPA_NIT000}%" \ 228 248 -e "s%${PAT_NITEND}% nn_itend=${OPA_NITEND}%" \ 229 -e "s%${PAT_RESTAR}% ln_rstart=${OPA_LRSTAR}%" \249 -e "s%${PAT_RESTAR}% ln_rstart=${OPA_LRSTAR}%" \ 230 250 -e "s%${PAT_NSTOCK}% nn_stock=${OPA_NSTOCK}%" \ 231 -e "s%${PAT_NRSTAR}% nn_rstctl=${OPA_NRSTDT}%" 232 -e "s%${PAT_NDATE0}% nn_date0=${PeriodDateBegin}%" 251 -e "s%${PAT_NRSTAR}% nn_rstctl=${OPA_NRSTDT}%" \ 252 -e "s%${PAT_NDATE0}% nn_date0=${PeriodDateBegin}%" \ 233 253 -e "s%${PAT_NMSH}% nn_msh=${OPA_NMSH}%" \ 234 -e "s%${PAT_NLEAPY}% nn_leapy=${OPA_NLEAPY}%" \254 -e "s%${PAT_NLEAPY}% nn_leapy=${OPA_NLEAPY}%" \ 235 255 namelist > namelist.tmp 236 256 237 257 IGCM_sys_Mv namelist.tmp namelist 258 238 259 239 260 # update xmlio_server.def -
branches/devmercator2010_1/CONFIG/ORCA2_LIM/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 437 439 438 440 # Agrif library and conv 439 libagrif : $(call keycompat,key_iomput,key_agrif)441 libagrif : 440 442 ifeq ($(AGRIF),use) 441 443 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 463 465 #-Q- sx8brodie -R2 \ 464 466 #-Q- sxdkrz -R2 \ 465 #-Q- es hpux-R2 \467 #-Q- es2 -R2 \ 466 468 #-Q- aix6 -qsource \ 467 469 #-Q- aix -qsource \ … … 469 471 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 470 472 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 471 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null473 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 472 474 endif 473 475 … … 483 485 .PRECIOUS : $(MODEL_LIB) 484 486 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 485 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)487 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 486 488 487 489 # library dependancies … … 502 504 #-Q- sx8brodie -R2 \ 503 505 #-Q- sxdkrz -R2 \ 504 #-Q- es hpux-R2 \506 #-Q- es2 -R2 \ 505 507 #-Q- aix -qsource \ 506 508 #-Q- aix6 -qsource \ … … 508 510 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 509 511 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 510 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null512 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 511 513 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 512 514 @$(RM) $*.[of] … … 538 540 #-Q- sx8brodie -R2 \ 539 541 #-Q- sxdkrz -R2 \ 540 #-Q- es hpux-R2 \542 #-Q- es2 -R2 \ 541 543 #-Q- aix -qsource \ 542 544 #-Q- aix6 -qsource \ … … 550 552 #-Q- sx8brodie -R2 \ 551 553 #-Q- sxdkrz -R2 \ 552 #-Q- es hpux-R2 \554 #-Q- es2 -R2 \ 553 555 #-Q- aix -qsource \ 554 556 #-Q- aix6 -qsource \ … … 557 559 endif 558 560 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 559 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null561 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 560 562 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 561 563 @$(RM) $*.[of] … … 851 853 $(MODEL_LIB)(dom_oce.o) \ 852 854 $(MODEL_LIB)(in_out_manager.o) \ 855 $(MODEL_LIB)(obc_par.o) \ 853 856 $(MODEL_LIB)(oce.o) \ 854 857 $(MODEL_LIB)(opa.o) \ … … 865 868 dom_oce.F90 \ 866 869 in_out_manager.F90 \ 870 obc_par.F90 \ 867 871 oce.F90 \ 868 872 opa.F90 \ … … 1501 1505 diaar5.F90 1502 1506 $(MODEL_LIB)(diadimg.o) : \ 1503 $(MODEL_LIB)(lib_print.o) \ 1504 $(MODEL_LIB)(par_kind.o) \ 1505 $(MODEL_LIB)(par_oce.o) \ 1506 lib_print.f90 \ 1507 par_kind.F90 \ 1508 par_oce.F90 \ 1509 $(MODEL_LIB)(dom_oce.o) \ 1510 $(MODEL_LIB)(in_out_manager.o) \ 1511 $(MODEL_LIB)(oce.o) \ 1507 $(MODEL_LIB)(dom_oce.o) \ 1508 $(MODEL_LIB)(in_out_manager.o) \ 1509 $(MODEL_LIB)(iom.o) \ 1510 $(MODEL_LIB)(lib_print.o) \ 1511 $(MODEL_LIB)(par_kind.o) \ 1512 $(MODEL_LIB)(par_oce.o) \ 1513 $(MODEL_LIB)(phycst.o) \ 1514 $(MODEL_LIB)(prtctl.o) \ 1515 $(MODEL_LIB)(restart.o) \ 1516 dom_oce.F90 \ 1517 in_out_manager.F90 \ 1518 iom.F90 \ 1519 lib_print.f90 \ 1520 par_kind.F90 \ 1521 par_oce.F90 \ 1522 phycst.F90 \ 1523 prtctl.F90 \ 1524 restart.F90 \ 1525 $(MODEL_LIB)(daymod.o) \ 1526 $(MODEL_LIB)(dom_oce.o) \ 1527 $(MODEL_LIB)(in_out_manager.o) \ 1528 $(MODEL_LIB)(oce.o) \ 1529 daymod.F90 \ 1512 1530 dom_oce.F90 \ 1513 1531 in_out_manager.F90 \ … … 1664 1682 phycst.F90 \ 1665 1683 $(IOIPSL_LIB) \ 1666 KEY_CPP \1667 1684 dianam.F90 1668 1685 $(MODEL_LIB)(diaptr.o) : \ … … 1725 1742 diaptr.F90 1726 1743 $(MODEL_LIB)(diawri.o) : \ 1744 $(MODEL_LIB)(daymod.o) \ 1727 1745 $(MODEL_LIB)(dianam.o) \ 1728 1746 $(MODEL_LIB)(dom_ice_2.o) \ … … 1752 1770 $(MODEL_LIB)(sbcrnf.o) \ 1753 1771 $(MODEL_LIB)(zdf_oce.o) \ 1772 daymod.F90 \ 1754 1773 dianam.F90 \ 1755 1774 dom_ice_2.F90 \ … … 4912 4931 in_out_manager.F90 \ 4913 4932 lbcnfd.F90 \ 4914 $(AGRIF_LIB) \4915 4933 KEY_CPP \ 4916 4934 lib_mpp.F90 … … 5627 5645 $(MODEL_LIB)(limistate_2.o) \ 5628 5646 $(MODEL_LIB)(phycst.o) \ 5647 $(MODEL_LIB)(sbc_oce.o) \ 5629 5648 dom_ice_2.F90 \ 5630 5649 dom_oce.F90 \ … … 5637 5656 limistate_2.F90 \ 5638 5657 phycst.F90 \ 5658 sbc_oce.F90 \ 5639 5659 vectopt_loop_substitute.h90 \ 5640 5660 KEY_CPP \ … … 8316 8336 $(MODEL_LIB)(lib_print.o) \ 8317 8337 $(MODEL_LIB)(limwri_2.o) \ 8338 $(MODEL_LIB)(obc_oce.o) \ 8318 8339 $(MODEL_LIB)(obctra.o) \ 8319 8340 $(MODEL_LIB)(oce.o) \ … … 8387 8408 lib_print.f90 \ 8388 8409 limwri_2.F90 \ 8410 obc_oce.F90 \ 8389 8411 obctra.F90 \ 8390 8412 oce.F90 \ … … 9943 9965 $(MODEL_LIB)(lib_print.o) \ 9944 9966 $(MODEL_LIB)(obc_oce.o) \ 9967 $(MODEL_LIB)(obc_par.o) \ 9945 9968 $(MODEL_LIB)(oce.o) \ 9946 9969 $(MODEL_LIB)(par_kind.o) \ … … 9972 9995 lib_print.f90 \ 9973 9996 obc_oce.F90 \ 9997 obc_par.F90 \ 9974 9998 oce.F90 \ 9975 9999 par_kind.F90 \ … … 9998 10022 $(MODEL_LIB)(in_out_manager.o) \ 9999 10023 $(MODEL_LIB)(lbclnk.o) \ 10024 $(MODEL_LIB)(obc_oce.o) \ 10000 10025 $(MODEL_LIB)(obctra.o) \ 10001 10026 $(MODEL_LIB)(oce.o) \ … … 10014 10039 in_out_manager.F90 \ 10015 10040 lbclnk.F90 \ 10041 obc_oce.F90 \ 10016 10042 obctra.F90 \ 10017 10043 oce.F90 \ … … 10502 10528 $(MODEL_LIB)(trdmld.o) : \ 10503 10529 $(MODEL_LIB)(c1d.o) \ 10530 $(MODEL_LIB)(daymod.o) \ 10504 10531 $(MODEL_LIB)(dom_oce.o) \ 10505 10532 $(MODEL_LIB)(eosbn2.o) \ … … 10527 10554 $(MODEL_LIB)(zpshde.o) \ 10528 10555 c1d.F90 \ 10556 daymod.F90 \ 10529 10557 dom_oce.F90 \ 10530 10558 eosbn2.F90 \ -
branches/devmercator2010_1/CONFIG/ORCA2_LIM/scripts/BB_make.ldef
r1759 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/EXP00/iodef.xml
r1772 r2137 245 245 <field id="PFeN" description="Primary production of nano iron" unit="mol-Fe/m3/s" axis_ref="deptht" /> 246 246 <field id="PFeD" description="Primary production of diatoms iron" unit="mol-Fe/m3/s" axis_ref="deptht" /> 247 <field id="Pcal" description="Calcite production" unit="mol-C/m3/s" axis_ref="deptht" /> 248 <field id="Dcal" description="Calcite dissolution" unit="mol-C/m3/s" axis_ref="deptht" /> 249 <field id="Graz" description="Grazing by microzoo" unit="mol-C/m3/s" axis_ref="deptht" /> 250 <field id="Graz2" description="Grazing by mesozoo" unit="mol-C/m3/s" axis_ref="deptht" /> 251 <field id="Nfix" description="Nitrogen fixation" unit="mol-N/m2/s" axis_ref="deptht" /> 252 <field id="ExpPOC" description="POC export" unit="mol-C/m2/s" axis_ref="deptht" /> 253 <field id="ExpGOC" description="GOC export" unit="mol-C/m2/s" axis_ref="deptht" /> 254 <field id="ExpFe1" description="Nano iron export" unit="mol-Fe/m2/s" axis_ref="deptht" /> 255 <field id="ExpFe2" description="Diatoms iron export" unit="mol-Fe/m2/s" axis_ref="deptht" /> 256 <field id="ExpSi" description="Silicate export" unit="mol-Si/m2/s" axis_ref="deptht" /> 257 <field id="Expcal" description="Calcite export" unit="mol-C/m2/s" axis_ref="deptht" /> 258 <field id="Cflx" description="DIC flux" unit="mol-C/m2/s" /> 247 <field id="PCAL" description="Calcite production" unit="mol-C/m3/s" axis_ref="deptht" /> 248 <field id="DCAL" description="Calcite dissolution" unit="mol-C/m3/s" axis_ref="deptht" /> 249 <field id="GRAZ" description="Grazing by zooplankton" unit="mol-C/m3/s" axis_ref="deptht" /> 250 <field id="Nfix" description="Nitrogen fixation at surface" unit="mol-N/m2/s" /> 251 <field id="EPC100" description="Export of carbon particles at 100 m" unit="mol-C/m2/s" /> 252 <field id="EPFE100" description="Export of biogenic iron at 100 m" unit="mol-Fe/m2/s" /> 253 <field id="EPSI100" description="Export of Silicate at 100 m" unit="mol-Si/m2/s" /> 254 <field id="EPCAL100" description="Export of Calcite at 100 m" unit="mol-C/m2/s" /> 255 <field id="Cflx" description="DIC flux" unit="mol-C/m2/s" /> 259 256 <field id="Oflx" description="Oxygen flux" unit="mol-C/m2/s" /> 260 257 <field id="Kg" description="Gas transfer" unit="mol-C/m2/s/uatm" /> … … 480 477 <field ref="PFeN" /> 481 478 <field ref="PFeD" /> 482 <field ref="Pcal" /> 483 <field ref="Dcal" /> 484 <field ref="Graz" /> 485 <field ref="Graz2" /> 479 <field ref="PCAL" /> 480 <field ref="DCAL" /> 481 <field ref="GRAZ" /> 482 <field ref="EPC100" /> 483 <field ref="EPFE100" /> 484 <field ref="EPSI100" /> 485 <field ref="EPCAL100" /> 486 486 <field ref="Cflx" /> 487 <field ref="ExpPOC" />488 <field ref="ExpGOC" />489 <field ref="ExpFe1" />490 <field ref="ExpFe2" />491 <field ref="ExpSi" />492 <field ref="Expcal" />493 487 <field ref="Oflx" /> 494 488 <field ref="Kg" /> -
branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_pisces
r1751 r2137 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/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 480 482 $(MODEL_LIB)(trcrad.o)\ 481 483 $(MODEL_LIB)(trcrst.o)\ 484 $(MODEL_LIB)(trcrst_c14b.o)\ 485 $(MODEL_LIB)(trcrst_cfc.o)\ 486 $(MODEL_LIB)(trcrst_lobster.o)\ 487 $(MODEL_LIB)(trcrst_my_trc.o)\ 488 $(MODEL_LIB)(trcrst_pisces.o)\ 482 489 $(MODEL_LIB)(trcsbc.o)\ 483 490 $(MODEL_LIB)(trcsed.o)\ … … 562 569 563 570 # Agrif library and conv 564 libagrif : $(call keycompat,key_iomput,key_agrif)571 libagrif : 565 572 ifeq ($(AGRIF),use) 566 573 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 588 595 #-Q- sx8brodie -R2 \ 589 596 #-Q- sxdkrz -R2 \ 590 #-Q- es hpux-R2 \597 #-Q- es2 -R2 \ 591 598 #-Q- aix6 -qsource \ 592 599 #-Q- aix -qsource \ … … 594 601 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 595 602 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 596 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null603 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 597 604 endif 598 605 … … 608 615 .PRECIOUS : $(MODEL_LIB) 609 616 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 610 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)617 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 611 618 612 619 # library dependancies … … 627 634 #-Q- sx8brodie -R2 \ 628 635 #-Q- sxdkrz -R2 \ 629 #-Q- es hpux-R2 \636 #-Q- es2 -R2 \ 630 637 #-Q- aix -qsource \ 631 638 #-Q- aix6 -qsource \ … … 633 640 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 634 641 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 635 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null642 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 636 643 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 637 644 @$(RM) $*.[of] … … 663 670 #-Q- sx8brodie -R2 \ 664 671 #-Q- sxdkrz -R2 \ 665 #-Q- es hpux-R2 \672 #-Q- es2 -R2 \ 666 673 #-Q- aix -qsource \ 667 674 #-Q- aix6 -qsource \ … … 675 682 #-Q- sx8brodie -R2 \ 676 683 #-Q- sxdkrz -R2 \ 677 #-Q- es hpux-R2 \684 #-Q- es2 -R2 \ 678 685 #-Q- aix -qsource \ 679 686 #-Q- aix6 -qsource \ … … 682 689 endif 683 690 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 684 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null691 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 685 692 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 686 693 @$(RM) $*.[of] … … 994 1001 $(MODEL_LIB)(dom_oce.o) \ 995 1002 $(MODEL_LIB)(in_out_manager.o) \ 1003 $(MODEL_LIB)(obc_par.o) \ 996 1004 $(MODEL_LIB)(oce.o) \ 997 1005 $(MODEL_LIB)(opa.o) \ … … 1009 1017 dom_oce.F90 \ 1010 1018 in_out_manager.F90 \ 1019 obc_par.F90 \ 1011 1020 oce.F90 \ 1012 1021 opa.F90 \ … … 1646 1655 diaar5.F90 1647 1656 $(MODEL_LIB)(diadimg.o) : \ 1648 $(MODEL_LIB)(lib_print.o) \ 1649 $(MODEL_LIB)(par_kind.o) \ 1650 $(MODEL_LIB)(par_oce.o) \ 1651 lib_print.f90 \ 1652 par_kind.F90 \ 1653 par_oce.F90 \ 1654 $(MODEL_LIB)(dom_oce.o) \ 1655 $(MODEL_LIB)(in_out_manager.o) \ 1656 $(MODEL_LIB)(oce.o) \ 1657 $(MODEL_LIB)(dom_oce.o) \ 1658 $(MODEL_LIB)(in_out_manager.o) \ 1659 $(MODEL_LIB)(iom.o) \ 1660 $(MODEL_LIB)(lib_print.o) \ 1661 $(MODEL_LIB)(par_kind.o) \ 1662 $(MODEL_LIB)(par_oce.o) \ 1663 $(MODEL_LIB)(phycst.o) \ 1664 $(MODEL_LIB)(prtctl.o) \ 1665 $(MODEL_LIB)(restart.o) \ 1666 dom_oce.F90 \ 1667 in_out_manager.F90 \ 1668 iom.F90 \ 1669 lib_print.f90 \ 1670 par_kind.F90 \ 1671 par_oce.F90 \ 1672 phycst.F90 \ 1673 prtctl.F90 \ 1674 restart.F90 \ 1675 $(MODEL_LIB)(daymod.o) \ 1676 $(MODEL_LIB)(dom_oce.o) \ 1677 $(MODEL_LIB)(in_out_manager.o) \ 1678 $(MODEL_LIB)(oce.o) \ 1679 daymod.F90 \ 1657 1680 dom_oce.F90 \ 1658 1681 in_out_manager.F90 \ … … 1809 1832 phycst.F90 \ 1810 1833 $(IOIPSL_LIB) \ 1811 KEY_CPP \1812 1834 dianam.F90 1813 1835 $(MODEL_LIB)(diaptr.o) : \ … … 1870 1892 diaptr.F90 1871 1893 $(MODEL_LIB)(diawri.o) : \ 1894 $(MODEL_LIB)(daymod.o) \ 1872 1895 $(MODEL_LIB)(dianam.o) \ 1873 1896 $(MODEL_LIB)(dom_ice_2.o) \ … … 1897 1920 $(MODEL_LIB)(sbcrnf.o) \ 1898 1921 $(MODEL_LIB)(zdf_oce.o) \ 1922 daymod.F90 \ 1899 1923 dianam.F90 \ 1900 1924 dom_ice_2.F90 \ … … 5057 5081 in_out_manager.F90 \ 5058 5082 lbcnfd.F90 \ 5059 $(AGRIF_LIB) \5060 5083 KEY_CPP \ 5061 5084 lib_mpp.F90 … … 5772 5795 $(MODEL_LIB)(limistate_2.o) \ 5773 5796 $(MODEL_LIB)(phycst.o) \ 5797 $(MODEL_LIB)(sbc_oce.o) \ 5774 5798 dom_ice_2.F90 \ 5775 5799 dom_oce.F90 \ … … 5782 5806 limistate_2.F90 \ 5783 5807 phycst.F90 \ 5808 sbc_oce.F90 \ 5784 5809 vectopt_loop_substitute.h90 \ 5785 5810 KEY_CPP \ … … 6856 6881 trc.F90 \ 6857 6882 domzgr_substitute.h90 \ 6883 ldfeiv_substitute.h90 \ 6884 ldftra_substitute.h90 \ 6885 top_substitute.h90 \ 6886 vectopt_loop_substitute.h90 \ 6858 6887 KEY_CPP \ 6859 6888 p4zbio.F90 … … 6898 6927 trc.F90 \ 6899 6928 domzgr_substitute.h90 \ 6929 ldfeiv_substitute.h90 \ 6930 ldftra_substitute.h90 \ 6931 top_substitute.h90 \ 6932 vectopt_loop_substitute.h90 \ 6900 6933 KEY_CPP \ 6901 6934 p4zche.F90 … … 6972 7005 trc.F90 \ 6973 7006 domzgr_substitute.h90 \ 7007 ldfeiv_substitute.h90 \ 7008 ldftra_substitute.h90 \ 7009 top_substitute.h90 \ 7010 vectopt_loop_substitute.h90 \ 6974 7011 KEY_CPP \ 6975 7012 p4zflx.F90 … … 7055 7092 trc.F90 \ 7056 7093 domzgr_substitute.h90 \ 7094 ldfeiv_substitute.h90 \ 7095 ldftra_substitute.h90 \ 7096 top_substitute.h90 \ 7097 vectopt_loop_substitute.h90 \ 7057 7098 KEY_CPP \ 7058 7099 p4zlim.F90 … … 7190 7231 trc.F90 \ 7191 7232 domzgr_substitute.h90 \ 7233 ldfeiv_substitute.h90 \ 7234 ldftra_substitute.h90 \ 7235 top_substitute.h90 \ 7236 vectopt_loop_substitute.h90 \ 7192 7237 KEY_CPP \ 7193 7238 p4zmeso.F90 … … 7264 7309 trc.F90 \ 7265 7310 domzgr_substitute.h90 \ 7311 ldfeiv_substitute.h90 \ 7312 ldftra_substitute.h90 \ 7313 top_substitute.h90 \ 7314 vectopt_loop_substitute.h90 \ 7266 7315 KEY_CPP \ 7267 7316 p4zmicro.F90 … … 7320 7369 trc.F90 \ 7321 7370 domzgr_substitute.h90 \ 7371 ldfeiv_substitute.h90 \ 7372 ldftra_substitute.h90 \ 7373 top_substitute.h90 \ 7374 vectopt_loop_substitute.h90 \ 7322 7375 KEY_CPP \ 7323 7376 p4zmort.F90 … … 7380 7433 trc_oce.F90 \ 7381 7434 domzgr_substitute.h90 \ 7435 ldfeiv_substitute.h90 \ 7436 ldftra_substitute.h90 \ 7437 top_substitute.h90 \ 7438 vectopt_loop_substitute.h90 \ 7382 7439 KEY_CPP \ 7383 7440 p4zopt.F90 … … 7460 7517 trc.F90 \ 7461 7518 domzgr_substitute.h90 \ 7519 ldfeiv_substitute.h90 \ 7520 ldftra_substitute.h90 \ 7521 top_substitute.h90 \ 7522 vectopt_loop_substitute.h90 \ 7462 7523 KEY_CPP \ 7463 7524 p4zprod.F90 … … 7534 7595 trc.F90 \ 7535 7596 domzgr_substitute.h90 \ 7597 ldfeiv_substitute.h90 \ 7598 ldftra_substitute.h90 \ 7599 top_substitute.h90 \ 7600 vectopt_loop_substitute.h90 \ 7536 7601 KEY_CPP \ 7537 7602 p4zrem.F90 … … 7710 7775 trc.F90 \ 7711 7776 domzgr_substitute.h90 \ 7777 ldfeiv_substitute.h90 \ 7778 ldftra_substitute.h90 \ 7779 top_substitute.h90 \ 7780 vectopt_loop_substitute.h90 \ 7712 7781 KEY_CPP \ 7713 7782 p4zsink.F90 … … 10252 10321 $(MODEL_LIB)(lib_print.o) \ 10253 10322 $(MODEL_LIB)(limwri_2.o) \ 10323 $(MODEL_LIB)(obc_oce.o) \ 10254 10324 $(MODEL_LIB)(obctra.o) \ 10255 10325 $(MODEL_LIB)(oce.o) \ … … 10333 10403 lib_print.f90 \ 10334 10404 limwri_2.F90 \ 10405 obc_oce.F90 \ 10335 10406 obctra.F90 \ 10336 10407 oce.F90 \ … … 11901 11972 $(MODEL_LIB)(lib_print.o) \ 11902 11973 $(MODEL_LIB)(obc_oce.o) \ 11974 $(MODEL_LIB)(obc_par.o) \ 11903 11975 $(MODEL_LIB)(oce.o) \ 11904 11976 $(MODEL_LIB)(par_kind.o) \ … … 11930 12002 lib_print.f90 \ 11931 12003 obc_oce.F90 \ 12004 obc_par.F90 \ 11932 12005 oce.F90 \ 11933 12006 par_kind.F90 \ … … 11956 12029 $(MODEL_LIB)(in_out_manager.o) \ 11957 12030 $(MODEL_LIB)(lbclnk.o) \ 12031 $(MODEL_LIB)(obc_oce.o) \ 11958 12032 $(MODEL_LIB)(obctra.o) \ 11959 12033 $(MODEL_LIB)(oce.o) \ … … 11972 12046 in_out_manager.F90 \ 11973 12047 lbclnk.F90 \ 12048 obc_oce.F90 \ 11974 12049 obctra.F90 \ 11975 12050 oce.F90 \ … … 13365 13440 $(MODEL_LIB)(lib_print.o) \ 13366 13441 $(MODEL_LIB)(oce.o) \ 13367 $(MODEL_LIB)(par_kind.o) \ 13368 $(MODEL_LIB)(par_oce.o) \ 13442 $(MODEL_LIB)(par_c14b.o) \ 13443 $(MODEL_LIB)(par_cfc.o) \ 13444 $(MODEL_LIB)(par_kind.o) \ 13445 $(MODEL_LIB)(par_lobster.o) \ 13446 $(MODEL_LIB)(par_my_trc.o) \ 13447 $(MODEL_LIB)(par_oce.o) \ 13448 $(MODEL_LIB)(par_pisces.o) \ 13369 13449 $(MODEL_LIB)(par_trc.o) \ 13370 13450 $(MODEL_LIB)(phycst.o) \ … … 13385 13465 lib_print.f90 \ 13386 13466 oce.F90 \ 13387 par_kind.F90 \ 13388 par_oce.F90 \ 13467 par_c14b.F90 \ 13468 par_cfc.F90 \ 13469 par_kind.F90 \ 13470 par_lobster.F90 \ 13471 par_my_trc.F90 \ 13472 par_oce.F90 \ 13473 par_pisces.F90 \ 13389 13474 par_trc.F90 \ 13390 13475 phycst.F90 \ … … 13402 13487 $(MODEL_LIB)(lib_mpp.o) \ 13403 13488 $(MODEL_LIB)(oce_trc.o) \ 13489 $(MODEL_LIB)(par_trc.o) \ 13404 13490 $(MODEL_LIB)(trc.o) \ 13405 13491 $(MODEL_LIB)(trdmld_trc_oce.o) \ … … 13410 13496 lib_mpp.F90 \ 13411 13497 oce_trc.F90 \ 13498 par_trc.F90 \ 13412 13499 trc.F90 \ 13413 13500 trdmld_trc_oce.F90 \ … … 13685 13772 trcexp.F90 13686 13773 $(MODEL_LIB)(trcini.o) : \ 13774 $(MODEL_LIB)(daymod.o) \ 13687 13775 $(MODEL_LIB)(dom_oce.o) \ 13688 13776 $(MODEL_LIB)(in_out_manager.o) \ … … 13720 13808 $(MODEL_LIB)(trclsm_my_trc.o) \ 13721 13809 $(MODEL_LIB)(trclsm_pisces.o) \ 13810 $(MODEL_LIB)(trcrst_c14b.o) \ 13811 $(MODEL_LIB)(trcrst_cfc.o) \ 13812 $(MODEL_LIB)(trcrst_lobster.o) \ 13813 $(MODEL_LIB)(trcrst_my_trc.o) \ 13814 $(MODEL_LIB)(trcrst_pisces.o) \ 13722 13815 $(MODEL_LIB)(trcsms_c14b.o) \ 13723 13816 $(MODEL_LIB)(trcsms_cfc.o) \ 13724 $(MODEL_LIB)(trcsms_my_trc.o) \13725 13817 $(MODEL_LIB)(trctrp_ctl.o) \ 13726 13818 $(MODEL_LIB)(trctrp_lec.o) \ … … 13730 13822 $(MODEL_LIB)(zdfddm.o) \ 13731 13823 $(MODEL_LIB)(zdfmxl.o) \ 13824 daymod.F90 \ 13732 13825 dom_oce.F90 \ 13733 13826 in_out_manager.F90 \ … … 13765 13858 trclsm_my_trc.F90 \ 13766 13859 trclsm_pisces.F90 \ 13860 trcrst_c14b.F90 \ 13861 trcrst_cfc.F90 \ 13862 trcrst_lobster.F90 \ 13863 trcrst_my_trc.F90 \ 13864 trcrst_pisces.F90 \ 13767 13865 trcsms_c14b.F90 \ 13768 13866 trcsms_cfc.F90 \ 13769 trcsms_my_trc.F90 \13770 13867 trctrp_ctl.F90 \ 13771 13868 trctrp_lec.F90 \ … … 15022 15119 trc.F90 \ 15023 15120 domzgr_substitute.h90 \ 15121 ldfeiv_substitute.h90 \ 15122 ldftra_substitute.h90 \ 15123 top_substitute.h90 \ 15124 vectopt_loop_substitute.h90 \ 15024 15125 KEY_CPP \ 15025 15126 trcopt.F90 … … 15120 15221 $(MODEL_LIB)(par_trc.o) \ 15121 15222 $(MODEL_LIB)(phycst.o) \ 15223 $(MODEL_LIB)(prtctl.o) \ 15224 $(MODEL_LIB)(restart.o) \ 15225 $(MODEL_LIB)(sbc_oce.o) \ 15226 $(MODEL_LIB)(sbcrnf.o) \ 15227 $(MODEL_LIB)(sms_lobster.o) \ 15228 $(MODEL_LIB)(sms_pisces.o) \ 15229 $(MODEL_LIB)(trabbl.o) \ 15230 $(MODEL_LIB)(traqsr.o) \ 15231 $(MODEL_LIB)(trc.o) \ 15232 $(MODEL_LIB)(trcdta.o) \ 15233 $(MODEL_LIB)(trcsms_c14b.o) \ 15234 $(MODEL_LIB)(trcsms_cfc.o) \ 15235 $(MODEL_LIB)(trcsms_lobster.o) \ 15236 $(MODEL_LIB)(trcsms_pisces.o) \ 15237 $(MODEL_LIB)(trp_trc.o) \ 15238 $(MODEL_LIB)(zdf_oce.o) \ 15239 $(MODEL_LIB)(zdfddm.o) \ 15240 $(MODEL_LIB)(zdfmxl.o) \ 15241 dianam.F90 \ 15242 dom_oce.F90 \ 15243 domngb.F90 \ 15244 in_out_manager.F90 \ 15245 iom.F90 \ 15246 iom_def.F90 \ 15247 iom_ioipsl.F90 \ 15248 iom_nf90.F90 \ 15249 iom_rstdimg.F90 \ 15250 lbclnk.F90 \ 15251 lbcnfd.F90 \ 15252 ldfslp.F90 \ 15253 ldftra_oce.F90 \ 15254 lib_mpp.F90 \ 15255 oce.F90 \ 15256 oce_trc.F90 \ 15257 par_oce.F90 \ 15258 par_trc.F90 \ 15259 phycst.F90 \ 15260 prtctl.F90 \ 15261 restart.F90 \ 15262 sbc_oce.F90 \ 15263 sbcrnf.F90 \ 15264 sms_lobster.F90 \ 15265 sms_pisces.F90 \ 15266 trabbl.F90 \ 15267 traqsr.F90 \ 15268 trc.F90 \ 15269 trcdta.F90 \ 15270 trcsms_c14b.F90 \ 15271 trcsms_cfc.F90 \ 15272 trcsms_lobster.F90 \ 15273 trcsms_pisces.F90 \ 15274 trp_trc.F90 \ 15275 zdf_oce.F90 \ 15276 zdfddm.F90 \ 15277 zdfmxl.F90 \ 15278 $(MODEL_LIB)(daymod.o) \ 15279 $(MODEL_LIB)(iom.o) \ 15280 $(MODEL_LIB)(lib_mpp.o) \ 15281 $(MODEL_LIB)(oce_trc.o) \ 15282 $(MODEL_LIB)(trc.o) \ 15283 $(MODEL_LIB)(trcrst_c14b.o) \ 15284 $(MODEL_LIB)(trcrst_cfc.o) \ 15285 $(MODEL_LIB)(trcrst_lobster.o) \ 15286 $(MODEL_LIB)(trcrst_my_trc.o) \ 15287 $(MODEL_LIB)(trcrst_pisces.o) \ 15288 $(MODEL_LIB)(trctrp_lec.o) \ 15289 daymod.F90 \ 15290 iom.F90 \ 15291 lib_mpp.F90 \ 15292 oce_trc.F90 \ 15293 trc.F90 \ 15294 trcrst_c14b.F90 \ 15295 trcrst_cfc.F90 \ 15296 trcrst_lobster.F90 \ 15297 trcrst_my_trc.F90 \ 15298 trcrst_pisces.F90 \ 15299 trctrp_lec.F90 \ 15300 domzgr_substitute.h90 \ 15301 ldfeiv_substitute.h90 \ 15302 ldftra_substitute.h90 \ 15303 top_substitute.h90 \ 15304 vectopt_loop_substitute.h90 \ 15305 KEY_CPP \ 15306 trcrst.F90 15307 $(MODEL_LIB)(trcrst_c14b.o) : \ 15308 $(MODEL_LIB)(dianam.o) \ 15309 $(MODEL_LIB)(dom_oce.o) \ 15310 $(MODEL_LIB)(domngb.o) \ 15311 $(MODEL_LIB)(in_out_manager.o) \ 15312 $(MODEL_LIB)(iom.o) \ 15313 $(MODEL_LIB)(iom_def.o) \ 15314 $(MODEL_LIB)(iom_ioipsl.o) \ 15315 $(MODEL_LIB)(iom_nf90.o) \ 15316 $(MODEL_LIB)(iom_rstdimg.o) \ 15317 $(MODEL_LIB)(lbclnk.o) \ 15318 $(MODEL_LIB)(ldfslp.o) \ 15319 $(MODEL_LIB)(ldftra_oce.o) \ 15320 $(MODEL_LIB)(lib_mpp.o) \ 15321 $(MODEL_LIB)(lib_print.o) \ 15322 $(MODEL_LIB)(oce.o) \ 15323 $(MODEL_LIB)(oce_trc.o) \ 15324 $(MODEL_LIB)(par_c14b.o) \ 15325 $(MODEL_LIB)(par_cfc.o) \ 15326 $(MODEL_LIB)(par_kind.o) \ 15327 $(MODEL_LIB)(par_lobster.o) \ 15328 $(MODEL_LIB)(par_my_trc.o) \ 15329 $(MODEL_LIB)(par_oce.o) \ 15330 $(MODEL_LIB)(par_pisces.o) \ 15331 $(MODEL_LIB)(par_trc.o) \ 15332 $(MODEL_LIB)(phycst.o) \ 15122 15333 $(MODEL_LIB)(sbc_oce.o) \ 15123 15334 $(MODEL_LIB)(sbcrnf.o) \ … … 15127 15338 $(MODEL_LIB)(trdmld_trc.o) \ 15128 15339 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15129 $(MODEL_LIB)(trp_trc.o) \15130 15340 $(MODEL_LIB)(zdf_oce.o) \ 15131 15341 $(MODEL_LIB)(zdfddm.o) \ … … 15141 15351 iom_rstdimg.F90 \ 15142 15352 lbclnk.F90 \ 15143 lbcnfd.F90 \15144 15353 ldfslp.F90 \ 15145 15354 ldftra_oce.F90 \ 15146 15355 lib_mpp.F90 \ 15356 lib_print.f90 \ 15147 15357 oce.F90 \ 15148 15358 oce_trc.F90 \ 15149 par_oce.F90 \ 15359 par_c14b.F90 \ 15360 par_cfc.F90 \ 15361 par_kind.F90 \ 15362 par_lobster.F90 \ 15363 par_my_trc.F90 \ 15364 par_oce.F90 \ 15365 par_pisces.F90 \ 15150 15366 par_trc.F90 \ 15151 15367 phycst.F90 \ … … 15157 15373 trdmld_trc.F90 \ 15158 15374 trdmld_trc_oce.F90 \ 15159 trp_trc.F90 \15160 15375 zdf_oce.F90 \ 15161 15376 zdfddm.F90 \ 15162 15377 zdfmxl.F90 \ 15163 $(MODEL_LIB)(i om.o) \15164 $(MODEL_LIB)( lib_mpp.o) \15378 $(MODEL_LIB)(in_out_manager.o) \ 15379 $(MODEL_LIB)(iom.o) \ 15165 15380 $(MODEL_LIB)(oce_trc.o) \ 15381 $(MODEL_LIB)(par_trc.o) \ 15382 $(MODEL_LIB)(trc.o) \ 15383 $(MODEL_LIB)(trcsms_c14b.o) \ 15384 in_out_manager.F90 \ 15385 iom.F90 \ 15386 oce_trc.F90 \ 15387 par_trc.F90 \ 15388 trc.F90 \ 15389 trcsms_c14b.F90 \ 15390 KEY_CPP \ 15391 trcrst_c14b.F90 15392 $(MODEL_LIB)(trcrst_cfc.o) : \ 15393 $(MODEL_LIB)(dianam.o) \ 15394 $(MODEL_LIB)(dom_oce.o) \ 15395 $(MODEL_LIB)(domngb.o) \ 15396 $(MODEL_LIB)(in_out_manager.o) \ 15397 $(MODEL_LIB)(iom.o) \ 15398 $(MODEL_LIB)(iom_def.o) \ 15399 $(MODEL_LIB)(iom_ioipsl.o) \ 15400 $(MODEL_LIB)(iom_nf90.o) \ 15401 $(MODEL_LIB)(iom_rstdimg.o) \ 15402 $(MODEL_LIB)(lbclnk.o) \ 15403 $(MODEL_LIB)(ldfslp.o) \ 15404 $(MODEL_LIB)(ldftra_oce.o) \ 15405 $(MODEL_LIB)(lib_mpp.o) \ 15406 $(MODEL_LIB)(lib_print.o) \ 15407 $(MODEL_LIB)(oce.o) \ 15408 $(MODEL_LIB)(oce_trc.o) \ 15409 $(MODEL_LIB)(par_c14b.o) \ 15410 $(MODEL_LIB)(par_cfc.o) \ 15411 $(MODEL_LIB)(par_kind.o) \ 15412 $(MODEL_LIB)(par_lobster.o) \ 15413 $(MODEL_LIB)(par_my_trc.o) \ 15414 $(MODEL_LIB)(par_oce.o) \ 15415 $(MODEL_LIB)(par_pisces.o) \ 15416 $(MODEL_LIB)(par_trc.o) \ 15417 $(MODEL_LIB)(phycst.o) \ 15418 $(MODEL_LIB)(sbc_oce.o) \ 15419 $(MODEL_LIB)(sbcrnf.o) \ 15420 $(MODEL_LIB)(trabbl.o) \ 15421 $(MODEL_LIB)(traqsr.o) \ 15422 $(MODEL_LIB)(trc.o) \ 15423 $(MODEL_LIB)(trdmld_trc.o) \ 15424 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15425 $(MODEL_LIB)(zdf_oce.o) \ 15426 $(MODEL_LIB)(zdfddm.o) \ 15427 $(MODEL_LIB)(zdfmxl.o) \ 15428 dianam.F90 \ 15429 dom_oce.F90 \ 15430 domngb.F90 \ 15431 in_out_manager.F90 \ 15432 iom.F90 \ 15433 iom_def.F90 \ 15434 iom_ioipsl.F90 \ 15435 iom_nf90.F90 \ 15436 iom_rstdimg.F90 \ 15437 lbclnk.F90 \ 15438 ldfslp.F90 \ 15439 ldftra_oce.F90 \ 15440 lib_mpp.F90 \ 15441 lib_print.f90 \ 15442 oce.F90 \ 15443 oce_trc.F90 \ 15444 par_c14b.F90 \ 15445 par_cfc.F90 \ 15446 par_kind.F90 \ 15447 par_lobster.F90 \ 15448 par_my_trc.F90 \ 15449 par_oce.F90 \ 15450 par_pisces.F90 \ 15451 par_trc.F90 \ 15452 phycst.F90 \ 15453 sbc_oce.F90 \ 15454 sbcrnf.F90 \ 15455 trabbl.F90 \ 15456 traqsr.F90 \ 15457 trc.F90 \ 15458 trdmld_trc.F90 \ 15459 trdmld_trc_oce.F90 \ 15460 zdf_oce.F90 \ 15461 zdfddm.F90 \ 15462 zdfmxl.F90 \ 15463 $(MODEL_LIB)(in_out_manager.o) \ 15464 $(MODEL_LIB)(iom.o) \ 15465 $(MODEL_LIB)(oce_trc.o) \ 15466 $(MODEL_LIB)(par_trc.o) \ 15467 $(MODEL_LIB)(trc.o) \ 15468 $(MODEL_LIB)(trcsms_cfc.o) \ 15469 in_out_manager.F90 \ 15470 iom.F90 \ 15471 oce_trc.F90 \ 15472 par_trc.F90 \ 15473 trc.F90 \ 15474 trcsms_cfc.F90 \ 15475 KEY_CPP \ 15476 trcrst_cfc.F90 15477 $(MODEL_LIB)(trcrst_lobster.o) : \ 15478 $(MODEL_LIB)(dianam.o) \ 15479 $(MODEL_LIB)(dom_oce.o) \ 15480 $(MODEL_LIB)(domngb.o) \ 15481 $(MODEL_LIB)(in_out_manager.o) \ 15482 $(MODEL_LIB)(iom_def.o) \ 15483 $(MODEL_LIB)(iom_ioipsl.o) \ 15484 $(MODEL_LIB)(iom_nf90.o) \ 15485 $(MODEL_LIB)(iom_rstdimg.o) \ 15486 $(MODEL_LIB)(lbclnk.o) \ 15487 $(MODEL_LIB)(ldfslp.o) \ 15488 $(MODEL_LIB)(ldftra_oce.o) \ 15489 $(MODEL_LIB)(lib_mpp.o) \ 15490 $(MODEL_LIB)(lib_print.o) \ 15491 $(MODEL_LIB)(oce.o) \ 15492 $(MODEL_LIB)(oce_trc.o) \ 15493 $(MODEL_LIB)(par_c14b.o) \ 15494 $(MODEL_LIB)(par_cfc.o) \ 15495 $(MODEL_LIB)(par_kind.o) \ 15496 $(MODEL_LIB)(par_lobster.o) \ 15497 $(MODEL_LIB)(par_my_trc.o) \ 15498 $(MODEL_LIB)(par_oce.o) \ 15499 $(MODEL_LIB)(par_pisces.o) \ 15500 $(MODEL_LIB)(par_trc.o) \ 15501 $(MODEL_LIB)(phycst.o) \ 15502 $(MODEL_LIB)(sbc_oce.o) \ 15503 $(MODEL_LIB)(sbcrnf.o) \ 15504 $(MODEL_LIB)(trabbl.o) \ 15505 $(MODEL_LIB)(traqsr.o) \ 15506 $(MODEL_LIB)(trc.o) \ 15507 $(MODEL_LIB)(trcbio.o) \ 15508 $(MODEL_LIB)(trcexp.o) \ 15509 $(MODEL_LIB)(trcopt.o) \ 15510 $(MODEL_LIB)(trcsed.o) \ 15511 $(MODEL_LIB)(trdmld_trc.o) \ 15512 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15513 $(MODEL_LIB)(zdf_oce.o) \ 15514 $(MODEL_LIB)(zdfddm.o) \ 15515 $(MODEL_LIB)(zdfmxl.o) \ 15516 dianam.F90 \ 15517 dom_oce.F90 \ 15518 domngb.F90 \ 15519 in_out_manager.F90 \ 15520 iom_def.F90 \ 15521 iom_ioipsl.F90 \ 15522 iom_nf90.F90 \ 15523 iom_rstdimg.F90 \ 15524 lbclnk.F90 \ 15525 ldfslp.F90 \ 15526 ldftra_oce.F90 \ 15527 lib_mpp.F90 \ 15528 lib_print.f90 \ 15529 oce.F90 \ 15530 oce_trc.F90 \ 15531 par_c14b.F90 \ 15532 par_cfc.F90 \ 15533 par_kind.F90 \ 15534 par_lobster.F90 \ 15535 par_my_trc.F90 \ 15536 par_oce.F90 \ 15537 par_pisces.F90 \ 15538 par_trc.F90 \ 15539 phycst.F90 \ 15540 sbc_oce.F90 \ 15541 sbcrnf.F90 \ 15542 trabbl.F90 \ 15543 traqsr.F90 \ 15544 trc.F90 \ 15545 trcbio.F90 \ 15546 trcexp.F90 \ 15547 trcopt.F90 \ 15548 trcsed.F90 \ 15549 trdmld_trc.F90 \ 15550 trdmld_trc_oce.F90 \ 15551 zdf_oce.F90 \ 15552 zdfddm.F90 \ 15553 zdfmxl.F90 \ 15554 $(MODEL_LIB)(in_out_manager.o) \ 15555 $(MODEL_LIB)(iom.o) \ 15556 $(MODEL_LIB)(oce_trc.o) \ 15557 $(MODEL_LIB)(par_trc.o) \ 15166 15558 $(MODEL_LIB)(sms_lobster.o) \ 15559 $(MODEL_LIB)(trc.o) \ 15560 $(MODEL_LIB)(trcsms_lobster.o) \ 15561 in_out_manager.F90 \ 15562 iom.F90 \ 15563 oce_trc.F90 \ 15564 par_trc.F90 \ 15565 sms_lobster.F90 \ 15566 trc.F90 \ 15567 trcsms_lobster.F90 \ 15568 KEY_CPP \ 15569 trcrst_lobster.F90 15570 $(MODEL_LIB)(trcrst_my_trc.o) : \ 15571 KEY_CPP \ 15572 trcrst_my_trc.F90 15573 $(MODEL_LIB)(trcrst_pisces.o) : \ 15574 $(MODEL_LIB)(dianam.o) \ 15575 $(MODEL_LIB)(dom_oce.o) \ 15576 $(MODEL_LIB)(domngb.o) \ 15577 $(MODEL_LIB)(in_out_manager.o) \ 15578 $(MODEL_LIB)(iom.o) \ 15579 $(MODEL_LIB)(iom_def.o) \ 15580 $(MODEL_LIB)(iom_ioipsl.o) \ 15581 $(MODEL_LIB)(iom_nf90.o) \ 15582 $(MODEL_LIB)(iom_rstdimg.o) \ 15583 $(MODEL_LIB)(lbclnk.o) \ 15584 $(MODEL_LIB)(ldfslp.o) \ 15585 $(MODEL_LIB)(ldftra_oce.o) \ 15586 $(MODEL_LIB)(lib_mpp.o) \ 15587 $(MODEL_LIB)(lib_print.o) \ 15588 $(MODEL_LIB)(oce.o) \ 15589 $(MODEL_LIB)(oce_trc.o) \ 15590 $(MODEL_LIB)(p4zbio.o) \ 15591 $(MODEL_LIB)(p4zche.o) \ 15592 $(MODEL_LIB)(p4zflx.o) \ 15593 $(MODEL_LIB)(p4zint.o) \ 15594 $(MODEL_LIB)(p4zlys.o) \ 15595 $(MODEL_LIB)(p4zsed.o) \ 15596 $(MODEL_LIB)(par_c14b.o) \ 15597 $(MODEL_LIB)(par_cfc.o) \ 15598 $(MODEL_LIB)(par_kind.o) \ 15599 $(MODEL_LIB)(par_lobster.o) \ 15600 $(MODEL_LIB)(par_my_trc.o) \ 15601 $(MODEL_LIB)(par_oce.o) \ 15602 $(MODEL_LIB)(par_pisces.o) \ 15603 $(MODEL_LIB)(par_trc.o) \ 15604 $(MODEL_LIB)(phycst.o) \ 15605 $(MODEL_LIB)(sbc_oce.o) \ 15606 $(MODEL_LIB)(sbcrnf.o) \ 15607 $(MODEL_LIB)(sedmodel.o) \ 15608 $(MODEL_LIB)(sms_pisces.o) \ 15609 $(MODEL_LIB)(trabbl.o) \ 15610 $(MODEL_LIB)(traqsr.o) \ 15611 $(MODEL_LIB)(trc.o) \ 15612 $(MODEL_LIB)(trdmld_trc.o) \ 15613 $(MODEL_LIB)(trdmld_trc_oce.o) \ 15614 $(MODEL_LIB)(zdf_oce.o) \ 15615 $(MODEL_LIB)(zdfddm.o) \ 15616 $(MODEL_LIB)(zdfmxl.o) \ 15617 dianam.F90 \ 15618 dom_oce.F90 \ 15619 domngb.F90 \ 15620 in_out_manager.F90 \ 15621 iom.F90 \ 15622 iom_def.F90 \ 15623 iom_ioipsl.F90 \ 15624 iom_nf90.F90 \ 15625 iom_rstdimg.F90 \ 15626 lbclnk.F90 \ 15627 ldfslp.F90 \ 15628 ldftra_oce.F90 \ 15629 lib_mpp.F90 \ 15630 lib_print.f90 \ 15631 oce.F90 \ 15632 oce_trc.F90 \ 15633 p4zbio.F90 \ 15634 p4zche.F90 \ 15635 p4zflx.F90 \ 15636 p4zint.F90 \ 15637 p4zlys.F90 \ 15638 p4zsed.F90 \ 15639 par_c14b.F90 \ 15640 par_cfc.F90 \ 15641 par_kind.F90 \ 15642 par_lobster.F90 \ 15643 par_my_trc.F90 \ 15644 par_oce.F90 \ 15645 par_pisces.F90 \ 15646 par_trc.F90 \ 15647 phycst.F90 \ 15648 sbc_oce.F90 \ 15649 sbcrnf.F90 \ 15650 sedmodel.F90 \ 15651 sms_pisces.F90 \ 15652 trabbl.F90 \ 15653 traqsr.F90 \ 15654 trc.F90 \ 15655 trdmld_trc.F90 \ 15656 trdmld_trc_oce.F90 \ 15657 zdf_oce.F90 \ 15658 zdfddm.F90 \ 15659 zdfmxl.F90 \ 15660 $(MODEL_LIB)(in_out_manager.o) \ 15661 $(MODEL_LIB)(iom.o) \ 15662 $(MODEL_LIB)(oce_trc.o) \ 15663 $(MODEL_LIB)(par_trc.o) \ 15167 15664 $(MODEL_LIB)(sms_pisces.o) \ 15168 15665 $(MODEL_LIB)(trc.o) \ 15169 $(MODEL_LIB)(trcsms_c14b.o) \ 15170 $(MODEL_LIB)(trcsms_cfc.o) \ 15171 $(MODEL_LIB)(trcsms_my_trc.o) \ 15172 $(MODEL_LIB)(trctrp_lec.o) \ 15173 iom.F90 \ 15174 lib_mpp.F90 \ 15666 $(MODEL_LIB)(trcdta.o) \ 15667 $(MODEL_LIB)(trcsms_pisces.o) \ 15668 in_out_manager.F90 \ 15669 iom.F90 \ 15175 15670 oce_trc.F90 \ 15176 sms_lobster.F90 \15671 par_trc.F90 \ 15177 15672 sms_pisces.F90 \ 15178 15673 trc.F90 \ 15179 trcsms_c14b.F90 \ 15180 trcsms_cfc.F90 \ 15181 trcsms_my_trc.F90 \ 15182 trctrp_lec.F90 \ 15183 domzgr_substitute.h90 \ 15184 ldfeiv_substitute.h90 \ 15185 ldftra_substitute.h90 \ 15186 top_substitute.h90 \ 15187 vectopt_loop_substitute.h90 \ 15188 KEY_CPP \ 15189 trcrst.F90 15674 trcdta.F90 \ 15675 trcsms_pisces.F90 \ 15676 KEY_CPP \ 15677 trcrst_pisces.F90 15190 15678 $(MODEL_LIB)(trcsbc.o) : \ 15191 15679 $(MODEL_LIB)(dianam.o) \ … … 15344 15832 trdmld_trc_oce.F90 \ 15345 15833 domzgr_substitute.h90 \ 15834 ldfeiv_substitute.h90 \ 15835 ldftra_substitute.h90 \ 15836 top_substitute.h90 \ 15837 vectopt_loop_substitute.h90 \ 15346 15838 KEY_CPP \ 15347 15839 trcsed.F90 … … 15904 16396 $(MODEL_LIB)(trcstp.o) : \ 15905 16397 $(MODEL_LIB)(agrif_top_sponge.o) \ 16398 $(MODEL_LIB)(daymod.o) \ 15906 16399 $(MODEL_LIB)(dianam.o) \ 15907 16400 $(MODEL_LIB)(dom_oce.o) \ … … 15947 16440 $(MODEL_LIB)(trcnxt.o) \ 15948 16441 $(MODEL_LIB)(trcrad.o) \ 16442 $(MODEL_LIB)(trcrst_c14b.o) \ 16443 $(MODEL_LIB)(trcrst_cfc.o) \ 16444 $(MODEL_LIB)(trcrst_lobster.o) \ 16445 $(MODEL_LIB)(trcrst_my_trc.o) \ 16446 $(MODEL_LIB)(trcrst_pisces.o) \ 15949 16447 $(MODEL_LIB)(trcsbc.o) \ 15950 16448 $(MODEL_LIB)(trcsms_c14b.o) \ … … 15966 16464 $(MODEL_LIB)(zpshde_trc.o) \ 15967 16465 agrif_top_sponge.F90 \ 16466 daymod.F90 \ 15968 16467 dianam.F90 \ 15969 16468 dom_oce.F90 \ … … 16009 16508 trcnxt.F90 \ 16010 16509 trcrad.F90 \ 16510 trcrst_c14b.F90 \ 16511 trcrst_cfc.F90 \ 16512 trcrst_lobster.F90 \ 16513 trcrst_my_trc.F90 \ 16514 trcrst_pisces.F90 \ 16011 16515 trcsbc.F90 \ 16012 16516 trcsms_c14b.F90 \ … … 16169 16673 zpshde_trc.F90 \ 16170 16674 domzgr_substitute.h90 \ 16675 ldfeiv_substitute.h90 \ 16676 ldftra_substitute.h90 \ 16677 top_substitute.h90 \ 16678 vectopt_loop_substitute.h90 \ 16171 16679 $(AGRIF_LIB) \ 16172 16680 KEY_CPP \ … … 16281 16789 $(MODEL_LIB)(trabbl.o) \ 16282 16790 $(MODEL_LIB)(traqsr.o) \ 16791 $(MODEL_LIB)(trc.o) \ 16283 16792 $(MODEL_LIB)(zdf_oce.o) \ 16284 16793 $(MODEL_LIB)(zdfddm.o) \ … … 16304 16813 trabbl.F90 \ 16305 16814 traqsr.F90 \ 16815 trc.F90 \ 16306 16816 zdf_oce.F90 \ 16307 16817 zdfddm.F90 \ 16308 16818 zdfmxl.F90 \ 16309 16819 $(MODEL_LIB)(dianam.o) \ 16820 $(MODEL_LIB)(dom_oce.o) \ 16310 16821 $(MODEL_LIB)(iom.o) \ 16311 16822 $(MODEL_LIB)(oce_trc.o) \ 16312 16823 $(MODEL_LIB)(trc.o) \ 16824 $(MODEL_LIB)(trdmld_trc_oce.o) \ 16825 $(MODEL_LIB)(trp_trc.o) \ 16313 16826 dianam.F90 \ 16827 dom_oce.F90 \ 16314 16828 iom.F90 \ 16315 16829 oce_trc.F90 \ 16316 16830 trc.F90 \ 16831 trdmld_trc_oce.F90 \ 16832 trp_trc.F90 \ 16317 16833 domzgr_substitute.h90 \ 16318 16834 ldfeiv_substitute.h90 \ … … 16693 17209 $(MODEL_LIB)(trdmld.o) : \ 16694 17210 $(MODEL_LIB)(c1d.o) \ 17211 $(MODEL_LIB)(daymod.o) \ 16695 17212 $(MODEL_LIB)(dom_oce.o) \ 16696 17213 $(MODEL_LIB)(eosbn2.o) \ … … 16718 17235 $(MODEL_LIB)(zpshde.o) \ 16719 17236 c1d.F90 \ 17237 daymod.F90 \ 16720 17238 dom_oce.F90 \ 16721 17239 eosbn2.F90 \ -
branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make.ldef
r1759 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/iodef.xml
r1772 r2137 58 58 <field id="PFeN" description="Primary production of nano iron" unit="mol-Fe/m3/s" axis_ref="deptht" /> 59 59 <field id="PFeD" description="Primary production of diatoms iron" unit="mol-Fe/m3/s" axis_ref="deptht" /> 60 <field id="Pcal" description="Calcite production" unit="mol-C/m3/s" axis_ref="deptht" /> 61 <field id="Dcal" description="Calcite dissolution" unit="mol-C/m3/s" axis_ref="deptht" /> 62 <field id="Graz" description="Grazing by microzoo" unit="mol-C/m3/s" axis_ref="deptht" /> 63 <field id="Graz2" description="Grazing by mesozoo" unit="mol-C/m3/s" axis_ref="deptht" /> 64 <field id="Nfix" description="Nitrogen fixation" unit="mol-N/m2/s" axis_ref="deptht" /> 65 <field id="ExpPOC" description="POC export" unit="mol-C/m2/s" axis_ref="deptht" /> 66 <field id="ExpGOC" description="GOC export" unit="mol-C/m2/s" axis_ref="deptht" /> 67 <field id="ExpFe1" description="Nano iron export" unit="mol-Fe/m2/s" axis_ref="deptht" /> 68 <field id="ExpFe2" description="Diatoms iron export" unit="mol-Fe/m2/s" axis_ref="deptht" /> 69 <field id="ExpSi" description="Silicate export" unit="mol-Si/m2/s" axis_ref="deptht" /> 70 <field id="Expcal" description="Calcite export" unit="mol-C/m2/s" axis_ref="deptht" /> 60 <field id="PCAL" description="Calcite production" unit="mol-C/m3/s" axis_ref="deptht" /> 61 <field id="DCAL" description="Calcite dissolution" unit="mol-C/m3/s" axis_ref="deptht" /> 62 <field id="GRAZ" description="Grazing by zooplankton" unit="mol-C/m3/s" axis_ref="deptht" /> 63 <field id="Nfix" description="Nitrogen fixation at surface" unit="mol-N/m2/s" /> 64 <field id="EPC100" description="Export of carbon particles at 100 m" unit="mol-C/m2/s" /> 65 <field id="EPFE100" description="Export of biogenic iron at 100 m" unit="mol-Fe/m2/s" /> 66 <field id="EPSI100" description="Export of Silicate at 100 m" unit="mol-Si/m2/s" /> 67 <field id="EPCAL100" description="Export of Calcite at 100 m" unit="mol-C/m2/s" /> 71 68 <field id="Cflx" description="DIC flux" unit="mol-C/m2/s" /> 72 69 <field id="Oflx" description="Oxygen flux" unit="mol-C/m2/s" /> … … 177 174 <field ref="PFeN" /> 178 175 <field ref="PFeD" /> 179 <field ref="Pcal" /> 180 <field ref="Dcal" /> 181 <field ref="Graz" /> 182 <field ref="Graz2" /> 176 <field ref="PCAL" /> 177 <field ref="DCAL" /> 178 <field ref="GRAZ" /> 179 <field ref="EPC100" /> 180 <field ref="EPFE100" /> 181 <field ref="EPSI100" /> 182 <field ref="EPCAL100" /> 183 183 <field ref="Cflx" /> 184 <field ref="ExpPOC" />185 <field ref="ExpGOC" />186 <field ref="ExpFe1" />187 <field ref="ExpFe2" />188 <field ref="ExpSi" />189 <field ref="Expcal" />190 184 <field ref="Oflx" /> 191 185 <field ref="Kg" /> -
branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
r1751 r2137 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/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_pisces
r1751 r2137 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/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/IGCM00/COMP/pisces.card
r1764 r2137 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/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 298 300 $(MODEL_LIB)(trcrad.o)\ 299 301 $(MODEL_LIB)(trcrst.o)\ 302 $(MODEL_LIB)(trcrst_c14b.o)\ 303 $(MODEL_LIB)(trcrst_cfc.o)\ 304 $(MODEL_LIB)(trcrst_lobster.o)\ 305 $(MODEL_LIB)(trcrst_my_trc.o)\ 306 $(MODEL_LIB)(trcrst_pisces.o)\ 300 307 $(MODEL_LIB)(trcsbc.o)\ 301 308 $(MODEL_LIB)(trcsed.o)\ … … 364 371 365 372 # Agrif library and conv 366 libagrif : $(call keycompat,key_iomput,key_agrif)373 libagrif : 367 374 ifeq ($(AGRIF),use) 368 375 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 390 397 #-Q- sx8brodie -R2 \ 391 398 #-Q- sxdkrz -R2 \ 392 #-Q- es hpux-R2 \399 #-Q- es2 -R2 \ 393 400 #-Q- aix6 -qsource \ 394 401 #-Q- aix -qsource \ … … 396 403 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 397 404 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 398 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null405 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 399 406 endif 400 407 … … 410 417 .PRECIOUS : $(MODEL_LIB) 411 418 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 412 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)419 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 413 420 414 421 # library dependancies … … 429 436 #-Q- sx8brodie -R2 \ 430 437 #-Q- sxdkrz -R2 \ 431 #-Q- es hpux-R2 \438 #-Q- es2 -R2 \ 432 439 #-Q- aix -qsource \ 433 440 #-Q- aix6 -qsource \ … … 435 442 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 436 443 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 437 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null444 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 438 445 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 439 446 @$(RM) $*.[of] … … 465 472 #-Q- sx8brodie -R2 \ 466 473 #-Q- sxdkrz -R2 \ 467 #-Q- es hpux-R2 \474 #-Q- es2 -R2 \ 468 475 #-Q- aix -qsource \ 469 476 #-Q- aix6 -qsource \ … … 477 484 #-Q- sx8brodie -R2 \ 478 485 #-Q- sxdkrz -R2 \ 479 #-Q- es hpux-R2 \486 #-Q- es2 -R2 \ 480 487 #-Q- aix -qsource \ 481 488 #-Q- aix6 -qsource \ … … 484 491 endif 485 492 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 486 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null493 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 487 494 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 488 495 @$(RM) $*.[of] … … 1507 1514 trc.F90 \ 1508 1515 domzgr_substitute.h90 \ 1516 ldfeiv_substitute.h90 \ 1517 ldftra_substitute.h90 \ 1518 top_substitute.h90 \ 1519 vectopt_loop_substitute.h90 \ 1509 1520 KEY_CPP \ 1510 1521 p4zbio.F90 … … 1549 1560 trc.F90 \ 1550 1561 domzgr_substitute.h90 \ 1562 ldfeiv_substitute.h90 \ 1563 ldftra_substitute.h90 \ 1564 top_substitute.h90 \ 1565 vectopt_loop_substitute.h90 \ 1551 1566 KEY_CPP \ 1552 1567 p4zche.F90 … … 1621 1636 trc.F90 \ 1622 1637 domzgr_substitute.h90 \ 1638 ldfeiv_substitute.h90 \ 1639 ldftra_substitute.h90 \ 1640 top_substitute.h90 \ 1641 vectopt_loop_substitute.h90 \ 1623 1642 KEY_CPP \ 1624 1643 p4zflx.F90 … … 1704 1723 trc.F90 \ 1705 1724 domzgr_substitute.h90 \ 1725 ldfeiv_substitute.h90 \ 1726 ldftra_substitute.h90 \ 1727 top_substitute.h90 \ 1728 vectopt_loop_substitute.h90 \ 1706 1729 KEY_CPP \ 1707 1730 p4zlim.F90 … … 1839 1862 trc.F90 \ 1840 1863 domzgr_substitute.h90 \ 1864 ldfeiv_substitute.h90 \ 1865 ldftra_substitute.h90 \ 1866 top_substitute.h90 \ 1867 vectopt_loop_substitute.h90 \ 1841 1868 KEY_CPP \ 1842 1869 p4zmeso.F90 … … 1913 1940 trc.F90 \ 1914 1941 domzgr_substitute.h90 \ 1942 ldfeiv_substitute.h90 \ 1943 ldftra_substitute.h90 \ 1944 top_substitute.h90 \ 1945 vectopt_loop_substitute.h90 \ 1915 1946 KEY_CPP \ 1916 1947 p4zmicro.F90 … … 1969 2000 trc.F90 \ 1970 2001 domzgr_substitute.h90 \ 2002 ldfeiv_substitute.h90 \ 2003 ldftra_substitute.h90 \ 2004 top_substitute.h90 \ 2005 vectopt_loop_substitute.h90 \ 1971 2006 KEY_CPP \ 1972 2007 p4zmort.F90 … … 2029 2064 trc_oce.F90 \ 2030 2065 domzgr_substitute.h90 \ 2066 ldfeiv_substitute.h90 \ 2067 ldftra_substitute.h90 \ 2068 top_substitute.h90 \ 2069 vectopt_loop_substitute.h90 \ 2031 2070 KEY_CPP \ 2032 2071 p4zopt.F90 … … 2107 2146 trc.F90 \ 2108 2147 domzgr_substitute.h90 \ 2148 ldfeiv_substitute.h90 \ 2149 ldftra_substitute.h90 \ 2150 top_substitute.h90 \ 2151 vectopt_loop_substitute.h90 \ 2109 2152 KEY_CPP \ 2110 2153 p4zprod.F90 … … 2181 2224 trc.F90 \ 2182 2225 domzgr_substitute.h90 \ 2226 ldfeiv_substitute.h90 \ 2227 ldftra_substitute.h90 \ 2228 top_substitute.h90 \ 2229 vectopt_loop_substitute.h90 \ 2183 2230 KEY_CPP \ 2184 2231 p4zrem.F90 … … 2355 2402 trc.F90 \ 2356 2403 domzgr_substitute.h90 \ 2404 ldfeiv_substitute.h90 \ 2405 ldftra_substitute.h90 \ 2406 top_substitute.h90 \ 2407 vectopt_loop_substitute.h90 \ 2357 2408 KEY_CPP \ 2358 2409 p4zsink.F90 … … 3097 3148 sol_oce.F90 3098 3149 $(MODEL_LIB)(step.o) : \ 3150 $(MODEL_LIB)(daymod.o) \ 3099 3151 $(MODEL_LIB)(dianam.o) \ 3100 3152 $(MODEL_LIB)(dom_oce.o) \ … … 3117 3169 $(MODEL_LIB)(par_kind.o) \ 3118 3170 $(MODEL_LIB)(par_oce.o) \ 3171 $(MODEL_LIB)(par_trc.o) \ 3119 3172 $(MODEL_LIB)(phycst.o) \ 3120 3173 $(MODEL_LIB)(prtctl.o) \ 3121 3174 $(MODEL_LIB)(prtctl_trc.o) \ 3122 3175 $(MODEL_LIB)(sbc_oce.o) \ 3123 $(MODEL_LIB)(sms_lobster.o) \3124 $(MODEL_LIB)(sms_pisces.o) \3125 3176 $(MODEL_LIB)(trabbl.o) \ 3126 3177 $(MODEL_LIB)(trc.o) \ 3127 3178 $(MODEL_LIB)(trcdia.o) \ 3128 3179 $(MODEL_LIB)(trcrst.o) \ 3180 $(MODEL_LIB)(trcrst_c14b.o) \ 3181 $(MODEL_LIB)(trcrst_cfc.o) \ 3182 $(MODEL_LIB)(trcrst_lobster.o) \ 3183 $(MODEL_LIB)(trcrst_my_trc.o) \ 3184 $(MODEL_LIB)(trcrst_pisces.o) \ 3129 3185 $(MODEL_LIB)(trcsms.o) \ 3130 $(MODEL_LIB)(trcsms_c14b.o) \3131 $(MODEL_LIB)(trcsms_cfc.o) \3132 $(MODEL_LIB)(trcsms_my_trc.o) \3133 3186 $(MODEL_LIB)(trctrp.o) \ 3134 3187 $(MODEL_LIB)(trctrp_lec.o) \ … … 3141 3194 $(MODEL_LIB)(zdfmxl.o) \ 3142 3195 $(MODEL_LIB)(zpshde.o) \ 3196 daymod.F90 \ 3143 3197 dianam.F90 \ 3144 3198 dom_oce.F90 \ … … 3161 3215 par_kind.F90 \ 3162 3216 par_oce.F90 \ 3217 par_trc.F90 \ 3163 3218 phycst.F90 \ 3164 3219 prtctl.F90 \ 3165 3220 prtctl_trc.F90 \ 3166 3221 sbc_oce.F90 \ 3167 sms_lobster.F90 \3168 sms_pisces.F90 \3169 3222 trabbl.F90 \ 3170 3223 trc.F90 \ 3171 3224 trcdia.F90 \ 3172 3225 trcrst.F90 \ 3226 trcrst_c14b.F90 \ 3227 trcrst_cfc.F90 \ 3228 trcrst_lobster.F90 \ 3229 trcrst_my_trc.F90 \ 3230 trcrst_pisces.F90 \ 3173 3231 trcsms.F90 \ 3174 trcsms_c14b.F90 \3175 trcsms_cfc.F90 \3176 trcsms_my_trc.F90 \3177 3232 trctrp.F90 \ 3178 3233 trctrp_lec.F90 \ … … 4231 4286 $(MODEL_LIB)(lib_print.o) \ 4232 4287 $(MODEL_LIB)(oce.o) \ 4288 $(MODEL_LIB)(par_c14b.o) \ 4289 $(MODEL_LIB)(par_cfc.o) \ 4233 4290 $(MODEL_LIB)(par_kind.o) \ 4234 $(MODEL_LIB)(par_oce.o) \ 4291 $(MODEL_LIB)(par_lobster.o) \ 4292 $(MODEL_LIB)(par_my_trc.o) \ 4293 $(MODEL_LIB)(par_oce.o) \ 4294 $(MODEL_LIB)(par_pisces.o) \ 4235 4295 $(MODEL_LIB)(par_trc.o) \ 4236 4296 $(MODEL_LIB)(phycst.o) \ … … 4250 4310 lib_print.f90 \ 4251 4311 oce.F90 \ 4312 par_c14b.F90 \ 4313 par_cfc.F90 \ 4252 4314 par_kind.F90 \ 4253 par_oce.F90 \ 4315 par_lobster.F90 \ 4316 par_my_trc.F90 \ 4317 par_oce.F90 \ 4318 par_pisces.F90 \ 4254 4319 par_trc.F90 \ 4255 4320 phycst.F90 \ … … 4267 4332 $(MODEL_LIB)(lib_mpp.o) \ 4268 4333 $(MODEL_LIB)(oce_trc.o) \ 4334 $(MODEL_LIB)(par_trc.o) \ 4269 4335 $(MODEL_LIB)(trc.o) \ 4270 4336 $(MODEL_LIB)(trdmld_trc_oce.o) \ … … 4275 4341 lib_mpp.F90 \ 4276 4342 oce_trc.F90 \ 4343 par_trc.F90 \ 4277 4344 trc.F90 \ 4278 4345 trdmld_trc_oce.F90 \ … … 4548 4615 trcexp.F90 4549 4616 $(MODEL_LIB)(trcini.o) : \ 4617 $(MODEL_LIB)(daymod.o) \ 4550 4618 $(MODEL_LIB)(dom_oce.o) \ 4551 4619 $(MODEL_LIB)(in_out_manager.o) \ … … 4581 4649 $(MODEL_LIB)(trclsm_my_trc.o) \ 4582 4650 $(MODEL_LIB)(trclsm_pisces.o) \ 4651 $(MODEL_LIB)(trcrst_c14b.o) \ 4652 $(MODEL_LIB)(trcrst_cfc.o) \ 4653 $(MODEL_LIB)(trcrst_lobster.o) \ 4654 $(MODEL_LIB)(trcrst_my_trc.o) \ 4655 $(MODEL_LIB)(trcrst_pisces.o) \ 4583 4656 $(MODEL_LIB)(trcsms_c14b.o) \ 4584 4657 $(MODEL_LIB)(trcsms_cfc.o) \ 4585 $(MODEL_LIB)(trcsms_my_trc.o) \4586 4658 $(MODEL_LIB)(trctrp_ctl.o) \ 4587 4659 $(MODEL_LIB)(trctrp_lec.o) \ … … 4591 4663 $(MODEL_LIB)(zdfddm.o) \ 4592 4664 $(MODEL_LIB)(zdfmxl.o) \ 4665 daymod.F90 \ 4593 4666 dom_oce.F90 \ 4594 4667 in_out_manager.F90 \ … … 4624 4697 trclsm_my_trc.F90 \ 4625 4698 trclsm_pisces.F90 \ 4699 trcrst_c14b.F90 \ 4700 trcrst_cfc.F90 \ 4701 trcrst_lobster.F90 \ 4702 trcrst_my_trc.F90 \ 4703 trcrst_pisces.F90 \ 4626 4704 trcsms_c14b.F90 \ 4627 4705 trcsms_cfc.F90 \ 4628 trcsms_my_trc.F90 \4629 4706 trctrp_ctl.F90 \ 4630 4707 trctrp_lec.F90 \ … … 5869 5946 trc.F90 \ 5870 5947 domzgr_substitute.h90 \ 5948 ldfeiv_substitute.h90 \ 5949 ldftra_substitute.h90 \ 5950 top_substitute.h90 \ 5951 vectopt_loop_substitute.h90 \ 5871 5952 KEY_CPP \ 5872 5953 trcopt.F90 … … 5964 6045 $(MODEL_LIB)(par_trc.o) \ 5965 6046 $(MODEL_LIB)(phycst.o) \ 6047 $(MODEL_LIB)(prtctl.o) \ 5966 6048 $(MODEL_LIB)(sbc_oce.o) \ 5967 6049 $(MODEL_LIB)(sbcrnf.o) \ 6050 $(MODEL_LIB)(sms_lobster.o) \ 6051 $(MODEL_LIB)(sms_pisces.o) \ 5968 6052 $(MODEL_LIB)(trabbl.o) \ 5969 6053 $(MODEL_LIB)(traqsr.o) \ 5970 6054 $(MODEL_LIB)(trc.o) \ 5971 $(MODEL_LIB)(trdmld_trc.o) \ 5972 $(MODEL_LIB)(trdmld_trc_oce.o) \ 6055 $(MODEL_LIB)(trcdta.o) \ 6056 $(MODEL_LIB)(trcsms_c14b.o) \ 6057 $(MODEL_LIB)(trcsms_cfc.o) \ 6058 $(MODEL_LIB)(trcsms_lobster.o) \ 6059 $(MODEL_LIB)(trcsms_pisces.o) \ 5973 6060 $(MODEL_LIB)(trp_trc.o) \ 5974 6061 $(MODEL_LIB)(zdf_oce.o) \ … … 5993 6080 par_trc.F90 \ 5994 6081 phycst.F90 \ 6082 prtctl.F90 \ 5995 6083 sbc_oce.F90 \ 5996 6084 sbcrnf.F90 \ 6085 sms_lobster.F90 \ 6086 sms_pisces.F90 \ 5997 6087 trabbl.F90 \ 5998 6088 traqsr.F90 \ 5999 6089 trc.F90 \ 6000 trdmld_trc.F90 \ 6001 trdmld_trc_oce.F90 \ 6002 trp_trc.F90 \ 6003 zdf_oce.F90 \ 6004 zdfddm.F90 \ 6005 zdfmxl.F90 \ 6006 $(MODEL_LIB)(iom.o) \ 6007 $(MODEL_LIB)(lib_mpp.o) \ 6008 $(MODEL_LIB)(oce_trc.o) \ 6009 $(MODEL_LIB)(sms_lobster.o) \ 6010 $(MODEL_LIB)(sms_pisces.o) \ 6011 $(MODEL_LIB)(trc.o) \ 6012 $(MODEL_LIB)(trcsms_c14b.o) \ 6013 $(MODEL_LIB)(trcsms_cfc.o) \ 6014 $(MODEL_LIB)(trcsms_my_trc.o) \ 6015 $(MODEL_LIB)(trctrp_lec.o) \ 6016 iom.F90 \ 6017 lib_mpp.F90 \ 6018 oce_trc.F90 \ 6019 sms_lobster.F90 \ 6020 sms_pisces.F90 \ 6021 trc.F90 \ 6090 trcdta.F90 \ 6022 6091 trcsms_c14b.F90 \ 6023 6092 trcsms_cfc.F90 \ 6024 trcsms_my_trc.F90 \ 6093 trcsms_lobster.F90 \ 6094 trcsms_pisces.F90 \ 6095 trp_trc.F90 \ 6096 zdf_oce.F90 \ 6097 zdfddm.F90 \ 6098 zdfmxl.F90 \ 6099 $(MODEL_LIB)(daymod.o) \ 6100 $(MODEL_LIB)(iom.o) \ 6101 $(MODEL_LIB)(lib_mpp.o) \ 6102 $(MODEL_LIB)(oce_trc.o) \ 6103 $(MODEL_LIB)(trc.o) \ 6104 $(MODEL_LIB)(trcrst_c14b.o) \ 6105 $(MODEL_LIB)(trcrst_cfc.o) \ 6106 $(MODEL_LIB)(trcrst_lobster.o) \ 6107 $(MODEL_LIB)(trcrst_my_trc.o) \ 6108 $(MODEL_LIB)(trcrst_pisces.o) \ 6109 $(MODEL_LIB)(trctrp_lec.o) \ 6110 daymod.F90 \ 6111 iom.F90 \ 6112 lib_mpp.F90 \ 6113 oce_trc.F90 \ 6114 trc.F90 \ 6115 trcrst_c14b.F90 \ 6116 trcrst_cfc.F90 \ 6117 trcrst_lobster.F90 \ 6118 trcrst_my_trc.F90 \ 6119 trcrst_pisces.F90 \ 6025 6120 trctrp_lec.F90 \ 6026 6121 domzgr_substitute.h90 \ … … 6031 6126 KEY_CPP \ 6032 6127 trcrst.F90 6128 $(MODEL_LIB)(trcrst_c14b.o) : \ 6129 $(MODEL_LIB)(dianam.o) \ 6130 $(MODEL_LIB)(dom_oce.o) \ 6131 $(MODEL_LIB)(domngb.o) \ 6132 $(MODEL_LIB)(in_out_manager.o) \ 6133 $(MODEL_LIB)(iom.o) \ 6134 $(MODEL_LIB)(iom_def.o) \ 6135 $(MODEL_LIB)(iom_ioipsl.o) \ 6136 $(MODEL_LIB)(iom_nf90.o) \ 6137 $(MODEL_LIB)(iom_rstdimg.o) \ 6138 $(MODEL_LIB)(lbclnk.o) \ 6139 $(MODEL_LIB)(ldfslp.o) \ 6140 $(MODEL_LIB)(ldftra_oce.o) \ 6141 $(MODEL_LIB)(lib_mpp.o) \ 6142 $(MODEL_LIB)(lib_print.o) \ 6143 $(MODEL_LIB)(oce.o) \ 6144 $(MODEL_LIB)(oce_trc.o) \ 6145 $(MODEL_LIB)(par_c14b.o) \ 6146 $(MODEL_LIB)(par_cfc.o) \ 6147 $(MODEL_LIB)(par_kind.o) \ 6148 $(MODEL_LIB)(par_lobster.o) \ 6149 $(MODEL_LIB)(par_my_trc.o) \ 6150 $(MODEL_LIB)(par_oce.o) \ 6151 $(MODEL_LIB)(par_pisces.o) \ 6152 $(MODEL_LIB)(par_trc.o) \ 6153 $(MODEL_LIB)(phycst.o) \ 6154 $(MODEL_LIB)(sbc_oce.o) \ 6155 $(MODEL_LIB)(sbcrnf.o) \ 6156 $(MODEL_LIB)(trabbl.o) \ 6157 $(MODEL_LIB)(traqsr.o) \ 6158 $(MODEL_LIB)(trc.o) \ 6159 $(MODEL_LIB)(trdmld_trc.o) \ 6160 $(MODEL_LIB)(trdmld_trc_oce.o) \ 6161 $(MODEL_LIB)(zdf_oce.o) \ 6162 $(MODEL_LIB)(zdfddm.o) \ 6163 $(MODEL_LIB)(zdfmxl.o) \ 6164 dianam.F90 \ 6165 dom_oce.F90 \ 6166 domngb.F90 \ 6167 in_out_manager.F90 \ 6168 iom.F90 \ 6169 iom_def.F90 \ 6170 iom_ioipsl.F90 \ 6171 iom_nf90.F90 \ 6172 iom_rstdimg.F90 \ 6173 lbclnk.F90 \ 6174 ldfslp.F90 \ 6175 ldftra_oce.F90 \ 6176 lib_mpp.F90 \ 6177 lib_print.f90 \ 6178 oce.F90 \ 6179 oce_trc.F90 \ 6180 par_c14b.F90 \ 6181 par_cfc.F90 \ 6182 par_kind.F90 \ 6183 par_lobster.F90 \ 6184 par_my_trc.F90 \ 6185 par_oce.F90 \ 6186 par_pisces.F90 \ 6187 par_trc.F90 \ 6188 phycst.F90 \ 6189 sbc_oce.F90 \ 6190 sbcrnf.F90 \ 6191 trabbl.F90 \ 6192 traqsr.F90 \ 6193 trc.F90 \ 6194 trdmld_trc.F90 \ 6195 trdmld_trc_oce.F90 \ 6196 zdf_oce.F90 \ 6197 zdfddm.F90 \ 6198 zdfmxl.F90 \ 6199 $(MODEL_LIB)(in_out_manager.o) \ 6200 $(MODEL_LIB)(iom.o) \ 6201 $(MODEL_LIB)(oce_trc.o) \ 6202 $(MODEL_LIB)(par_trc.o) \ 6203 $(MODEL_LIB)(trc.o) \ 6204 $(MODEL_LIB)(trcsms_c14b.o) \ 6205 in_out_manager.F90 \ 6206 iom.F90 \ 6207 oce_trc.F90 \ 6208 par_trc.F90 \ 6209 trc.F90 \ 6210 trcsms_c14b.F90 \ 6211 KEY_CPP \ 6212 trcrst_c14b.F90 6213 $(MODEL_LIB)(trcrst_cfc.o) : \ 6214 $(MODEL_LIB)(dianam.o) \ 6215 $(MODEL_LIB)(dom_oce.o) \ 6216 $(MODEL_LIB)(domngb.o) \ 6217 $(MODEL_LIB)(in_out_manager.o) \ 6218 $(MODEL_LIB)(iom.o) \ 6219 $(MODEL_LIB)(iom_def.o) \ 6220 $(MODEL_LIB)(iom_ioipsl.o) \ 6221 $(MODEL_LIB)(iom_nf90.o) \ 6222 $(MODEL_LIB)(iom_rstdimg.o) \ 6223 $(MODEL_LIB)(lbclnk.o) \ 6224 $(MODEL_LIB)(ldfslp.o) \ 6225 $(MODEL_LIB)(ldftra_oce.o) \ 6226 $(MODEL_LIB)(lib_mpp.o) \ 6227 $(MODEL_LIB)(lib_print.o) \ 6228 $(MODEL_LIB)(oce.o) \ 6229 $(MODEL_LIB)(oce_trc.o) \ 6230 $(MODEL_LIB)(par_c14b.o) \ 6231 $(MODEL_LIB)(par_cfc.o) \ 6232 $(MODEL_LIB)(par_kind.o) \ 6233 $(MODEL_LIB)(par_lobster.o) \ 6234 $(MODEL_LIB)(par_my_trc.o) \ 6235 $(MODEL_LIB)(par_oce.o) \ 6236 $(MODEL_LIB)(par_pisces.o) \ 6237 $(MODEL_LIB)(par_trc.o) \ 6238 $(MODEL_LIB)(phycst.o) \ 6239 $(MODEL_LIB)(sbc_oce.o) \ 6240 $(MODEL_LIB)(sbcrnf.o) \ 6241 $(MODEL_LIB)(trabbl.o) \ 6242 $(MODEL_LIB)(traqsr.o) \ 6243 $(MODEL_LIB)(trc.o) \ 6244 $(MODEL_LIB)(trdmld_trc.o) \ 6245 $(MODEL_LIB)(trdmld_trc_oce.o) \ 6246 $(MODEL_LIB)(zdf_oce.o) \ 6247 $(MODEL_LIB)(zdfddm.o) \ 6248 $(MODEL_LIB)(zdfmxl.o) \ 6249 dianam.F90 \ 6250 dom_oce.F90 \ 6251 domngb.F90 \ 6252 in_out_manager.F90 \ 6253 iom.F90 \ 6254 iom_def.F90 \ 6255 iom_ioipsl.F90 \ 6256 iom_nf90.F90 \ 6257 iom_rstdimg.F90 \ 6258 lbclnk.F90 \ 6259 ldfslp.F90 \ 6260 ldftra_oce.F90 \ 6261 lib_mpp.F90 \ 6262 lib_print.f90 \ 6263 oce.F90 \ 6264 oce_trc.F90 \ 6265 par_c14b.F90 \ 6266 par_cfc.F90 \ 6267 par_kind.F90 \ 6268 par_lobster.F90 \ 6269 par_my_trc.F90 \ 6270 par_oce.F90 \ 6271 par_pisces.F90 \ 6272 par_trc.F90 \ 6273 phycst.F90 \ 6274 sbc_oce.F90 \ 6275 sbcrnf.F90 \ 6276 trabbl.F90 \ 6277 traqsr.F90 \ 6278 trc.F90 \ 6279 trdmld_trc.F90 \ 6280 trdmld_trc_oce.F90 \ 6281 zdf_oce.F90 \ 6282 zdfddm.F90 \ 6283 zdfmxl.F90 \ 6284 $(MODEL_LIB)(in_out_manager.o) \ 6285 $(MODEL_LIB)(iom.o) \ 6286 $(MODEL_LIB)(oce_trc.o) \ 6287 $(MODEL_LIB)(par_trc.o) \ 6288 $(MODEL_LIB)(trc.o) \ 6289 $(MODEL_LIB)(trcsms_cfc.o) \ 6290 in_out_manager.F90 \ 6291 iom.F90 \ 6292 oce_trc.F90 \ 6293 par_trc.F90 \ 6294 trc.F90 \ 6295 trcsms_cfc.F90 \ 6296 KEY_CPP \ 6297 trcrst_cfc.F90 6298 $(MODEL_LIB)(trcrst_lobster.o) : \ 6299 $(MODEL_LIB)(dianam.o) \ 6300 $(MODEL_LIB)(dom_oce.o) \ 6301 $(MODEL_LIB)(domngb.o) \ 6302 $(MODEL_LIB)(in_out_manager.o) \ 6303 $(MODEL_LIB)(iom_def.o) \ 6304 $(MODEL_LIB)(iom_ioipsl.o) \ 6305 $(MODEL_LIB)(iom_nf90.o) \ 6306 $(MODEL_LIB)(iom_rstdimg.o) \ 6307 $(MODEL_LIB)(lbclnk.o) \ 6308 $(MODEL_LIB)(ldfslp.o) \ 6309 $(MODEL_LIB)(ldftra_oce.o) \ 6310 $(MODEL_LIB)(lib_mpp.o) \ 6311 $(MODEL_LIB)(lib_print.o) \ 6312 $(MODEL_LIB)(oce.o) \ 6313 $(MODEL_LIB)(oce_trc.o) \ 6314 $(MODEL_LIB)(par_c14b.o) \ 6315 $(MODEL_LIB)(par_cfc.o) \ 6316 $(MODEL_LIB)(par_kind.o) \ 6317 $(MODEL_LIB)(par_lobster.o) \ 6318 $(MODEL_LIB)(par_my_trc.o) \ 6319 $(MODEL_LIB)(par_oce.o) \ 6320 $(MODEL_LIB)(par_pisces.o) \ 6321 $(MODEL_LIB)(par_trc.o) \ 6322 $(MODEL_LIB)(phycst.o) \ 6323 $(MODEL_LIB)(sbc_oce.o) \ 6324 $(MODEL_LIB)(sbcrnf.o) \ 6325 $(MODEL_LIB)(trabbl.o) \ 6326 $(MODEL_LIB)(traqsr.o) \ 6327 $(MODEL_LIB)(trc.o) \ 6328 $(MODEL_LIB)(trcbio.o) \ 6329 $(MODEL_LIB)(trcexp.o) \ 6330 $(MODEL_LIB)(trcopt.o) \ 6331 $(MODEL_LIB)(trcsed.o) \ 6332 $(MODEL_LIB)(trdmld_trc.o) \ 6333 $(MODEL_LIB)(trdmld_trc_oce.o) \ 6334 $(MODEL_LIB)(zdf_oce.o) \ 6335 $(MODEL_LIB)(zdfddm.o) \ 6336 $(MODEL_LIB)(zdfmxl.o) \ 6337 dianam.F90 \ 6338 dom_oce.F90 \ 6339 domngb.F90 \ 6340 in_out_manager.F90 \ 6341 iom_def.F90 \ 6342 iom_ioipsl.F90 \ 6343 iom_nf90.F90 \ 6344 iom_rstdimg.F90 \ 6345 lbclnk.F90 \ 6346 ldfslp.F90 \ 6347 ldftra_oce.F90 \ 6348 lib_mpp.F90 \ 6349 lib_print.f90 \ 6350 oce.F90 \ 6351 oce_trc.F90 \ 6352 par_c14b.F90 \ 6353 par_cfc.F90 \ 6354 par_kind.F90 \ 6355 par_lobster.F90 \ 6356 par_my_trc.F90 \ 6357 par_oce.F90 \ 6358 par_pisces.F90 \ 6359 par_trc.F90 \ 6360 phycst.F90 \ 6361 sbc_oce.F90 \ 6362 sbcrnf.F90 \ 6363 trabbl.F90 \ 6364 traqsr.F90 \ 6365 trc.F90 \ 6366 trcbio.F90 \ 6367 trcexp.F90 \ 6368 trcopt.F90 \ 6369 trcsed.F90 \ 6370 trdmld_trc.F90 \ 6371 trdmld_trc_oce.F90 \ 6372 zdf_oce.F90 \ 6373 zdfddm.F90 \ 6374 zdfmxl.F90 \ 6375 $(MODEL_LIB)(in_out_manager.o) \ 6376 $(MODEL_LIB)(iom.o) \ 6377 $(MODEL_LIB)(oce_trc.o) \ 6378 $(MODEL_LIB)(par_trc.o) \ 6379 $(MODEL_LIB)(sms_lobster.o) \ 6380 $(MODEL_LIB)(trc.o) \ 6381 $(MODEL_LIB)(trcsms_lobster.o) \ 6382 in_out_manager.F90 \ 6383 iom.F90 \ 6384 oce_trc.F90 \ 6385 par_trc.F90 \ 6386 sms_lobster.F90 \ 6387 trc.F90 \ 6388 trcsms_lobster.F90 \ 6389 KEY_CPP \ 6390 trcrst_lobster.F90 6391 $(MODEL_LIB)(trcrst_my_trc.o) : \ 6392 KEY_CPP \ 6393 trcrst_my_trc.F90 6394 $(MODEL_LIB)(trcrst_pisces.o) : \ 6395 $(MODEL_LIB)(dianam.o) \ 6396 $(MODEL_LIB)(dom_oce.o) \ 6397 $(MODEL_LIB)(domngb.o) \ 6398 $(MODEL_LIB)(in_out_manager.o) \ 6399 $(MODEL_LIB)(iom.o) \ 6400 $(MODEL_LIB)(iom_def.o) \ 6401 $(MODEL_LIB)(iom_ioipsl.o) \ 6402 $(MODEL_LIB)(iom_nf90.o) \ 6403 $(MODEL_LIB)(iom_rstdimg.o) \ 6404 $(MODEL_LIB)(lbclnk.o) \ 6405 $(MODEL_LIB)(ldfslp.o) \ 6406 $(MODEL_LIB)(ldftra_oce.o) \ 6407 $(MODEL_LIB)(lib_mpp.o) \ 6408 $(MODEL_LIB)(lib_print.o) \ 6409 $(MODEL_LIB)(oce.o) \ 6410 $(MODEL_LIB)(oce_trc.o) \ 6411 $(MODEL_LIB)(p4zbio.o) \ 6412 $(MODEL_LIB)(p4zche.o) \ 6413 $(MODEL_LIB)(p4zflx.o) \ 6414 $(MODEL_LIB)(p4zint.o) \ 6415 $(MODEL_LIB)(p4zlys.o) \ 6416 $(MODEL_LIB)(p4zsed.o) \ 6417 $(MODEL_LIB)(par_c14b.o) \ 6418 $(MODEL_LIB)(par_cfc.o) \ 6419 $(MODEL_LIB)(par_kind.o) \ 6420 $(MODEL_LIB)(par_lobster.o) \ 6421 $(MODEL_LIB)(par_my_trc.o) \ 6422 $(MODEL_LIB)(par_oce.o) \ 6423 $(MODEL_LIB)(par_pisces.o) \ 6424 $(MODEL_LIB)(par_trc.o) \ 6425 $(MODEL_LIB)(phycst.o) \ 6426 $(MODEL_LIB)(sbc_oce.o) \ 6427 $(MODEL_LIB)(sbcrnf.o) \ 6428 $(MODEL_LIB)(sedmodel.o) \ 6429 $(MODEL_LIB)(sms_pisces.o) \ 6430 $(MODEL_LIB)(trabbl.o) \ 6431 $(MODEL_LIB)(traqsr.o) \ 6432 $(MODEL_LIB)(trc.o) \ 6433 $(MODEL_LIB)(trdmld_trc.o) \ 6434 $(MODEL_LIB)(trdmld_trc_oce.o) \ 6435 $(MODEL_LIB)(zdf_oce.o) \ 6436 $(MODEL_LIB)(zdfddm.o) \ 6437 $(MODEL_LIB)(zdfmxl.o) \ 6438 dianam.F90 \ 6439 dom_oce.F90 \ 6440 domngb.F90 \ 6441 in_out_manager.F90 \ 6442 iom.F90 \ 6443 iom_def.F90 \ 6444 iom_ioipsl.F90 \ 6445 iom_nf90.F90 \ 6446 iom_rstdimg.F90 \ 6447 lbclnk.F90 \ 6448 ldfslp.F90 \ 6449 ldftra_oce.F90 \ 6450 lib_mpp.F90 \ 6451 lib_print.f90 \ 6452 oce.F90 \ 6453 oce_trc.F90 \ 6454 p4zbio.F90 \ 6455 p4zche.F90 \ 6456 p4zflx.F90 \ 6457 p4zint.F90 \ 6458 p4zlys.F90 \ 6459 p4zsed.F90 \ 6460 par_c14b.F90 \ 6461 par_cfc.F90 \ 6462 par_kind.F90 \ 6463 par_lobster.F90 \ 6464 par_my_trc.F90 \ 6465 par_oce.F90 \ 6466 par_pisces.F90 \ 6467 par_trc.F90 \ 6468 phycst.F90 \ 6469 sbc_oce.F90 \ 6470 sbcrnf.F90 \ 6471 sedmodel.F90 \ 6472 sms_pisces.F90 \ 6473 trabbl.F90 \ 6474 traqsr.F90 \ 6475 trc.F90 \ 6476 trdmld_trc.F90 \ 6477 trdmld_trc_oce.F90 \ 6478 zdf_oce.F90 \ 6479 zdfddm.F90 \ 6480 zdfmxl.F90 \ 6481 $(MODEL_LIB)(in_out_manager.o) \ 6482 $(MODEL_LIB)(iom.o) \ 6483 $(MODEL_LIB)(oce_trc.o) \ 6484 $(MODEL_LIB)(par_trc.o) \ 6485 $(MODEL_LIB)(sms_pisces.o) \ 6486 $(MODEL_LIB)(trc.o) \ 6487 $(MODEL_LIB)(trcdta.o) \ 6488 $(MODEL_LIB)(trcsms_pisces.o) \ 6489 in_out_manager.F90 \ 6490 iom.F90 \ 6491 oce_trc.F90 \ 6492 par_trc.F90 \ 6493 sms_pisces.F90 \ 6494 trc.F90 \ 6495 trcdta.F90 \ 6496 trcsms_pisces.F90 \ 6497 KEY_CPP \ 6498 trcrst_pisces.F90 6033 6499 $(MODEL_LIB)(trcsbc.o) : \ 6034 6500 $(MODEL_LIB)(dianam.o) \ … … 6185 6651 trdmld_trc_oce.F90 \ 6186 6652 domzgr_substitute.h90 \ 6653 ldfeiv_substitute.h90 \ 6654 ldftra_substitute.h90 \ 6655 top_substitute.h90 \ 6656 vectopt_loop_substitute.h90 \ 6187 6657 KEY_CPP \ 6188 6658 trcsed.F90 … … 6743 7213 $(MODEL_LIB)(trcstp.o) : \ 6744 7214 $(MODEL_LIB)(agrif_top_sponge.o) \ 7215 $(MODEL_LIB)(daymod.o) \ 6745 7216 $(MODEL_LIB)(dianam.o) \ 6746 7217 $(MODEL_LIB)(dom_oce.o) \ … … 6786 7257 $(MODEL_LIB)(trcnxt.o) \ 6787 7258 $(MODEL_LIB)(trcrad.o) \ 7259 $(MODEL_LIB)(trcrst_c14b.o) \ 7260 $(MODEL_LIB)(trcrst_cfc.o) \ 7261 $(MODEL_LIB)(trcrst_lobster.o) \ 7262 $(MODEL_LIB)(trcrst_my_trc.o) \ 7263 $(MODEL_LIB)(trcrst_pisces.o) \ 6788 7264 $(MODEL_LIB)(trcsbc.o) \ 6789 7265 $(MODEL_LIB)(trcsms_c14b.o) \ … … 6805 7281 $(MODEL_LIB)(zpshde_trc.o) \ 6806 7282 agrif_top_sponge.F90 \ 7283 daymod.F90 \ 6807 7284 dianam.F90 \ 6808 7285 dom_oce.F90 \ … … 6848 7325 trcnxt.F90 \ 6849 7326 trcrad.F90 \ 7327 trcrst_c14b.F90 \ 7328 trcrst_cfc.F90 \ 7329 trcrst_lobster.F90 \ 7330 trcrst_my_trc.F90 \ 7331 trcrst_pisces.F90 \ 6850 7332 trcsbc.F90 \ 6851 7333 trcsms_c14b.F90 \ … … 7006 7488 zpshde_trc.F90 \ 7007 7489 domzgr_substitute.h90 \ 7490 ldfeiv_substitute.h90 \ 7491 ldftra_substitute.h90 \ 7492 top_substitute.h90 \ 7493 vectopt_loop_substitute.h90 \ 7008 7494 $(AGRIF_LIB) \ 7009 7495 KEY_CPP \ … … 7118 7604 $(MODEL_LIB)(trabbl.o) \ 7119 7605 $(MODEL_LIB)(traqsr.o) \ 7606 $(MODEL_LIB)(trc.o) \ 7120 7607 $(MODEL_LIB)(zdf_oce.o) \ 7121 7608 $(MODEL_LIB)(zdfddm.o) \ … … 7141 7628 trabbl.F90 \ 7142 7629 traqsr.F90 \ 7630 trc.F90 \ 7143 7631 zdf_oce.F90 \ 7144 7632 zdfddm.F90 \ 7145 7633 zdfmxl.F90 \ 7146 7634 $(MODEL_LIB)(dianam.o) \ 7635 $(MODEL_LIB)(dom_oce.o) \ 7147 7636 $(MODEL_LIB)(iom.o) \ 7148 7637 $(MODEL_LIB)(oce_trc.o) \ 7149 7638 $(MODEL_LIB)(trc.o) \ 7639 $(MODEL_LIB)(trdmld_trc_oce.o) \ 7640 $(MODEL_LIB)(trp_trc.o) \ 7150 7641 dianam.F90 \ 7642 dom_oce.F90 \ 7151 7643 iom.F90 \ 7152 7644 oce_trc.F90 \ 7153 7645 trc.F90 \ 7646 trdmld_trc_oce.F90 \ 7647 trp_trc.F90 \ 7154 7648 domzgr_substitute.h90 \ 7155 7649 ldfeiv_substitute.h90 \ -
branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make.ldef
r1759 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/CONFIG/POMME/EXP00/namelist
r1730 r2137 120 120 ! =2 combination of 0 and 1 cases ("key_lim3" only) 121 121 ln_dm2dc = .false. ! daily mean to diurnal cycle short wave (qsr) 122 ln_rnf = . true. ! runoffs (T => fill namsbc_rnf)122 ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) 123 123 ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) 124 124 nn_fwb = 0 ! FreshWater Budget: =0 unchecked … … 170 170 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 171 171 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 172 sn_wndi = 'u10_1988' , 24 , 'u10' , .true. , . false. , 'yearly' , ''173 sn_wndj = 'v10_1988' , 24 , 'v10' , .true. , . false. , 'yearly' , ''174 sn_qsr = 'radsw_1988' , 24 , 'radsw' , .true. , . false. , 'yearly' , ''175 sn_qlw = 'radlw_1988' , 24 , 'radlw' , .true. , . false. , 'yearly' , ''176 sn_tair = 't2_1988.nc' , 24 , 't2' , .true. , . false. , 'yearly' , ''177 sn_humi = 'q2_1988' , 24 , 'q2' , .true. , . false. , 'yearly' , ''178 sn_prec = 'precip_1988.nc' , -1 , 'precip' , .true. , . false. , 'yearly' , ''179 sn_ tdif = 'taudif_core' , 24 , 'taudif' , .true. , .true. , 'yearly' ,''172 sn_wndi = 'u10_1988' , 24 , 'u10' , .true. , .true. , 'yearly' , '' 173 sn_wndj = 'v10_1988' , 24 , 'v10' , .true. , .true. , 'yearly' , '' 174 sn_qsr = 'radsw_1988' , 24 , 'radsw' , .true. , .true. , 'yearly' , '' 175 sn_qlw = 'radlw_1988' , 24 , 'radlw' , .true. , .true. , 'yearly' , '' 176 sn_tair = 't2_1988.nc' , 24 , 't2' , .true. , .true. , 'yearly' , '' 177 sn_humi = 'q2_1988' , 24 , 'q2' , .true. , .true. , 'yearly' , '' 178 sn_prec = 'precip_1988.nc' , -1 , 'precip' , .true. , .true. , 'yearly' , '' 179 sn_snow = 'precip_1988.nc' , -1 , 'precip' , .true. , .true. , 'yearly' , '' 180 180 ! 181 181 cn_dir = './' ! root directory for the location of the bulk files … … 223 223 224 224 cn_dir = './' ! root directory for the location of the runoff files 225 ln_traqsr = . true. ! Light penetration (T) or not (F)226 ln_qsr_rgb = . true. ! RGB (Red-Green-Blue) light penetration225 ln_traqsr = .false. ! Light penetration (T) or not (F) 226 ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration 227 227 ln_qsr_2bd = .false. ! 2 bands light penetration 228 228 ln_qsr_bio = .false. ! bio-model light penetration … … 366 366 &nambfr ! bottom friction 367 367 !----------------------------------------------------------------------- 368 nn_bfr = 3! type of bottom friction : = 0 : no slip, = 2 : nonlinear friction368 nn_bfr = 2 ! type of bottom friction : = 0 : no slip, = 2 : nonlinear friction 369 369 ! = 3 : free slip, = 1 : linear friction 370 370 rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) -
branches/devmercator2010_1/CONFIG/POMME/scripts/BB_make
r1778 r2137 7 7 # Check your compilers option in consequence when using real F95 compilers 8 8 9 F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 10 L_X = $(L_O) 9 11 #-Q- platine # Compiler options NEMO (CCRT Itanium Bull) 10 12 #-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) … … 22 24 #-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 25 #-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)26 #-Q- es2 # Compiler options for NEMO (Earth Simulator) 27 #-Q- es2 # for super perfs! 28 #-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) 29 #-Q- es2 # regular options! 30 #-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) 31 #-Q- es2 L_X = $(L_O) 30 32 #-Q- linux # Compiler options for NEMO (pgf version) 31 33 #-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) … … 62 64 #-Q- sx8brodie PREF=i. 63 65 #-Q- sxdkrz PREF=i. 64 #-Q- es hpuxPREF=i.66 #-Q- es2 PREF=i. 65 67 66 68 # add suffix to P_P … … 101 103 102 104 #check key compatibility 103 keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))105 keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 104 106 105 107 KEY_LIST = \ … … 430 432 431 433 # Agrif library and conv 432 libagrif : $(call keycompat,key_iomput,key_agrif)434 libagrif : 433 435 ifeq ($(AGRIF),use) 434 436 @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) … … 456 458 #-Q- sx8brodie -R2 \ 457 459 #-Q- sxdkrz -R2 \ 458 #-Q- es hpux-R2 \460 #-Q- es2 -R2 \ 459 461 #-Q- aix6 -qsource \ 460 462 #-Q- aix -qsource \ … … 462 464 OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 463 465 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 464 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null466 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 465 467 endif 466 468 … … 476 478 .PRECIOUS : $(MODEL_LIB) 477 479 #-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 478 #-Q- es hpux.PRECIOUS : $(SXMODEL_LIB)480 #-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 479 481 480 482 # library dependancies … … 495 497 #-Q- sx8brodie -R2 \ 496 498 #-Q- sxdkrz -R2 \ 497 #-Q- es hpux-R2 \499 #-Q- es2 -R2 \ 498 500 #-Q- aix -qsource \ 499 501 #-Q- aix6 -qsource \ … … 501 503 $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 502 504 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 503 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null505 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 504 506 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 505 507 @$(RM) $*.[of] … … 531 533 #-Q- sx8brodie -R2 \ 532 534 #-Q- sxdkrz -R2 \ 533 #-Q- es hpux-R2 \535 #-Q- es2 -R2 \ 534 536 #-Q- aix -qsource \ 535 537 #-Q- aix6 -qsource \ … … 543 545 #-Q- sx8brodie -R2 \ 544 546 #-Q- sxdkrz -R2 \ 545 #-Q- es hpux-R2 \547 #-Q- es2 -R2 \ 546 548 #-Q- aix -qsource \ 547 549 #-Q- aix6 -qsource \ … … 550 552 endif 551 553 #-Q- sxdkrz @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 552 #-Q- es hpux@$(A_X) $(SXMODEL_LIB) $*.o > /dev/null554 #-Q- es2 @$(A_X) $(SXMODEL_LIB) $*.o > /dev/null 553 555 @$(A_C) $(MODEL_LIB) $*.o > /dev/null 554 556 @$(RM) $*.[of] … … 1195 1197 diaar5.F90 1196 1198 $(MODEL_LIB)(diadimg.o) : \ 1197 $(MODEL_LIB)(lib_print.o) \ 1198 $(MODEL_LIB)(par_kind.o) \ 1199 $(MODEL_LIB)(par_oce.o) \ 1200 lib_print.f90 \ 1201 par_kind.F90 \ 1202 par_oce.F90 \ 1203 $(MODEL_LIB)(dom_oce.o) \ 1204 $(MODEL_LIB)(in_out_manager.o) \ 1205 $(MODEL_LIB)(oce.o) \ 1199 $(MODEL_LIB)(dom_oce.o) \ 1200 $(MODEL_LIB)(in_out_manager.o) \ 1201 $(MODEL_LIB)(iom.o) \ 1202 $(MODEL_LIB)(lib_print.o) \ 1203 $(MODEL_LIB)(par_kind.o) \ 1204 $(MODEL_LIB)(par_oce.o) \ 1205 $(MODEL_LIB)(phycst.o) \ 1206 $(MODEL_LIB)(prtctl.o) \ 1207 $(MODEL_LIB)(restart.o) \ 1208 dom_oce.F90 \ 1209 in_out_manager.F90 \ 1210 iom.F90 \ 1211 lib_print.f90 \ 1212 par_kind.F90 \ 1213 par_oce.F90 \ 1214 phycst.F90 \ 1215 prtctl.F90 \ 1216 restart.F90 \ 1217 $(MODEL_LIB)(daymod.o) \ 1218 $(MODEL_LIB)(dom_oce.o) \ 1219 $(MODEL_LIB)(in_out_manager.o) \ 1220 $(MODEL_LIB)(oce.o) \ 1221 daymod.F90 \ 1206 1222 dom_oce.F90 \ 1207 1223 in_out_manager.F90 \ … … 1358 1374 phycst.F90 \ 1359 1375 $(IOIPSL_LIB) \ 1360 KEY_CPP \1361 1376 dianam.F90 1362 1377 $(MODEL_LIB)(diaptr.o) : \ … … 1419 1434 diaptr.F90 1420 1435 $(MODEL_LIB)(diawri.o) : \ 1436 $(MODEL_LIB)(daymod.o) \ 1421 1437 $(MODEL_LIB)(dianam.o) \ 1422 1438 $(MODEL_LIB)(dom_ice_2.o) \ … … 1446 1462 $(MODEL_LIB)(sbcrnf.o) \ 1447 1463 $(MODEL_LIB)(zdf_oce.o) \ 1464 daymod.F90 \ 1448 1465 dianam.F90 \ 1449 1466 dom_ice_2.F90 \ … … 4594 4611 in_out_manager.F90 \ 4595 4612 lbcnfd.F90 \ 4596 $(AGRIF_LIB) \4597 4613 KEY_CPP \ 4598 4614 lib_mpp.F90 … … 5309 5325 $(MODEL_LIB)(limistate_2.o) \ 5310 5326 $(MODEL_LIB)(phycst.o) \ 5327 $(MODEL_LIB)(sbc_oce.o) \ 5311 5328 dom_ice_2.F90 \ 5312 5329 dom_oce.F90 \ … … 5319 5336 limistate_2.F90 \ 5320 5337 phycst.F90 \ 5338 sbc_oce.F90 \ 5321 5339 vectopt_loop_substitute.h90 \ 5322 5340 KEY_CPP \ … … 7996 8014 $(MODEL_LIB)(lib_print.o) \ 7997 8015 $(MODEL_LIB)(limwri_2.o) \ 8016 $(MODEL_LIB)(obc_oce.o) \ 7998 8017 $(MODEL_LIB)(obctra.o) \ 7999 8018 $(MODEL_LIB)(oce.o) \ … … 8067 8086 lib_print.f90 \ 8068 8087 limwri_2.F90 \ 8088 obc_oce.F90 \ 8069 8089 obctra.F90 \ 8070 8090 oce.F90 \ … … 9620 9640 $(MODEL_LIB)(lib_print.o) \ 9621 9641 $(MODEL_LIB)(obc_oce.o) \ 9642 $(MODEL_LIB)(obc_par.o) \ 9622 9643 $(MODEL_LIB)(oce.o) \ 9623 9644 $(MODEL_LIB)(par_kind.o) \ … … 9644 9665 lib_print.f90 \ 9645 9666 obc_oce.F90 \ 9667 obc_par.F90 \ 9646 9668 oce.F90 \ 9647 9669 par_kind.F90 \ … … 9668 9690 $(MODEL_LIB)(in_out_manager.o) \ 9669 9691 $(MODEL_LIB)(lbclnk.o) \ 9692 $(MODEL_LIB)(obc_oce.o) \ 9670 9693 $(MODEL_LIB)(obctra.o) \ 9671 9694 $(MODEL_LIB)(oce.o) \ … … 9684 9707 in_out_manager.F90 \ 9685 9708 lbclnk.F90 \ 9709 obc_oce.F90 \ 9686 9710 obctra.F90 \ 9687 9711 oce.F90 \ … … 10172 10196 $(MODEL_LIB)(trdmld.o) : \ 10173 10197 $(MODEL_LIB)(c1d.o) \ 10198 $(MODEL_LIB)(daymod.o) \ 10174 10199 $(MODEL_LIB)(dom_oce.o) \ 10175 10200 $(MODEL_LIB)(eosbn2.o) \ … … 10197 10222 $(MODEL_LIB)(zpshde.o) \ 10198 10223 c1d.F90 \ 10224 daymod.F90 \ 10199 10225 dom_oce.F90 \ 10200 10226 eosbn2.F90 \ -
branches/devmercator2010_1/CONFIG/POMME/scripts/BB_make.ldef
r1729 r2137 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 = … … 34 34 #- 35 35 #- Prefix for preprocessing --- 36 prefix = -D 36 37 #-Q- sx8mercure prefix = -D 37 38 #-Q- sx9mercure prefix = -D 38 39 #-Q- sx8brodie prefix = -D 39 #-Q- es hpuxprefix = -D40 #-Q- es2 prefix = -D 40 41 #-Q- sxdkrz prefix = -D 41 42 #-Q- linux prefix = -D -
branches/devmercator2010_1/EXTERNAL/XMLF90/AA_make
r1722 r2137 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/devmercator2010_1/EXTERNAL/XMLF90/makemake_XMLF90.perl
r1723 r2137 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/devmercator2010_1/EXTERNAL/XMLIO_SERVER/AA_make
r1728 r2137 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/devmercator2010_1/EXTERNAL/XMLIO_SERVER/makemake_XMLIO.perl
r1728 r2137 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/devmercator2010_1/NEMO/LIM_SRC_2/limmsh_2.F90
r2135 r2137 61 61 ENDIF 62 62 63 IF( jphgr_msh == 2 .OR. jphgr_msh == 3 .OR. jphgr_msh == 5 ) & 64 & CALL ctl_stop(' Coriolis parameter in LIM not set for f- or beta-plane' ) 65 63 66 !---------------------------------------------------------- 64 67 ! Initialization of local and some global (common) variables -
branches/devmercator2010_1/NEMO/LIM_SRC_2/limsbc_2.F90
r2135 r2137 78 78 !! 79 79 INTEGER :: ji, jj ! dummy loop indices 80 INTEGER :: ii0, ii1, ij0, ij1 ! local integers 81 INTEGER :: ifvt, i1mfr, idfr, iflt ! - - 82 INTEGER :: ial, iadv, ifral, ifrdv ! - - 83 REAL(wp) :: zqsr, zqns, zsang, zmod, zfm ! local scalars 84 REAL(wp) :: zinda, zfons, zemp, zztmp ! - - 85 REAL(wp) :: zfrldu, zutau, zu_io ! - - 86 REAL(wp) :: zfrldv, zvtau, zv_io ! - - 87 REAL(wp), DIMENSION(jpi,jpj) :: ztio_u, ztio_v ! 2D workspace 88 REAL(wp), DIMENSION(jpi,jpj) :: ztiomi, zqnsoce ! - - 89 REAL(wp), DIMENSION(jpi,jpj,1) :: zalb, zalbp ! 2D/3D workspace 80 INTEGER :: ifvt, i1mfr, idfr ! some switches 81 INTEGER :: iflt, ial, iadv, ifral, ifrdv 82 REAL(wp) :: zrdtir ! 1. / rdt_ice 83 REAL(wp) :: zqsr , zqns ! solar & non solar heat flux 84 REAL(wp) :: zinda ! switch for testing the values of ice concentration 85 REAL(wp) :: zfons ! salt exchanges at the ice/ocean interface 86 REAL(wp) :: zemp ! freshwater exchanges at the ice/ocean interface 87 REAL(wp) :: zfrldu, zfrldv ! lead fraction at U- & V-points 88 REAL(wp) :: zutau , zvtau ! lead fraction at U- & V-points 89 REAL(wp) :: zu_io , zv_io ! 2 components of the ice-ocean velocity 90 ! interface 2D --> 3D 91 REAL(wp), DIMENSION(jpi,jpj,1) :: zalb ! albedo of ice under overcast sky 92 REAL(wp), DIMENSION(jpi,jpj,1) :: zalbp ! albedo of ice under clear sky 93 REAL(wp) :: zsang, zmod, zztmp, zfm 94 REAL(wp), DIMENSION(jpi,jpj) :: ztio_u, ztio_v ! component of ocean stress below sea-ice at I-point 95 REAL(wp), DIMENSION(jpi,jpj) :: ztiomi ! module of ocean stress below sea-ice at I-point 96 REAL(wp), DIMENSION(jpi,jpj) :: zqnsoce ! save qns before its modification by ice model 97 90 98 !!--------------------------------------------------------------------- 91 99 … … 101 109 sice_r(:,:) = sice 102 110 ! 103 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA_R2 configuration 104 ii0 = 145 ; ii1 = 180 ! Baltic Sea 105 ij0 = 113 ; ij1 = 130 ; soce_r(mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 4.e0 106 sice_r(mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 2.e0 107 ENDIF 108 ! 109 ENDIF 111 IF( cp_cfg == "orca" ) THEN 112 ! ocean/ice salinity in the Baltic sea 113 DO jj = 1, jpj 114 DO ji = 1, jpi 115 IF( glamt(ji,jj) >= 14. .AND. glamt(ji,jj) <= 32. .AND. gphit(ji,jj) >= 54. .AND. gphit(ji,jj) <= 66. ) THEN 116 soce_r(ji,jj) = 4.e0 117 sice_r(ji,jj) = 2.e0 118 END IF 119 END DO 120 END DO 121 ! 122 END IF 123 END IF 110 124 111 125 !------------------------------------------! -
branches/devmercator2010_1/NEMO/LIM_SRC_2/limthd_2.F90
r1758 r2137 360 360 END DO 361 361 ENDIF 362 362 363 CALL lbc_lnk( frld , 'T', 1. ) 363 364 364 365 ! Select points for lateral accretion (this occurs when heat exchange -
branches/devmercator2010_1/NEMO/LIM_SRC_2/limtrp_2.F90
r2135 r2137 16 16 !! lim_trp_init_2 : initialization and namelist read 17 17 !!---------------------------------------------------------------------- 18 USE phycst ! physical constants 18 USE phycst ! physical constant 19 USE sbc_oce ! ocean surface boundary condition 19 20 USE dom_oce ! ocean domain 20 21 USE in_out_manager ! I/O manager 21 USE dom_ice_2 ! LIM 2 sea-icedomain22 USE ice_2 ! LIM 2 variables23 USE limistate_2 ! LIM 2 initial state24 USE limadv_2 ! LIM 2 advection25 USE limhdf_2 ! LIM 2 horizontal diffusion26 USE lbclnk ! Lateral Boundary condition- MPP exchanges22 USE dom_ice_2 ! LIM-2 domain 23 USE ice_2 ! LIM-2 variables 24 USE limistate_2 ! LIM-2 initial state 25 USE limadv_2 ! LIM-2 advection 26 USE limhdf_2 ! LIM-2 horizontal diffusion 27 USE lbclnk ! lateral boundary conditions -- MPP exchanges 27 28 USE lib_mpp ! MPP library 28 29 … … 32 33 PUBLIC lim_trp_2 ! called by sbc_ice_lim_2 33 34 34 REAL(wp), PUBLIC :: bound = 0.e0!: boundary condit. (0.0 no-slip, 1.0 free-slip)35 REAL(wp), PUBLIC :: bound = 0.e0 !: boundary condit. (0.0 no-slip, 1.0 free-slip) 35 36 36 37 REAL(wp) :: epsi06 = 1.e-06 ! constant values … … 86 87 ! ice velocities at ocean U- and V-points (zui_u,zvi_v) 87 88 ! --------------------------------------- 88 ! zvbord factor between 1 and 2 to take into account slip or no-slip boundary conditions. 89 zvbord = 1.0 + ( 1.0 - bound ) 89 zvbord = 1.0 + ( 1.0 - bound ) ! zvbord=2 no-slip, =0 free slip boundary conditions 90 90 #if defined key_lim2_vp 91 91 DO jj = 1, jpjm1 ! VP rheology: ice (u,v) at I-point … … 101 101 #endif 102 102 103 103 104 ! CFL test for stability 104 105 ! ---------------------- … … 106 107 zcfl = MAX( zcfl, MAXVAL( ABS( zui_u(1:jpim1, : ) ) * rdt_ice / e1u(1:jpim1, : ) ) ) 107 108 zcfl = MAX( zcfl, MAXVAL( ABS( zvi_v( : ,1:jpjm1) ) * rdt_ice / e2v( : ,1:jpjm1) ) ) 109 ! 110 IF(lk_mpp) CALL mpp_max( zcfl ) 111 ! 112 IF( zcfl > 0.5 .AND. lwp ) WRITE(numout,*) 'lim_trp_2 : violation of cfl criterion the ',nday,'th day, cfl = ', zcfl 108 113 109 114 IF(lk_mpp ) CALL mpp_max(zcfl) … … 121 126 zs0st (:,:) = qstoif(:,:) / xlic * zs0a (:,:) ! Heat reservoir for brine pockets. 122 127 123 ! Advection 128 ! Advection (Prather scheme) 124 129 ! --------- 125 130 ! If ice drift field is too fast, use an appropriate time step for advection. … … 146 151 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst ) 147 152 END DO 148 ELSE 153 ELSE !== even ice time step: adv_x then adv_y ==! 149 154 DO jk = 1, initad 150 155 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) … … 167 172 ! recover the properties from their contents 168 173 ! ------------------------------------------ 174 !!gm Define in limmsh one for all area = 1 /area (CPU time saved !) 169 175 zs0ice(:,:) = zs0ice(:,:) / area(:,:) 170 176 zs0sn (:,:) = zs0sn (:,:) / area(:,:) … … 190 196 END DO 191 197 END DO 198 !!gm more readable coding: (and avoid an error in F90 with sign of zero) 199 ! DO jj = 1, jpjm1 ! NB: has not to be defined on jpj line and jpi row 200 ! DO ji = 1 , fs_jpim1 ! vector opt. 201 ! IF( MIN( zs0a(ji,jj) , zs0a(ji+1,jj) ) == 0.e0 ) pahu(ji,jj) = 0.e0 202 ! IF( MIN( zs0a(ji,jj) , zs0a(ji,jj+1) ) == 0.e0 ) pahv(ji,jj) = 0.e0 203 ! END DO 204 ! END DO 205 !!gm end 192 206 193 207 ! diffusion … … 201 215 CALL lim_hdf_2( zs0st ) 202 216 203 zs0ice(:,:) = MAX( rzero, zs0ice(:,:) * area(:,:) ) !!bug: est-ce utile 204 zs0sn (:,:) = MAX( rzero, zs0sn (:,:) * area(:,:) ) !!bug: cf /area juste apres 205 zs0a (:,:) = MAX( rzero, zs0a (:,:) * area(:,:) ) !! suppression des 2 change le resultat... 206 zs0c0 (:,:) = MAX( rzero, zs0c0 (:,:) * area(:,:) ) 217 !!gm see comment this can be skipped 218 zs0ice(:,:) = MAX( rzero, zs0ice(:,:) * area(:,:) ) !!bug: useless 219 zs0sn (:,:) = MAX( rzero, zs0sn (:,:) * area(:,:) ) !!bug: cf /area just below 220 zs0a (:,:) = MAX( rzero, zs0a (:,:) * area(:,:) ) !! caution: the suppression of the 2 changes 221 zs0c0 (:,:) = MAX( rzero, zs0c0 (:,:) * area(:,:) ) !! the last digit of the results 207 222 zs0c1 (:,:) = MAX( rzero, zs0c1 (:,:) * area(:,:) ) 208 223 zs0c2 (:,:) = MAX( rzero, zs0c2 (:,:) * area(:,:) ) … … 210 225 211 226 212 ! -------------------------------------------------------------------! 213 ! Up-dating and limitation of sea ice properties after transport ! 214 ! -------------------------------------------------------------------! 215 216 ! Up-dating and limitation of sea ice properties after transport. 227 !-------------------------------------------------------------------! 228 ! Updating and limitation of sea ice properties after transport ! 229 !-------------------------------------------------------------------! 217 230 DO jj = 1, jpj 218 231 zindhe = MAX( 0.e0, SIGN( 1.e0, fcor(1,jj) ) ) ! = 0 for SH, =1 for NH 219 232 DO ji = 1, jpi 220 233 ! 221 234 ! Recover mean values over the grid squares. 222 235 zs0sn (ji,jj) = MAX( rzero, zs0sn (ji,jj)/area(ji,jj) ) … … 268 281 !! ** Purpose : initialization of ice advection parameters 269 282 !! 270 !! ** Method : Read the namicetrp namelist and check the parameter271 !! values called at the first timestep (nit000)283 !! ** Method : Read the namicetrp namelist and check the parameter 284 !! values called at the first timestep (nit000) 272 285 !! 273 286 !! ** input : Namelist namicetrp … … 276 289 !!------------------------------------------------------------------- 277 290 ! 278 ! Read Namelist namicetrp 279 REWIND ( numnam_ice ) 291 REWIND ( numnam_ice ) ! Read Namelist namicetrp 280 292 READ ( numnam_ice , namicetrp ) 281 293 IF(lwp) THEN -
branches/devmercator2010_1/NEMO/LIM_SRC_2/limwri_2.F90
r1715 r2137 313 313 CALL histwrite( kid, "iicetemp", kt, sist(:,:) - rt0, jpi*jpj, (/1/) ) 314 314 CALL histwrite( kid, "ioceflxb", kt, fbif , jpi*jpj, (/1/) ) 315 CALL histwrite( kid, "iicevel v", kt, u_ice , jpi*jpj, (/1/) )316 CALL histwrite( kid, "iicevel u", kt, v_ice , jpi*jpj, (/1/) )315 CALL histwrite( kid, "iicevelu", kt, u_ice , jpi*jpj, (/1/) ) 316 CALL histwrite( kid, "iicevelv", kt, v_ice , jpi*jpj, (/1/) ) 317 317 CALL histwrite( kid, "isstempe", kt, sst_m , jpi*jpj, (/1/) ) 318 318 CALL histwrite( kid, "isssalin", kt, sss_m , jpi*jpj, (/1/) ) -
branches/devmercator2010_1/NEMO/LIM_SRC_3/limmsh.F90
r1694 r2137 53 53 WRITE(numout,*) '~~~~~~~' 54 54 ENDIF 55 56 IF( jphgr_msh == 2 .OR. jphgr_msh == 3 .OR. jphgr_msh == 5 ) & 57 & CALL ctl_stop(' Coriolis parameter in LIM not set for f- or beta-plane' ) 55 58 56 59 ! !== coriolis factor & Equator position ==! -
branches/devmercator2010_1/NEMO/LIM_SRC_3/limtrp.F90
r1715 r2137 204 204 zusnit = 1.0 / REAL( initad ) 205 205 206 IF ( MOD( nday , 2 ) == 0) THEN206 IF( MOD( ( kt - 1) / nn_fsbc , 2 ) == 0) THEN !== odd ice time step: adv_x then adv_y ==! 207 207 DO jk = 1,initad 208 208 !--- ice open water area -
branches/devmercator2010_1/NEMO/NST_SRC/agrif2model.F90
r1156 r2137 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/devmercator2010_1/NEMO/NST_SRC/agrif_user.F90
r1605 r2137 73 73 USE tradmp 74 74 #endif 75 #if defined key_obc || defined key_esopa 76 USE obc_par 77 #endif 75 78 USE sol_oce 76 79 USE in_out_manager … … 98 101 #endif 99 102 100 Call opa_init ! Initializations of each fine grid101 Call agrif_opa_init102 103 103 ! Specific fine grid Initializations 104 104 #if defined key_tradmp || defined key_esopa … … 106 106 lk_tradmp = .FALSE. 107 107 #endif 108 #if defined key_obc || defined key_esopa 109 ! no open boundary on fine grids 110 lk_obc = .FALSE. 111 #endif 112 113 Call opa_init ! Initializations of each fine grid 114 Call agrif_opa_init 115 108 116 ! 1. Declaration of the type of variable which have to be interpolated 109 117 !--------------------------------------------------------------------- -
branches/devmercator2010_1/NEMO/OFF_SRC/DOM/domrea.F90
r1641 r2137 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/devmercator2010_1/NEMO/OFF_SRC/DOM/phycst.F90
r1746 r2137 37 37 rtt = 273.16_wp , & !: triple point of temperature (Kelvin) 38 38 rt0 = 273.15_wp , & !: freezing point of water (Kelvin) 39 rau0 = 1020._wp , & !: volumic mass of reference (kg/m3) 40 rauw = 1000._wp , & !: density of pure water (kg/m3) 39 rau0 = 1035._wp , & !: volumic mass of reference (kg/m3) 41 40 rcp = 4.e+3_wp, & !: ocean specific heat 42 41 ro0cpr !: = 1. / ( rau0 * rcp ) … … 127 126 ro0cpr = 1. / ( rau0 * rcp ) 128 127 IF(lwp) WRITE(numout,*) 129 IF(lwp) WRITE(numout,*) ' volumic mass of pure water rauw = ', rauw, ' kg/m^3'130 128 IF(lwp) WRITE(numout,*) ' volumic mass of reference rau0 = ', rau0, ' kg/m^3' 131 129 IF(lwp) WRITE(numout,*) ' ocean specific heat rcp = ', rcp -
branches/devmercator2010_1/NEMO/OFF_SRC/lib_mpp.F90
r1324 r2137 105 105 !! ========================= !! 106 106 !$AGRIF_DO_NOT_TREAT 107 # include <mpif.h> 107 INCLUDE mpif.h 108 108 !$AGRIF_END_DO_NOT_TREAT 109 109 -
branches/devmercator2010_1/NEMO/OFF_SRC/trc_oce.F90
r1445 r2137 39 39 !!---------------------------------------------------------------------- 40 40 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 41 !! $Id: trc_oce.F90 1 423 2009-05-06 16:22:01Z ctlod $41 !! $Id: trc_oce.F90 1834 2010-04-14 11:54:19Z cetlod $ 42 42 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 43 43 !!---------------------------------------------------------------------- … … 126 126 zrgb(1,51) = 3.162 ; zrgb(2,51) = 0.22703 ; zrgb(3,51) = 0.16599 ; zrgb(4,51) = 0.46601 127 127 zrgb(1,52) = 3.548 ; zrgb(2,52) = 0.24433 ; zrgb(3,52) = 0.17334 ; zrgb(4,52) = 0.47313 128 zrgb(1,53) = 3.981 ; zrgb(2,53) = 0.26301 ; zrgb(3,53) = 0.18126 ; zrgb(4,5 4) = 0.48080129 zrgb(1,54) = 4.467 ; zrgb(2,54) = 0.28320 ; zrgb(3,54) = 0.18981 ; zrgb(4,5 5) = 0.48909130 zrgb(1,55) = 5.012 ; zrgb(2,55) = 0.30502 ; zrgb(3,55) = 0.19903 ; zrgb(4,5 6) = 0.49803131 zrgb(1,56) = 5.623 ; zrgb(2,56) = 0.32858 ; zrgb(3,56) = 0.20898 ; zrgb(4,5 7) = 0.50768132 zrgb(1,57) = 6.310 ; zrgb(2,57) = 0.35404 ; zrgb(3,57) = 0.21971 ; zrgb(4,5 8) = 0.51810133 zrgb(1,58) = 7.079 ; zrgb(2,58) = 0.38154 ; zrgb(3,58) = 0.23129 ; zrgb(4,5 9) = 0.52934134 zrgb(1,59) = 7.943 ; zrgb(2,59) = 0.41125 ; zrgb(3,59) = 0.24378 ; zrgb(4,5 0) = 0.54147128 zrgb(1,53) = 3.981 ; zrgb(2,53) = 0.26301 ; zrgb(3,53) = 0.18126 ; zrgb(4,53) = 0.48080 129 zrgb(1,54) = 4.467 ; zrgb(2,54) = 0.28320 ; zrgb(3,54) = 0.18981 ; zrgb(4,54) = 0.48909 130 zrgb(1,55) = 5.012 ; zrgb(2,55) = 0.30502 ; zrgb(3,55) = 0.19903 ; zrgb(4,55) = 0.49803 131 zrgb(1,56) = 5.623 ; zrgb(2,56) = 0.32858 ; zrgb(3,56) = 0.20898 ; zrgb(4,56) = 0.50768 132 zrgb(1,57) = 6.310 ; zrgb(2,57) = 0.35404 ; zrgb(3,57) = 0.21971 ; zrgb(4,57) = 0.51810 133 zrgb(1,58) = 7.079 ; zrgb(2,58) = 0.38154 ; zrgb(3,58) = 0.23129 ; zrgb(4,58) = 0.52934 134 zrgb(1,59) = 7.943 ; zrgb(2,59) = 0.41125 ; zrgb(3,59) = 0.24378 ; zrgb(4,59) = 0.54147 135 135 zrgb(1,60) = 8.912 ; zrgb(2,60) = 0.44336 ; zrgb(3,60) = 0.25725 ; zrgb(4,60) = 0.55457 136 136 zrgb(1,61) = 10.000 ; zrgb(2,61) = 0.47804 ; zrgb(3,61) = 0.27178 ; zrgb(4,61) = 0.56870 -
branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diaar5.F90
r1756 r2137 175 175 thick0(:,:) = 0.e0 176 176 DO jk = 1, jpkm1 177 vol0 = vol0 + SUM( area (:,:) * tmask(:,:,jk) ) * e3t_0(jk) 178 thick0(:,:) = thick0(:,:) + tmask_i(:,:) * tmask(:,:,jk) * e3t_0(jk) 179 END DO 177 vol0 = vol0 + SUM( area (:,:) * tmask(:,:,jk) * fse3t_0(:,:,jk) ) 178 thick0(:,:) = thick0(:,:) + tmask_i(:,:) * tmask(:,:,jk) * fse3t_0(:,:,jk) 179 END DO 180 IF( lk_mpp ) CALL mpp_sum( vol0 ) 180 181 181 182 CALL iom_open ( 'data_1m_salinity_nomask', inum ) -
branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diadimg.F90
r1715 r2137 10 10 USE dom_oce ! ocean space and time domain 11 11 USE in_out_manager ! I/O manager 12 USE daymod ! calendar 12 13 13 14 IMPLICIT NONE … … 21 22 !!---------------------------------------------------------------------- 22 23 !! OPA 9.0 , LOCEAN-IPSL (2005) 23 !! $ Id$24 !! $Header$ 24 25 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 25 26 !!---------------------------------------------------------------------- … … 56 57 INTEGER :: jk, jn ! dummy loop indices 57 58 INTEGER :: irecl4, & ! record length in bytes 58 & inum, & ! logical unit 59 & irec ! current record to be written 59 & inum, & ! logical unit (set to 14) 60 & irec, & ! current record to be written 61 & irecend ! record number where nclit... are stored 60 62 REAL(sp) :: zdx,zdy,zspval,zwest,ztimm 61 63 REAL(sp) :: zsouth … … 69 71 !! * Initialisations 70 72 71 irecl4 = MAX(jpi*jpj*sp , 84+ 18*sp + (jpk+8)*jpnij*sp)73 irecl4 = MAX(jpi*jpj*sp , 84+(18+1+jpk)*sp ) 72 74 73 75 zspval=0.0_sp ! special values on land … … 101 103 102 104 IF ( ln_dimgnnn ) THEN 105 irecl4 = MAX(jpi*jpj*sp , 84+(18+jpk)*sp + 8*jpnij*sp ) 103 106 WRITE(clname,'(a,a,i3.3)') TRIM(cd_name),'.',narea 104 CALL ctl_opn( inum, clname, 'REPLACE', 'UNFORMATTED', 'DIRECT', irecl4, numout, lwp)107 CALL ctl_opn(inum, clname,'UNKNOWN','UNFORMATTED','DIRECT',irecl4,numout,lwp) 105 108 WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 106 109 & jpi,jpj, klev, 1 , 1 , & … … 127 130 ENDIF 128 131 ELSE 132 clver='@!03' ! dimg string identifier 133 ! note that version @!02 is optimized with respect to record length. 134 ! The vertical dep variable is reduced to klev instead of klev*jpnij : 135 ! this is OK for jpnij < 181 (jpk=46) 136 ! for more processors, irecl4 get huge and that's why we switch to '@!03': 137 ! In this case we just add an extra integer to the standard dimg structure, 138 ! which is a record number where the arrays nlci etc... starts (1 per record) 139 129 140 !! Standard dimgproc (1 file per variable, all procs. write to this file ) 130 141 !! * Open file 131 CALL ctl_opn( inum, cd_name, 'REPLACE', 'UNFORMATTED', 'DIRECT', irecl4, numout, lwp)142 CALL ctl_opn(inum, cd_name,'UNKNOWN','UNFORMATTED','DIRECT',irecl4,numout,lwp) 132 143 133 144 !! * Write header on record #1 145 irecend=1 + klev*jpnij 134 146 IF(lwp) WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 135 & jpi,jpj, klev *jpnij, 1 , 1 , &147 & jpi,jpj, klev, 1 , 1 , & 136 148 & zwest, zsouth, zdx, zdy, zspval, & 137 & (z4dep(1:klev),jn=1,jpnij), &149 & z4dep(1:klev), & 138 150 & ztimm, & 139 & narea, jpnij,jpiglo,jpjglo,jpizoom, jpjzoom, & ! extension to dimg for mpp output 140 & nlcit,nlcjt, nldit, nldjt, nleit, nlejt, nimppt, njmppt ! 151 & narea, jpnij,jpiglo,jpjglo,jpizoom, jpjzoom, irecend 152 IF (lwp ) THEN 153 WRITE(inum,REC=irecend + 1 ) nlcit 154 WRITE(inum,REC=irecend + 2 ) nlcjt 155 WRITE(inum,REC=irecend + 3 ) nldit 156 WRITE(inum,REC=irecend + 4 ) nldjt 157 WRITE(inum,REC=irecend + 5 ) nleit 158 WRITE(inum,REC=irecend + 6 ) nlejt 159 WRITE(inum,REC=irecend + 7 ) nimppt 160 WRITE(inum,REC=irecend + 8 ) njmppt 161 ENDIF 162 ! & ! extension to dimg for mpp output 163 ! & nlcit,nlcjt, nldit, nldjt, nleit, nlejt, nimppt, njmppt ! 141 164 142 165 !! * Write klev levels -
branches/devmercator2010_1/NEMO/OPA_SRC/DIA/dianam.F90
r1731 r2137 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/devmercator2010_1/NEMO/OPA_SRC/DIA/diaptr.F90
r1775 r2137 362 362 #endif 363 363 364 ! Transports 365 ! T times V on T points (include bolus velocities) 366 #if defined key_diaeiv 367 DO jj = 2, jpj 368 DO ji = 1, jpi 369 vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 370 vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 371 END DO 372 END DO 373 #else 374 DO jj = 2, jpj 375 DO ji = 1, jpi 376 vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 377 vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 378 END DO 379 END DO 380 #endif 381 CALL lbc_lnk( vs, 'V', -1. ) ; CALL lbc_lnk( vt, 'V', -1. ) 382 383 ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 ) 384 st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 ) 385 386 IF ( ln_subbas ) THEN 387 ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 388 ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 389 ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 390 ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 391 st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 392 st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 393 st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 394 st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 395 ENDIF 396 397 ! poleward tracer transports: 398 ! overturning components: 399 IF ( ln_ptrcomp ) THEN 400 pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 ) ! SUM over jk 401 pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 ) 402 IF ( ln_subbas ) THEN 403 pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 ) ! SUM over jk 404 pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 ) 405 pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 ) ! SUM over jk 406 pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 ) 407 pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 ) ! SUM over jk 408 pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 ) 409 pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 ) ! SUM over jk 410 pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 ) 411 END IF 412 END IF 413 414 ! Bolus component 415 #if defined key_diaeiv 416 pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 ) ! SUM over jk 417 pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 ) ! SUM over jk 418 IF ( ln_subbas ) THEN 419 pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 ) ! SUM over jk 420 pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 ) ! SUM over jk 421 pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 ) ! SUM over jk 422 pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 ) ! SUM over jk 423 pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 ) ! SUM over jk 424 pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 ) ! SUM over jk 425 pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 ) ! SUM over jk 426 pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 ) ! SUM over jk 427 ENDIF 428 #endif 429 430 ! conversion in PW and G g 431 zpwatt = zpwatt * rau0 * rcp 432 pht_adv(:) = pht_adv(:) * zpwatt 433 pht_ldf(:) = pht_ldf(:) * zpwatt 434 pst_adv(:) = pst_adv(:) * zggram 435 pst_ldf(:) = pst_ldf(:) * zggram 436 IF ( ln_ptrcomp ) THEN 437 pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 438 pst_ove_glo(:) = pst_ove_glo(:) * zggram 439 END IF 440 #if defined key_diaeiv 441 pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 442 pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 443 #endif 444 IF( ln_subbas ) THEN 445 ht_atl(:) = ht_atl(:) * zpwatt 446 ht_pac(:) = ht_pac(:) * zpwatt 447 ht_ind(:) = ht_ind(:) * zpwatt 448 ht_ipc(:) = ht_ipc(:) * zpwatt 449 st_atl(:) = st_atl(:) * zggram 450 st_pac(:) = st_pac(:) * zggram 451 st_ind(:) = st_ind(:) * zggram 452 st_ipc(:) = st_ipc(:) * zggram 453 ENDIF 454 364 455 ! "Meridional" Stream-Function 365 456 DO jk = 2,jpk … … 394 485 v_msf_ind(:,:) = v_msf_ind(:,:) * zsverdrup 395 486 v_msf_ipc(:,:) = v_msf_ipc(:,:) * zsverdrup 396 ENDIF397 398 ! Transports399 ! T times V on T points (include bolus velocities)400 #if defined key_diaeiv401 DO jj = 2, jpj402 DO ji = 1, jpi403 vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5404 vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5405 END DO406 END DO407 #else408 DO jj = 2, jpj409 DO ji = 1, jpi410 vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5411 vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5412 END DO413 END DO414 #endif415 CALL lbc_lnk( vs, 'V', -1. ) ; CALL lbc_lnk( vt, 'V', -1. )416 417 ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 )418 st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 )419 420 IF ( ln_subbas ) THEN421 ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 )422 ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 )423 ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 )424 ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 )425 st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 )426 st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 )427 st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 )428 st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 )429 ENDIF430 431 ! poleward tracer transports:432 ! overturning components:433 IF ( ln_ptrcomp ) THEN434 pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 ) ! SUM over jk435 pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )436 IF ( ln_subbas ) THEN437 pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 ) ! SUM over jk438 pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 )439 pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 ) ! SUM over jk440 pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 )441 pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 ) ! SUM over jk442 pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 )443 pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 ) ! SUM over jk444 pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )445 END IF446 END IF447 448 ! Bolus component449 #if defined key_diaeiv450 pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 ) ! SUM over jk451 pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 ) ! SUM over jk452 IF ( ln_subbas ) THEN453 pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 ) ! SUM over jk454 pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 ) ! SUM over jk455 pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 ) ! SUM over jk456 pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 ) ! SUM over jk457 pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 ) ! SUM over jk458 pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 ) ! SUM over jk459 pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 ) ! SUM over jk460 pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 ) ! SUM over jk461 ENDIF462 #endif463 464 ! conversion in PW and G g465 zpwatt = zpwatt * rau0 * rcp466 pht_adv(:) = pht_adv(:) * zpwatt467 pht_ldf(:) = pht_ldf(:) * zpwatt468 pst_adv(:) = pst_adv(:) * zggram469 pst_ldf(:) = pst_ldf(:) * zggram470 IF ( ln_ptrcomp ) THEN471 pht_ove_glo(:) = pht_ove_glo(:) * zpwatt472 pst_ove_glo(:) = pst_ove_glo(:) * zggram473 END IF474 #if defined key_diaeiv475 pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt476 pst_eiv_glo(:) = pst_eiv_glo(:) * zggram477 #endif478 IF( ln_subbas ) THEN479 ht_atl(:) = ht_atl(:) * zpwatt480 ht_pac(:) = ht_pac(:) * zpwatt481 ht_ind(:) = ht_ind(:) * zpwatt482 ht_ipc(:) = ht_ipc(:) * zpwatt483 st_atl(:) = st_atl(:) * zggram484 st_pac(:) = st_pac(:) * zggram485 st_ind(:) = st_ind(:) * zggram486 st_ipc(:) = st_ipc(:) * zggram487 487 ENDIF 488 488 ENDIF -
branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diawri.F90
r2130 r2137 632 632 ! Define name, frequency of output and means 633 633 clname = cdfile_name 634 #if defined key_agrif 635 if ( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 636 #endif 634 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 637 635 zdt = rdt 638 636 zsto = rdt -
branches/devmercator2010_1/NEMO/OPA_SRC/DOM/dom_oce.F90
r2131 r2137 221 221 #else 222 222 LOGICAL, PUBLIC, PARAMETER :: lk_agrif = .FALSE. !: agrif flag 223 224 CONTAINS 225 LOGICAL FUNCTION Agrif_Root() 226 Agrif_Root = .TRUE. 227 END FUNCTION Agrif_Root 228 229 CHARACTER(len=3) FUNCTION Agrif_CFixed() 230 Agrif_CFixed = '0' 231 END FUNCTION Agrif_CFixed 223 232 #endif 224 233 -
branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domain.F90
r1732 r2137 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/devmercator2010_1/NEMO/OPA_SRC/DOM/domhgr.F90
r1707 r2137 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/devmercator2010_1/NEMO/OPA_SRC/DOM/domvvl.F90
r1694 r2137 62 62 IF( lk_zco ) CALL ctl_stop( 'dom_vvl : key_zco is incompatible with variable volume option key_vvl') 63 63 64 fsdept(:,:,:) = gdept (:,:,:) 65 fsdepw(:,:,:) = gdepw (:,:,:) 66 fsde3w(:,:,:) = gdep3w(:,:,:) 67 fse3t (:,:,:) = e3t (:,:,:) 68 fse3u (:,:,:) = e3u (:,:,:) 69 fse3v (:,:,:) = e3v (:,:,:) 70 fse3f (:,:,:) = e3f (:,:,:) 71 fse3w (:,:,:) = e3w (:,:,:) 72 fse3uw(:,:,:) = e3uw (:,:,:) 73 fse3vw(:,:,:) = e3vw (:,:,:) 64 IF( ln_zco) THEN 65 DO jk = 1, jpk 66 gdept(:,:,jk) = gdept_0(jk) 67 gdepw(:,:,jk) = gdepw_0(jk) 68 gdep3w(:,:,jk) = gdepw_0(jk) 69 e3t (:,:,jk) = e3t_0(jk) 70 e3u (:,:,jk) = e3t_0(jk) 71 e3v (:,:,jk) = e3t_0(jk) 72 e3f (:,:,jk) = e3t_0(jk) 73 e3w (:,:,jk) = e3w_0(jk) 74 e3uw(:,:,jk) = e3w_0(jk) 75 e3vw(:,:,jk) = e3w_0(jk) 76 END DO 77 ELSE 78 fsdept(:,:,:) = gdept (:,:,:) 79 fsdepw(:,:,:) = gdepw (:,:,:) 80 fsde3w(:,:,:) = gdep3w(:,:,:) 81 fse3t (:,:,:) = e3t (:,:,:) 82 fse3u (:,:,:) = e3u (:,:,:) 83 fse3v (:,:,:) = e3v (:,:,:) 84 fse3f (:,:,:) = e3f (:,:,:) 85 fse3w (:,:,:) = e3w (:,:,:) 86 fse3uw(:,:,:) = e3uw (:,:,:) 87 fse3vw(:,:,:) = e3vw (:,:,:) 88 ENDIF 74 89 75 90 ! !== mu computation ==! … … 139 154 CALL lbc_lnk( sshf_b, 'F', 1. ) ; CALL lbc_lnk( sshf_n, 'F', 1. ) 140 155 ! 156 DO jk = 1, jpkm1 157 fsdept(:,:,jk) = fsdept_n(:,:,jk) ! now local depths stored in fsdep. arrays 158 fsdepw(:,:,jk) = fsdepw_n(:,:,jk) 159 fsde3w(:,:,jk) = fsde3w_n(:,:,jk) 160 ! 161 fse3t (:,:,jk) = fse3t_n (:,:,jk) ! vertical scale factors stored in fse3. arrays 162 fse3u (:,:,jk) = fse3u_n (:,:,jk) 163 fse3v (:,:,jk) = fse3v_n (:,:,jk) 164 fse3f (:,:,jk) = fse3f_n (:,:,jk) 165 fse3w (:,:,jk) = fse3w_n (:,:,jk) 166 fse3uw(:,:,jk) = fse3uw_n(:,:,jk) 167 fse3vw(:,:,jk) = fse3vw_n(:,:,jk) 168 END DO 169 170 171 141 172 END SUBROUTINE dom_vvl 142 173 -
branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domwri.F90
r1590 r2137 45 45 !! domhgr, domzgr, and dommsk. Note: the file contain depends on 46 46 !! the vertical coord. used (z-coord, partial steps, s-coord) 47 !! nmsh= 1 : 'mesh_mask.nc' file47 !! MOD(nmsh, 3) = 1 : 'mesh_mask.nc' file 48 48 !! = 2 : 'mesh.nc' and mask.nc' files 49 !! = 3: 'mesh_hgr.nc', 'mesh_zgr.nc' and49 !! = 0 : 'mesh_hgr.nc', 'mesh_zgr.nc' and 50 50 !! 'mask.nc' files 51 51 !! For huge size domain, use option 2 or 3 depending on your 52 52 !! vertical coordinate. 53 !! 54 !! if nmsh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 55 !! if 3 < nmsh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays 56 !! corresponding to the depth of the bottom points hdep[tw] 57 !! if 6 < nmsh <= 9: write 2D arrays corresponding to the depth and the 58 !! thickness of the bottom points hdep[tw] and e3[tw]_ps 53 59 !! 54 60 !! ** output file : … … 241 247 ! ! close the files 242 248 ! ! ============================ 243 SELECT CASE ( nmsh)249 SELECT CASE ( MOD(nmsh, 3) ) 244 250 CASE ( 1 ) 245 251 CALL iom_close( inum0 ) … … 247 253 CALL iom_close( inum1 ) 248 254 CALL iom_close( inum2 ) 249 CASE ( 3)255 CASE ( 0 ) 250 256 CALL iom_close( inum2 ) 251 257 CALL iom_close( inum3 ) -
branches/devmercator2010_1/NEMO/OPA_SRC/DOM/phycst.F90
r1739 r2137 4 4 !! Definition of of both ocean and ice parameters used in the code 5 5 !!===================================================================== 6 !! History : !90-10 (C. Levy - G. Madec) Original code7 !! ! 91-11 (G. Madec)8 !! ! 91-12 (M. Imbard)9 !! 8.5 ! 02-08 (G. Madec, C. Ethe) F90, add ice constants10 !! 9.0 ! 06-08 (G. Madec)style6 !! History : OPA ! 1990-10 (C. Levy - G. Madec) Original code 7 !! 8.1 ! 1991-11 (G. Madec, M. Imbard) cosmetic changes 8 !! NEMO 1.0 ! 2002-08 (G. Madec, C. Ethe) F90, add ice constants 9 !! - ! 2006-08 (G. Madec) style 10 !! 3.2 ! 2006-08 (S. Masson, G. Madec) suppress useless variables + style 11 11 !!---------------------------------------------------------------------- 12 12 … … 24 24 REAL(wp), PUBLIC :: rpi = 3.141592653589793_wp !: pi 25 25 REAL(wp), PUBLIC :: rad = 3.141592653589793_wp / 180._wp !: conversion from degre into radian 26 REAL(wp), PUBLIC :: rsmall = 0.5 * EPSILON( 1. )!: smallest real computer value26 REAL(wp), PUBLIC :: rsmall = 0.5 * EPSILON( 1.e0 ) !: smallest real computer value 27 27 28 REAL(wp), PUBLIC :: & !: 29 rday = 24.*60.*60. , & !: day (s) 30 rsiyea , & !: sideral year (s) 31 rsiday , & !: sideral day (s) 32 raamo = 12._wp , & !: number of months in one year 33 rjjhh = 24._wp , & !: number of hours in one day 34 rhhmm = 60._wp , & !: number of minutes in one hour 35 rmmss = 60._wp , & !: number of seconds in one minute 36 !!! omega = 7.292115083046061e-5_wp , & !: change the last digit! 37 omega , & !: earth rotation parameter 38 ra = 6371229._wp , & !: earth radius (meter) 39 grav = 9.80665_wp !: gravity (m/s2) 28 REAL(wp), PUBLIC :: rday = 24.*60.*60. !: day (s) 29 REAL(wp), PUBLIC :: rsiyea !: sideral year (s) 30 REAL(wp), PUBLIC :: rsiday !: sideral day (s) 31 REAL(wp), PUBLIC :: raamo = 12._wp !: number of months in one year 32 REAL(wp), PUBLIC :: rjjhh = 24._wp !: number of hours in one day 33 REAL(wp), PUBLIC :: rhhmm = 60._wp !: number of minutes in one hour 34 REAL(wp), PUBLIC :: rmmss = 60._wp !: number of seconds in one minute 35 !! REAL(wp), PUBLIC :: omega = 7.292115083046061e-5_wp , & !: change the last digit! 36 REAL(wp), PUBLIC :: omega !: earth rotation parameter 37 REAL(wp), PUBLIC :: ra = 6371229._wp !: earth radius (meter) 38 REAL(wp), PUBLIC :: grav = 9.80665_wp !: gravity (m/s2) 40 39 41 REAL(wp), PUBLIC :: & !: 42 rtt = 273.16_wp , & !: triple point of temperature (Kelvin) 43 rt0 = 273.15_wp , & !: freezing point of water (Kelvin) 40 REAL(wp), PUBLIC :: rtt = 273.16_wp !: triple point of temperature (Kelvin) 41 REAL(wp), PUBLIC :: rt0 = 273.15_wp !: freezing point of water (Kelvin) 44 42 #if defined key_lim3 45 rt0_snow = 273.16_wp , &!: melting point of snow (Kelvin)46 rt0_ice = 273.16_wp , &!: melting point of ice (Kelvin)43 REAL(wp), PUBLIC :: rt0_snow = 273.16_wp !: melting point of snow (Kelvin) 44 REAL(wp), PUBLIC :: rt0_ice = 273.16_wp !: melting point of ice (Kelvin) 47 45 #else 48 rt0_snow = 273.15_wp , &!: melting point of snow (Kelvin)49 rt0_ice = 273.05_wp , &!: melting point of ice (Kelvin)46 REAL(wp), PUBLIC :: rt0_snow = 273.15_wp !: melting point of snow (Kelvin) 47 REAL(wp), PUBLIC :: rt0_ice = 273.05_wp !: melting point of ice (Kelvin) 50 48 #endif 51 rau0 = 1035._wp , & !: volumic mass of reference (kg/m3)52 rauw = 1000._wp , & !: volumic mass of pure water (kg/m3)53 rcp = 4.e+3_wp, & !: ocean specific heat54 ro0cpr !: = 1. / ( rau0 * rcp )55 49 56 REAL(wp), PUBLIC :: & !: 50 REAL(wp), PUBLIC :: rau0 = 1020._wp !: reference volumic mass (density) (kg/m3) 51 REAL(wp), PUBLIC :: rau0r !: reference specific volume (m3/kg) 52 REAL(wp), PUBLIC :: rcp = 4.e+3_wp !: ocean specific heat 53 REAL(wp), PUBLIC :: ro0cpr !: = 1. / ( rau0 * rcp ) 54 57 55 #if defined key_lim3 58 rcdsn = 0.31_wp , & !: thermal conductivity of snow 59 rcdic = 2.034396_wp , & !: thermal conductivity of fresh ice 60 cpic = 2067.0 , & 61 ! add the following lines 62 lsub = 2.834e+6 , & !: pure ice latent heat of sublimation (J.kg-1) 63 lfus = 0.334e+6 , & !: latent heat of fusion of fresh ice (J.kg-1) 64 rhoic = 917._wp , & !: volumic mass of sea ice (kg/m3) 65 tmut = 0.054 , & !: decrease of seawater meltpoint with salinity 56 REAL(wp), PUBLIC :: rcdsn = 0.31_wp !: thermal conductivity of snow 57 REAL(wp), PUBLIC :: rcdic = 2.034396_wp !: thermal conductivity of fresh ice 58 REAL(wp), PUBLIC :: cpic = 2067.0 !: specific heat of sea ice 59 REAL(wp), PUBLIC :: lsub = 2.834e+6 !: pure ice latent heat of sublimation (J.kg-1) 60 REAL(wp), PUBLIC :: lfus = 0.334e+6 !: latent heat of fusion of fresh ice (J.kg-1) 61 REAL(wp), PUBLIC :: rhoic = 917._wp !: volumic mass of sea ice (kg/m3) 62 REAL(wp), PUBLIC :: tmut = 0.054 !: decrease of seawater meltpoint with salinity 66 63 #else 67 rcdsn = 0.22_wp , & !: conductivity of the snow 68 rcdic = 2.034396_wp , & !: conductivity of the ice 69 rcpsn = 6.9069e+5_wp, & !: density times specific heat for snow 70 rcpic = 1.8837e+6_wp, & !: volumetric latent heat fusion of sea ice 71 xlsn = 110.121e+6_wp , & !: volumetric latent heat fusion of snow 72 xlic = 300.33e+6_wp , & !: volumetric latent heat fusion of ice 73 xsn = 2.8e+6 , & !: latent heat of sublimation of snow 74 rhoic = 900._wp , & !: volumic mass of sea ice (kg/m3) 64 REAL(wp), PUBLIC :: rcdsn = 0.22_wp !: conductivity of the snow 65 REAL(wp), PUBLIC :: rcdic = 2.034396_wp !: conductivity of the ice 66 REAL(wp), PUBLIC :: rcpsn = 6.9069e+5_wp !: density times specific heat for snow 67 REAL(wp), PUBLIC :: rcpic = 1.8837e+6_wp !: volumetric latent heat fusion of sea ice 68 REAL(wp), PUBLIC :: lfus = 0.3337e+6 !: latent heat of fusion of fresh ice (J.kg-1) 69 REAL(wp), PUBLIC :: xlsn = 110.121e+6_wp !: volumetric latent heat fusion of snow 70 REAL(wp), PUBLIC :: xlic = 300.33e+6_wp !: volumetric latent heat fusion of ice 71 REAL(wp), PUBLIC :: xsn = 2.8e+6 !: latent heat of sublimation of snow 72 REAL(wp), PUBLIC :: rhoic = 900._wp !: volumic mass of sea ice (kg/m3) 75 73 #endif 76 rhosn = 330._wp , &!: volumic mass of snow (kg/m3)77 emic = 0.97_wp , &!: emissivity of snow or ice78 sice = 6.0_wp , & !:salinity of ice (psu)79 soce = 34.7_wp , & !:salinity of sea (psu)80 cevap = 2.5e+6_wp , &!: latent heat of evaporation (water)81 srgamma = 0.9_wp , &!: correction factor for solar radiation (Oberhuber, 1974)82 vkarmn = 0.4_wp , &!: von Karman constant83 stefan = 5.67e-8_wp!: Stefan-Boltzmann constant84 85 !! OPA 9.0 , LOCEAN-IPSL (2005)86 87 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt88 74 REAL(wp), PUBLIC :: rhosn = 330._wp !: volumic mass of snow (kg/m3) 75 REAL(wp), PUBLIC :: emic = 0.97_wp !: emissivity of snow or ice 76 REAL(wp), PUBLIC :: sice = 6.0_wp !: reference salinity of ice (psu) 77 REAL(wp), PUBLIC :: soce = 34.7_wp !: reference salinity of sea (psu) 78 REAL(wp), PUBLIC :: cevap = 2.5e+6_wp !: latent heat of evaporation (water) 79 REAL(wp), PUBLIC :: srgamma = 0.9_wp !: correction factor for solar radiation (Oberhuber, 1974) 80 REAL(wp), PUBLIC :: vkarmn = 0.4_wp !: von Karman constant 81 REAL(wp), PUBLIC :: stefan = 5.67e-8_wp !: Stefan-Boltzmann constant 82 !!---------------------------------------------------------------------- 83 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 84 !! $Id$ 85 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 86 !!---------------------------------------------------------------------- 89 87 90 88 CONTAINS … … 99 97 !!---------------------------------------------------------------------- 100 98 101 IF(lwp) WRITE(numout,*) 102 IF(lwp) WRITE(numout,*) ' phy_cst : initialization of ocean parameters and constants' 103 IF(lwp) WRITE(numout,*) ' ~~~~~~~' 99 ! ! Define additional parameters 100 rsiyea = 365.25 * rday * 2. * rpi / 6.283076 101 rsiday = rday / ( 1. + rday / rsiyea ) 102 omega = 2. * rpi / rsiday 104 103 105 ! Ocean Parameters 106 ! ---------------- 107 IF(lwp) THEN 104 rau0r = 1. / rau0 105 ro0cpr = 1. / ( rau0 * rcp ) 106 107 108 IF(lwp) THEN ! control print 109 WRITE(numout,*) 110 WRITE(numout,*) ' phy_cst : initialization of ocean parameters and constants' 111 WRITE(numout,*) ' ~~~~~~~' 108 112 WRITE(numout,*) ' Domain info' 109 113 WRITE(numout,*) ' dimension of model' … … 118 122 WRITE(numout,*) ' jpnij : ', jpnij 119 123 WRITE(numout,*) ' lateral domain boundary condition type : jperio = ', jperio 120 ENDIF 121 122 ! Define constants 123 ! ---------------- 124 IF(lwp) WRITE(numout,*) 125 IF(lwp) WRITE(numout,*) ' Constants' 126 127 IF(lwp) WRITE(numout,*) 128 IF(lwp) WRITE(numout,*) ' mathematical constant rpi = ', rpi 129 130 rsiyea = 365.25 * rday * 2. * rpi / 6.283076 131 rsiday = rday / ( 1. + rday / rsiyea ) 132 omega = 2. * rpi / rsiday 133 IF(lwp) WRITE(numout,*) 134 IF(lwp) WRITE(numout,*) ' day rday = ', rday, ' s' 135 IF(lwp) WRITE(numout,*) ' sideral year rsiyea = ', rsiyea, ' s' 136 IF(lwp) WRITE(numout,*) ' sideral day rsiday = ', rsiday, ' s' 137 IF(lwp) WRITE(numout,*) ' omega omega = ', omega, ' s-1' 138 139 IF(lwp) WRITE(numout,*) 140 IF(lwp) WRITE(numout,*) ' nb of months per year raamo = ', raamo, ' months' 141 IF(lwp) WRITE(numout,*) ' nb of hours per day rjjhh = ', rjjhh, ' hours' 142 IF(lwp) WRITE(numout,*) ' nb of minutes per hour rhhmm = ', rhhmm, ' mn' 143 IF(lwp) WRITE(numout,*) ' nb of seconds per minute rmmss = ', rmmss, ' s' 144 145 IF(lwp) WRITE(numout,*) 146 IF(lwp) WRITE(numout,*) ' earth radius ra = ', ra, ' m' 147 IF(lwp) WRITE(numout,*) ' gravity grav = ', grav , ' m/s^2' 148 149 IF(lwp) WRITE(numout,*) 150 IF(lwp) WRITE(numout,*) ' triple point of temperature rtt = ', rtt , ' K' 151 IF(lwp) WRITE(numout,*) ' freezing point of water rt0 = ', rt0 , ' K' 152 IF(lwp) WRITE(numout,*) ' melting point of snow rt0_snow = ', rt0_snow, ' K' 153 IF(lwp) WRITE(numout,*) ' melting point of ice rt0_ice = ', rt0_ice , ' K' 154 155 ro0cpr = 1. / ( rau0 * rcp ) 156 IF(lwp) WRITE(numout,*) 157 IF(lwp) WRITE(numout,*) ' volumic mass of pure water rauw = ', rauw, ' kg/m^3' 158 IF(lwp) WRITE(numout,*) ' volumic mass of reference rau0 = ', rau0, ' kg/m^3' 159 IF(lwp) WRITE(numout,*) ' ocean specific heat rcp = ', rcp 160 IF(lwp) WRITE(numout,*) ' 1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 161 162 IF(lwp) THEN 124 WRITE(numout,*) 125 WRITE(numout,*) ' Constants' 126 WRITE(numout,*) 127 WRITE(numout,*) ' mathematical constant rpi = ', rpi 128 WRITE(numout,*) ' day rday = ', rday, ' s' 129 WRITE(numout,*) ' sideral year rsiyea = ', rsiyea, ' s' 130 WRITE(numout,*) ' sideral day rsiday = ', rsiday, ' s' 131 WRITE(numout,*) ' omega omega = ', omega, ' s-1' 132 WRITE(numout,*) 133 WRITE(numout,*) ' nb of months per year raamo = ', raamo, ' months' 134 WRITE(numout,*) ' nb of hours per day rjjhh = ', rjjhh, ' hours' 135 WRITE(numout,*) ' nb of minutes per hour rhhmm = ', rhhmm, ' mn' 136 WRITE(numout,*) ' nb of seconds per minute rmmss = ', rmmss, ' s' 137 WRITE(numout,*) 138 WRITE(numout,*) ' earth radius ra = ', ra, ' m' 139 WRITE(numout,*) ' gravity grav = ', grav , ' m/s^2' 140 WRITE(numout,*) 141 WRITE(numout,*) ' triple point of temperature rtt = ', rtt , ' K' 142 WRITE(numout,*) ' freezing point of water rt0 = ', rt0 , ' K' 143 WRITE(numout,*) ' melting point of snow rt0_snow = ', rt0_snow, ' K' 144 WRITE(numout,*) ' melting point of ice rt0_ice = ', rt0_ice , ' K' 145 WRITE(numout,*) 146 WRITE(numout,*) ' ocean reference volumic mass rau0 = ', rau0 , ' kg/m^3' 147 WRITE(numout,*) ' ocean reference specific volume rau0r = ', rau0r, ' m^3/Kg' 148 WRITE(numout,*) ' ocean specific heat rcp = ', rcp 149 WRITE(numout,*) ' 1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 163 150 WRITE(numout,*) 164 151 WRITE(numout,*) ' thermal conductivity of the snow = ', rcdsn , ' J/s/m/K' … … 184 171 WRITE(numout,*) ' von Karman constant = ', vkarmn 185 172 WRITE(numout,*) ' Stefan-Boltzmann constant = ', stefan , ' J/s/m^2/K^4' 186 187 173 WRITE(numout,*) 188 174 WRITE(numout,*) ' conversion: degre ==> radian rad = ', rad 189 190 175 WRITE(numout,*) 191 176 WRITE(numout,*) ' smallest real computer value rsmall = ', rsmall -
branches/devmercator2010_1/NEMO/OPA_SRC/DYN/divcur.F90
r1152 r2137 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/devmercator2010_1/NEMO/OPA_SRC/DYN/dynnxt.F90
r1740 r2137 146 146 # if defined key_obc 147 147 ! !* OBC open boundaries 148 CALL obc_dyn( kt )148 IF( lk_obc ) CALL obc_dyn( kt ) 149 149 ! 150 150 IF ( lk_dynspg_exp .OR. lk_dynspg_ts ) THEN -
branches/devmercator2010_1/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r1739 r2137 186 186 187 187 #if defined key_obc 188 CALL obc_dyn( kt )! Update velocities on each open boundary with the radiation algorithm189 CALL obc_vol( kt )! Correction of the barotropic componant velocity to control the volume of the system188 IF( lk_obc ) CALL obc_dyn( kt ) ! Update velocities on each open boundary with the radiation algorithm 189 IF( lk_obc ) CALL obc_vol( kt ) ! Correction of the barotropic componant velocity to control the volume of the system 190 190 #endif 191 191 #if defined key_bdy … … 315 315 #if defined key_obc 316 316 ! caution : grad D = 0 along open boundaries 317 spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 318 spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 317 IF( Agrif_Root() ) THEN 318 spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 319 spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 320 ELSE 321 spgu(ji,jj) = z2dt * ztdgu 322 spgv(ji,jj) = z2dt * ztdgv 323 ENDIF 319 324 #elif defined key_bdy 320 325 ! caution : grad D = 0 along open boundaries -
branches/devmercator2010_1/NEMO/OPA_SRC/DYN/sshwzv.F90
r1756 r2137 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/devmercator2010_1/NEMO/OPA_SRC/IOM/iom.F90
r1743 r2137 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/devmercator2010_1/NEMO/OPA_SRC/IOM/prtctl.F90
r1613 r2137 120 120 IF( PRESENT(tab2d_1) ) ztab2d_1(:,:) = tab2d_1(:,:) 121 121 IF( PRESENT(tab2d_2) ) ztab2d_2(:,:) = tab2d_2(:,:) 122 IF( PRESENT(tab3d_1) ) ztab3d_1(:,:, :)= tab3d_1(:,:,:)123 IF( PRESENT(tab3d_2) ) ztab3d_2(:,:, :)= tab3d_2(:,:,:)122 IF( PRESENT(tab3d_1) ) ztab3d_1(:,:,1:kdir)= tab3d_1(:,:,:) 123 IF( PRESENT(tab3d_2) ) ztab3d_2(:,:,1:kdir)= tab3d_2(:,:,:) 124 124 IF( PRESENT(mask1) ) zmask1 (:,:,:)= mask1 (:,:,:) 125 125 IF( PRESENT(mask2) ) zmask2 (:,:,:)= mask2 (:,:,:) -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_oce.F90
r1601 r2137 27 27 ! 28 28 ! !!* Namelist namobc: open boundary condition * 29 INTEGER :: nn_nbobc = 2 !: number of open boundaries ( 1=< nbobc =< 4 )30 29 INTEGER :: nn_obcdta = 0 !: = 0 use the initial state as obc data 31 30 ! ! = 1 read obc data in obcxxx.dta files -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_par.F90
r1647 r2137 25 25 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 26 26 !!---------------------------------------------------------------------- 27 LOGICAL, PUBLIC, PARAMETER :: lk_obc = .TRUE. !: Ocean Boundary Condition flag 27 #if ! defined key_agrif 28 LOGICAL, PUBLIC, PARAMETER :: lk_obc = .TRUE. !: Ocean Boundary Condition flag 29 #else 30 LOGICAL, PUBLIC :: lk_obc = .TRUE. !: Ocean Boundary Condition flag 31 #endif 28 32 29 33 # if defined key_eel_r5 … … 48 52 LOGICAL, PARAMETER :: & !: 49 53 lp_obc_east = .FALSE. !: to active or not the East open boundary 50 INTEGER, PARAMETER :: & !: 54 INTEGER & 55 #if !defined key_agrif 56 , PARAMETER & 57 #endif 58 :: & 51 59 jpieob = jpiglo-2, & !: i-localization of the East open boundary (must be ocean U-point) 52 60 jpjed = 2, & !: j-starting indice of the East open boundary (must be land T-point) … … 58 66 LOGICAL, PARAMETER :: & !: 59 67 lp_obc_west = .FALSE. !: to active or not the West open boundary 60 INTEGER, PARAMETER :: & !: 68 INTEGER & 69 #if !defined key_agrif 70 , PARAMETER & 71 #endif 72 :: & 61 73 jpiwob = 2, & !: i-localization of the West open boundary (must be ocean U-point) 62 74 jpjwd = 2, & !: j-starting indice of the West open boundary (must be land T-point) … … 68 80 LOGICAL, PARAMETER :: & !: 69 81 lp_obc_north = .FALSE. !: to active or not the North open boundary 70 INTEGER, PARAMETER :: & !: 82 INTEGER & 83 #if !defined key_agrif 84 , PARAMETER & 85 #endif 86 :: & 71 87 jpjnob = jpjglo-2, & !: j-localization of the North open boundary (must be ocean V-point) 72 88 jpind = 2, & !: i-starting indice of the North open boundary (must be land T-point) … … 78 94 LOGICAL, PARAMETER :: & !: 79 95 lp_obc_south = .FALSE. !: to active or not the South open boundary 80 INTEGER, PARAMETER :: & !: 96 INTEGER & 97 #if !defined key_agrif 98 , PARAMETER & 99 #endif 100 :: & 81 101 jpjsob = 2, & !: j-localization of the South open boundary (must be ocean V-point) 82 102 jpisd = 2, & !: i-starting indice of the South open boundary (must be land T-point) -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_par_EEL_R5.h90
r1152 r2137 15 15 LOGICAL, PARAMETER :: & !: 16 16 lp_obc_east = .TRUE. !: to active or not the East open boundary 17 INTEGER, PARAMETER :: & !: 17 18 INTEGER & 19 #if !defined key_agrif 20 , PARAMETER & 21 #endif 22 :: & 18 23 jpieob = jpiglo-2, & !: i-localization of the East open boundary (must be ocean U-point) 19 24 jpjed = 2, & !: j-starting indice of the East open boundary (must be land T-point) … … 25 30 LOGICAL, PARAMETER :: & !: 26 31 lp_obc_west = .TRUE. !: to active or not the West open boundary 27 INTEGER, PARAMETER :: & 32 33 INTEGER & 34 #if !defined key_agrif 35 , PARAMETER & 36 #endif 37 :: & 28 38 jpiwob = 2, & !: i-localization of the West open boundary (must be ocean U-point) 29 39 jpjwd = 2, & !: j-starting indice of the West open boundary (must be land T-point) … … 35 45 LOGICAL, PARAMETER :: & !: 36 46 lp_obc_north = .FALSE. !: to active or not the North open boundary 37 INTEGER, PARAMETER :: & !: 47 48 INTEGER & 49 #if !defined key_agrif 50 , PARAMETER & 51 #endif 52 :: & 38 53 jpjnob = jpjglo-2, & !: j-localization of the North open boundary (must be ocean V-point) 39 54 jpind = 2, & !: i-starting indice of the North open boundary (must be land T-point) … … 45 60 LOGICAL, PARAMETER :: & !: 46 61 lp_obc_south = .FALSE. !: to active or not the South open boundary 47 INTEGER, PARAMETER :: & !: 62 63 INTEGER & 64 #if !defined key_agrif 65 , PARAMETER & 66 #endif 67 :: & 48 68 jpjsob = 2, & !: j-localization of the South open boundary (must be ocean V-point) 49 69 jpisd = 2, & !: i-starting indice of the South open boundary (must be land T-point) -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_par_POMME_R025.h90
r1648 r2137 4 4 !! open boundary parameter : POMME configuration 5 5 !!--------------------------------------------------------------------- 6 INTEGER, PARAMETER :: & !: time dimension of the BCS fields on input7 jptobc = 146 INTEGER, PARAMETER :: jptobc = 14 7 !: time dimension of the BCS fields on input 8 8 9 9 !! * EAST open boundary 10 10 LOGICAL, PARAMETER :: & !: 11 11 lp_obc_east = .TRUE. !: 12 INTEGER, PARAMETER :: & !:13 12 13 INTEGER & 14 #if !defined key_agrif 15 , PARAMETER & 16 #endif 17 :: & 14 18 ! * default values * 15 19 !jpieob = jpiglo-2, & !: i-localization of the East open boundary (must be ocean U-point) 16 20 !jpjed = 2, & !: j-starting indice of the East open boundary (must be land T-point) 17 21 !jpjef = jpjglo-1, & !: j-ending indice of the East open boundary (must be land T-point) 18 19 22 jpieob = jpiglo-2, & !: i-localization of the East open boundary (must be ocean U-point) 20 23 jpjed = 1, & !: j-starting indice of the East open boundary (must be land T-point) 21 24 jpjef = jpjglo, & !: j-ending indice of the East open boundary (must be land T-point) 22 23 25 jpjedp1 = jpjed+1, & !: first ocean point " " 24 26 jpjefm1 = jpjef-1 !: last ocean point " " … … 27 29 LOGICAL, PARAMETER :: & !: 28 30 lp_obc_west = .TRUE. !: to active or not the West open boundary 29 INTEGER, PARAMETER :: & !:30 31 32 INTEGER & 33 #if !defined key_agrif 34 , PARAMETER & 35 #endif 36 :: & 31 37 ! * default values * 32 38 !jpiwob = 2, & !: i-localization of the West open boundary (must be ocean U-point) 33 39 !jpjwd = 2, & !: j-starting indice of the West open boundary (must be land T-point) 34 40 !jpjwf = jpjglo-1, & !: j-ending indice of the West open boundary (must be land T-point) 35 36 41 jpiwob = 2, & !: i-localization of the West open boundary (must be ocean U-point) 37 42 jpjwd = 1, & !: j-starting indice of the West open boundary (must be land T-point) 38 43 jpjwf = jpjglo, & !: j-ending indice of the West open boundary (must be land T-point) 39 40 44 jpjwdp1 = jpjwd+1, & !: first ocean point " " 41 45 jpjwfm1 = jpjwf-1 !: last ocean point " " … … 44 48 LOGICAL, PARAMETER :: & !: 45 49 lp_obc_north = .TRUE. !: 46 INTEGER, PARAMETER :: & !:47 50 51 INTEGER & 52 #if !defined key_agrif 53 , PARAMETER & 54 #endif 55 :: & 48 56 ! * default values * 49 57 !jpjnob = jpjglo-2, & !: j-localization of the North open boundary (must be ocean V-point) 50 58 !jpind = 2, & !: i-starting indice of the North open boundary (must be land T-point) 51 59 !jpinf = jpiglo-1, & !: i-ending indice of the North open boundary (must be land T-point) 52 53 60 jpjnob = jpjglo-2, & !: j-localization of the North open boundary (must be ocean V-point) 54 61 jpind = 1, & !: i-starting indice of the North open boundary (must be land T-point) 55 62 jpinf = jpiglo, & !: i-ending indice of the North open boundary (must be land T-point) 56 57 63 jpindp1 = jpind+1, & !: first ocean point " " 58 64 jpinfm1 = jpinf-1 !: last ocean point " " … … 61 67 LOGICAL, PARAMETER :: & !: 62 68 lp_obc_south = .TRUE. !: INDICE to active or not the South open boundary 63 INTEGER, PARAMETER :: & !:64 69 70 INTEGER & 71 #if !defined key_agrif 72 , PARAMETER & 73 #endif 74 :: & 65 75 ! * default values * 66 76 !jpjsob = 2, & !: j-localization of the South open boundary (must be ocean V-point) 67 77 !jpisd = 2, & !: i-starting indice of the South open boundary (must be land T-point) 68 78 !jpisf = jpiglo-1, & !: i-ending indice of the South open boundary (must be land T-point) 69 70 79 jpjsob = 2, & !: j-localization of the South open boundary (must be ocean V-point) 71 80 jpisd = 1, & !: i-starting indice of the South open boundary (must be land T-point) 72 81 jpisf = jpiglo, & !: i-ending indice of the South open boundary (must be land T-point) 73 74 82 jpisdp1 = jpisd+1, & !: first ocean point " " 75 83 jpisfm1 = jpisf-1 !: last ocean point " " -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcdta.F90
r1732 r2137 30 30 31 31 !! * Shared module variables 32 !$AGRIF_DO_NOT_TREAT 32 33 REAL(wp), DIMENSION(2) :: zjcnes_obc ! 33 34 REAL(wp), DIMENSION(:), ALLOCATABLE :: ztcobc 35 !$AGRIF_END_DO_NOT_TREAT 34 36 REAL(wp) :: rdt_obc 35 37 REAL(wp) :: zjcnes -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcfla.F90
r1152 r2137 78 78 !!------------------------------------------------------------------------------ 79 79 !! * Local declaration 80 INTEGER :: ji, jj , jk! dummy loop indices80 INTEGER :: ji, jj ! dummy loop indices 81 81 !!------------------------------------------------------------------------------ 82 82 83 83 DO ji = nie0, nie1 84 DO jk = 1, jpkm1 85 DO jj = 1, jpj 86 ua_e(ji,jj) = ( ubtfoe(jj) + sqrt( grav*hu(ji,jj) ) & 87 & * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5 & 88 & - sshfoe(jj) ) ) * uemsk(jj,jk) 89 END DO 84 DO jj = 1, jpj 85 ua_e(ji,jj) = ( ubtfoe(jj) * hur(ji,jj) + sqrt( grav*hur(ji,jj) ) & 86 & * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5 & 87 & - sshfoe(jj) ) ) * uemsk(jj,1) 90 88 END DO 91 89 END DO … … 97 95 ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - temsk(jj,1) ) & 98 96 & + temsk(jj,1) * sshfoe(jj) 99 va_e(ji,jj) = vbtfoe(jj) * uemsk(jj,jk)97 va_e(ji,jj) = vbtfoe(jj) * hvr(ji,jj) * uemsk(jj,1) 100 98 END DO 101 99 END DO … … 116 114 !!------------------------------------------------------------------------------ 117 115 !! * Local declaration 118 INTEGER :: ji, jj , jk! dummy loop indices116 INTEGER :: ji, jj ! dummy loop indices 119 117 !!------------------------------------------------------------------------------ 120 118 121 119 DO ji = niw0, niw1 122 DO jk = 1, jpkm1 123 DO jj = 1, jpj 124 ua_e(ji,jj) = ( ubtfow(jj) - sqrt( grav * hu(ji,jj) ) & 125 & * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5 & 126 & - sshfow(jj) ) ) * uwmsk(jj,jk) 127 va_e(ji,jj) = vbtfow(jj) * uwmsk(jj,jk) 128 END DO 120 DO jj = 1, jpj 121 ua_e(ji,jj) = ( ubtfow(jj) * hur(ji,jj) - sqrt( grav * hur(ji,jj) ) & 122 & * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5 & 123 & - sshfow(jj) ) ) * uwmsk(jj,1) 124 va_e(ji,jj) = vbtfow(jj) * hvr(ji,jj) * uwmsk(jj,1) 129 125 END DO 130 126 DO jj = 1, jpj … … 151 147 !!------------------------------------------------------------------------------ 152 148 !! * Local declaration 153 INTEGER :: ji, jj , jk! dummy loop indices149 INTEGER :: ji, jj ! dummy loop indices 154 150 !!------------------------------------------------------------------------------ 155 151 156 152 DO jj = njn0, njn1 157 DO jk = 1, jpkm1 158 DO ji = 1, jpi 159 va_e(ji,jj) = ( vbtfon(ji) + sqrt( grav * hv(ji,jj) ) & 160 & * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5 & 161 & - sshfon(ji) ) ) * vnmsk(ji,jk) 162 END DO 153 DO ji = 1, jpi 154 va_e(ji,jj) = ( vbtfon(ji) * hvr(ji,jj) + sqrt( grav * hvr(ji,jj) ) & 155 & * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5 & 156 & - sshfon(ji) ) ) * vnmsk(ji,1) 163 157 END DO 164 158 END DO … … 170 164 ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - tnmsk(ji,1) ) & 171 165 & + sshfon(ji) * tnmsk(ji,1) 172 ua_e(ji,jj) = ubtfon(ji) * vnmsk(ji,jk)166 ua_e(ji,jj) = ubtfon(ji) * hur(ji,jj) * vnmsk(ji,1) 173 167 END DO 174 168 END DO … … 188 182 !!------------------------------------------------------------------------------ 189 183 !! * Local declaration 190 INTEGER :: ji, jj , jk! dummy loop indices184 INTEGER :: ji, jj ! dummy loop indices 191 185 192 186 !!------------------------------------------------------------------------------ 193 187 194 188 DO jj = njs0, njs1 195 DO jk = 1, jpkm1 196 DO ji = 1, jpi 197 va_e(ji,jj) = ( vbtfos(ji) - sqrt( grav * hv(ji,jj) ) & 198 & * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5 & 199 & - sshfos(ji) ) ) * vsmsk(ji,jk) 200 ua_e(ji,jj) = ubtfos(ji) * vsmsk(ji,jk) 201 END DO 189 DO ji = 1, jpi 190 va_e(ji,jj) = ( vbtfos(ji) * hvr(ji,jj) - sqrt( grav * hvr(ji,jj) ) & 191 & * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5 & 192 & - sshfos(ji) ) ) * vsmsk(ji,1) 193 ua_e(ji,jj) = ubtfos(ji) * hur(ji,jj) * vsmsk(ji,1) 202 194 END DO 203 195 DO ji = 1, jpi -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcini.F90
r1633 r2137 62 62 NAMELIST/namobc/ rn_dpein, rn_dpwin, rn_dpnin, rn_dpsin, & 63 63 & rn_dpeob, rn_dpwob, rn_dpnob, rn_dpsob, & 64 & rn_volemp, nn_obcdta, cn_obcdta, rn_volemp,&64 & rn_volemp, nn_obcdta, cn_obcdta, & 65 65 & ln_obc_clim, ln_vol_cst, ln_obc_fla 66 66 !!---------------------------------------------------------------------- … … 70 70 71 71 ! convert DOCTOR namelist name into the OLD names 72 nbobc = nn_nbobc73 72 nobc_dta = nn_obcdta 74 73 cffile = cn_obcdta … … 101 100 IF(lwp) WRITE(numout,*) 'obc_init : initialization of open boundaries' 102 101 IF(lwp) WRITE(numout,*) '~~~~~~~~' 103 IF(lwp) WRITE(numout,*) ' Number of open boundaries n n_nbobc = ', nn_nbobc102 IF(lwp) WRITE(numout,*) ' Number of open boundaries nbobc = ', nbobc 104 103 IF(lwp) WRITE(numout,*) 105 104 … … 150 149 ENDIF 151 150 152 IF( nbobc /= 0.AND. jperio /= 0 ) &151 IF( nbobc >= 2 .AND. jperio /= 0 ) & 153 152 & CALL ctl_stop( ' Cyclic or symmetric, and open boundary condition are not compatible' ) 154 153 … … 306 305 IF( lp_obc_east ) THEN 307 306 !... (jpjed,jpjefm1),jpieob 307 bmask(nie0p1:nie1p1,nje0:nje1m1) = 0.e0 308 308 309 309 ! ... initilization to zero … … 341 341 IF( lp_obc_north ) THEN 342 342 ! ... jpjnob,(jpind,jpisfm1) 343 bmask(nin0:nin1m1,njn0p1:njn1p1) = 0.e0 343 344 344 345 ! ... initilization to zero … … 440 441 END DO 441 442 END IF 442 443 443 IF( lp_obc_north ) THEN ! ... North open boundary lateral surface 444 444 DO jj = njn0, njn1 -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcrst.F90
r1715 r2137 96 96 ! ------------- 97 97 98 CALL ctl_opn( inum, 'restart.obc.output', ' REPLACE', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp )98 CALL ctl_opn( inum, 'restart.obc.output', 'UNKNOWN', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp ) 99 99 100 100 ! 1.2 Write header … … 322 322 ! 0.1 Open files 323 323 ! --------------- 324 CALL ctl_opn( inum, 'restart.obc', ' REPLACE', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp )324 CALL ctl_opn( inum, 'restart.obc', 'UNKNOWN', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp ) 325 325 326 326 ! 1. Read -
branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obctra.F90
r1152 r2137 490 490 zin = sign( 1., -1.* z05cx ) 491 491 zin = 0.5*( zin + abs(zin) ) 492 ztau = (1.-zin ) + zin * rtaus492 ztau = (1.-zin ) * rtausin + zin * rtaus 493 493 z05cx = z05cx * zin 494 494 495 !... update (ta,sa) with radiative or climatological (t, s) 495 496 ta(ji,jj,jk) = ta(ji,jj,jk) * (1.-tsmsk(ji,jk)) + & -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
r1698 r2137 27 27 USE mod_prism_proto ! OASIS3 prism module 28 28 USE mod_prism_def_partition_proto! OASIS3 prism module for partitioning 29 USE mod_prism_grids_writing ! OASIS3 prism module for writing grid files30 29 USE mod_prism_put_proto ! OASIS3 prism module for snding 31 30 USE mod_prism_get_proto ! OASIS3 prism module for receiving 32 USE mod_prism_grids_writing ! OASIS3 prism module for writing grids33 31 USE par_oce ! ocean parameters 34 32 USE dom_oce ! ocean space and time domain -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/fldread.F90
r2134 r2137 191 191 & nday + 1 - nmonth_len(nmonth) * COUNT((/llnxtmth/)), llstop ) 192 192 193 IF( sd(jf)%num == 0 .AND. .NOT. llstop ) THEN ! next year file does not exist193 IF( sd(jf)%num <= 0 .AND. .NOT. llstop ) THEN ! next year file does not exist 194 194 CALL ctl_warn('next year/month/day file: '//TRIM(sd(jf)%clname)// & 195 195 & ' not present -> back to current year/month/day') … … 442 442 443 443 ! if previous year/month/day file does not exist, we switch to the current year/month/day 444 IF( llprev .AND. sdjf%num == 0 ) THEN444 IF( llprev .AND. sdjf%num <= 0 ) THEN 445 445 CALL ctl_warn( 'previous year/month/day file: '//TRIM(sdjf%clname)//' not present -> back to current year/month/day') 446 446 ! we force to read the first record of the current year/month/day instead of last record of previous year/month/day … … 492 492 ENDIF 493 493 494 495 IF( sdjf%num == 0 ) CALL fld_clopn( sdjf, nyear, nmonth, nday ) ! make sure current year/month/day file is opened 494 IF( sdjf%num <= 0 ) CALL fld_clopn( sdjf, nyear, nmonth, nday ) ! make sure current year/month/day file is opened 496 495 ! make sure current year/month/day file is opened 497 496 IF( sdjf%num == 0 ) THEN … … 963 962 WRITE(aname,'(a3,i2.2)') 'src',jn 964 963 data_tmp(:,:) = 0 965 CALL iom_get ( inum, jpdom_unknown, aname, data_tmp(1:nlci,1:nlcj), & 966 kstart=(/nimpp,njmpp/), kcount=(/nlci,nlcj/) ) 964 CALL iom_get ( inum, jpdom_data, aname, data_tmp(:,:) ) 967 965 data_src(:,:) = INT(data_tmp(:,:)) 968 966 ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) … … 973 971 aname = ' ' 974 972 WRITE(aname,'(a3,i2.2)') 'wgt',jn 975 ref_wgts(nxt_wgt)%data_wgt(1:nlci,1:nlcj,jn) = 0.0 976 CALL iom_get ( inum, jpdom_unknown, aname, ref_wgts(nxt_wgt)%data_wgt(1:nlci,1:nlcj,jn), & 977 kstart=(/nimpp,njmpp/), kcount=(/nlci,nlcj/) ) 973 ref_wgts(nxt_wgt)%data_wgt(:,:,jn) = 0.0 974 CALL iom_get ( inum, jpdom_data, aname, ref_wgts(nxt_wgt)%data_wgt(:,:,jn) ) 978 975 END DO 979 976 CALL iom_close (inum) 980 977 981 978 ! find min and max indices in grid 982 ref_wgts(nxt_wgt)%botleft(1) = MINVAL(ref_wgts(nxt_wgt)%data_jpi( 1:nlci,1:nlcj,:))983 ref_wgts(nxt_wgt)%botleft(2) = MINVAL(ref_wgts(nxt_wgt)%data_jpj( 1:nlci,1:nlcj,:))984 ref_wgts(nxt_wgt)%topright(1) = MAXVAL(ref_wgts(nxt_wgt)%data_jpi( 1:nlci,1:nlcj,:))985 ref_wgts(nxt_wgt)%topright(2) = MAXVAL(ref_wgts(nxt_wgt)%data_jpj( 1:nlci,1:nlcj,:))979 ref_wgts(nxt_wgt)%botleft(1) = MINVAL(ref_wgts(nxt_wgt)%data_jpi(:,:,:)) 980 ref_wgts(nxt_wgt)%botleft(2) = MINVAL(ref_wgts(nxt_wgt)%data_jpj(:,:,:)) 981 ref_wgts(nxt_wgt)%topright(1) = MAXVAL(ref_wgts(nxt_wgt)%data_jpi(:,:,:)) 982 ref_wgts(nxt_wgt)%topright(2) = MAXVAL(ref_wgts(nxt_wgt)%data_jpj(:,:,:)) 986 983 987 984 ! and therefore dimensions of the input box -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/geo2ocean.F90
r1613 r2137 311 311 312 312 ! lateral boundary cond.: T-, U-, V-, F-pts, sgn 313 CALL lbc_lnk( gcost, 'T', 1. ) ; CALL lbc_lnk( gsint, 'T', -1. )314 CALL lbc_lnk( gcosu, 'U', 1. ) ; CALL lbc_lnk( gsinu, 'U', -1. )315 CALL lbc_lnk( gcosv, 'V', 1. ) ; CALL lbc_lnk( gsinv, 'V', -1. )316 CALL lbc_lnk( gcosf, 'F', 1. ) ; CALL lbc_lnk( gsinf, 'F', -1. )313 CALL lbc_lnk( gcost, 'T', -1. ) ; CALL lbc_lnk( gsint, 'T', -1. ) 314 CALL lbc_lnk( gcosu, 'U', -1. ) ; CALL lbc_lnk( gsinu, 'U', -1. ) 315 CALL lbc_lnk( gcosv, 'V', -1. ) ; CALL lbc_lnk( gsinv, 'V', -1. ) 316 CALL lbc_lnk( gcosf, 'F', -1. ) ; CALL lbc_lnk( gsinf, 'F', -1. ) 317 317 318 318 END SUBROUTINE angle -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbccpl.F90
r1766 r2137 23 23 USE sbc_oce ! Surface boundary condition: ocean fields 24 24 USE sbc_ice ! Surface boundary condition: ice fields 25 USE phycst ! physical constants 25 26 #if defined key_lim3 26 27 USE par_ice ! ice parameters … … 39 40 USE restart ! 40 41 USE oce , ONLY : tn, un, vn 41 USE phycst, ONLY : rt0, rcp42 42 USE albedo ! 43 43 USE in_out_manager ! I/O manager … … 45 45 USE lib_mpp ! distribued memory computing library 46 46 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 47 USE phycst, ONLY : xlsn, rhosn, xlic, rhoic48 47 #if defined key_cpl_carbon_cycle 49 48 USE p4zflx, ONLY : oce_co2 … … 153 152 INTEGER , DIMENSION( jprcv) :: nrcvinfo ! OASIS info argument 154 153 154 #if ! defined key_lim2 && ! defined key_lim3 155 ! quick patch to be able to run the coupled model without sea-ice... 156 INTEGER, PARAMETER :: jpl = 1 157 REAL(wp), DIMENSION(jpi,jpj ) :: hicif, hsnif, u_ice, v_ice,fr1_i0,fr2_i0 158 REAL(wp), DIMENSION(jpi,jpj,jpl) :: tn_ice, alb_ice 159 REAL(wp) :: lfus 160 #endif 161 155 162 !! Substitution 156 163 # include "vectopt_loop_substitute.h90" … … 254 261 255 262 ! default definitions of srcv 256 srcv(:)%laction = .FALSE. ; srcv(:)%clgrid = 'T' ; srcv(:)%nsgn = 1 263 srcv(:)%laction = .FALSE. ; srcv(:)%clgrid = 'T' ; srcv(:)%nsgn = 1. 257 264 258 265 ! ! ------------------------- ! … … 274 281 srcv(jpr_itz2)%clname = 'O_ITauz2' ! 3rd - - - - 275 282 ! 276 srcv(jpr_otx1:jpr_itz2)%nsgn = -1 ! Vectors: change of sign at north fold 283 ! Vectors: change of sign at north fold ONLY if on the local grid 284 IF( TRIM( cn_rcv_tau(3) ) == 'local grid' ) srcv(jpr_otx1:jpr_itz2)%nsgn = -1. 277 285 278 286 ! ! Set grid and action … … 438 446 439 447 ! default definitions of nsnd 440 ssnd(:)%laction = .FALSE. ; ssnd(:)%clgrid = 'T' ; ssnd(:)%nsgn = 1 448 ssnd(:)%laction = .FALSE. ; ssnd(:)%clgrid = 'T' ; ssnd(:)%nsgn = 1. 441 449 442 450 ! ! ------------------------- ! … … 491 499 ssnd(jps_ocz1)%clname = 'O_OCurz1' ; ssnd(jps_ivz1)%clname = 'O_IVelz1' 492 500 ! 493 ssnd(jps_ocx1:jps_ivz1)%nsgn = -1 501 ssnd(jps_ocx1:jps_ivz1)%nsgn = -1. ! vectors: change of the sign at the north fold 494 502 495 503 IF( cn_snd_crt(4) /= 'T' ) CALL ctl_stop( 'cn_snd_crt(4) must be equal to T' ) … … 713 721 ! ! non solar heat flux over the ocean (qns) 714 722 IF( srcv(jpr_qnsoce)%laction ) qns(:,:) = frcv(:,:,jpr_qnsoce) 715 IF( srcv(jpr_qnsmix)%laction ) qns(:,:) = frcv(:,:,jpr_qnsmix) 716 ! energy for melting solid precipitation over free ocean717 zcoef = xlsn / rhosn718 qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef 723 IF( srcv(jpr_qnsmix)%laction ) qns(:,:) = frcv(:,:,jpr_qnsmix) 724 ! add the latent heat of solid precip. melting 725 IF( srcv(jpr_snow )%laction ) qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * lfus 726 719 727 ! ! solar flux over the ocean (qsr) 720 728 IF( srcv(jpr_qsroce)%laction ) qsr(:,:) = frcv(:,:,jpr_qsroce) … … 1117 1125 & + pist(:,:,1) * zicefr(:,:,1) ) ) 1118 1126 END SELECT 1119 ! ! snow melting heat flux .... 1120 ! energy for melting solid precipitation over ice-free ocean 1121 zcoef = xlsn / rhosn 1122 ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 1123 pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 1127 ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * lfus ! add the latent heat of solid precip. melting 1128 pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) ! over free ocean 1124 1129 IF( lk_diaar5 ) CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) ) ! heat flux from snow (cell average) 1125 1130 !!gm … … 1130 1135 !! 1131 1136 !! similar job should be done for snow and precipitation temperature 1132 ! ! Iceberg melting heat flux .... 1133 ! energy for iceberg melting 1134 IF( srcv(jpr_cal)%laction ) THEN 1135 zcoef = xlic / rhoic 1136 ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef 1137 ! 1138 IF( srcv(jpr_cal)%laction ) THEN ! Iceberg melting 1139 ztmp(:,:) = frcv(:,:,jpr_cal) * lfus ! add the latent heat of iceberg melting 1137 1140 pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 1138 1141 IF( lk_diaar5 ) CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) ) ! heat flux from calving -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbcfwb.F90
r1715 r2137 65 65 INTEGER :: inum ! temporary logical unit 66 66 INTEGER :: ikty, iyear ! 67 REAL(wp) :: z_emp, z_emp_nsrf ! temporary scalars67 REAL(wp) :: z_emp, z_emp_nsrf, zsum_emp, zsum_erp ! temporary scalars 68 68 REAL(wp) :: zsurf_neg, zsurf_pos, zsurf_tospread 69 69 REAL(wp), DIMENSION(jpi,jpj) :: ztmsk_neg, ztmsk_pos, ztmsk_tospread … … 165 165 ! 166 166 IF( lk_mpp ) CALL mpp_sum( z_emp ) 167 IF( lk_mpp ) CALL mpp_sum( zsurf_neg ) 168 IF( lk_mpp ) CALL mpp_sum( zsurf_pos ) 167 169 168 170 IF( z_emp < 0.e0 ) THEN … … 177 179 178 180 ! emp global mean over <0 or >0 erp area 179 z_emp_nsrf = SUM( e1e2_i(:,:) * z_emp ) / ( zsurf_tospread + rsmall ) 181 zsum_emp = SUM( e1e2_i(:,:) * z_emp ) 182 IF( lk_mpp ) CALL mpp_sum( zsum_emp ) 183 z_emp_nsrf = zsum_emp / ( zsurf_tospread + rsmall ) 180 184 ! weight to respect erp field 2D structure 181 z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) + rsmall ) 185 zsum_erp = SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) 186 IF( lk_mpp ) CALL mpp_sum( zsum_erp ) 187 z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) 188 182 189 ! final correction term to apply 183 190 zerp_cor(:,:) = -1. * z_emp_nsrf * zsurf_tospread * z_wgt(:,:) -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r2135 r2137 180 180 ENDIF 181 181 #if defined key_coupled 182 IF( ksbc == 5 ) CALL sbc_cpl_ice_flx( frld ,&182 IF( ksbc == 5 ) CALL sbc_cpl_ice_flx( reshape( frld, (/jpi,jpj,1/) ), & 183 183 & qns_tot, qns_ice, qsr_tot , qsr_ice, & 184 184 & emp_tot, emp_ice, dqns_ice, sprecip, & -
branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbcmod.F90
r1725 r2137 85 85 !!gm here no overwrite, test all option via namelist change: require more incore memory 86 86 !!gm IF( lk_sbc_cpl ) THEN ; ln_cpl = .TRUE. ; ELSE ; ln_cpl = .FALSE. ; ENDIF 87 #if defined key_agrif 87 88 88 IF ( Agrif_Root() ) THEN 89 #endif90 89 IF( lk_lim2 ) nn_ice = 2 91 90 IF( lk_lim3 ) nn_ice = 3 92 #if defined key_agrif 93 ENDIF 94 #endif 91 ENDIF 92 ! 95 93 IF( cp_cfg == 'gyre' ) THEN 96 94 ln_ana = .TRUE. -
branches/devmercator2010_1/NEMO/OPA_SRC/SOL/solmat.F90
r1601 r2137 80 80 ENDIF 81 81 82 #if defined key_dynspg_flt && ! defined key_obc 82 #if defined key_dynspg_flt 83 # if ! defined key_obc 83 84 84 85 DO jj = 2, jpjm1 ! matrix of free surface elliptic system … … 97 98 END DO 98 99 END DO 99 100 # elif defined key_dynspg_flt && defined key_obc 101 100 # else 101 IF ( Agrif_Root() ) THEN 102 102 DO jj = 2, jpjm1 ! matrix of free surface elliptic system with open boundaries 103 103 DO ji = 2, jpim1 … … 140 140 END DO 141 141 END DO 142 ELSE 143 DO jj = 2, jpjm1 ! matrix of free surface elliptic system 144 DO ji = 2, jpim1 145 zcoef = z2dt * z2dt * grav * bmask(ji,jj) 146 zcoefs = -zcoef * hv(ji ,jj-1) * e1v(ji ,jj-1) / e2v(ji ,jj-1) ! south coefficient 147 zcoefw = -zcoef * hu(ji-1,jj ) * e2u(ji-1,jj ) / e1u(ji-1,jj ) ! west coefficient 148 zcoefe = -zcoef * hu(ji ,jj ) * e2u(ji ,jj ) / e1u(ji ,jj ) ! east coefficient 149 zcoefn = -zcoef * hv(ji ,jj ) * e1v(ji ,jj ) / e2v(ji ,jj ) ! north coefficient 150 gcp(ji,jj,1) = zcoefs 151 gcp(ji,jj,2) = zcoefw 152 gcp(ji,jj,3) = zcoefe 153 gcp(ji,jj,4) = zcoefn 154 gcdmat(ji,jj) = e1t(ji,jj) * e2t(ji,jj) * bmask(ji,jj) & ! diagonal coefficient 155 & - zcoefs -zcoefw -zcoefe -zcoefn 156 END DO 157 END DO 158 ENDIF 159 # endif 142 160 #endif 143 161 144 #if defined key_agrif 145 IF( .NOT.AGRIF_ROOT() ) THEN 162 IF( .NOT. Agrif_Root() ) THEN 146 163 ! 147 164 IF( nbondi == -1 .OR. nbondi == 2 ) bmask(2 ,: ) = 0.e0 … … 192 209 ! 193 210 ENDIF 194 #endif195 211 196 212 ! 2. Boundary conditions -
branches/devmercator2010_1/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r1528 r2137 179 179 END DO 180 180 181 ! "zonal" mean advective heat and salt transport 182 IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 183 pht_adv(:) = ptr_vj( ztv(:,:,:) ) 184 pst_adv(:) = ptr_vj( zsv(:,:,:) ) 185 ENDIF 181 186 182 187 ! Save the intermediate i / j / k advective trends for diagnostics … … 366 371 ! "zonal" mean advective heat and salt transport 367 372 IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 368 pht_adv(:) = ptr_vj( ztv(:,:,:) ) 369 pst_adv(:) = ptr_vj( zsv(:,:,:) ) 373 pht_adv(:) = ptr_vj( ztv(:,:,:) ) + pht_adv(:) 374 pst_adv(:) = ptr_vj( zsv(:,:,:) ) + pst_adv(:) 370 375 ENDIF 371 376 ! -
branches/devmercator2010_1/NEMO/OPA_SRC/TRA/tranxt.F90
r1601 r2137 38 38 USE agrif_opa_update 39 39 USE agrif_opa_interp 40 USE obc_oce 40 41 41 42 IMPLICIT NONE … … 101 102 ! 102 103 #if defined key_obc 103 CALL obc_tra( kt )! OBC open boundaries104 IF( lk_obc ) CALL obc_tra( kt ) ! OBC open boundaries 104 105 #endif 105 106 #if defined key_bdy -
branches/devmercator2010_1/NEMO/OPA_SRC/TRA/traqsr.F90
r2130 r2137 45 45 46 46 ! Module variables 47 !$AGRIF_DO_NOT_TREAT 47 48 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_chl ! structure of input Chl (file informations, fields read) 48 49 INTEGER :: nksr ! levels below which the light cannot penetrate ( depth larger than 391 m) 49 50 REAL(wp), DIMENSION(3,61) :: rkrgb !: tabulated attenuation coefficients for RGB absorption 51 !$AGRIF_END_DO_NOT_TREAT 50 52 51 53 !! * Substitutions -
branches/devmercator2010_1/NEMO/OPA_SRC/TRA/trasbc.F90
r1739 r2137 134 134 zta = ro0cpr * qns(ji,jj) * zse3t & ! temperature : heat flux 135 135 & - emp(ji,jj) * zsrau * tn(ji,jj,1) * zse3t ! & cooling/heating effet of EMP flux 136 zsa = 0.e0 ! No salinity concent./dilut. effect 136 zsa = ( emps(ji,jj) - emp(ji,jj) ) & 137 & * zsrau * sn(ji,jj,1) * zse3t ! concent./dilut. effect due to sea-ice 138 ! melt/formation and (possibly) SSS restoration 137 139 ELSE 138 140 zta = ro0cpr * qns(ji,jj) * zse3t ! temperature : heat flux -
branches/devmercator2010_1/NEMO/OPA_SRC/lib_mpp.F90
r1718 r2137 103 103 !! ========================= !! 104 104 !$AGRIF_DO_NOT_TREAT 105 # include <mpif.h> 105 INCLUDE 'mpif.h' 106 106 !$AGRIF_END_DO_NOT_TREAT 107 107 … … 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 ) … … 2067 2049 ijpj = 4 2068 2050 ijpjm1 = 3 2051 ztab(:,:,:) = 0.e0 2069 2052 ! 2070 2053 DO jj = nlcj - ijpj +1, nlcj ! put in znorthloc the last 4 jlines of pt3d … … 2132 2115 ijpj = 4 2133 2116 ijpjm1 = 3 2117 ztab(:,:) = 0.e0 2134 2118 ! 2135 2119 DO jj = nlcj-ijpj+1, nlcj ! put in znorthloc the last 4 jlines of pt2d … … 2197 2181 ! 2198 2182 ijpj=4 2183 ztab(:,:) = 0.e0 2199 2184 2200 2185 ij=0 -
branches/devmercator2010_1/NEMO/OPA_SRC/opa.F90
r1725 r2137 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/devmercator2010_1/NEMO/OPA_SRC/par_POMME_R025.h90
r1648 r2137 22 22 jp_cfg = 025 , & !: resolution of the configuration (degrees) 23 23 ! Original data size 24 25 24 ! ORCA025 global grid size 26 25 jpiglo_ORCA025 = 1442, & 27 26 jpjglo_ORCA025 = 1021, & ! not used currently 28 29 27 ! POMME "global" domain localisation in the ORCA025 global grid 30 28 jpi_iw = 1059, & … … 32 30 jpj_js = 661, & 33 31 jpj_jn = 700, & 34 35 32 jpidta = ( jpi_ie - jpi_iw + 1 ), & !: =30 first horizontal dimension > or = to jpi 36 33 jpjdta = ( jpj_jn - jpj_js + 1 ), & !: =40 second > or = to jpj 37 34 jpkdta = 46 , & !: number of levels > or = to jpk 38 39 35 ! total domain matrix size 40 36 jpiglo = jpidta, & !: first dimension of global domain --> i -
branches/devmercator2010_1/NEMO/OPA_SRC/step.F90
r2132 r2137 167 167 #if defined key_agrif 168 168 kstp = nit000 + Agrif_Nb_Step() 169 ! IF ( Agrif_Root() .and. lwp) Write(*,*) '---' 170 ! IF (lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 169 ! IF( Agrif_Root() .and. lwp) Write(*,*) '---' 170 ! IF(lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 171 # if defined key_iomput 172 IF( Agrif_Nbstepint() == 0) CALL iom_swap 173 # endif 171 174 #endif 172 175 indic = 1 ! reset to no error condition -
branches/devmercator2010_1/NEMO/OPA_SRC/trc_oce.F90
r1581 r2137 126 126 zrgb(1,51) = 3.162 ; zrgb(2,51) = 0.22703 ; zrgb(3,51) = 0.16599 ; zrgb(4,51) = 0.46601 127 127 zrgb(1,52) = 3.548 ; zrgb(2,52) = 0.24433 ; zrgb(3,52) = 0.17334 ; zrgb(4,52) = 0.47313 128 zrgb(1,53) = 3.981 ; zrgb(2,53) = 0.26301 ; zrgb(3,53) = 0.18126 ; zrgb(4,5 4) = 0.48080129 zrgb(1,54) = 4.467 ; zrgb(2,54) = 0.28320 ; zrgb(3,54) = 0.18981 ; zrgb(4,5 5) = 0.48909130 zrgb(1,55) = 5.012 ; zrgb(2,55) = 0.30502 ; zrgb(3,55) = 0.19903 ; zrgb(4,5 6) = 0.49803131 zrgb(1,56) = 5.623 ; zrgb(2,56) = 0.32858 ; zrgb(3,56) = 0.20898 ; zrgb(4,5 7) = 0.50768132 zrgb(1,57) = 6.310 ; zrgb(2,57) = 0.35404 ; zrgb(3,57) = 0.21971 ; zrgb(4,5 8) = 0.51810133 zrgb(1,58) = 7.079 ; zrgb(2,58) = 0.38154 ; zrgb(3,58) = 0.23129 ; zrgb(4,5 9) = 0.52934134 zrgb(1,59) = 7.943 ; zrgb(2,59) = 0.41125 ; zrgb(3,59) = 0.24378 ; zrgb(4,5 0) = 0.54147128 zrgb(1,53) = 3.981 ; zrgb(2,53) = 0.26301 ; zrgb(3,53) = 0.18126 ; zrgb(4,53) = 0.48080 129 zrgb(1,54) = 4.467 ; zrgb(2,54) = 0.28320 ; zrgb(3,54) = 0.18981 ; zrgb(4,54) = 0.48909 130 zrgb(1,55) = 5.012 ; zrgb(2,55) = 0.30502 ; zrgb(3,55) = 0.19903 ; zrgb(4,55) = 0.49803 131 zrgb(1,56) = 5.623 ; zrgb(2,56) = 0.32858 ; zrgb(3,56) = 0.20898 ; zrgb(4,56) = 0.50768 132 zrgb(1,57) = 6.310 ; zrgb(2,57) = 0.35404 ; zrgb(3,57) = 0.21971 ; zrgb(4,57) = 0.51810 133 zrgb(1,58) = 7.079 ; zrgb(2,58) = 0.38154 ; zrgb(3,58) = 0.23129 ; zrgb(4,58) = 0.52934 134 zrgb(1,59) = 7.943 ; zrgb(2,59) = 0.41125 ; zrgb(3,59) = 0.24378 ; zrgb(4,59) = 0.54147 135 135 zrgb(1,60) = 8.912 ; zrgb(2,60) = 0.44336 ; zrgb(3,60) = 0.25725 ; zrgb(4,60) = 0.55457 136 136 zrgb(1,61) = 10.000 ; zrgb(2,61) = 0.47804 ; zrgb(3,61) = 0.27178 ; zrgb(4,61) = 0.56870 -
branches/devmercator2010_1/NEMO/TOP_SRC/C14b/par_c14b.F90
r1252 r2137 27 27 28 28 IMPLICIT NONE 29 PUBLIC30 29 31 INTEGER, P UBLIC, PARAMETER :: jp_lp= jp_lobster + jp_pisces + jp_cfc !: cum. number of pass. tracers32 INTEGER, P UBLIC, PARAMETER :: jp_lp_2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d !:33 INTEGER, P UBLIC, PARAMETER :: jp_lp_3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d !:34 INTEGER, P UBLIC, PARAMETER :: jp_lp_trd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd !:30 INTEGER, PARAMETER :: jp_lb = jp_lobster + jp_pisces + jp_cfc !: cum. number of pass. tracers 31 INTEGER, PARAMETER :: jp_lb_2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d !: 32 INTEGER, PARAMETER :: jp_lb_3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d !: 33 INTEGER, PARAMETER :: jp_lb_trd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd !: 35 34 36 35 #if defined key_c14b … … 43 42 INTEGER, PUBLIC, PARAMETER :: jp_c14b_3d = 1 !: additional 3d output arrays ('key_trc_diaadd') 44 43 INTEGER, PUBLIC, PARAMETER :: jp_c14b_trd = 0 !: number of sms trends for C14 45 46 ! assign an index in trc arrays for each CFC prognostic variables 47 INTEGER, PUBLIC, PARAMETER :: jpc14 = jp_lp + 1 !: C14 bomb 44 INTEGER, PUBLIC, PARAMETER :: jpc14 = jp_lb + 1 !: assign an index in trc arrays for C14 bomb 48 45 #else 49 46 !!--------------------------------------------------------------------- … … 58 55 59 56 ! Starting/ending C14 do-loop indices (N.B. no C14 : jp_c14b0 > jp_c14b1 the do-loop are never done) 60 INTEGER, PUBLIC, PARAMETER :: jp_c14b0 = jp_l p+ 1 !: First index of C14 tracer61 INTEGER, PUBLIC, PARAMETER :: jp_c14b1 = jp_l p+ jp_c14b !: Last index of C14 tracer62 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_2d = jp_l p_2d + 1 !: First index of C14 tracer63 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_2d = jp_l p_2d + jp_c14b_2d !: Last index of C14 tracer64 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_3d = jp_l p_3d + 1 !: First index of C14 tracer65 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_3d = jp_l p_3d + jp_c14b_3d !: Last index of C14 tracer66 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_trd = jp_l p_trd + 1 !: First index of C14 tracer67 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_trd = jp_l p_trd + jp_c14b_trd !: Last index of C14 tracer57 INTEGER, PUBLIC, PARAMETER :: jp_c14b0 = jp_lb + 1 !: First index of C14 tracer 58 INTEGER, PUBLIC, PARAMETER :: jp_c14b1 = jp_lb + jp_c14b !: Last index of C14 tracer 59 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_2d = jp_lb_2d + 1 !: First index of C14 tracer 60 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_2d = jp_lb_2d + jp_c14b_2d !: Last index of C14 tracer 61 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_3d = jp_lb_3d + 1 !: First index of C14 tracer 62 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_3d = jp_lb_3d + jp_c14b_3d !: Last index of C14 tracer 63 INTEGER, PUBLIC, PARAMETER :: jp_c14b0_trd = jp_lb_trd + 1 !: First index of C14 tracer 64 INTEGER, PUBLIC, PARAMETER :: jp_c14b1_trd = jp_lb_trd + jp_c14b_trd !: Last index of C14 tracer 68 65 69 66 !!====================================================================== -
branches/devmercator2010_1/NEMO/TOP_SRC/C14b/trclsm_c14b.F90
r1581 r2137 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/devmercator2010_1/NEMO/TOP_SRC/CFC/par_cfc.F90
r1253 r2137 21 21 22 22 IMPLICIT NONE 23 PUBLIC24 23 25 INTEGER, P UBLIC, PARAMETER :: jp_lp= jp_lobster + jp_pisces !: cumulative number of passive tracers26 INTEGER, P UBLIC, PARAMETER :: jp_lp_2d = jp_lobster_2d + jp_pisces_2d !:27 INTEGER, P UBLIC, PARAMETER :: jp_lp_3d = jp_lobster_3d + jp_pisces_3d !:28 INTEGER, P UBLIC, PARAMETER :: jp_lp_trd = jp_lobster_trd + jp_pisces_trd !:24 INTEGER, PARAMETER :: jp_lc = jp_lobster + jp_pisces !: cumulative number of passive tracers 25 INTEGER, PARAMETER :: jp_lc_2d = jp_lobster_2d + jp_pisces_2d !: 26 INTEGER, PARAMETER :: jp_lc_3d = jp_lobster_3d + jp_pisces_3d !: 27 INTEGER, PARAMETER :: jp_lc_trd = jp_lobster_trd + jp_pisces_trd !: 29 28 30 29 #if defined key_cfc … … 39 38 40 39 ! assign an index in trc arrays for each CFC prognostic variables 41 INTEGER, PUBLIC, PARAMETER :: jpc11 = jp_l p+ 1 !: CFC-1142 INTEGER, PUBLIC, PARAMETER :: jpc12 = jp_l p+ 2 !: CFC-1240 INTEGER, PUBLIC, PARAMETER :: jpc11 = jp_lc + 1 !: CFC-11 41 INTEGER, PUBLIC, PARAMETER :: jpc12 = jp_lc + 2 !: CFC-12 43 42 #else 44 43 !!--------------------------------------------------------------------- … … 53 52 54 53 ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done) 55 INTEGER, PUBLIC, PARAMETER :: jp_cfc0 = jp_l p+ 1 !: First index of CFC tracers56 INTEGER, PUBLIC, PARAMETER :: jp_cfc1 = jp_l p+ jp_cfc !: Last index of CFC tracers57 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_2d = jp_l p_2d + 1 !: First index of CFC tracers58 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_2d = jp_l p_2d + jp_cfc_2d !: Last index of CFC tracers59 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_3d = jp_l p_3d + 1 !: First index of CFC tracers60 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_3d = jp_l p_3d + jp_cfc_3d !: Last index of CFC tracers61 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_trd = jp_l p_trd + 1 !: First index of CFC tracers62 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_trd = jp_l p_trd + jp_cfc_trd !: Last index of CFC tracers54 INTEGER, PUBLIC, PARAMETER :: jp_cfc0 = jp_lc + 1 !: First index of CFC tracers 55 INTEGER, PUBLIC, PARAMETER :: jp_cfc1 = jp_lc + jp_cfc !: Last index of CFC tracers 56 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_2d = jp_lc_2d + 1 !: First index of CFC tracers 57 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_2d = jp_lc_2d + jp_cfc_2d !: Last index of CFC tracers 58 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_3d = jp_lc_3d + 1 !: First index of CFC tracers 59 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_3d = jp_lc_3d + jp_cfc_3d !: Last index of CFC tracers 60 INTEGER, PUBLIC, PARAMETER :: jp_cfc0_trd = jp_lc_trd + 1 !: First index of CFC tracers 61 INTEGER, PUBLIC, PARAMETER :: jp_cfc1_trd = jp_lc_trd + jp_cfc_trd !: Last index of CFC tracers 63 62 64 63 !!====================================================================== -
branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trcctl_cfc.F90
r1255 r2137 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 ' … … 54 53 ! Check tracer names 55 54 ! ------------------ 56 IF ( ctrcnm(jpc11) /= 'CFC11' .OR. ctrcnm(jpc12) /= 'CFC12' ) THEN 57 ctrcnm(jpc11) = 'CFC11' 58 ctrcnl(jpc11) = 'Chlorofuorocarbone 11 concentration' 59 ctrcnm(jpc12) = 'CFC12' 60 ctrcnl(jpc12) = 'Chlorofuorocarbone 12 concentration' 55 ctrcnm(jpc11) = 'CFC11' 56 ctrcnl(jpc11) = 'Chlorofuorocarbone 11 concentration' 57 58 IF ( jp_cfc == 2 ) THEN 59 ctrcnm(jpc12) = 'CFC12' 60 ctrcnl(jpc12) = 'Chlorofuorocarbone 12 concentration' 61 61 ENDIF 62 62 … … 70 70 END DO 71 71 WRITE(numout,*) ' ' 72 ENDIF 72 ENDIF 73 73 74 74 … … 80 80 ctrcun(jn) = 'mole/m3' 81 81 IF(lwp) THEN 82 WRITE (numout,*) ' ===>>>> : w a r n i n g ' 83 WRITE (numout,*) ' ======= ============= ' 82 WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 84 83 WRITE (numout,*) ' we force tracer unit' 85 84 WRITE(numout,*) ' tracer ',ctrcnm(jn), 'UNIT= ',ctrcun(jn) -
branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trcini_cfc.F90
r1581 r2137 22 22 23 23 PUBLIC trc_ini_cfc ! called by trcini.F90 module 24 25 CHARACTER (len=34) :: clname = 'cfc1112.atm' ! ??? 24 26 25 27 INTEGER :: inum ! unit number … … 55 57 ! --------------------------------------- 56 58 xphem (:,:) = 0.e0 57 DO jl = 1, jp_cfc 58 jn = jp_cfc0 + jl - 1 59 DO jm = 1, jphem 60 DO js = 1, jpyear 61 p_cfc(js,jm,jn) = 0.0 62 END DO 63 END DO 64 END DO 65 59 p_cfc(:,:,:) = 0.e0 66 60 67 61 ! Initialization of qint in case of no restart … … 73 67 WRITE(numout,*) 'Initialization de qint ; No restart : qint equal zero ' 74 68 ENDIF 69 qint_cfc(:,:,:) = 0.e0 75 70 DO jl = 1, jp_cfc 76 71 jn = jp_cfc0 + jl - 1 77 72 trn (:,:,:,jn) = 0.e0 78 qint_cfc(:,: ,jn) = 0.e079 73 END DO 80 74 ENDIF … … 88 82 IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112atm' 89 83 90 CALL ctl_opn( inum, 'cfc1112.atm', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )84 CALL ctl_opn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 91 85 REWIND(inum) 92 86 … … 95 89 END DO 96 90 97 DO jn = 31, 98 ! Read file 98 READ(inum,*) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), p_cfc(jn,2,1), p_cfc(jn,2,2) 99 WRITE(numout,'(f7.2, 4f8.2)' ) & 91 ! file starts in 1931 do jn represent the year in the century.jhh 92 ! Read file till the end 93 jn = 31 94 DO WHILE ( 1 /= 2 ) 95 READ(inum,*,END=100) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), p_cfc(jn,2,1), p_cfc(jn,2,2) 96 IF ( lwp) THEN 97 WRITE(numout,'(f7.2, 4f8.2)' ) & 100 98 & zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), p_cfc(jn,2,1), p_cfc(jn,2,2) 99 ENDIF 100 jn = jn + 1 101 101 END DO 102 100 npyear = jn - 1 103 IF ( lwp) WRITE(numout,*) ' ', npyear ,' years read' 102 104 103 105 p_cfc(32,1:2,1) = 5.e-4 ! modify the values of the first years -
branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trclsm_cfc.F90
r1581 r2137 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/devmercator2010_1/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r1459 r2137 27 27 PUBLIC trc_sms_cfc ! called in ??? 28 28 29 INTEGER , PUBLIC, PARAMETER :: jpyear = 1 00 ! temporal parameter29 INTEGER , PUBLIC, PARAMETER :: jpyear = 150 ! temporal parameter 30 30 INTEGER , PUBLIC, PARAMETER :: jphem = 2 ! parameter for the 2 hemispheres 31 31 INTEGER , PUBLIC :: ndate_beg ! initial calendar date (aammjj) for CFC 32 32 INTEGER , PUBLIC :: nyear_res ! restoring time constant (year) 33 33 INTEGER , PUBLIC :: nyear_beg ! initial year (aa) 34 INTEGER , PUBLIC :: npyear ! Number of years read in CFC1112 file 34 35 35 36 REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jp_cfc) :: p_cfc ! partial hemispheric pressure for CFC … … 96 97 ! Temporal interpolation 97 98 ! ---------------------- 98 iyear_beg = nyear + ( nyear_res - 1900 - nyear_beg )99 iyear_beg = nyear - 1900 99 100 IF ( nmonth <= 6 ) THEN 100 iyear_beg = iyear_beg - 2 + nyear_beg101 iyear_beg = iyear_beg - 1 101 102 im1 = 6 - nmonth + 1 102 103 im2 = 6 + nmonth - 1 103 104 ELSE 104 iyear_beg = iyear_beg - 1 + nyear_beg105 105 im1 = 12 - nmonth + 7 106 106 im2 = nmonth - 7 -
branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/par_lobster.F90
r1176 r2137 12 12 13 13 IMPLICIT NONE 14 PUBLIC15 14 16 15 #if defined key_lobster -
branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r1457 r2137 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/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcexp.F90
r1457 r2137 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/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90
r1542 r2137 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/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r1445 r2137 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/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r1457 r2137 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/devmercator2010_1/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90
r1253 r2137 31 31 32 32 IMPLICIT NONE 33 PUBLIC34 33 35 INTEGER, P UBLIC, PARAMETER :: jp_lpc= jp_lobster + jp_pisces + jp_cfc + jp_c14b !:36 INTEGER, P UBLIC, PARAMETER :: jp_lpc_2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d + jp_c14b_2d !:37 INTEGER, P UBLIC, PARAMETER :: jp_lpc_3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d + jp_c14b_3d !:38 INTEGER, P UBLIC, PARAMETER :: jp_lpc_trd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd !:34 INTEGER, PARAMETER :: jp_lm = jp_lobster + jp_pisces + jp_cfc + jp_c14b !: 35 INTEGER, PARAMETER :: jp_lm_2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d + jp_c14b_2d !: 36 INTEGER, PARAMETER :: jp_lm_3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d + jp_c14b_3d !: 37 INTEGER, PARAMETER :: jp_lm_trd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd !: 39 38 40 39 #if defined key_my_trc … … 49 48 50 49 ! assign an index in trc arrays for each PTS prognostic variables 51 INTEGER, PUBLIC, PARAMETER :: jpmyt1 = jp_l pc+ 1 !: 1st MY_TRC tracer52 INTEGER, PUBLIC, PARAMETER :: jpmyt2 = jp_l pc+ 2 !: 2nd MY_TRC tracer50 INTEGER, PUBLIC, PARAMETER :: jpmyt1 = jp_lm + 1 !: 1st MY_TRC tracer 51 INTEGER, PUBLIC, PARAMETER :: jpmyt2 = jp_lm + 2 !: 2nd MY_TRC tracer 53 52 54 53 #else … … 64 63 65 64 ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 66 INTEGER, PUBLIC, PARAMETER :: jp_myt0 = jp_l pc+ 1 !: First index of MY_TRC passive tracers67 INTEGER, PUBLIC, PARAMETER :: jp_myt1 = jp_l pc+ jp_my_trc !: Last index of MY_TRC passive tracers68 INTEGER, PUBLIC, PARAMETER :: jp_myt0_2d = jp_l pc_2d + 1 !: First index of MY_TRC passive tracers69 INTEGER, PUBLIC, PARAMETER :: jp_myt1_2d = jp_l pc_2d + jp_my_trc_2d !: Last index of MY_TRC passive tracers70 INTEGER, PUBLIC, PARAMETER :: jp_myt0_3d = jp_l pc_3d + 1 !: First index of MY_TRC passive tracers71 INTEGER, PUBLIC, PARAMETER :: jp_myt1_3d = jp_l pc_3d + jp_my_trc_3d !: Last index of MY_TRC passive tracers72 INTEGER, PUBLIC, PARAMETER :: jp_myt0_trd = jp_l pc_trd + 1 !: First index of MY_TRC passive tracers73 INTEGER, PUBLIC, PARAMETER :: jp_myt1_trd = jp_l pc_trd + jp_my_trc_trd !: Last index of MY_TRC passive tracers65 INTEGER, PUBLIC, PARAMETER :: jp_myt0 = jp_lm + 1 !: First index of MY_TRC passive tracers 66 INTEGER, PUBLIC, PARAMETER :: jp_myt1 = jp_lm + jp_my_trc !: Last index of MY_TRC passive tracers 67 INTEGER, PUBLIC, PARAMETER :: jp_myt0_2d = jp_lm_2d + 1 !: First index of MY_TRC passive tracers 68 INTEGER, PUBLIC, PARAMETER :: jp_myt1_2d = jp_lm_2d + jp_my_trc_2d !: Last index of MY_TRC passive tracers 69 INTEGER, PUBLIC, PARAMETER :: jp_myt0_3d = jp_lm_3d + 1 !: First index of MY_TRC passive tracers 70 INTEGER, PUBLIC, PARAMETER :: jp_myt1_3d = jp_lm_3d + jp_my_trc_3d !: Last index of MY_TRC passive tracers 71 INTEGER, PUBLIC, PARAMETER :: jp_myt0_trd = jp_lm_trd + 1 !: First index of MY_TRC passive tracers 72 INTEGER, PUBLIC, PARAMETER :: jp_myt1_trd = jp_lm_trd + jp_my_trc_trd !: Last index of MY_TRC passive tracers 74 73 75 74 !!====================================================================== -
branches/devmercator2010_1/NEMO/TOP_SRC/MY_TRC/trcctl_my_trc.F90
r1264 r2137 40 40 IF(lwp) WRITE(numout,*) ' use COLOR tracer ' 41 41 42 DO j n= 1, jp_my_trc42 DO jl = 1, jp_my_trc 43 43 jn = jp_myt0 + jl - 1 44 44 WRITE(ctrcnm(jn),'(a,i2.2)') 'CLR',jn -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zbio.F90
r1678 r2137 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/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zche.F90
r1180 r2137 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/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zflx.F90
r1737 r2137 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) … … 204 204 CALL mpp_sum( t_oce_co2_flx ) ! sum over the global domain 205 205 ENDIF 206 ! Conversion in GtC/yr ; negative for outgoing from ocean 207 t_oce_co2_flx = (-1.) * t_oce_co2_flx * 12. / 1.e15 208 ! 206 209 WRITE(numout,*) ' Atmospheric pCO2 :' 207 210 WRITE(numout,*) '-------------------- : ',kt,' ',t_atm_co2_flx 208 211 WRITE(numout,*) '(ppm)' 209 WRITE(numout,*) 'Total Flux of Carbon :'210 WRITE(numout,*) '-------------------- : ',t_oce_co2_flx * 12. / 1e15211 WRITE(numout,*) '(GtC/ an)'212 WRITE(numout,*) 'Total Flux of Carbon out of the ocean :' 213 WRITE(numout,*) '-------------------- : ',t_oce_co2_flx 214 WRITE(numout,*) '(GtC/yr)' 212 215 t_atm_co2_flx = 0. 213 216 t_oce_co2_flx = 0. 217 # if defined key_iomput 218 CALL iom_put( "tatpco2" , t_atm_co2_flx ) 219 CALL iom_put( "tco2flx" , t_oce_co2_flx ) 220 #endif 214 221 ENDIF 215 222 #endif -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlim.F90
r1152 r2137 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/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlys.F90
r1735 r2137 67 67 #if defined key_trc_dia3d && defined key_iomput 68 68 REAL(wp) :: zrfact2 69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss , zw3d69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss 70 70 #endif 71 71 CHARACTER (len=25) :: charout … … 94 94 ! SET DUMMY VARIABLE FOR TOTAL BORATE 95 95 zbot = borat(ji,jj,jk) 96 97 ! SET DUMMY VARIABLE FOR TOTAL BORATE 98 zbot = borat(ji,jj,jk) 96 99 zfact = rhop (ji,jj,jk) / 1000. + rtrn 97 100 … … 171 174 # else 172 175 zrfact2 = 1.e3 * rfact2r 173 zw3d(:,:,:) = hi (:,:,:) * tmask(:,:,:) 174 CALL iom_put( "PH", zw3d ) 175 zw3d(:,:,:) = zco3(:,:,:) * tmask(:,:,:) 176 CALL iom_put( "CO3", zw3d ) 177 zw3d(:,:,:) = aksp(:,:,:) / calcon * tmask(:,:,:) 178 CALL iom_put( "CO3sat", zw3d ) 179 zw3d(:,:,:) = zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) 180 CALL iom_put( "Dcal", zw3d ) 176 CALL iom_put( "PH" , hi (:,:,:) * tmask(:,:,:) ) 177 CALL iom_put( "CO3" , zco3 (:,:,:) * tmask(:,:,:) ) 178 CALL iom_put( "CO3sat", aksp (:,:,:) / calcon * tmask(:,:,:) ) 179 CALL iom_put( "DCAL" , zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) ) 181 180 # endif 182 181 # endif … … 232 231 END SUBROUTINE p4z_lys 233 232 #endif 234 235 233 !!====================================================================== 236 234 END MODULE p4zlys -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmeso.F90
r1736 r2137 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) … … 76 76 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 77 77 REAL(wp) :: zrfact2 78 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d79 78 #endif 80 79 … … 203 202 END DO 204 203 204 #if defined key_trc_dia3d 205 ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) 206 grazing(:,:,:) = grazing(:,:,:) + ( zgrazd (:,:,:) + zgrazz (:,:,:) + zgrazn(:,:,:) & 207 & + zgrazpoc(:,:,:) + zgrazffe(:,:,:) ) 208 #endif 209 205 210 206 211 DO jk = 1,jpkm1 … … 311 316 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 312 317 zrfact2 = 1.e3 * rfact2r 313 zw3d(:,:,:) = ( zgrazd(:,:,:) + zgrazz(:,:,:) + zgrazn(:,:,:) & 314 & + zgrazpoc(:,:,:) + zgrazffe(:,:,:) ) * zrfact2 * tmask(:,:,:) 315 IF( jnt == nrdttrc ) CALL iom_put( "Graz2" , zw3d ) 316 317 zw3d(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 318 IF( jnt == nrdttrc ) CALL iom_put( "Pcal" , zw3d ) 318 ! Total grazing of phyto by zoo 319 grazing(:,:,:) = grazing(:,:,:) * zrfact2 * tmask(:,:,:) 320 ! Calcite production 321 prodcal(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 322 IF( jnt == nrdttrc ) then 323 CALL iom_put( "GRAZ" , grazing ) ! Total grazing of phyto by zooplankton 324 CALL iom_put( "PCAL" , prodcal ) ! Calcite production 325 ENDIF 319 326 #endif 320 327 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmicro.F90
r1736 r2137 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) … … 70 70 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazmf, zgrazsf, zgrazpf 71 71 CHARACTER (len=25) :: charout 72 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput73 REAL(wp) :: zrfact274 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d75 #endif76 72 77 73 !!--------------------------------------------------------------------- … … 88 84 zgrazpf(:,:,:) = 0. 89 85 86 #if defined key_trc_dia3d 87 grazing(:,:,:) = 0. !: Initialisation of grazing 88 #endif 90 89 91 90 zstep = rfact2 / rday ! Time step duration for biology … … 156 155 END DO 157 156 157 #if defined key_trc_dia3d 158 ! Grazing by microzooplankton 159 grazing(:,:,:) = grazing(:,:,:) + zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) 160 #endif 158 161 159 162 DO jk = 1,jpkm1 … … 231 234 END DO 232 235 ! 233 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 234 zrfact2 = 1.e3 * rfact2r 235 zw3d(:,:,:) = ( zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) ) * zrfact2 * tmask(:,:,:) 236 IF( jnt == nrdttrc ) CALL iom_put( "Graz" , zw3d ) 237 #endif 238 239 IF(ln_ctl) THEN ! print mean trends (used for debugging) 236 IF(ln_ctl) THEN ! print mean trends (used for debugging) 240 237 WRITE(charout, FMT="('micro')") 241 238 CALL prt_ctl_trc_info(charout) 242 239 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 243 240 ENDIF 244 241 245 242 END SUBROUTINE p4z_micro -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmort.F90
r1736 r2137 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/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zopt.F90
r1678 r2137 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) … … 61 61 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zekg, zekr, zekb 62 62 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze1 , ze2 , ze3, ze0 63 #if defined key_trc_diaadd && defined key_iomput64 REAL(wp), DIMENSION(jpi,jpj) :: zw2d65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d66 #endif67 63 !!--------------------------------------------------------------------- 68 64 … … 238 234 # else 239 235 ! write diagnostics 240 zw2d(:,: ) = heup(:,: ) * tmask(:,:,1)241 zw3d(:,:,:) = etot(:,:,:) * tmask(:,:,:)242 IF( jnt == nrdttrc ) CALL iom_put( "Heup", zw2d )243 IF( jnt == nrdttrc ) CALL iom_put( "PAR" , zw3d )236 IF( jnt == nrdttrc ) then 237 CALL iom_put( "Heup", heup(:,: ) * tmask(:,:,1) ) ! euphotic layer deptht 238 CALL iom_put( "PAR" , etot(:,:,:) * tmask(:,:,:) ) ! Photosynthetically Available Radiation 239 ENDIF 244 240 # endif 245 241 #endif -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zprod.F90
r1736 r2137 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) … … 81 81 #if defined key_trc_diaadd && defined key_trc_dia3d 82 82 REAL(wp) :: zrfact2 83 #if defined key_iomput84 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d85 #endif86 83 #endif 87 84 REAL(wp), DIMENSION(jpi,jpj) :: zmixnano , zmixdiat, zstrn … … 352 349 WRITE(numout,*) 'Total PP :' 353 350 WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 354 WRITE(numout,*) '(GtC/ an)'351 WRITE(numout,*) '(GtC/yr)' 355 352 tpp = 0. 356 353 ENDIF 357 354 358 #if defined key_trc_diaadd && defined key_trc_dia3d 355 #if defined key_trc_diaadd && defined key_trc_dia3d && ! defined key_iomput 356 ! Supplementary diagnostics 359 357 zrfact2 = 1.e3 * rfact2r 360 ! Supplementary diagnostics361 # if ! defined key_iomput362 358 trc3d(:,:,:,jp_pcs0_3d + 4) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 363 359 trc3d(:,:,:,jp_pcs0_3d + 5) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) … … 366 362 trc3d(:,:,:,jp_pcs0_3d + 8) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 367 363 trc3d(:,:,:,jp_pcs0_3d + 9) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 368 # if ! defined key_kriest364 # if ! defined key_kriest 369 365 trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 366 # endif 370 367 #endif 371 368 372 # else 373 zw3d(:,:,:) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 374 IF( jnt == nrdttrc ) CALL iom_put( "PPPHY" , zw3d ) 375 zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 376 IF( jnt == nrdttrc ) CALL iom_put( "PPPHY2", zw3d ) 377 zw3d(:,:,:) = zpronew (:,:,:) * zrfact2 * tmask(:,:,:) 378 IF( jnt == nrdttrc ) CALL iom_put( "PPNEWN" , zw3d ) 379 zw3d(:,:,:) = zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) 380 IF( jnt == nrdttrc ) CALL iom_put( "PPNEWD", zw3d ) 381 zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 382 IF( jnt == nrdttrc ) CALL iom_put( "PBSi" , zw3d ) 383 zw3d(:,:,:) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 384 IF( jnt == nrdttrc ) CALL iom_put( "PFeD" , zw3d ) 385 zw3d(:,:,:) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 386 IF( jnt == nrdttrc ) CALL iom_put( "PFeN" , zw3d ) 387 # endif 369 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 370 zrfact2 = 1.e3 * rfact2r 371 IF ( jnt == nrdttrc ) then 372 CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by nanophyto 373 CALL iom_put( "PPPHY2", zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by diatom 374 CALL iom_put( "PPNEWN", zpronew (:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by nanophyto 375 CALL iom_put( "PPNEWD", zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by diatom 376 CALL iom_put( "PBSi" , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 377 CALL iom_put( "PFeD" , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by diatom 378 CALL iom_put( "PFeN" , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by nanophyto 379 ENDIF 388 380 #endif 389 381 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zrem.F90
r1744 r2137 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/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsed.F90
r1735 r2137 96 96 REAL(wp) :: zrfact2 97 97 # if defined key_iomput 98 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d99 98 REAL(wp), DIMENSION(jpi,jpj) :: zw2d 100 99 # endif … … 332 331 trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 333 332 # else 334 ! write diagnostics 335 zw2d(:,:) = ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) & 336 & * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 333 ! surface downward net flux of iron 334 zw2d(:,:) = ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 337 335 IF( jnt == nrdttrc ) CALL iom_put( "Irondep", zw2d ) 338 zw3d(:,:,:) = znitrpot(:,:,:) * 1.e-7 * zrfact2 * fse3t(:,:,:) * tmask(:,:,:)339 IF( jnt == nrdttrc ) CALL iom_put( "Nfix", zw3d )340 # endif 341 336 ! nitrogen fixation at surface 337 zw2d(:,:) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 338 IF( jnt == nrdttrc ) CALL iom_put( "Nfix" , zw2d ) 339 # endif 342 340 # endif 343 341 ! -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsink.F90
r1736 r2137 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) … … 99 99 #if defined key_trc_diaadd 100 100 REAL(wp) :: zrfact2 101 INTEGER :: iksed1 102 #if defined key_iomput 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d 104 #endif 101 INTEGER :: ik1 105 102 #endif 106 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: znum3d … … 286 283 #if defined key_trc_diaadd 287 284 zrfact2 = 1.e3 * rfact2r 288 ik sed1 = iksed + 1285 ik1 = iksed + 1 289 286 # if ! defined key_iomput 290 trc2d(:,: ,jp_pcs0_2d + 4) = sinking (:,:,ik sed1) * zrfact2 * tmask(:,:,1)291 trc2d(:,: ,jp_pcs0_2d + 5) = sinking2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)292 trc2d(:,: ,jp_pcs0_2d + 6) = sinkfer (:,:,ik sed1) * zrfact2 * tmask(:,:,1)293 trc2d(:,: ,jp_pcs0_2d + 7) = sinksil (:,:,ik sed1) * zrfact2 * tmask(:,:,1)294 trc2d(:,: ,jp_pcs0_2d + 8) = sinkcal (:,:,ik sed1) * zrfact2 * tmask(:,:,1)287 trc2d(:,: ,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 288 trc2d(:,: ,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 289 trc2d(:,: ,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 290 trc2d(:,: ,jp_pcs0_2d + 7) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 291 trc2d(:,: ,jp_pcs0_2d + 8) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 295 292 trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 296 293 trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) … … 301 298 trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4 (:,:,:) * tmask(:,:,:) 302 299 #else 303 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 304 IF( jnt == nrdttrc ) CALL iom_put( "PMO" , zw3d ) 305 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 306 IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw3d ) 307 zw3d(:,:,:) = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 308 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 309 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 310 IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 311 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 312 IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw3d ) 313 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 314 IF( jnt == nrdttrc ) CALL iom_put( "POCFlx", zw3d ) 315 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 316 IF( jnt == nrdttrc ) CALL iom_put( "GOCFlx", zw3d ) 317 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 318 IF( jnt == nrdttrc ) CALL iom_put( "SiFlx", zw3d ) 319 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 320 IF( jnt == nrdttrc ) CALL iom_put( "CaCO3Flx", zw3d ) 321 zw3d(:,:,:) = znum3d (:,:,:) * tmask(:,:,:) 322 IF( jnt == nrdttrc ) CALL iom_put( "xnum", zw3d ) 323 zw3d(:,:,:) = wsbio3 (:,:,:) * tmask(:,:,:) 324 IF( jnt == nrdttrc ) CALL iom_put( "W1", zw3d ) 325 zw3d(:,:,:) = wsbio4 (:,:,:) * tmask(:,:,:) 326 IF( jnt == nrdttrc ) CALL iom_put( "W2", zw3d ) 300 IF( jnt == nrdttrc ) then 301 CALL iom_put( "POCFlx" , sinking (:,:,:) * zrfact2 * tmask(:,:,:) ) ! POC export 302 CALL iom_put( "NumFlx" , sinking2 (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Num export 303 CALL iom_put( "SiFlx" , sinksil (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Silica export 304 CALL iom_put( "CaCO3Flx", sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Calcite export 305 CALL iom_put( "xnum" , znum3d (:,:,:) * tmask(:,:,:) ) ! Number of particles in aggregats 306 CALL iom_put( "W1" , wsbio3 (:,:,:) * tmask(:,:,:) ) ! sinking speed of POC 307 CALL iom_put( "W2" , wsbio4 (:,:,:) * tmask(:,:,:) ) ! sinking speed of aggregats 308 CALL iom_put( "PMO" , sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! POC export at 100m 309 CALL iom_put( "PMO2" , sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Num export at 100m 310 CALL iom_put( "ExpFe1" , sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 311 CALL iom_put( "ExpSi" , sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! export of silica at 100m 312 CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! export of calcite at 100m 313 ENDIF 327 314 # endif 328 315 … … 489 476 #if defined key_trc_dia3d 490 477 REAL(wp) :: zrfact2 491 INTEGER :: iksed1 492 #endif 493 #if defined key_iomput 494 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d 478 INTEGER :: ik1 495 479 #endif 496 480 CHARACTER (len=25) :: charout … … 613 597 #if defined key_trc_diaadd 614 598 zrfact2 = 1.e3 * rfact2r 615 ik sed1= iksed + 1599 ik1 = iksed + 1 616 600 # if ! defined key_iomput 617 trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik sed1) * zrfact2 * tmask(:,:,1)618 trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)619 trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik sed1) * zrfact2 * tmask(:,:,1)620 trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)621 trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik sed1) * zrfact2 * tmask(:,:,1)622 trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik sed1) * zrfact2 * tmask(:,:,1)601 trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 602 trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 603 trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 604 trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik1) * zrfact2 * tmask(:,:,1) 605 trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 606 trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 623 607 # else 624 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 625 IF( jnt == nrdttrc ) CALL iom_put( "ExpPOC" , zw3d ) 626 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 627 IF( jnt == nrdttrc ) CALL iom_put( "ExpGOC", zw3d ) 628 zw3d(:,:,:) = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 629 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 630 zw3d(:,:,:) = sinkfer2(:,:,:) * zrfact2 * tmask(:,:,:) 631 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw3d ) 632 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 633 IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 634 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 635 IF( jnt == nrdttrc ) CALL iom_put( "Expcal", zw3d ) 636 # endif 608 IF( jnt == nrdttrc ) then 609 CALL iom_put( "EPC100" , ( sinking(:,:,ik1) + sinking2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of carbon at 100m 610 CALL iom_put( "EPFE100" , ( sinkfer(:,:,ik1) + sinkfer2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 611 CALL iom_put( "EPCAL100", sinkcal(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of calcite at 100m 612 CALL iom_put( "EPSI100" , sinksil(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of biogenic silica at 100m 613 ENDIF 614 #endif 637 615 #endif 638 616 ! -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/par_pisces.F90
r1152 r2137 16 16 17 17 IMPLICIT NONE 18 PUBLIC19 18 20 INTEGER, P UBLIC, PARAMETER :: jp_l= jp_lobster !: cumulative number of already defined TRC21 INTEGER, P UBLIC, PARAMETER :: jp_l_2d = jp_lobster_2d !:22 INTEGER, P UBLIC, PARAMETER :: jp_l_3d = jp_lobster_3d !:23 INTEGER, P UBLIC, PARAMETER :: jp_l_trd = jp_lobster_trd !:19 INTEGER, PARAMETER :: jp_lp = jp_lobster !: cumulative number of already defined TRC 20 INTEGER, PARAMETER :: jp_lp_2d = jp_lobster_2d !: 21 INTEGER, PARAMETER :: jp_lp_3d = jp_lobster_3d !: 22 INTEGER, PARAMETER :: jp_lp_trd = jp_lobster_trd !: 24 23 25 24 #if defined key_pisces && defined key_kriest … … 37 36 ! WARNING: be carefull about the order when reading the restart 38 37 ! !!gm this warning should be obsolet with IOM 39 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration40 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity41 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_l + 3 !: oxygen carbon concentration42 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_l + 4 !: calcite concentration43 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_l + 5 !: phosphate concentration44 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_l + 6 !: small particulate organic phosphate concentration45 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_l + 7 !: silicate concentration46 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_l + 8 !: phytoplancton concentration47 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_l + 9 !: zooplancton concentration48 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_l + 10 !: dissolved organic carbon concentration49 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_l + 11 !: Diatoms Concentration50 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_l + 12 !: Mesozooplankton Concentration51 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_l + 13 !: (big) Silicate Concentration52 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_l + 14 !: Iron Concentration53 INTEGER, PUBLIC, PARAMETER :: jpnum = jp_l + 15 !: Big iron particles Concentration54 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_l + 16 !: number of particulate organic phosphate concentration55 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_l + 17 !: Diatoms iron Concentration56 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_l + 18 !: Diatoms Silicate Concentration57 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_l + 19 !: Nano iron Concentration58 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_l + 20 !: Nano Chlorophyll Concentration59 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_l + 21 !: Diatoms Chlorophyll Concentration60 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_l + 22 !: Nitrates Concentration61 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_l + 23 !: Ammonium Concentration38 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_lp + 1 !: dissolved inoganic carbon concentration 39 INTEGER, PUBLIC, PARAMETER :: jptal = jp_lp + 2 !: total alkalinity 40 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lp + 3 !: oxygen carbon concentration 41 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_lp + 4 !: calcite concentration 42 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_lp + 5 !: phosphate concentration 43 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_lp + 6 !: small particulate organic phosphate concentration 44 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_lp + 7 !: silicate concentration 45 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_lp + 8 !: phytoplancton concentration 46 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_lp + 9 !: zooplancton concentration 47 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_lp + 10 !: dissolved organic carbon concentration 48 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 49 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 50 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_lp + 13 !: (big) Silicate Concentration 51 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 52 INTEGER, PUBLIC, PARAMETER :: jpnum = jp_lp + 15 !: Big iron particles Concentration 53 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 16 !: number of particulate organic phosphate concentration 54 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 17 !: Diatoms iron Concentration 55 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 18 !: Diatoms Silicate Concentration 56 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 19 !: Nano iron Concentration 57 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 20 !: Nano Chlorophyll Concentration 58 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_lp + 21 !: Diatoms Chlorophyll Concentration 59 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_lp + 22 !: Nitrates Concentration 60 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_lp + 23 !: Ammonium Concentration 62 61 63 62 #elif defined key_pisces … … 75 74 ! WARNING: be carefull about the order when reading the restart 76 75 ! !!gm this warning should be obsolet with IOM 77 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration78 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity79 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_l + 3 !: oxygen carbon concentration80 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_l + 4 !: calcite concentration81 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_l + 5 !: phosphate concentration82 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_l + 6 !: small particulate organic phosphate concentration83 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_l + 7 !: silicate concentration84 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_l + 8 !: phytoplancton concentration85 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_l + 9 !: zooplancton concentration86 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_l + 10 !: dissolved organic carbon concentration87 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_l + 11 !: Diatoms Concentration88 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_l + 12 !: Mesozooplankton Concentration89 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_l + 13 !: (big) Silicate Concentration90 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_l + 14 !: Iron Concentration91 INTEGER, PUBLIC, PARAMETER :: jpbfe = jp_l + 15 !: Big iron particles Concentration92 INTEGER, PUBLIC, PARAMETER :: jpgoc = jp_l + 16 !: big particulate organic phosphate concentration93 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_l + 17 !: Small iron particles Concentration94 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_l + 18 !: Diatoms iron Concentration95 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_l + 19 !: Diatoms Silicate Concentration96 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_l + 20 !: Nano iron Concentration97 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_l + 21 !: Nano Chlorophyll Concentration98 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_l + 22 !: Diatoms Chlorophyll Concentration99 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_l + 23 !: Nitrates Concentration100 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_l + 24 !: Ammonium Concentration76 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_lp + 1 !: dissolved inoganic carbon concentration 77 INTEGER, PUBLIC, PARAMETER :: jptal = jp_lp + 2 !: total alkalinity 78 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lp + 3 !: oxygen carbon concentration 79 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_lp + 4 !: calcite concentration 80 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_lp + 5 !: phosphate concentration 81 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_lp + 6 !: small particulate organic phosphate concentration 82 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_lp + 7 !: silicate concentration 83 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_lp + 8 !: phytoplancton concentration 84 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_lp + 9 !: zooplancton concentration 85 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_lp + 10 !: dissolved organic carbon concentration 86 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 87 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 88 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_lp + 13 !: (big) Silicate Concentration 89 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 90 INTEGER, PUBLIC, PARAMETER :: jpbfe = jp_lp + 15 !: Big iron particles Concentration 91 INTEGER, PUBLIC, PARAMETER :: jpgoc = jp_lp + 16 !: big particulate organic phosphate concentration 92 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 17 !: Small iron particles Concentration 93 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 18 !: Diatoms iron Concentration 94 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 19 !: Diatoms Silicate Concentration 95 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 20 !: Nano iron Concentration 96 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 21 !: Nano Chlorophyll Concentration 97 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_lp + 22 !: Diatoms Chlorophyll Concentration 98 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_lp + 23 !: Nitrates Concentration 99 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_lp + 24 !: Ammonium Concentration 101 100 102 101 #else … … 113 112 114 113 ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 115 INTEGER, PUBLIC, PARAMETER :: jp_pcs0 = jp_l + 1 !: First index of PISCES tracers116 INTEGER, PUBLIC, PARAMETER :: jp_pcs1 = jp_l + jp_pisces !: Last index of PISCES tracers117 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_2d = jp_l _2d + 1 !: First index of 2D diag118 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_2d = jp_l _2d + jp_pisces_2d !: Last index of 2D diag119 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_3d = jp_l _3d + 1 !: First index of 3D diag120 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_3d = jp_l _3d + jp_pisces_3d !: Last index of 3d diag121 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_trd = jp_l _trd + 1 !: First index of bio diag122 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_trd = jp_l _trd + jp_pisces_trd !: Last index of bio diag114 INTEGER, PUBLIC, PARAMETER :: jp_pcs0 = jp_lp + 1 !: First index of PISCES tracers 115 INTEGER, PUBLIC, PARAMETER :: jp_pcs1 = jp_lp + jp_pisces !: Last index of PISCES tracers 116 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_2d = jp_lp_2d + 1 !: First index of 2D diag 117 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_2d = jp_lp_2d + jp_pisces_2d !: Last index of 2D diag 118 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_3d = jp_lp_3d + 1 !: First index of 3D diag 119 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_3d = jp_lp_3d + jp_pisces_3d !: Last index of 3d diag 120 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_trd = jp_lp_trd + 1 !: First index of bio diag 121 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_trd = jp_lp_trd + jp_pisces_trd !: Last index of bio diag 123 122 124 123 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r1678 r2137 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 … … 62 64 #if defined key_trc_dia3d 63 65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: prodcal !: Calcite production 66 REAL(wp), DIMENSION(jpi,jpj,jpk) :: grazing !: Total zooplankton grazing 64 67 #endif 65 68 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
r1542 r2137 38 38 no3 = 31.04e-6 * 7.6 39 39 40 # include "domzgr_substitute.h90"41 40 # include "top_substitute.h90" 42 41 !!---------------------------------------------------------------------- -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90
r1581 r2137 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/devmercator2010_1/NEMO/TOP_SRC/TRP/trctrp.F90
r1445 r2137 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/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_imp.F90
r1271 r2137 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/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_iso.F90
r1271 r2137 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/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_iso_vopt.F90
r1328 r2137 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/devmercator2010_1/NEMO/TOP_SRC/par_trc.F90
r1254 r2137 18 18 USE par_lobster ! LOBSTER model 19 19 USE par_pisces ! PISCES model 20 USE par_c14b ! C14 bomb tracer 20 21 USE par_cfc ! CFC 11 and 12 tracers 21 USE par_c14b ! C14 bomb tracer22 22 USE par_my_trc ! user defined passive tracers 23 23 24 24 IMPLICIT NONE 25 PUBLIC26 25 27 26 ! Passive tracers : Total size 28 27 ! --------------- ! total number of passive tracers, of 2d and 3d output and trend arrays 29 INTEGER, PUBLIC, PARAMETER :: jptra = jp_lobster + jp_pisces + jp_cfc + jp_c14b+ jp_my_trc30 INTEGER, PUBLIC, PARAMETER :: jpdia2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d + jp_c14b_2d+ jp_my_trc_2d31 INTEGER, PUBLIC, PARAMETER :: jpdia3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d + jp_c14b_3d+ jp_my_trc_3d28 INTEGER, PUBLIC, PARAMETER :: jptra = jp_lobster + jp_pisces + jp_cfc + jp_c14b + jp_my_trc 29 INTEGER, PUBLIC, PARAMETER :: jpdia2d = jp_lobster_2d + jp_pisces_2d + jp_cfc_2d + jp_c14b_2d + jp_my_trc_2d 30 INTEGER, PUBLIC, PARAMETER :: jpdia3d = jp_lobster_3d + jp_pisces_3d + jp_cfc_3d + jp_c14b_3d + jp_my_trc_3d 32 31 ! ! total number of sms diagnostic arrays 33 INTEGER, PUBLIC, PARAMETER :: jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd32 INTEGER, PUBLIC, PARAMETER :: jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd 34 33 35 34 ! 1D configuration ("key_c1d") … … 40 39 LOGICAL, PUBLIC, PARAMETER :: lk_trc_c1d = .FALSE. !: 1D pass. tracer configuration flag 41 40 # endif 42 43 41 ! Passive tracers : size for TRP trends diagnotics (used if 'key_trc_diatrd' defined) 44 #if defined key_trcldf_eiv 45 # if defined key_trcdmp 46 INTEGER, PARAMETER :: jpdiatrc = 11 !: trends: 3*(advection + diffusion + eiv ) + damping + sms 47 # else 48 INTEGER, PARAMETER :: jpdiatrc = 10 !: trends: 3*(advection + diffusion + eiv ) + sms 49 # endif 50 #else 51 # if defined key_trcdmp 52 INTEGER, PARAMETER :: jpdiatrc = 8 !: trends: 3*(advection + diffusion ) + damping + sms 53 # else 54 INTEGER, PARAMETER :: jpdiatrc = 7 !: trends: 3*(advection + diffusion ) + damping + sms 55 # endif 42 # if defined key_trc_diatrd 43 ! Passive tracers : size for TRP trends diagnotics (used if 'key_trc_diatrd' defined) 44 INTEGER, PUBLIC, PARAMETER :: jptrc_xad = 1 !: x- horizontal advection 45 INTEGER, PUBLIC, PARAMETER :: jptrc_yad = 2 !: y- horizontal advection 46 INTEGER, PUBLIC, PARAMETER :: jptrc_zad = 3 !: z- vertical advection 47 INTEGER, PUBLIC, PARAMETER :: jptrc_xdf = 4 !: lateral diffusion 48 INTEGER, PUBLIC, PARAMETER :: jptrc_ydf = 5 !: lateral diffusion 49 INTEGER, PUBLIC, PARAMETER :: jptrc_zdf = 6 !: vertical diffusion (Kz) 50 INTEGER, PUBLIC, PARAMETER :: jptrc_sbc = 7 !: surface boundary condition 51 #if ! defined key_trcldf_eiv && ! defined key_trcdmp 52 INTEGER, PUBLIC, PARAMETER :: jpdiatrc = 7 !: trends: 3*(advection + diffusion ) + sbc 53 #endif 54 #if defined key_trcldf_eiv && defined key_trcdmp 55 INTEGER, PUBLIC, PARAMETER :: jptrc_xei = 8 !: x- horiz. EIV advection 56 INTEGER, PUBLIC, PARAMETER :: jptrc_yei = 9 !: y- horiz. EIV advection 57 INTEGER, PUBLIC, PARAMETER :: jptrc_zei = 10 !: z- vert. EIV advection 58 INTEGER, PUBLIC, PARAMETER :: jptrc_dmp = 11 !: damping 59 INTEGER, PUBLIC, PARAMETER :: jpdiatrc = 11 !: trends: 3*(advection + diffusion + eiv ) + sbc + damping 60 #endif 61 #if defined key_trcldf_eiv && ! defined key_trcdmp 62 INTEGER, PUBLIC, PARAMETER :: jptrc_xei = 8 !: x- horiz. EIV advection 63 INTEGER, PUBLIC, PARAMETER :: jptrc_yei = 9 !: y- horiz. EIV advection 64 INTEGER, PUBLIC, PARAMETER :: jptrc_zei = 10 !: z- vert. EIV advection 65 INTEGER, PUBLIC, PARAMETER :: jpdiatrc = 10 !: trends: 3*(advection + diffusion + eiv ) + sbc 66 #endif 67 #if ! defined key_trcldf_eiv && defined key_trcdmp 68 INTEGER, PUBLIC, PARAMETER :: jptrc_dmp = 8 !: damping 69 INTEGER, PUBLIC, PARAMETER :: jpdiatrc = 8 !: trends: 3*(advection + diffusion ) + sbc + damping 70 #endif 56 71 #endif 57 72 -
branches/devmercator2010_1/NEMO/TOP_SRC/trcdia.F90
r1715 r2137 25 25 USE trc 26 26 USE trp_trc 27 USE par_trc 27 28 USE trdmld_trc_oce, ONLY : luttrd 28 29 USE dianam ! build name of file (routine) … … 41 42 INTEGER :: ndimt50 !: number of ocean points in index array 42 43 INTEGER :: ndimt51 !: number of ocean points in index array 43 REAL(wp) :: xjulian !: ???? not DOCTOR !44 REAL(wp) :: zjulian !: ???? not DOCTOR ! 44 45 INTEGER , DIMENSION (jpij*jpk) :: ndext50 !: integer arrays for ocean 3D index 45 46 INTEGER , DIMENSION (jpij) :: ndext51 !: integer arrays for ocean surface index … … 157 158 158 159 ! Compute julian date from starting date of the run 159 CALL ymds2ju( nyear, nmonth, nday, rdt, xjulian )160 xjulian = xjulian - adatrj ! set calendar origin to the beginning of the experiment160 CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 161 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 161 162 IF(lwp)WRITE(numout,*)' ' 162 163 IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000 & 163 164 & ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday & 164 & ,'Julian day : ', xjulian165 & ,'Julian day : ', zjulian 165 166 166 167 IF(lwp) WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma, & … … 171 172 IF(lwp) THEN 172 173 CALL dia_nam( clhstnam, nwritetrc,' ' ) 173 CALL ctl _opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )174 CALL ctlopn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, narea ) 174 175 WRITE(inum,*) clhstnam 175 176 CLOSE(inum) … … 184 185 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 185 186 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 186 & nittrc000-ndttrc, xjulian, zdt, nhorit5, nit5 , domain_id=nidom)187 & nittrc000-ndttrc, zjulian, zdt, nhorit5, nit5 , domain_id=nidom) 187 188 188 189 ! Vertical grid for tracer : gdept … … 258 259 CHARACTER (len=80) :: cltral 259 260 CHARACTER (len=10) :: csuff 260 INTEGER :: jn, jl 261 INTEGER :: jn, jl, ikn 261 262 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod 262 263 REAL(wp) :: zsto, zout, zdt … … 313 314 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 314 315 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 315 & nittrc000-ndttrc, xjulian, zdt, nhorit6(jn), &316 & nittrc000-ndttrc, zjulian, zdt, nhorit6(jn), & 316 317 & nit6(jn) , domain_id=nidom ) 317 318 … … 322 323 323 324 ! Declare all the output fields as NETCDF variables 324 325 ! trends for tracer concentrations326 325 DO jn = 1, jptra 327 326 IF( luttrd(jn) ) THEN 328 327 DO jl = 1, jpdiatrc 329 IF( jl == 1) THEN328 IF( jl == jptrc_xad ) THEN 330 329 ! short and long title for x advection for tracer 331 330 WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 332 WRITE (cltral,'("X advective trend for ",58a)') & 333 & ctrcnl(jn)(1:58) 334 END IF 335 IF( jl == 2 ) THEN 331 WRITE (cltral,'("X advective trend for ",58a)') ctrcnl(jn)(1:58) 332 END IF 333 IF( jl == jptrc_yad ) THEN 336 334 ! short and long title for y advection for tracer 337 335 WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 338 WRITE (cltral,'("Y advective trend for ",58a)') & 339 & ctrcnl(jn)(1:58) 340 END IF 341 IF( jl == 3 ) THEN 336 WRITE (cltral,'("Y advective trend for ",58a)') ctrcnl(jn)(1:58) 337 END IF 338 IF( jl == jptrc_zad ) THEN 342 339 ! short and long title for Z advection for tracer 343 340 WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 344 WRITE (cltral,'("Z advective trend for ",58a)') & 345 & ctrcnl(jn)(1:58) 346 END IF 347 IF( jl == 4 ) THEN 341 WRITE (cltral,'("Z advective trend for ",58a)') ctrcnl(jn)(1:58) 342 END IF 343 IF( jl == jptrc_xdf ) THEN 348 344 ! short and long title for X diffusion for tracer 349 345 WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 350 WRITE (cltral,'("X diffusion trend for ",58a)') & 351 & ctrcnl(jn)(1:58) 352 END IF 353 IF( jl == 5 ) THEN 346 WRITE (cltral,'("X diffusion trend for ",58a)') ctrcnl(jn)(1:58) 347 END IF 348 IF( jl == jptrc_ydf ) THEN 354 349 ! short and long title for Y diffusion for tracer 355 350 WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 356 WRITE (cltral,'("Y diffusion trend for ",58a)') & 357 & ctrcnl(jn)(1:58) 358 END IF 359 IF( jl == 6 ) THEN 351 WRITE (cltral,'("Y diffusion trend for ",58a)') ctrcnl(jn)(1:58) 352 END IF 353 IF( jl == jptrc_zdf ) THEN 360 354 ! short and long title for Z diffusion for tracer 361 355 WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 362 WRITE (cltral,'("Z diffusion trend for ",58a)') & 363 & ctrcnl(jn)(1:58) 356 WRITE (cltral,'("Z diffusion trend for ",58a)') ctrcnl(jn)(1:58) 364 357 END IF 365 358 # if defined key_trcldf_eiv 366 IF( jl == 7) THEN359 IF( jl == jptrc_xei ) THEN 367 360 ! short and long title for x gent velocity for tracer 368 361 WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 369 WRITE (cltral,'("X gent velocity trend for ",53a)') & 370 & ctrcnl(jn)(1:53) 371 END IF 372 IF( jl == 8 ) THEN 362 WRITE (cltral,'("X gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 363 END IF 364 IF( jl == jptrc_yei ) THEN 373 365 ! short and long title for y gent velocity for tracer 374 366 WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 375 WRITE (cltral,'("Y gent velocity trend for ",53a)') & 376 & ctrcnl(jn)(1:53) 377 END IF 378 IF( jl == 9 ) THEN 367 WRITE (cltral,'("Y gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 368 END IF 369 IF( jl == jptrc_zei ) THEN 379 370 ! short and long title for Z gent velocity for tracer 380 371 WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 381 WRITE (cltral,'("Z gent velocity trend for ",53a)') & 382 & ctrcnl(jn)(1:53) 372 WRITE (cltral,'("Z gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 383 373 END IF 384 374 # endif 385 375 # if defined key_trcdmp 386 IF( jl == jp diatrc - 1) THEN376 IF( jl == jptrc_dmp ) THEN 387 377 ! last trends for tracer damping : short and long title 388 378 WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 389 WRITE (cltral,'("Tracer damping trend for ",55a)') & 390 & ctrcnl(jn)(1:55) 391 END IF 392 # endif 393 IF( jl == jpdiatrc ) THEN 379 WRITE (cltral,'("Tracer damping trend for ",55a)') ctrcnl(jn)(1:55) 380 END IF 381 # endif 382 IF( jl == jptrc_sbc ) THEN 394 383 ! last trends for tracer damping : short and long title 395 384 WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 396 WRITE (cltral,'("Surface boundary flux ",58a)') &397 & ctrcnl(jn)(1:58)398 END IF399 385 WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 386 END IF 387 WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 388 END IF 400 389 CALL FLUSH( numout ) 401 390 cltrau = ctrcun(jn) ! UNIT for tracer /trends … … 406 395 END IF 407 396 END DO 408 409 397 ! CLOSE netcdf Files 410 398 DO jn = 1, jptra … … 432 420 DO jn = 1, jptra 433 421 IF( luttrd(jn) ) THEN 422 ikn = ikeep(jn) 434 423 DO jl = 1, jpdiatrc 435 ! short titles 436 IF( jl == 1) WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) ! x advection for tracer437 IF( jl == 2) WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) ! z advection for tracer438 IF( jl == 3) WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) ! z advection for tracer439 IF( jl == 4) WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) ! x diffusion for tracer440 IF( jl == 5) WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) ! y diffusion for tracer441 IF( jl == 6) WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) ! z diffusion for tracer424 ! short titles 425 IF( jl == jptrc_xad) WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 426 IF( jl == jptrc_yad) WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 427 IF( jl == jptrc_zad) WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 428 IF( jl == jptrc_xdf) WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 429 IF( jl == jptrc_ydf) WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 430 IF( jl == jptrc_zdf) WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 442 431 # if defined key_trcldf_eiv 443 IF( jl == 7) WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) ! x gent velocity for tracer444 IF( jl == 8) WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) ! y gent velocity for tracer445 IF( jl == 9) WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) ! z gent velocity for tracer432 IF( jl == jptrc_xei) WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 433 IF( jl == jptrc_yei) WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 434 IF( jl == jptrc_zei) WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 446 435 # endif 447 436 # if defined key_trcdmp 448 IF( jl == jp diatrc - 1 ) WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) ! damping449 # endif 450 IF( jl == jp diatrc ) WRITE (cltra,'("SBC_",a)') ctrcnm(jn) ! surface boundary conditions437 IF( jl == jptrc_dmp ) WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 438 # endif 439 IF( jl == jptrc_sbc ) WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 451 440 ! 452 CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ik eep(jn),jl),ndimt50, ndext50)441 CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikn,jl),ndimt50, ndext50) 453 442 END DO 454 443 END IF … … 552 541 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 553 542 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 554 & nittrc000-ndttrc, xjulian, zdt, nhoritd, nitd , domain_id=nidom )543 & nittrc000-ndttrc, zjulian, zdt, nhoritd, nitd , domain_id=nidom ) 555 544 556 545 ! Vertical grid for 2d and 3d arrays … … 700 689 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 701 690 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 702 & nittrc000-ndttrc, xjulian, zdt, nhoritb, nitb , domain_id=nidom )691 & nittrc000-ndttrc, zjulian, zdt, nhoritb, nitb , domain_id=nidom ) 703 692 ! Vertical grid for biological trends 704 693 CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_0, ndepitb) -
branches/devmercator2010_1/NEMO/TOP_SRC/trcdta.F90
r1645 r2137 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/devmercator2010_1/NEMO/TOP_SRC/trcini.F90
r1745 r2137 122 122 trb(:,:,:,:) = trn(:,:,:,:) 123 123 ELSE 124 ! 124 125 CALL trc_rst_read ! restart from a file 125 #if defined key_off_tra 126 CALL day_init ! calendar 127 #endif 126 ! 128 127 ENDIF 129 128 -
branches/devmercator2010_1/NEMO/TOP_SRC/trcrst.F90
r1655 r2137 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 #if defined key_off_tra 36 USE daymod 37 #endif 27 38 IMPLICIT NONE 28 39 PRIVATE 29 40 30 41 PUBLIC trc_rst_opn ! called by ??? 31 42 PUBLIC trc_rst_read ! called by ??? 32 43 PUBLIC trc_rst_wri ! called by ??? 33 44 34 45 INTEGER, PUBLIC :: numrtr, numrtw !: logical unit for trc restart (read and write) 35 36 46 37 47 !! * Substitutions … … 89 99 END SUBROUTINE trc_rst_opn 90 100 91 92 SUBROUTINE trc_rst_read 101 SUBROUTINE trc_rst_read 93 102 !!---------------------------------------------------------------------- 94 103 !! *** trc_rst_opn *** … … 96 105 !! ** purpose : read passive tracer fields in restart files 97 106 !!---------------------------------------------------------------------- 98 INTEGER :: jn 99 INTEGER :: iarak0 107 INTEGER :: jn 108 INTEGER :: iarak0 100 109 REAL(wp) :: zarak0 101 110 INTEGER :: jlibalt = jprstlib 102 111 LOGICAL :: llok 103 #if defined key_pisces104 INTEGER :: ji, jj, jk105 REAL(wp) :: zcaralk, zbicarb, zco3106 REAL(wp) :: ztmas, ztmas1107 #endif108 112 109 113 !!---------------------------------------------------------------------- … … 115 119 IF ( jprstlib == jprstdimg ) THEN 116 120 ! eventually read netcdf file (monobloc) for restarting on different number of processors 117 ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 121 ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 118 122 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 ) 123 IF ( llok ) THEN ; jlibalt = jpnf90 ; ELSE ; jlibalt = jprstlib ; ENDIF 124 ENDIF 125 126 CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt ) 123 127 124 128 ! Time domain : restart … … 136 140 & ' centered or euler ' ) 137 141 IF(lwp) WRITE(numout,*) 138 139 142 IF(lwp) WRITE(numout,*) ' arakawa option : ', NINT( zarak0 ) 140 143 141 142 144 ! READ prognostic variables and computes diagnostic variable 143 145 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 146 CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 147 END DO 148 149 DO jn = 1, jptra 150 CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 151 END DO 152 153 IF( lk_lobster ) CALL trc_rst_read_lobster( numrtr ) ! LOBSTER bio-model 154 IF( lk_pisces ) CALL trc_rst_read_pisces ( numrtr ) ! PISCES bio-model 155 IF( lk_cfc ) CALL trc_rst_read_cfc ( numrtr ) ! CFC tracers 156 IF( lk_c14b ) CALL trc_rst_read_c14b ( numrtr ) ! C14 bomb tracer 157 IF( lk_my_trc ) CALL trc_rst_read_my_trc ( numrtr ) ! MY_TRC tracers 158 195 159 CALL iom_close( numrtr ) 196 160 ! 197 161 END SUBROUTINE trc_rst_read 198 199 162 200 163 SUBROUTINE trc_rst_wri( kt ) … … 218 181 CALL iom_rstput( kt, nitrst, numrtw, 'arak0', zarak0 ) 219 182 220 ! prognostic variables 221 ! -------------------- 183 ! prognostic variables 184 ! -------------------- 222 185 DO jn = 1, jptra 223 186 CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) … … 228 191 END DO 229 192 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 193 IF( lk_lobster ) CALL trc_rst_wri_lobster( kt, nitrst, numrtw ) ! LOBSTER bio-model 194 IF( lk_pisces ) CALL trc_rst_wri_pisces ( kt, nitrst, numrtw ) ! PISCES bio-model 195 IF( lk_cfc ) CALL trc_rst_wri_cfc ( kt, nitrst, numrtw ) ! CFC tracers 196 IF( lk_c14b ) CALL trc_rst_wri_c14b ( kt, nitrst, numrtw ) ! C14 bomb tracer 197 IF( lk_my_trc ) CALL trc_rst_wri_my_trc ( kt, nitrst, numrtw ) ! MY_TRC tracers 198 250 199 IF( kt == nitrst ) THEN 251 200 CALL trc_rst_stat ! statistics … … 256 205 ENDIF 257 206 ! 258 END SUBROUTINE trc_rst_wri 207 END SUBROUTINE trc_rst_wri 208 259 209 260 210 SUBROUTINE trc_rst_cal( kt, cdrw ) … … 329 279 WRITE(numout,*) 330 280 ENDIF 281 ! 282 CALL day_init ! compute calendar 283 ! 331 284 #endif 332 285 … … 347 300 END SUBROUTINE trc_rst_cal 348 301 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 302 463 303 SUBROUTINE trc_rst_stat -
branches/devmercator2010_1/NEMO/TOP_SRC/trcwri.F90
r1656 r2137 1 1 MODULE trcwri 2 !!====================================================================== 2 !!=================================================================================== 3 3 !! *** MODULE trcwri *** 4 !! TOP : Output of passive tracers 5 !!====================================================================== 6 !! 1.0 !7 !! ! 20 09-05 (C. Ethe )4 !! TOP : Output of passive tracers 5 !!==================================================================================== 6 !! History : 1.0 ! 2009-05 (C. Ethe) Original code 7 !! ! 2010-03 (C. Ethe, R. Seferian ) Add the tracer transport trends 8 8 !!---------------------------------------------------------------------- 9 9 #if defined key_top && defined key_iomput … … 11 11 !! 'key_top' && 'key_iomput' TOP models 12 12 !!---------------------------------------------------------------------- 13 !! trc_wri : outputs of concentration fields 13 !! trc_wri_trc : outputs of concentration fields 14 !! trc_wri_trd : outputs of transport trends 14 15 !!---------------------------------------------------------------------- 16 USE dom_oce ! ocean space and time domain variables 17 USE oce_trc 18 USE trp_trc 15 19 USE trc 20 USE trdmld_trc_oce, ONLY : luttrd 16 21 USE iom 17 22 #if defined key_off_tra … … 35 40 CONTAINS 36 41 37 SUBROUTINE trc_wri( kt ) 42 SUBROUTINE trc_wri( kt ) 38 43 !!--------------------------------------------------------------------- 39 44 !! *** ROUTINE trc_wri *** 45 !! 46 !! ** Purpose : output passive tracers fields and dynamical trends 47 !!--------------------------------------------------------------------- 48 INTEGER, INTENT( in ) :: kt 49 !!--------------------------------------------------------------------- 50 51 ! 52 CALL iom_setkt ( kt + ndttrc - 1 ) ! set the passive tracer time step 53 CALL trc_wri_trc( kt ) ! outputs for tracer concentration 54 CALL trc_wri_trd( kt ) ! outputs for dynamical trends 55 CALL iom_setkt ( kt ) ! set the model time step 56 ! 57 END SUBROUTINE trc_wri 58 59 SUBROUTINE trc_wri_trc( kt ) 60 !!--------------------------------------------------------------------- 61 !! *** ROUTINE trc_wri_trc *** 40 62 !! 41 63 !! ** Purpose : output passive tracers fields … … 43 65 INTEGER, INTENT( in ) :: kt ! ocean time-step 44 66 INTEGER :: jn 45 CHARACTER (len=20) :: cltra 67 CHARACTER (len=20) :: cltra, cltras 46 68 #if defined key_off_tra 47 69 CHARACTER (len=40) :: clhstnam 48 70 INTEGER :: inum = 11 ! temporary logical unit 49 71 #endif 50 51 72 !!--------------------------------------------------------------------- 52 73 53 ! Initialisation54 ! --------------55 56 CALL iom_setkt( kt + ndttrc - 1 ) ! set the passive tracer time step57 58 74 #if defined key_off_tra 59 75 IF( kt == nittrc000 ) THEN … … 67 83 ENDIF 68 84 #endif 69 70 71 85 ! write the tracer concentrations in the file 72 86 ! --------------------------------------- … … 76 90 END DO 77 91 ! 78 CALL iom_setkt( kt ) ! set the model time step92 END SUBROUTINE trc_wri_trc 79 93 94 # if defined key_trc_diatrd 95 96 SUBROUTINE trc_wri_trd( kt ) 97 !!---------------------------------------------------------------------- 98 !! *** ROUTINE trc_wri_trd *** 99 !! 100 !! ** Purpose : output of passive tracer : advection-diffusion trends 101 !! 102 !!---------------------------------------------------------------------- 103 INTEGER, INTENT( in ) :: kt ! ocean time-step 104 !! 105 CHARACTER (len=3) :: cltra 106 INTEGER :: jn, jl, ikn 107 !!---------------------------------------------------------------------- 108 109 DO jn = 1, jptra 110 IF( luttrd(jn) ) THEN 111 ikn = ikeep(jn) 112 DO jl = 1, jpdiatrc 113 IF( jl == jptrc_xad ) WRITE (cltra,"(3a)") 'XAD' ! x advection for tracer 114 IF( jl == jptrc_yad ) WRITE (cltra,"(3a)") 'YAD' ! y advection for tracer 115 IF( jl == jptrc_zad ) WRITE (cltra,"(3a)") 'ZAD' ! z advection for tracer 116 IF( jl == jptrc_xdf ) WRITE (cltra,"(3a)") 'XDF' ! x diffusion for tracer 117 IF( jl == jptrc_ydf ) WRITE (cltra,"(3a)") 'YDF' ! y diffusion for tracer 118 IF( jl == jptrc_zdf ) WRITE (cltra,"(3a)") 'ZDF' ! z diffusion for tracer 119 # if defined key_trcldf_eiv 120 IF( jl == jptrc_xei ) WRITE (cltra,"(3a)") 'XGV' ! x gent velocity for tracer 121 IF( jl == jptrc_yei ) WRITE (cltra,"(3a)") 'YGV' ! y gent velocity for tracer 122 IF( jl == jptrc_zei ) WRITE (cltra,"(3a)") 'ZGV' ! z gent velocity for tracer 123 # endif 124 # if defined key_trcdmp 125 IF( jl == jptrc_dmp ) WRITE (cltra,"(3a)") 'DMP' ! damping 126 # endif 127 IF( jl == jptrc_sbc ) WRITE (cltra,"(3a)") 'SBC' ! surface boundary conditions 128 ! write the trends 129 CALL iom_put( cltra, trtrd(:,:,:,ikn,jl) ) 130 END DO 131 END IF 132 END DO 80 133 ! 81 END SUBROUTINE trc_wri 134 END SUBROUTINE trc_wri_trd 82 135 136 # else 137 SUBROUTINE trc_wri_trd( kt ) ! Dummy routine 138 INTEGER, INTENT ( in ) :: kt 139 END SUBROUTINE trc_wri_trd 140 #endif 83 141 #else 84 142 !!---------------------------------------------------------------------- … … 90 148 INTEGER, INTENT(in) :: kt 91 149 END SUBROUTINE trc_wri 92 93 150 #endif 94 151 -
branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE
r1402 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE_LOBSTER
r1402 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM
r1412 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM3
r1464 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM_PISCES
r1402 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_OFF_PISCES
r1402 r2137 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/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ZAGRIF
r1402 r2137 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/devmercator2010_1/NVTK/INSTALL/JOBS/job_GYRE.ksh
r1603 r2137 14 14 MYO_EXP=xxx 15 15 TSYMB=xxx 16 USE_IOMPUT=xxx 17 USE_IOSERVER=xxx 18 NB_PROCS_IOSERVER=xxx 16 19 17 20 # Variables changed by ins_valid.ksh script … … 107 110 108 111 mv nam.tmp namelist 112 113 # iom_put xml file 114 if [ "${USE_IOMPUT}" = "true" ] 115 then 116 get_namelist ${LOC_NAM} xmlio_server.def ${MYO_EXP} xmlio_server.def 117 get_namelist ${LOC_NAM} iodef.xml ${MYO_EXP} iodef.xml 118 sed -e "s/^ *using_server *=.*$/ using_server = .${USE_IOSERVER}./" xmlio_server.def > tmp$$ 119 mv tmp$$ xmlio_server.def 120 fi 121 109 122 110 123 # Analytical forcing … … 219 232 case ${RUN} in 220 233 'mon' | 'omp' ) 221 liste_files=' *abort* memory* namelist* perfs* solver.stat ocean.output layout* GYRE* restart* mono*' ;;234 liste_files=' *abort* memory* namelist* *xml* perfs* solver.stat ocean.output layout* GYRE* restart* mono*' ;; 222 235 'mpi' ) 223 liste_files=' *abort* namelist* solver.stat perfs* ocean.output* layout* GYRE* restart* mpp*' ;;236 liste_files=' *abort* namelist* *xml* solver.stat perfs* ocean.output* layout* GYRE* restart* mpp*' ;; 224 237 esac 225 238 … … 245 258 ############################################################## 246 259 ############################################################## 247 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]260 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 248 261 then 249 262 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_GYRE_LOBSTER.ksh
r1603 r2137 14 14 MYO_EXP=xxx 15 15 TSYMB=xxx 16 USE_IOMPUT=xxx 17 USE_IOSERVER=xxx 18 NB_PROCS_IOSERVER=xxx 19 16 20 17 21 # Variables changed by ins_valid.ksh script … … 128 132 sed -e "s%$PAT_ADD% nwritedia = ${ITERATIONS}%" namelist_lobster > nam.tmp 129 133 mv nam.tmp namelist_lobster 134 135 # iom_put xml file 136 if [ "${USE_IOMPUT}" = "true" ] 137 then 138 get_namelist ${LOC_NAM} xmlio_server.def ${MYO_EXP} xmlio_server.def 139 get_namelist ${LOC_NAM} iodef.xml ${MYO_EXP} iodef.xml 140 sed -e "s/^ *using_server *=.*$/ using_server = .${USE_IOSERVER}./" xmlio_server.def > tmp$$ 141 mv tmp$$ xmlio_server.def 142 fi 130 143 131 144 # Analytical forcing … … 253 266 case ${RUN} in 254 267 'mon' | 'omp' ) 255 liste_files=' *abort* memory* namelist* perfs* solver.stat ocean.output layout* GYRE* restart* mono*' ;;268 liste_files=' *abort* memory* namelist* *xml* perfs* solver.stat ocean.output layout* GYRE* restart* mono*' ;; 256 269 'mpi' ) 257 liste_files=' *abort* namelist* solver.stat perfs* ocean.output* layout* GYRE* restart* mpp*' ;;270 liste_files=' *abort* namelist* *xml* solver.stat perfs* ocean.output* layout* GYRE* restart* mpp*' ;; 258 271 esac 259 272 … … 279 292 ############################################################## 280 293 ############################################################## 281 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]294 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 282 295 then 283 296 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM.ksh
r2131 r2137 139 139 140 140 # Get forcing files 141 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3. 1.tar ORCA2_LIM_nemo_v3.1.tar142 tar xvf ORCA2_LIM_nemo_v3. 1.tar143 rm -f ORCA2_LIM_nemo_v3. 1.tar141 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 142 tar xvf ORCA2_LIM_nemo_v3.2.tar 143 rm -f ORCA2_LIM_nemo_v3.2.tar 144 144 145 145 # Get restarts files if needed … … 310 310 ############################################################## 311 311 ############################################################## 312 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]312 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 313 313 then 314 314 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM3.ksh
r2131 r2137 135 135 136 136 # Get forcing files 137 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3. 1.tar ORCA2_LIM_nemo_v3.1.tar138 tar xvf ORCA2_LIM_nemo_v3. 1.tar139 rm -f ORCA2_LIM_nemo_v3. 1.tar137 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 138 tar xvf ORCA2_LIM_nemo_v3.2.tar 139 rm -f ORCA2_LIM_nemo_v3.2.tar 140 140 141 141 # Get restarts files if needed … … 306 306 ############################################################## 307 307 ############################################################## 308 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]308 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 309 309 then 310 310 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM_PISCES.ksh
r1620 r2137 14 14 MYO_EXP=xxx 15 15 TSYMB=xxx 16 USE_IOMPUT=xxx 17 USE_IOSERVER=xxx 18 NB_PROCS_IOSERVER=xxx 19 16 20 17 21 # Variables changed by ins_valid.ksh script … … 159 163 mv nam.tmp namelist_pisces 160 164 165 # iom_put xml file 166 if [ "${USE_IOMPUT}" = "true" ] 167 then 168 get_namelist ${LOC_NAM} xmlio_server.def ${MYO_EXP} xmlio_server.def 169 get_namelist ${LOC_NAM} iodef.xml ${MYO_EXP} iodef.xml 170 sed -e "s/^ *using_server *=.*$/ using_server = .${USE_IOSERVER}./" xmlio_server.def > tmp$$ 171 mv tmp$$ xmlio_server.def 172 fi 173 161 174 # Get forcing files 162 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3. 1.tar ORCA2_LIM_nemo_v3.1.tar163 tar xvf ORCA2_LIM_nemo_v3. 1.tar164 rm -f ORCA2_LIM_nemo_v3. 1.tar175 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 176 tar xvf ORCA2_LIM_nemo_v3.2.tar 177 rm -f ORCA2_LIM_nemo_v3.2.tar 165 178 166 179 # Get forcing pisces files … … 292 305 case ${RUN} in 293 306 'mon' | 'omp' ) 294 liste_files='*abort* memory* namelist* perfs* solver.stat ocean.output layout* ORCA2* restart* mono*' ;;307 liste_files='*abort* memory* namelist* *xml* perfs* solver.stat ocean.output layout* ORCA2* restart* mono*' ;; 295 308 'mpi' ) 296 liste_files='*abort* namelist* solver.stat perfs* ocean.output* layout* ORCA2* restart* mpp*' ;;309 liste_files='*abort* namelist* *xml* solver.stat perfs* ocean.output* layout* ORCA2* restart* mpp*' ;; 297 310 esac 298 311 … … 318 331 ############################################################## 319 332 ############################################################## 320 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]333 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 321 334 then 322 335 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_OFF_PISCES.ksh
r1576 r2137 14 14 MYO_EXP=xxx 15 15 TSYMB=xxx 16 USE_IOMPUT=xxx 17 USE_IOSERVER=xxx 18 NB_PROCS_IOSERVER=xxx 19 16 20 17 21 # Variables changed by ins_valid.ksh script … … 134 138 mv nam.tmp namelist_pisces 135 139 140 # iom_put xml file 141 if [ "${USE_IOMPUT}" = "true" ] 142 then 143 get_namelist ${LOC_NAM} xmlio_server.def ${MYO_EXP} xmlio_server.def 144 get_namelist ${LOC_NAM} iodef.xml ${MYO_EXP} iodef.xml 145 sed -e "s/^ *using_server *=.*$/ using_server = .${USE_IOSERVER}./" xmlio_server.def > tmp$$ 146 mv tmp$$ xmlio_server.def 147 fi 136 148 137 149 # Get forcing files … … 264 276 case ${RUN} in 265 277 'mon' | 'omp' ) 266 liste_files='*abort* memory* namelist* perfs* ocean.output layout* PISCES* restart* mono*' ;;278 liste_files='*abort* memory* namelist* *xml* perfs* ocean.output layout* PISCES* restart* mono*' ;; 267 279 'mpi' ) 268 liste_files='*abort* namelist* perfs* ocean.output* layout* PISCES* restart* mpp*' ;;280 liste_files='*abort* namelist* *xml* perfs* ocean.output* layout* PISCES* restart* mpp*' ;; 269 281 esac 270 282 … … 290 302 ############################################################## 291 303 ############################################################## 292 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]304 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 293 305 then 294 306 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ZAGRIF.ksh
r1620 r2137 14 14 MYO_EXP=xxx 15 15 TSYMB=xxx 16 USE_IOMPUT=xxx 17 USE_IOSERVER=xxx 18 NB_PROCS_IOSERVER=xxx 16 19 17 20 # Variables changed by ins_valid.ksh script … … 146 149 done 147 150 151 # iom_put xml file 152 if [ "${USE_IOMPUT}" = "true" ] 153 then 154 get_namelist ${LOC_NAM} xmlio_server.def ${MYO_EXP} xmlio_server.def 155 get_namelist ${LOC_NAM} iodef.xml ${MYO_EXP} iodef.xml 156 sed -e "s/^ *using_server *=.*$/ using_server = .${USE_IOSERVER}./" xmlio_server.def > tmp$$ 157 mv tmp$$ xmlio_server.def 158 fi 159 148 160 # Get forcing files 149 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3. 1.tar ORCA2_LIM_nemo_v3.1.tar150 tar xvf ORCA2_LIM_nemo_v3. 1.tar151 rm -f ORCA2_LIM_nemo_v3. 1.tar161 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 162 tar xvf ORCA2_LIM_nemo_v3.2.tar 163 rm -f ORCA2_LIM_nemo_v3.2.tar 152 164 153 165 # Get restarts files if needed … … 267 279 case ${RUN} in 268 280 'mon' | 'omp' ) 269 liste_files=' *abort* memory* *namelist* perfs* solver.stat ocean.output 1_Agulhas* layout* ZAGRIF* restart* mono*' ;;281 liste_files=' *abort* memory* *namelist* *xml* perfs* solver.stat ocean.output 1_Agulhas* layout* ZAGRIF* restart* mono*' ;; 270 282 'mpi' ) 271 liste_files=' *abort* *namelist* solver.stat perfs* ocean.output* layout* 1_Agulhas* ZAGRIF* restart* mpp*' ;;283 liste_files=' *abort* *namelist* *xml* solver.stat perfs* ocean.output* layout* 1_Agulhas* ZAGRIF* restart* mpp*' ;; 272 284 esac 273 285 … … 293 305 ############################################################## 294 306 ############################################################## 295 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ]307 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 296 308 then 297 309 STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} -
branches/devmercator2010_1/NVTK/Makefile
r1611 r2137 36 36 #- 37 37 #- Configurations list which must be tested 38 LISTE_CONF = GYRE GYRE_LOBSTER ORCA2_LIM ORCA2_LIM3 ORCA2_LIM_PISCES ORCA2_OFF_PISCES 38 LISTE_CONF = GYRE GYRE_LOBSTER ORCA2_LIM ORCA2_LIM3 ORCA2_LIM_PISCES ORCA2_OFF_PISCES ZAGRIF 39 39 #- 40 40 #- Jobs to launch use keyword: nojob, all, long, short or gtime … … 60 60 MAK_MEMO = memo 61 61 #- 62 #- Experience name or reference Tag name (nemo_v2, nemo_v2_3 or nemo_v3)63 REF_TAGV = nemo_v3 62 #- Experience name or reference Tag name (nemo_v2, nemo_v2_3 ,nemo_v3 or nemo_v3_2) 63 REF_TAGV = nemo_v3_2 64 64 #- 65 65 ##################################################################### -
branches/devmercator2010_1/NVTK/fait_AA_make
r1611 r2137 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 ' … … 417 417 for inc in `sed -n 's/^[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 418 418 do 419 if [ "${inc}" != "mpif.h" ] 420 then 419 421 dep="$dep\n$inc" 422 fi 420 423 done 421 424 … … 429 432 for inc in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 430 433 do 431 j=1 434 if [ "${inc}" != "mpif.h" ] 435 then 436 j=1 432 437 dep="$dep\n$inc" 433 438 for inc2 in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc | sort -u` … … 437 442 for inc3 in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc2 | sort -u` 438 443 do 444 439 445 dep="$dep\n$inc3" 440 446 done 441 447 done 448 fi 442 449 done 443 450 -
branches/devmercator2010_1/UTIL/fait_AA_make
r1773 r2137 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] … … 230 230 echo '# Check your compilers option in consequence when using real F95 compilers' 231 231 echo '' 232 echo 'F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) ' 233 echo 'L_X = $(L_O) ' 232 234 echo '#-Q- platine # Compiler options NEMO (CCRT Itanium Bull) ' 233 235 echo '#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) ' … … 245 247 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 248 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)'249 echo '#-Q- es2 # Compiler options for NEMO (Earth Simulator)' 250 echo '#-Q- es2 # for super perfs!' 251 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)' 252 echo '#-Q- es2 # regular options!' 253 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)' 254 echo '#-Q- es2 L_X = $(L_O)' 253 255 echo '#-Q- linux # Compiler options for NEMO (pgf version)' 254 256 echo '#-Q- linux F_O = -Mlist -O3 -byteswapio -r8 -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' … … 286 288 echo '#-Q- sx8brodie PREF=i.' 287 289 echo '#-Q- sxdkrz PREF=i.' 288 echo '#-Q- es hpuxPREF=i.'290 echo '#-Q- es2 PREF=i.' 289 291 echo '' 290 292 echo '# add suffix to P_P' … … 327 329 328 330 echo '#check key compatibility' 329 echo 'keycompat=$(if $( and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))'331 echo 'keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 330 332 331 333 echo '' … … 403 405 for inc in `sed -n 's/^[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 404 406 do 407 if [ "${inc}" != "mpif.h" ] 408 then 405 409 dep="$dep\n$inc" 410 fi 406 411 done 407 412 … … 415 420 for inc in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 416 421 do 422 if [ "${inc}" != "mpif.h" ] 423 then 417 424 j=1 418 425 dep="$dep\n$inc" … … 426 433 done 427 434 done 435 fi 428 436 done 429 437
Note: See TracChangeset
for help on using the changeset viewer.