New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2137 for branches – NEMO

Changeset 2137 for branches


Ignore:
Timestamp:
2010-09-30T14:25:53+02:00 (14 years ago)
Author:
cbricaud
Message:

merge with head of trunk ( rev 2136 )

Location:
branches/devmercator2010_1
Files:
151 edited
6 copied

Legend:

Unmodified
Added
Removed
  • branches/devmercator2010_1/AGRIF/AA_make

    r1771 r2137  
    1313#-Q- sxdkrz C_L   = $(FC_L)  
    1414#-Q- sxdkrz C_O   = $(FC_O)  
    15 #-Q- eshpux C_L   = $(FC_L)  
    16 #-Q- eshpux C_O   = $(FC_O)  
     15#-Q- es2 C_L   = $(FC_L)  
     16#-Q- es2 C_O   = $(FC_O)  
    1717#-Q- sx8mercure F_O +=  -Wf"-init heap=zero" 
    1818#-Q- sx9mercure F_O +=  -Wf"-init heap=zero"  
    1919#-Q- sx8brodie F_O +=   -Wf"-init heap=zero"  
    2020#-Q- sxdkrz F_O +=  -Wf"-init heap=zero"  
    21 #-Q- eshpux F_O +=  -Wf"-init heap=zero"  
     21#-Q- es2 F_O +=  -Wf"-init heap=zero"  
    2222#-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -qextname 
    2323#-Q- aix6 F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -qextname 
     
    5656$(SXMODEL_LIB) : $(OBJS) 
    5757#-Q- sxdkrz     @$(A_X) $@ $(OBJS) 
    58 #-Q- eshpux     @$(A_X) $@ $(OBJS) 
     58#-Q- es2     @$(A_X) $@ $(OBJS) 
    5959 
    6060$(AGRIFOBJS)/%.o : $(AGRIFFILES)/%.F KEY_CPP 
     
    7070#-Q- sx8brodie mv *.mod $(MODDIR) 
    7171#-Q- sxdkrz mv *.mod $(MODDIR) 
    72 #-Q- eshpux mv *.mod $(MODDIR) 
     72#-Q- es2 mv *.mod $(MODDIR) 
    7373#-Q- solaris   mv *.mod $(MODDIR) 
    7474 
  • branches/devmercator2010_1/AGRIF/AA_make.ldef

    r1272 r2137  
    2525SXMODEL_LIB = $(MODEL_LIB) 
    2626#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/libsxagrif.a 
    27 #-Q- eshpux SXMODEL_LIB = $(LIBDIR)/libsxagrif.a 
     27#-Q- es2 SXMODEL_LIB = $(LIBDIR)/libsxagrif.a 
    2828#- 
    2929P_P=$(AGRIF_MPI) 
  • branches/devmercator2010_1/AGRIF/AGRIF_FILES/modbc.F

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

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

    r662 r2137  
    3232        external Agrif_probdim_modtype_def 
    3333        external Agrif_clustering_def 
     34        external Agrif_comm_def 
    3435C     Interface                        
    3536      Interface 
  • branches/devmercator2010_1/AGRIF/AGRIF_FILES/modmpp.F

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

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

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

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

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 
     10L_X = $(L_O) 
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    430432 
    431433# Agrif library and conv 
    432 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     434libagrif : 
    433435ifeq ($(AGRIF),use) 
    434436   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    456458#-Q- sx8brodie    -R2 \ 
    457459#-Q- sxdkrz    -R2 \ 
    458 #-Q- eshpux    -R2 \ 
     460#-Q- es2    -R2 \ 
    459461#-Q- aix6      -qsource \ 
    460462#-Q- aix    -qsource \ 
     
    462464      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    463465#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    464 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     466#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    465467endif 
    466468 
     
    476478.PRECIOUS : $(MODEL_LIB) 
    477479#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    478 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     480#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    479481 
    480482# library dependancies 
     
    495497#-Q- sx8brodie    -R2 \ 
    496498#-Q- sxdkrz    -R2 \ 
    497 #-Q- eshpux    -R2 \ 
     499#-Q- es2    -R2 \ 
    498500#-Q- aix    -qsource \ 
    499501#-Q- aix6      -qsource \ 
     
    501503      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    502504#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    503 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     505#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    504506      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    505507      @$(RM) $*.[of] 
     
    531533#-Q- sx8brodie    -R2 \ 
    532534#-Q- sxdkrz    -R2 \ 
    533 #-Q- eshpux    -R2 \ 
     535#-Q- es2    -R2 \ 
    534536#-Q- aix    -qsource \ 
    535537#-Q- aix6      -qsource \ 
     
    543545#-Q- sx8brodie    -R2 \ 
    544546#-Q- sxdkrz    -R2 \ 
    545 #-Q- eshpux    -R2 \ 
     547#-Q- es2    -R2 \ 
    546548#-Q- aix    -qsource \ 
    547549#-Q- aix6      -qsource \ 
     
    550552endif 
    551553#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    552 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     554#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    553555      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    554556      @$(RM) $*.[of] 
     
    11951197   diaar5.F90 
    11961198$(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 \ 
    12061222   dom_oce.F90 \ 
    12071223   in_out_manager.F90 \ 
     
    13581374   phycst.F90 \ 
    13591375   $(IOIPSL_LIB) \ 
    1360    KEY_CPP \ 
    13611376   dianam.F90 
    13621377$(MODEL_LIB)(diaptr.o) :   \ 
     
    14191434   diaptr.F90 
    14201435$(MODEL_LIB)(diawri.o) :   \ 
     1436   $(MODEL_LIB)(daymod.o) \ 
    14211437   $(MODEL_LIB)(dianam.o) \ 
    14221438   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    14461462   $(MODEL_LIB)(sbcrnf.o) \ 
    14471463   $(MODEL_LIB)(zdf_oce.o) \ 
     1464   daymod.F90 \ 
    14481465   dianam.F90 \ 
    14491466   dom_ice_2.F90 \ 
     
    45944611   in_out_manager.F90 \ 
    45954612   lbcnfd.F90 \ 
    4596    $(AGRIF_LIB) \ 
    45974613   KEY_CPP \ 
    45984614   lib_mpp.F90 
     
    53095325   $(MODEL_LIB)(limistate_2.o) \ 
    53105326   $(MODEL_LIB)(phycst.o) \ 
     5327   $(MODEL_LIB)(sbc_oce.o) \ 
    53115328   dom_ice_2.F90 \ 
    53125329   dom_oce.F90 \ 
     
    53195336   limistate_2.F90 \ 
    53205337   phycst.F90 \ 
     5338   sbc_oce.F90 \ 
    53215339   vectopt_loop_substitute.h90 \ 
    53225340   KEY_CPP \ 
     
    79968014   $(MODEL_LIB)(lib_print.o) \ 
    79978015   $(MODEL_LIB)(limwri_2.o) \ 
     8016   $(MODEL_LIB)(obc_oce.o) \ 
    79988017   $(MODEL_LIB)(obctra.o) \ 
    79998018   $(MODEL_LIB)(oce.o) \ 
     
    80678086   lib_print.f90 \ 
    80688087   limwri_2.F90 \ 
     8088   obc_oce.F90 \ 
    80698089   obctra.F90 \ 
    80708090   oce.F90 \ 
     
    96209640   $(MODEL_LIB)(lib_print.o) \ 
    96219641   $(MODEL_LIB)(obc_oce.o) \ 
     9642   $(MODEL_LIB)(obc_par.o) \ 
    96229643   $(MODEL_LIB)(oce.o) \ 
    96239644   $(MODEL_LIB)(par_kind.o) \ 
     
    96449665   lib_print.f90 \ 
    96459666   obc_oce.F90 \ 
     9667   obc_par.F90 \ 
    96469668   oce.F90 \ 
    96479669   par_kind.F90 \ 
     
    96689690   $(MODEL_LIB)(in_out_manager.o) \ 
    96699691   $(MODEL_LIB)(lbclnk.o) \ 
     9692   $(MODEL_LIB)(obc_oce.o) \ 
    96709693   $(MODEL_LIB)(obctra.o) \ 
    96719694   $(MODEL_LIB)(oce.o) \ 
     
    96849707   in_out_manager.F90 \ 
    96859708   lbclnk.F90 \ 
     9709   obc_oce.F90 \ 
    96869710   obctra.F90 \ 
    96879711   oce.F90 \ 
     
    1017210196$(MODEL_LIB)(trdmld.o) :   \ 
    1017310197   $(MODEL_LIB)(c1d.o) \ 
     10198   $(MODEL_LIB)(daymod.o) \ 
    1017410199   $(MODEL_LIB)(dom_oce.o) \ 
    1017510200   $(MODEL_LIB)(eosbn2.o) \ 
     
    1019710222   $(MODEL_LIB)(zpshde.o) \ 
    1019810223   c1d.F90 \ 
     10224   daymod.F90 \ 
    1019910225   dom_oce.F90 \ 
    1020010226   eosbn2.F90 \ 
  • branches/devmercator2010_1/CONFIG/GYRE/scripts/BB_make.ldef

    r1759 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrc AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     19#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz  SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     22#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/CONFIG/GYRE_LOBSTER/EXP00/iodef.xml

    r1772 r2137  
    250250    --> 
    251251 
     252  <file_definition output_level="10" enabled=".TRUE."> 
     253 
     254 
    252255      <group id="1h" output_freq="3600"   output_level="10" enabled=".TRUE.">                      <!-- 1h files --> 
    253256      </group> 
  • branches/devmercator2010_1/CONFIG/GYRE_LOBSTER/scripts/BB_make

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 
     10L_X = $(L_O) 
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    477479      $(MODEL_LIB)(trcrad.o)\ 
    478480      $(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)\ 
    479486      $(MODEL_LIB)(trcsbc.o)\ 
    480487      $(MODEL_LIB)(trcsed.o)\ 
     
    559566 
    560567# Agrif library and conv 
    561 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     568libagrif : 
    562569ifeq ($(AGRIF),use) 
    563570   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    585592#-Q- sx8brodie    -R2 \ 
    586593#-Q- sxdkrz    -R2 \ 
    587 #-Q- eshpux    -R2 \ 
     594#-Q- es2    -R2 \ 
    588595#-Q- aix6      -qsource \ 
    589596#-Q- aix    -qsource \ 
     
    591598      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    592599#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    593 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     600#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    594601endif 
    595602 
     
    605612.PRECIOUS : $(MODEL_LIB) 
    606613#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    607 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     614#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    608615 
    609616# library dependancies 
     
    624631#-Q- sx8brodie    -R2 \ 
    625632#-Q- sxdkrz    -R2 \ 
    626 #-Q- eshpux    -R2 \ 
     633#-Q- es2    -R2 \ 
    627634#-Q- aix    -qsource \ 
    628635#-Q- aix6      -qsource \ 
     
    630637      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    631638#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    632 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     639#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    633640      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    634641      @$(RM) $*.[of] 
     
    660667#-Q- sx8brodie    -R2 \ 
    661668#-Q- sxdkrz    -R2 \ 
    662 #-Q- eshpux    -R2 \ 
     669#-Q- es2    -R2 \ 
    663670#-Q- aix    -qsource \ 
    664671#-Q- aix6      -qsource \ 
     
    672679#-Q- sx8brodie    -R2 \ 
    673680#-Q- sxdkrz    -R2 \ 
    674 #-Q- eshpux    -R2 \ 
     681#-Q- es2    -R2 \ 
    675682#-Q- aix    -qsource \ 
    676683#-Q- aix6      -qsource \ 
     
    679686endif 
    680687#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    681 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     688#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    682689      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    683690      @$(RM) $*.[of] 
     
    13301337   diaar5.F90 
    13311338$(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 \ 
    13411362   dom_oce.F90 \ 
    13421363   in_out_manager.F90 \ 
     
    14931514   phycst.F90 \ 
    14941515   $(IOIPSL_LIB) \ 
    1495    KEY_CPP \ 
    14961516   dianam.F90 
    14971517$(MODEL_LIB)(diaptr.o) :   \ 
     
    15541574   diaptr.F90 
    15551575$(MODEL_LIB)(diawri.o) :   \ 
     1576   $(MODEL_LIB)(daymod.o) \ 
    15561577   $(MODEL_LIB)(dianam.o) \ 
    15571578   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    15811602   $(MODEL_LIB)(sbcrnf.o) \ 
    15821603   $(MODEL_LIB)(zdf_oce.o) \ 
     1604   daymod.F90 \ 
    15831605   dianam.F90 \ 
    15841606   dom_ice_2.F90 \ 
     
    47294751   in_out_manager.F90 \ 
    47304752   lbcnfd.F90 \ 
    4731    $(AGRIF_LIB) \ 
    47324753   KEY_CPP \ 
    47334754   lib_mpp.F90 
     
    54445465   $(MODEL_LIB)(limistate_2.o) \ 
    54455466   $(MODEL_LIB)(phycst.o) \ 
     5467   $(MODEL_LIB)(sbc_oce.o) \ 
    54465468   dom_ice_2.F90 \ 
    54475469   dom_oce.F90 \ 
     
    54545476   limistate_2.F90 \ 
    54555477   phycst.F90 \ 
     5478   sbc_oce.F90 \ 
    54565479   vectopt_loop_substitute.h90 \ 
    54575480   KEY_CPP \ 
     
    65286551   trc.F90 \ 
    65296552   domzgr_substitute.h90 \ 
     6553   ldfeiv_substitute.h90 \ 
     6554   ldftra_substitute.h90 \ 
     6555   top_substitute.h90 \ 
     6556   vectopt_loop_substitute.h90 \ 
    65306557   KEY_CPP \ 
    65316558   p4zbio.F90 
     
    65706597   trc.F90 \ 
    65716598   domzgr_substitute.h90 \ 
     6599   ldfeiv_substitute.h90 \ 
     6600   ldftra_substitute.h90 \ 
     6601   top_substitute.h90 \ 
     6602   vectopt_loop_substitute.h90 \ 
    65726603   KEY_CPP \ 
    65736604   p4zche.F90 
     
    66446675   trc.F90 \ 
    66456676   domzgr_substitute.h90 \ 
     6677   ldfeiv_substitute.h90 \ 
     6678   ldftra_substitute.h90 \ 
     6679   top_substitute.h90 \ 
     6680   vectopt_loop_substitute.h90 \ 
    66466681   KEY_CPP \ 
    66476682   p4zflx.F90 
     
    67276762   trc.F90 \ 
    67286763   domzgr_substitute.h90 \ 
     6764   ldfeiv_substitute.h90 \ 
     6765   ldftra_substitute.h90 \ 
     6766   top_substitute.h90 \ 
     6767   vectopt_loop_substitute.h90 \ 
    67296768   KEY_CPP \ 
    67306769   p4zlim.F90 
     
    68626901   trc.F90 \ 
    68636902   domzgr_substitute.h90 \ 
     6903   ldfeiv_substitute.h90 \ 
     6904   ldftra_substitute.h90 \ 
     6905   top_substitute.h90 \ 
     6906   vectopt_loop_substitute.h90 \ 
    68646907   KEY_CPP \ 
    68656908   p4zmeso.F90 
     
    69366979   trc.F90 \ 
    69376980   domzgr_substitute.h90 \ 
     6981   ldfeiv_substitute.h90 \ 
     6982   ldftra_substitute.h90 \ 
     6983   top_substitute.h90 \ 
     6984   vectopt_loop_substitute.h90 \ 
    69386985   KEY_CPP \ 
    69396986   p4zmicro.F90 
     
    69927039   trc.F90 \ 
    69937040   domzgr_substitute.h90 \ 
     7041   ldfeiv_substitute.h90 \ 
     7042   ldftra_substitute.h90 \ 
     7043   top_substitute.h90 \ 
     7044   vectopt_loop_substitute.h90 \ 
    69947045   KEY_CPP \ 
    69957046   p4zmort.F90 
     
    70527103   trc_oce.F90 \ 
    70537104   domzgr_substitute.h90 \ 
     7105   ldfeiv_substitute.h90 \ 
     7106   ldftra_substitute.h90 \ 
     7107   top_substitute.h90 \ 
     7108   vectopt_loop_substitute.h90 \ 
    70547109   KEY_CPP \ 
    70557110   p4zopt.F90 
     
    71327187   trc.F90 \ 
    71337188   domzgr_substitute.h90 \ 
     7189   ldfeiv_substitute.h90 \ 
     7190   ldftra_substitute.h90 \ 
     7191   top_substitute.h90 \ 
     7192   vectopt_loop_substitute.h90 \ 
    71347193   KEY_CPP \ 
    71357194   p4zprod.F90 
     
    72067265   trc.F90 \ 
    72077266   domzgr_substitute.h90 \ 
     7267   ldfeiv_substitute.h90 \ 
     7268   ldftra_substitute.h90 \ 
     7269   top_substitute.h90 \ 
     7270   vectopt_loop_substitute.h90 \ 
    72087271   KEY_CPP \ 
    72097272   p4zrem.F90 
     
    73827445   trc.F90 \ 
    73837446   domzgr_substitute.h90 \ 
     7447   ldfeiv_substitute.h90 \ 
     7448   ldftra_substitute.h90 \ 
     7449   top_substitute.h90 \ 
     7450   vectopt_loop_substitute.h90 \ 
    73847451   KEY_CPP \ 
    73857452   p4zsink.F90 
     
    99229989   $(MODEL_LIB)(lib_print.o) \ 
    99239990   $(MODEL_LIB)(limwri_2.o) \ 
     9991   $(MODEL_LIB)(obc_oce.o) \ 
    99249992   $(MODEL_LIB)(obctra.o) \ 
    99259993   $(MODEL_LIB)(oce.o) \ 
     
    1000310071   lib_print.f90 \ 
    1000410072   limwri_2.F90 \ 
     10073   obc_oce.F90 \ 
    1000510074   obctra.F90 \ 
    1000610075   oce.F90 \ 
     
    1156811637   $(MODEL_LIB)(lib_print.o) \ 
    1156911638   $(MODEL_LIB)(obc_oce.o) \ 
     11639   $(MODEL_LIB)(obc_par.o) \ 
    1157011640   $(MODEL_LIB)(oce.o) \ 
    1157111641   $(MODEL_LIB)(par_kind.o) \ 
     
    1159211662   lib_print.f90 \ 
    1159311663   obc_oce.F90 \ 
     11664   obc_par.F90 \ 
    1159411665   oce.F90 \ 
    1159511666   par_kind.F90 \ 
     
    1161611687   $(MODEL_LIB)(in_out_manager.o) \ 
    1161711688   $(MODEL_LIB)(lbclnk.o) \ 
     11689   $(MODEL_LIB)(obc_oce.o) \ 
    1161811690   $(MODEL_LIB)(obctra.o) \ 
    1161911691   $(MODEL_LIB)(oce.o) \ 
     
    1163211704   in_out_manager.F90 \ 
    1163311705   lbclnk.F90 \ 
     11706   obc_oce.F90 \ 
    1163411707   obctra.F90 \ 
    1163511708   oce.F90 \ 
     
    1302513098   $(MODEL_LIB)(lib_print.o) \ 
    1302613099   $(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) \ 
    1302913107   $(MODEL_LIB)(par_trc.o) \ 
    1303013108   $(MODEL_LIB)(phycst.o) \ 
     
    1304513123   lib_print.f90 \ 
    1304613124   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 \ 
    1304913132   par_trc.F90 \ 
    1305013133   phycst.F90 \ 
     
    1306213145   $(MODEL_LIB)(lib_mpp.o) \ 
    1306313146   $(MODEL_LIB)(oce_trc.o) \ 
     13147   $(MODEL_LIB)(par_trc.o) \ 
    1306413148   $(MODEL_LIB)(trc.o) \ 
    1306513149   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     
    1307013154   lib_mpp.F90 \ 
    1307113155   oce_trc.F90 \ 
     13156   par_trc.F90 \ 
    1307213157   trc.F90 \ 
    1307313158   trdmld_trc_oce.F90 \ 
     
    1334513430   trcexp.F90 
    1334613431$(MODEL_LIB)(trcini.o) :   \ 
     13432   $(MODEL_LIB)(daymod.o) \ 
    1334713433   $(MODEL_LIB)(dom_oce.o) \ 
    1334813434   $(MODEL_LIB)(in_out_manager.o) \ 
     
    1338013466   $(MODEL_LIB)(trclsm_my_trc.o) \ 
    1338113467   $(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) \ 
    1338213473   $(MODEL_LIB)(trcsms_c14b.o) \ 
    1338313474   $(MODEL_LIB)(trcsms_cfc.o) \ 
    13384    $(MODEL_LIB)(trcsms_my_trc.o) \ 
    1338513475   $(MODEL_LIB)(trctrp_ctl.o) \ 
    1338613476   $(MODEL_LIB)(trctrp_lec.o) \ 
     
    1339013480   $(MODEL_LIB)(zdfddm.o) \ 
    1339113481   $(MODEL_LIB)(zdfmxl.o) \ 
     13482   daymod.F90 \ 
    1339213483   dom_oce.F90 \ 
    1339313484   in_out_manager.F90 \ 
     
    1342513516   trclsm_my_trc.F90 \ 
    1342613517   trclsm_pisces.F90 \ 
     13518   trcrst_c14b.F90 \ 
     13519   trcrst_cfc.F90 \ 
     13520   trcrst_lobster.F90 \ 
     13521   trcrst_my_trc.F90 \ 
     13522   trcrst_pisces.F90 \ 
    1342713523   trcsms_c14b.F90 \ 
    1342813524   trcsms_cfc.F90 \ 
    13429    trcsms_my_trc.F90 \ 
    1343013525   trctrp_ctl.F90 \ 
    1343113526   trctrp_lec.F90 \ 
     
    1467814773   trc.F90 \ 
    1467914774   domzgr_substitute.h90 \ 
     14775   ldfeiv_substitute.h90 \ 
     14776   ldftra_substitute.h90 \ 
     14777   top_substitute.h90 \ 
     14778   vectopt_loop_substitute.h90 \ 
    1468014779   KEY_CPP \ 
    1468114780   trcopt.F90 
     
    1477614875   $(MODEL_LIB)(par_trc.o) \ 
    1477714876   $(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) \ 
    1477814987   $(MODEL_LIB)(sbc_oce.o) \ 
    1477914988   $(MODEL_LIB)(sbcrnf.o) \ 
     
    1478314992   $(MODEL_LIB)(trdmld_trc.o) \ 
    1478414993   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
    14785    $(MODEL_LIB)(trp_trc.o) \ 
    1478614994   $(MODEL_LIB)(zdf_oce.o) \ 
    1478714995   $(MODEL_LIB)(zdfddm.o) \ 
     
    1479715005   iom_rstdimg.F90 \ 
    1479815006   lbclnk.F90 \ 
    14799    lbcnfd.F90 \ 
    1480015007   ldfslp.F90 \ 
    1480115008   ldftra_oce.F90 \ 
    1480215009   lib_mpp.F90 \ 
     15010   lib_print.f90 \ 
    1480315011   oce.F90 \ 
    1480415012   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 \ 
    1480615020   par_trc.F90 \ 
    1480715021   phycst.F90 \ 
     
    1481315027   trdmld_trc.F90 \ 
    1481415028   trdmld_trc_oce.F90 \ 
    14815    trp_trc.F90 \ 
    1481615029   zdf_oce.F90 \ 
    1481715030   zdfddm.F90 \ 
    1481815031   zdfmxl.F90 \ 
    14819    $(MODEL_LIB)(iom.o) \ 
    14820    $(MODEL_LIB)(lib_mpp.o) \ 
     15032   $(MODEL_LIB)(in_out_manager.o) \ 
     15033   $(MODEL_LIB)(iom.o) \ 
    1482115034   $(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) \ 
    1482215212   $(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) \ 
    1482315318   $(MODEL_LIB)(sms_pisces.o) \ 
    1482415319   $(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 \ 
    1483115324   oce_trc.F90 \ 
    14832    sms_lobster.F90 \ 
     15325   par_trc.F90 \ 
    1483315326   sms_pisces.F90 \ 
    1483415327   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 
    1484615332$(MODEL_LIB)(trcsbc.o) :   \ 
    1484715333   $(MODEL_LIB)(dianam.o) \ 
     
    1500015486   trdmld_trc_oce.F90 \ 
    1500115487   domzgr_substitute.h90 \ 
     15488   ldfeiv_substitute.h90 \ 
     15489   ldftra_substitute.h90 \ 
     15490   top_substitute.h90 \ 
     15491   vectopt_loop_substitute.h90 \ 
    1500215492   KEY_CPP \ 
    1500315493   trcsed.F90 
     
    1556016050$(MODEL_LIB)(trcstp.o) :   \ 
    1556116051   $(MODEL_LIB)(agrif_top_sponge.o) \ 
     16052   $(MODEL_LIB)(daymod.o) \ 
    1556216053   $(MODEL_LIB)(dianam.o) \ 
    1556316054   $(MODEL_LIB)(dom_oce.o) \ 
     
    1560316094   $(MODEL_LIB)(trcnxt.o) \ 
    1560416095   $(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) \ 
    1560516101   $(MODEL_LIB)(trcsbc.o) \ 
    1560616102   $(MODEL_LIB)(trcsms_c14b.o) \ 
     
    1562216118   $(MODEL_LIB)(zpshde_trc.o) \ 
    1562316119   agrif_top_sponge.F90 \ 
     16120   daymod.F90 \ 
    1562416121   dianam.F90 \ 
    1562516122   dom_oce.F90 \ 
     
    1566516162   trcnxt.F90 \ 
    1566616163   trcrad.F90 \ 
     16164   trcrst_c14b.F90 \ 
     16165   trcrst_cfc.F90 \ 
     16166   trcrst_lobster.F90 \ 
     16167   trcrst_my_trc.F90 \ 
     16168   trcrst_pisces.F90 \ 
    1566716169   trcsbc.F90 \ 
    1566816170   trcsms_c14b.F90 \ 
     
    1582316325   zpshde_trc.F90 \ 
    1582416326   domzgr_substitute.h90 \ 
     16327   ldfeiv_substitute.h90 \ 
     16328   ldftra_substitute.h90 \ 
     16329   top_substitute.h90 \ 
     16330   vectopt_loop_substitute.h90 \ 
    1582516331   $(AGRIF_LIB) \ 
    1582616332   KEY_CPP \ 
     
    1593516441   $(MODEL_LIB)(trabbl.o) \ 
    1593616442   $(MODEL_LIB)(traqsr.o) \ 
     16443   $(MODEL_LIB)(trc.o) \ 
    1593716444   $(MODEL_LIB)(zdf_oce.o) \ 
    1593816445   $(MODEL_LIB)(zdfddm.o) \ 
     
    1595816465   trabbl.F90 \ 
    1595916466   traqsr.F90 \ 
     16467   trc.F90 \ 
    1596016468   zdf_oce.F90 \ 
    1596116469   zdfddm.F90 \ 
    1596216470   zdfmxl.F90 \ 
    1596316471   $(MODEL_LIB)(dianam.o) \ 
     16472   $(MODEL_LIB)(dom_oce.o) \ 
    1596416473   $(MODEL_LIB)(iom.o) \ 
    1596516474   $(MODEL_LIB)(oce_trc.o) \ 
    1596616475   $(MODEL_LIB)(trc.o) \ 
     16476   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     16477   $(MODEL_LIB)(trp_trc.o) \ 
    1596716478   dianam.F90 \ 
     16479   dom_oce.F90 \ 
    1596816480   iom.F90 \ 
    1596916481   oce_trc.F90 \ 
    1597016482   trc.F90 \ 
     16483   trdmld_trc_oce.F90 \ 
     16484   trp_trc.F90 \ 
    1597116485   domzgr_substitute.h90 \ 
    1597216486   ldfeiv_substitute.h90 \ 
     
    1634716861$(MODEL_LIB)(trdmld.o) :   \ 
    1634816862   $(MODEL_LIB)(c1d.o) \ 
     16863   $(MODEL_LIB)(daymod.o) \ 
    1634916864   $(MODEL_LIB)(dom_oce.o) \ 
    1635016865   $(MODEL_LIB)(eosbn2.o) \ 
     
    1637216887   $(MODEL_LIB)(zpshde.o) \ 
    1637316888   c1d.F90 \ 
     16889   daymod.F90 \ 
    1637416890   dom_oce.F90 \ 
    1637516891   eosbn2.F90 \ 
  • branches/devmercator2010_1/CONFIG/GYRE_LOBSTER/scripts/BB_make.ldef

    r1759 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
     19#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz  SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux  SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
     22#-Q- es2  SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM/EXP00/iodef.xml

    r1772 r2137  
    560560  </context> 
    561561   
     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   
    562939</simulation> 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.card

    r1764 r2137  
    2121 
    2222[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#================================================================================================== 
    2626#-- NOTE: MANDATORY STRUCTURE OF FILE NAMES GET BY THE JOB :  
    2727#-- "basename_yyyy.nc"     ( for interannual data ) 
     
    3131# default climatology, bulk_clio:  
    3232List_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: 
    3436#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) 
    3537 
    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 namelist 
    41 #-- 2) leave List_runsbc empty so NEMO will read file names specified in List_jobsbc variable above 
    42  
    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) 
    4738 
    4839[InitialStateFiles] 
     
    6253            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/sss_data.nc, .),\ 
    6354            (${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 
    6563 
    6664 
     
    7977List=   (${PREFIX_WF1}_grid_T.nc,         ${R_OUT_OCE_WF1}/${PREFIX}_${WF1}_grid_T.nc,               Post_1Y_grid_T),\ 
    8078        (${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),\ 
    8583        (${PREFIX_WF4}_grid_T_0n180w.nc,  ${R_OUT_OCE_WF4}/${PREFIX}_${WF4}_grid_T_0n180w.nc,        NONE ),\ 
    8684        (${PREFIX_WF4}_grid_T_Eq.nc,      ${R_OUT_OCE_WF4}/${PREFIX}_${WF4}_grid_T_Eq.nc,            NONE ),\ 
     
    9189 
    9290 
     91[Post_1Y_grid_T] 
     92Patches = (Patch_20091030_histcom_time_axis) 
     93GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter) 
     94TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 
     95 
    9396[Post_1M_grid_T] 
    9497Patches = (Patch_20091030_histcom_time_axis) 
     
    9699TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup) 
    97100 
    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] 
    109102Patches = (Patch_20091030_histcom_time_axis) 
    110103GatherWithInternal = (nav_lon, nav_lat, depthu, time_counter) 
    111104TimeSeriesVars = (sozotaux) 
    112105 
    113 [Post_5D_grid_V] 
     106[Post_1M_grid_V] 
    114107Patches = (Patch_20091030_histcom_time_axis) 
    115108GatherWithInternal = (nav_lon, nav_lat, depthv, time_counter) 
    116109TimeSeriesVars = (sometauy) 
    117110 
    118 [Post_5D_grid_W] 
     111[Post_1M_grid_W] 
    119112Patches = (Patch_20091030_histcom_time_axis) 
    120113GatherWithInternal = (nav_lon, nav_lat, depthw, time_counter) 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.driver

    r1764 r2137  
    5151    # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs  
    5252   IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_jobsbc 
    53    IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_runsbc 
    5453        set -A ListFormulationJobsbc -- \${opa9_Interannual_Listjobsc${opa9_Interannual_List_jobsbc}[*]} 
    55         set -A ListFormulationRunsbc -- \${opa9_Interannual_Listrunsbc${opa9_Interannual_List_runsbc}[*]} 
    5654 
    5755    ##--Variables used for XMLIO_SERVER configuration file 
     
    7169    if [ X${opa9_UserChoices_Interannual_Run} = Xy ] ; then 
    7270 
    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} )) 
    7779   (( 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 
    99100      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       
    100106      if [ ! -f ${runsbc_file_y} ] ; then 
    101107          IGCM_sys_Get ${jobsbc_file_y} ${runsbc_file_y} 
    102108      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           
    105130      fi 
    106        else  
    107       if [ ! -f ${runsbc_file_yp1} ] ; then 
    108           IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
    109       fi 
    110        fi  
    111  
    112        (( i = i + 1 )) 
     131      (( i = i + 1 )) 
     132    
     133       done 
     134    
     135       (( year = year + 1 )) 
     136     
     137       (( i = 0 )) 
    113138   done 
     139 
    114140    # End interannual 
    115141    elif [ X${opa9_UserChoices_Interannual_Run} = Xn ] ; then 
    116142    # Climatological run 
    117        typeset file fileo 
     143       typeset file  
    118144 
    119145       eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     
    123149            eval file=${opa9_Interannual_List_jobsbc[$i]} 
    124150            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 
    132152 
    133153            IGCM_sys_Get ${jobsbc_file} ${runsbc_file} 
     
    224244   NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) )  
    225245 
    226     sed -e "s%${PAT_CEXPER}%       cn_exp=\"${config_UserChoices_JobName}\"%" \ 
     246    sed -e "s%${PAT_CEXPER}%       cn_exp=\"${config_UserChoices_JobName}\"%"  \ 
    227247   -e "s%${PAT_NIT000}%       nn_it000=${OPA_NIT000}%"                    \ 
    228248   -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}%"                   \ 
    230250   -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}%"               \ 
    233253   -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}%"                  \ 
    235255   namelist > namelist.tmp 
    236256 
    237257    IGCM_sys_Mv namelist.tmp namelist 
     258 
    238259 
    239260    # update xmlio_server.def 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM/scripts/BB_make

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     10L_X = $(L_O)  
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    437439 
    438440# Agrif library and conv 
    439 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     441libagrif : 
    440442ifeq ($(AGRIF),use) 
    441443   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    463465#-Q- sx8brodie    -R2 \ 
    464466#-Q- sxdkrz    -R2 \ 
    465 #-Q- eshpux    -R2 \ 
     467#-Q- es2    -R2 \ 
    466468#-Q- aix6      -qsource \ 
    467469#-Q- aix    -qsource \ 
     
    469471      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    470472#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    471 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     473#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    472474endif 
    473475 
     
    483485.PRECIOUS : $(MODEL_LIB) 
    484486#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    485 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     487#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    486488 
    487489# library dependancies 
     
    502504#-Q- sx8brodie    -R2 \ 
    503505#-Q- sxdkrz    -R2 \ 
    504 #-Q- eshpux    -R2 \ 
     506#-Q- es2    -R2 \ 
    505507#-Q- aix    -qsource \ 
    506508#-Q- aix6      -qsource \ 
     
    508510      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    509511#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    510 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     512#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    511513      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    512514      @$(RM) $*.[of] 
     
    538540#-Q- sx8brodie    -R2 \ 
    539541#-Q- sxdkrz    -R2 \ 
    540 #-Q- eshpux    -R2 \ 
     542#-Q- es2    -R2 \ 
    541543#-Q- aix    -qsource \ 
    542544#-Q- aix6      -qsource \ 
     
    550552#-Q- sx8brodie    -R2 \ 
    551553#-Q- sxdkrz    -R2 \ 
    552 #-Q- eshpux    -R2 \ 
     554#-Q- es2    -R2 \ 
    553555#-Q- aix    -qsource \ 
    554556#-Q- aix6      -qsource \ 
     
    557559endif 
    558560#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    559 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     561#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    560562      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    561563      @$(RM) $*.[of] 
     
    851853   $(MODEL_LIB)(dom_oce.o) \ 
    852854   $(MODEL_LIB)(in_out_manager.o) \ 
     855   $(MODEL_LIB)(obc_par.o) \ 
    853856   $(MODEL_LIB)(oce.o) \ 
    854857   $(MODEL_LIB)(opa.o) \ 
     
    865868   dom_oce.F90 \ 
    866869   in_out_manager.F90 \ 
     870   obc_par.F90 \ 
    867871   oce.F90 \ 
    868872   opa.F90 \ 
     
    15011505   diaar5.F90 
    15021506$(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 \ 
    15121530   dom_oce.F90 \ 
    15131531   in_out_manager.F90 \ 
     
    16641682   phycst.F90 \ 
    16651683   $(IOIPSL_LIB) \ 
    1666    KEY_CPP \ 
    16671684   dianam.F90 
    16681685$(MODEL_LIB)(diaptr.o) :   \ 
     
    17251742   diaptr.F90 
    17261743$(MODEL_LIB)(diawri.o) :   \ 
     1744   $(MODEL_LIB)(daymod.o) \ 
    17271745   $(MODEL_LIB)(dianam.o) \ 
    17281746   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    17521770   $(MODEL_LIB)(sbcrnf.o) \ 
    17531771   $(MODEL_LIB)(zdf_oce.o) \ 
     1772   daymod.F90 \ 
    17541773   dianam.F90 \ 
    17551774   dom_ice_2.F90 \ 
     
    49124931   in_out_manager.F90 \ 
    49134932   lbcnfd.F90 \ 
    4914    $(AGRIF_LIB) \ 
    49154933   KEY_CPP \ 
    49164934   lib_mpp.F90 
     
    56275645   $(MODEL_LIB)(limistate_2.o) \ 
    56285646   $(MODEL_LIB)(phycst.o) \ 
     5647   $(MODEL_LIB)(sbc_oce.o) \ 
    56295648   dom_ice_2.F90 \ 
    56305649   dom_oce.F90 \ 
     
    56375656   limistate_2.F90 \ 
    56385657   phycst.F90 \ 
     5658   sbc_oce.F90 \ 
    56395659   vectopt_loop_substitute.h90 \ 
    56405660   KEY_CPP \ 
     
    83168336   $(MODEL_LIB)(lib_print.o) \ 
    83178337   $(MODEL_LIB)(limwri_2.o) \ 
     8338   $(MODEL_LIB)(obc_oce.o) \ 
    83188339   $(MODEL_LIB)(obctra.o) \ 
    83198340   $(MODEL_LIB)(oce.o) \ 
     
    83878408   lib_print.f90 \ 
    83888409   limwri_2.F90 \ 
     8410   obc_oce.F90 \ 
    83898411   obctra.F90 \ 
    83908412   oce.F90 \ 
     
    99439965   $(MODEL_LIB)(lib_print.o) \ 
    99449966   $(MODEL_LIB)(obc_oce.o) \ 
     9967   $(MODEL_LIB)(obc_par.o) \ 
    99459968   $(MODEL_LIB)(oce.o) \ 
    99469969   $(MODEL_LIB)(par_kind.o) \ 
     
    99729995   lib_print.f90 \ 
    99739996   obc_oce.F90 \ 
     9997   obc_par.F90 \ 
    99749998   oce.F90 \ 
    99759999   par_kind.F90 \ 
     
    999810022   $(MODEL_LIB)(in_out_manager.o) \ 
    999910023   $(MODEL_LIB)(lbclnk.o) \ 
     10024   $(MODEL_LIB)(obc_oce.o) \ 
    1000010025   $(MODEL_LIB)(obctra.o) \ 
    1000110026   $(MODEL_LIB)(oce.o) \ 
     
    1001410039   in_out_manager.F90 \ 
    1001510040   lbclnk.F90 \ 
     10041   obc_oce.F90 \ 
    1001610042   obctra.F90 \ 
    1001710043   oce.F90 \ 
     
    1050210528$(MODEL_LIB)(trdmld.o) :   \ 
    1050310529   $(MODEL_LIB)(c1d.o) \ 
     10530   $(MODEL_LIB)(daymod.o) \ 
    1050410531   $(MODEL_LIB)(dom_oce.o) \ 
    1050510532   $(MODEL_LIB)(eosbn2.o) \ 
     
    1052710554   $(MODEL_LIB)(zpshde.o) \ 
    1052810555   c1d.F90 \ 
     10556   daymod.F90 \ 
    1052910557   dom_oce.F90 \ 
    1053010558   eosbn2.F90 \ 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM/scripts/BB_make.ldef

    r1759 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
     19#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
     22#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/EXP00/iodef.xml

    r1772 r2137  
    245245       <field id="PFeN"        description="Primary production of nano iron"          unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    246246       <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"      /> 
    259256       <field id="Oflx"        description="Oxygen flux"                              unit="mol-C/m2/s" /> 
    260257       <field id="Kg"          description="Gas transfer"                             unit="mol-C/m2/s/uatm" /> 
     
    480477          <field ref="PFeN"     /> 
    481478          <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" /> 
    486486          <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"   /> 
    493487          <field ref="Oflx"     /> 
    494488          <field ref="Kg"       /> 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_pisces

    r1751 r2137  
    2525   xkmort     =  1.E-7   ! half saturation constant for mortality 
    2626   ferat3     =  3.E-6   ! Fe/C in zooplankton  
    27    wsbio2     =  50.     ! Big particles sinking speed 
     27   wsbio2     =  30.     ! Big particles sinking speed 
    2828/ 
    2929!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
     
    3232   conc0      =  2.e-6    ! Phosphate half saturation 
    3333   conc1      =  10E-6    ! Phosphate half saturation for diatoms 
    34    conc2      =  0.02E-9  ! Iron half saturation for phyto 
     34   conc2      =  0.01E-9  ! Iron half saturation for phyto 
    3535   conc2m     =  0.08E-9  ! Max iron half saturation for phyto 
    3636   conc3      =  0.1E-9   ! Iron half saturation for diatoms 
     
    4646&nampisprod     !   parameters for phytoplankton growth 
    4747!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 
    48    pislope    =  4.       ! P-I slope   
    49    pislope2   =  4.       ! P-I slope  for diatoms 
     48   pislope    =  3.       ! P-I slope   
     49   pislope2   =  3.       ! P-I slope  for diatoms 
    5050   excret     =  0.05     ! excretion ratio of phytoplankton 
    5151   excret2    =  0.05     ! excretion ratio of diatoms 
     
    8787   resrat     =  0.03     ! exsudation rate of zooplankton 
    8888   mzrat      =  0.0      ! zooplankton mortality rate 
    89    xpref2c    =  0.0      ! Microzoo preference for POM  
    90    xpref2p    =  0.5      ! Microzoo preference for Nanophyto 
    91    xpref2d    =  0.5      ! Microzoo preference for Diatoms 
     89   xpref2c    =  0.1      ! Microzoo preference for POM  
     90   xpref2p    =  0.45     ! Microzoo preference for Nanophyto 
     91   xpref2d    =  0.45     ! Microzoo preference for Diatoms 
    9292   xkgraz     =  20.E-6   ! half sturation constant for grazing  
    9393   epsher     =  0.33     ! Efficiency of microzoo growth 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 
     10L_X = $(L_O) 
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    480482      $(MODEL_LIB)(trcrad.o)\ 
    481483      $(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)\ 
    482489      $(MODEL_LIB)(trcsbc.o)\ 
    483490      $(MODEL_LIB)(trcsed.o)\ 
     
    562569 
    563570# Agrif library and conv 
    564 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     571libagrif : 
    565572ifeq ($(AGRIF),use) 
    566573   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    588595#-Q- sx8brodie    -R2 \ 
    589596#-Q- sxdkrz    -R2 \ 
    590 #-Q- eshpux    -R2 \ 
     597#-Q- es2    -R2 \ 
    591598#-Q- aix6      -qsource \ 
    592599#-Q- aix    -qsource \ 
     
    594601      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    595602#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    596 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     603#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    597604endif 
    598605 
     
    608615.PRECIOUS : $(MODEL_LIB) 
    609616#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    610 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     617#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    611618 
    612619# library dependancies 
     
    627634#-Q- sx8brodie    -R2 \ 
    628635#-Q- sxdkrz    -R2 \ 
    629 #-Q- eshpux    -R2 \ 
     636#-Q- es2    -R2 \ 
    630637#-Q- aix    -qsource \ 
    631638#-Q- aix6      -qsource \ 
     
    633640      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    634641#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    635 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     642#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    636643      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    637644      @$(RM) $*.[of] 
     
    663670#-Q- sx8brodie    -R2 \ 
    664671#-Q- sxdkrz    -R2 \ 
    665 #-Q- eshpux    -R2 \ 
     672#-Q- es2    -R2 \ 
    666673#-Q- aix    -qsource \ 
    667674#-Q- aix6      -qsource \ 
     
    675682#-Q- sx8brodie    -R2 \ 
    676683#-Q- sxdkrz    -R2 \ 
    677 #-Q- eshpux    -R2 \ 
     684#-Q- es2    -R2 \ 
    678685#-Q- aix    -qsource \ 
    679686#-Q- aix6      -qsource \ 
     
    682689endif 
    683690#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    684 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     691#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    685692      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    686693      @$(RM) $*.[of] 
     
    9941001   $(MODEL_LIB)(dom_oce.o) \ 
    9951002   $(MODEL_LIB)(in_out_manager.o) \ 
     1003   $(MODEL_LIB)(obc_par.o) \ 
    9961004   $(MODEL_LIB)(oce.o) \ 
    9971005   $(MODEL_LIB)(opa.o) \ 
     
    10091017   dom_oce.F90 \ 
    10101018   in_out_manager.F90 \ 
     1019   obc_par.F90 \ 
    10111020   oce.F90 \ 
    10121021   opa.F90 \ 
     
    16461655   diaar5.F90 
    16471656$(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 \ 
    16571680   dom_oce.F90 \ 
    16581681   in_out_manager.F90 \ 
     
    18091832   phycst.F90 \ 
    18101833   $(IOIPSL_LIB) \ 
    1811    KEY_CPP \ 
    18121834   dianam.F90 
    18131835$(MODEL_LIB)(diaptr.o) :   \ 
     
    18701892   diaptr.F90 
    18711893$(MODEL_LIB)(diawri.o) :   \ 
     1894   $(MODEL_LIB)(daymod.o) \ 
    18721895   $(MODEL_LIB)(dianam.o) \ 
    18731896   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    18971920   $(MODEL_LIB)(sbcrnf.o) \ 
    18981921   $(MODEL_LIB)(zdf_oce.o) \ 
     1922   daymod.F90 \ 
    18991923   dianam.F90 \ 
    19001924   dom_ice_2.F90 \ 
     
    50575081   in_out_manager.F90 \ 
    50585082   lbcnfd.F90 \ 
    5059    $(AGRIF_LIB) \ 
    50605083   KEY_CPP \ 
    50615084   lib_mpp.F90 
     
    57725795   $(MODEL_LIB)(limistate_2.o) \ 
    57735796   $(MODEL_LIB)(phycst.o) \ 
     5797   $(MODEL_LIB)(sbc_oce.o) \ 
    57745798   dom_ice_2.F90 \ 
    57755799   dom_oce.F90 \ 
     
    57825806   limistate_2.F90 \ 
    57835807   phycst.F90 \ 
     5808   sbc_oce.F90 \ 
    57845809   vectopt_loop_substitute.h90 \ 
    57855810   KEY_CPP \ 
     
    68566881   trc.F90 \ 
    68576882   domzgr_substitute.h90 \ 
     6883   ldfeiv_substitute.h90 \ 
     6884   ldftra_substitute.h90 \ 
     6885   top_substitute.h90 \ 
     6886   vectopt_loop_substitute.h90 \ 
    68586887   KEY_CPP \ 
    68596888   p4zbio.F90 
     
    68986927   trc.F90 \ 
    68996928   domzgr_substitute.h90 \ 
     6929   ldfeiv_substitute.h90 \ 
     6930   ldftra_substitute.h90 \ 
     6931   top_substitute.h90 \ 
     6932   vectopt_loop_substitute.h90 \ 
    69006933   KEY_CPP \ 
    69016934   p4zche.F90 
     
    69727005   trc.F90 \ 
    69737006   domzgr_substitute.h90 \ 
     7007   ldfeiv_substitute.h90 \ 
     7008   ldftra_substitute.h90 \ 
     7009   top_substitute.h90 \ 
     7010   vectopt_loop_substitute.h90 \ 
    69747011   KEY_CPP \ 
    69757012   p4zflx.F90 
     
    70557092   trc.F90 \ 
    70567093   domzgr_substitute.h90 \ 
     7094   ldfeiv_substitute.h90 \ 
     7095   ldftra_substitute.h90 \ 
     7096   top_substitute.h90 \ 
     7097   vectopt_loop_substitute.h90 \ 
    70577098   KEY_CPP \ 
    70587099   p4zlim.F90 
     
    71907231   trc.F90 \ 
    71917232   domzgr_substitute.h90 \ 
     7233   ldfeiv_substitute.h90 \ 
     7234   ldftra_substitute.h90 \ 
     7235   top_substitute.h90 \ 
     7236   vectopt_loop_substitute.h90 \ 
    71927237   KEY_CPP \ 
    71937238   p4zmeso.F90 
     
    72647309   trc.F90 \ 
    72657310   domzgr_substitute.h90 \ 
     7311   ldfeiv_substitute.h90 \ 
     7312   ldftra_substitute.h90 \ 
     7313   top_substitute.h90 \ 
     7314   vectopt_loop_substitute.h90 \ 
    72667315   KEY_CPP \ 
    72677316   p4zmicro.F90 
     
    73207369   trc.F90 \ 
    73217370   domzgr_substitute.h90 \ 
     7371   ldfeiv_substitute.h90 \ 
     7372   ldftra_substitute.h90 \ 
     7373   top_substitute.h90 \ 
     7374   vectopt_loop_substitute.h90 \ 
    73227375   KEY_CPP \ 
    73237376   p4zmort.F90 
     
    73807433   trc_oce.F90 \ 
    73817434   domzgr_substitute.h90 \ 
     7435   ldfeiv_substitute.h90 \ 
     7436   ldftra_substitute.h90 \ 
     7437   top_substitute.h90 \ 
     7438   vectopt_loop_substitute.h90 \ 
    73827439   KEY_CPP \ 
    73837440   p4zopt.F90 
     
    74607517   trc.F90 \ 
    74617518   domzgr_substitute.h90 \ 
     7519   ldfeiv_substitute.h90 \ 
     7520   ldftra_substitute.h90 \ 
     7521   top_substitute.h90 \ 
     7522   vectopt_loop_substitute.h90 \ 
    74627523   KEY_CPP \ 
    74637524   p4zprod.F90 
     
    75347595   trc.F90 \ 
    75357596   domzgr_substitute.h90 \ 
     7597   ldfeiv_substitute.h90 \ 
     7598   ldftra_substitute.h90 \ 
     7599   top_substitute.h90 \ 
     7600   vectopt_loop_substitute.h90 \ 
    75367601   KEY_CPP \ 
    75377602   p4zrem.F90 
     
    77107775   trc.F90 \ 
    77117776   domzgr_substitute.h90 \ 
     7777   ldfeiv_substitute.h90 \ 
     7778   ldftra_substitute.h90 \ 
     7779   top_substitute.h90 \ 
     7780   vectopt_loop_substitute.h90 \ 
    77127781   KEY_CPP \ 
    77137782   p4zsink.F90 
     
    1025210321   $(MODEL_LIB)(lib_print.o) \ 
    1025310322   $(MODEL_LIB)(limwri_2.o) \ 
     10323   $(MODEL_LIB)(obc_oce.o) \ 
    1025410324   $(MODEL_LIB)(obctra.o) \ 
    1025510325   $(MODEL_LIB)(oce.o) \ 
     
    1033310403   lib_print.f90 \ 
    1033410404   limwri_2.F90 \ 
     10405   obc_oce.F90 \ 
    1033510406   obctra.F90 \ 
    1033610407   oce.F90 \ 
     
    1190111972   $(MODEL_LIB)(lib_print.o) \ 
    1190211973   $(MODEL_LIB)(obc_oce.o) \ 
     11974   $(MODEL_LIB)(obc_par.o) \ 
    1190311975   $(MODEL_LIB)(oce.o) \ 
    1190411976   $(MODEL_LIB)(par_kind.o) \ 
     
    1193012002   lib_print.f90 \ 
    1193112003   obc_oce.F90 \ 
     12004   obc_par.F90 \ 
    1193212005   oce.F90 \ 
    1193312006   par_kind.F90 \ 
     
    1195612029   $(MODEL_LIB)(in_out_manager.o) \ 
    1195712030   $(MODEL_LIB)(lbclnk.o) \ 
     12031   $(MODEL_LIB)(obc_oce.o) \ 
    1195812032   $(MODEL_LIB)(obctra.o) \ 
    1195912033   $(MODEL_LIB)(oce.o) \ 
     
    1197212046   in_out_manager.F90 \ 
    1197312047   lbclnk.F90 \ 
     12048   obc_oce.F90 \ 
    1197412049   obctra.F90 \ 
    1197512050   oce.F90 \ 
     
    1336513440   $(MODEL_LIB)(lib_print.o) \ 
    1336613441   $(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) \ 
    1336913449   $(MODEL_LIB)(par_trc.o) \ 
    1337013450   $(MODEL_LIB)(phycst.o) \ 
     
    1338513465   lib_print.f90 \ 
    1338613466   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 \ 
    1338913474   par_trc.F90 \ 
    1339013475   phycst.F90 \ 
     
    1340213487   $(MODEL_LIB)(lib_mpp.o) \ 
    1340313488   $(MODEL_LIB)(oce_trc.o) \ 
     13489   $(MODEL_LIB)(par_trc.o) \ 
    1340413490   $(MODEL_LIB)(trc.o) \ 
    1340513491   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     
    1341013496   lib_mpp.F90 \ 
    1341113497   oce_trc.F90 \ 
     13498   par_trc.F90 \ 
    1341213499   trc.F90 \ 
    1341313500   trdmld_trc_oce.F90 \ 
     
    1368513772   trcexp.F90 
    1368613773$(MODEL_LIB)(trcini.o) :   \ 
     13774   $(MODEL_LIB)(daymod.o) \ 
    1368713775   $(MODEL_LIB)(dom_oce.o) \ 
    1368813776   $(MODEL_LIB)(in_out_manager.o) \ 
     
    1372013808   $(MODEL_LIB)(trclsm_my_trc.o) \ 
    1372113809   $(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) \ 
    1372213815   $(MODEL_LIB)(trcsms_c14b.o) \ 
    1372313816   $(MODEL_LIB)(trcsms_cfc.o) \ 
    13724    $(MODEL_LIB)(trcsms_my_trc.o) \ 
    1372513817   $(MODEL_LIB)(trctrp_ctl.o) \ 
    1372613818   $(MODEL_LIB)(trctrp_lec.o) \ 
     
    1373013822   $(MODEL_LIB)(zdfddm.o) \ 
    1373113823   $(MODEL_LIB)(zdfmxl.o) \ 
     13824   daymod.F90 \ 
    1373213825   dom_oce.F90 \ 
    1373313826   in_out_manager.F90 \ 
     
    1376513858   trclsm_my_trc.F90 \ 
    1376613859   trclsm_pisces.F90 \ 
     13860   trcrst_c14b.F90 \ 
     13861   trcrst_cfc.F90 \ 
     13862   trcrst_lobster.F90 \ 
     13863   trcrst_my_trc.F90 \ 
     13864   trcrst_pisces.F90 \ 
    1376713865   trcsms_c14b.F90 \ 
    1376813866   trcsms_cfc.F90 \ 
    13769    trcsms_my_trc.F90 \ 
    1377013867   trctrp_ctl.F90 \ 
    1377113868   trctrp_lec.F90 \ 
     
    1502215119   trc.F90 \ 
    1502315120   domzgr_substitute.h90 \ 
     15121   ldfeiv_substitute.h90 \ 
     15122   ldftra_substitute.h90 \ 
     15123   top_substitute.h90 \ 
     15124   vectopt_loop_substitute.h90 \ 
    1502415125   KEY_CPP \ 
    1502515126   trcopt.F90 
     
    1512015221   $(MODEL_LIB)(par_trc.o) \ 
    1512115222   $(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) \ 
    1512215333   $(MODEL_LIB)(sbc_oce.o) \ 
    1512315334   $(MODEL_LIB)(sbcrnf.o) \ 
     
    1512715338   $(MODEL_LIB)(trdmld_trc.o) \ 
    1512815339   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
    15129    $(MODEL_LIB)(trp_trc.o) \ 
    1513015340   $(MODEL_LIB)(zdf_oce.o) \ 
    1513115341   $(MODEL_LIB)(zdfddm.o) \ 
     
    1514115351   iom_rstdimg.F90 \ 
    1514215352   lbclnk.F90 \ 
    15143    lbcnfd.F90 \ 
    1514415353   ldfslp.F90 \ 
    1514515354   ldftra_oce.F90 \ 
    1514615355   lib_mpp.F90 \ 
     15356   lib_print.f90 \ 
    1514715357   oce.F90 \ 
    1514815358   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 \ 
    1515015366   par_trc.F90 \ 
    1515115367   phycst.F90 \ 
     
    1515715373   trdmld_trc.F90 \ 
    1515815374   trdmld_trc_oce.F90 \ 
    15159    trp_trc.F90 \ 
    1516015375   zdf_oce.F90 \ 
    1516115376   zdfddm.F90 \ 
    1516215377   zdfmxl.F90 \ 
    15163    $(MODEL_LIB)(iom.o) \ 
    15164    $(MODEL_LIB)(lib_mpp.o) \ 
     15378   $(MODEL_LIB)(in_out_manager.o) \ 
     15379   $(MODEL_LIB)(iom.o) \ 
    1516515380   $(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) \ 
    1516615558   $(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) \ 
    1516715664   $(MODEL_LIB)(sms_pisces.o) \ 
    1516815665   $(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 \ 
    1517515670   oce_trc.F90 \ 
    15176    sms_lobster.F90 \ 
     15671   par_trc.F90 \ 
    1517715672   sms_pisces.F90 \ 
    1517815673   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 
    1519015678$(MODEL_LIB)(trcsbc.o) :   \ 
    1519115679   $(MODEL_LIB)(dianam.o) \ 
     
    1534415832   trdmld_trc_oce.F90 \ 
    1534515833   domzgr_substitute.h90 \ 
     15834   ldfeiv_substitute.h90 \ 
     15835   ldftra_substitute.h90 \ 
     15836   top_substitute.h90 \ 
     15837   vectopt_loop_substitute.h90 \ 
    1534615838   KEY_CPP \ 
    1534715839   trcsed.F90 
     
    1590416396$(MODEL_LIB)(trcstp.o) :   \ 
    1590516397   $(MODEL_LIB)(agrif_top_sponge.o) \ 
     16398   $(MODEL_LIB)(daymod.o) \ 
    1590616399   $(MODEL_LIB)(dianam.o) \ 
    1590716400   $(MODEL_LIB)(dom_oce.o) \ 
     
    1594716440   $(MODEL_LIB)(trcnxt.o) \ 
    1594816441   $(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) \ 
    1594916447   $(MODEL_LIB)(trcsbc.o) \ 
    1595016448   $(MODEL_LIB)(trcsms_c14b.o) \ 
     
    1596616464   $(MODEL_LIB)(zpshde_trc.o) \ 
    1596716465   agrif_top_sponge.F90 \ 
     16466   daymod.F90 \ 
    1596816467   dianam.F90 \ 
    1596916468   dom_oce.F90 \ 
     
    1600916508   trcnxt.F90 \ 
    1601016509   trcrad.F90 \ 
     16510   trcrst_c14b.F90 \ 
     16511   trcrst_cfc.F90 \ 
     16512   trcrst_lobster.F90 \ 
     16513   trcrst_my_trc.F90 \ 
     16514   trcrst_pisces.F90 \ 
    1601116515   trcsbc.F90 \ 
    1601216516   trcsms_c14b.F90 \ 
     
    1616916673   zpshde_trc.F90 \ 
    1617016674   domzgr_substitute.h90 \ 
     16675   ldfeiv_substitute.h90 \ 
     16676   ldftra_substitute.h90 \ 
     16677   top_substitute.h90 \ 
     16678   vectopt_loop_substitute.h90 \ 
    1617116679   $(AGRIF_LIB) \ 
    1617216680   KEY_CPP \ 
     
    1628116789   $(MODEL_LIB)(trabbl.o) \ 
    1628216790   $(MODEL_LIB)(traqsr.o) \ 
     16791   $(MODEL_LIB)(trc.o) \ 
    1628316792   $(MODEL_LIB)(zdf_oce.o) \ 
    1628416793   $(MODEL_LIB)(zdfddm.o) \ 
     
    1630416813   trabbl.F90 \ 
    1630516814   traqsr.F90 \ 
     16815   trc.F90 \ 
    1630616816   zdf_oce.F90 \ 
    1630716817   zdfddm.F90 \ 
    1630816818   zdfmxl.F90 \ 
    1630916819   $(MODEL_LIB)(dianam.o) \ 
     16820   $(MODEL_LIB)(dom_oce.o) \ 
    1631016821   $(MODEL_LIB)(iom.o) \ 
    1631116822   $(MODEL_LIB)(oce_trc.o) \ 
    1631216823   $(MODEL_LIB)(trc.o) \ 
     16824   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     16825   $(MODEL_LIB)(trp_trc.o) \ 
    1631316826   dianam.F90 \ 
     16827   dom_oce.F90 \ 
    1631416828   iom.F90 \ 
    1631516829   oce_trc.F90 \ 
    1631616830   trc.F90 \ 
     16831   trdmld_trc_oce.F90 \ 
     16832   trp_trc.F90 \ 
    1631716833   domzgr_substitute.h90 \ 
    1631816834   ldfeiv_substitute.h90 \ 
     
    1669317209$(MODEL_LIB)(trdmld.o) :   \ 
    1669417210   $(MODEL_LIB)(c1d.o) \ 
     17211   $(MODEL_LIB)(daymod.o) \ 
    1669517212   $(MODEL_LIB)(dom_oce.o) \ 
    1669617213   $(MODEL_LIB)(eosbn2.o) \ 
     
    1671817235   $(MODEL_LIB)(zpshde.o) \ 
    1671917236   c1d.F90 \ 
     17237   daymod.F90 \ 
    1672017238   dom_oce.F90 \ 
    1672117239   eosbn2.F90 \ 
  • branches/devmercator2010_1/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make.ldef

    r1759 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
     19#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
     22#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/iodef.xml

    r1772 r2137  
    5858       <field id="PFeN"        description="Primary production of nano iron"          unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    5959       <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"      /> 
    7168       <field id="Cflx"        description="DIC flux"                                 unit="mol-C/m2/s" /> 
    7269       <field id="Oflx"        description="Oxygen flux"                              unit="mol-C/m2/s" /> 
     
    177174          <field ref="PFeN"     /> 
    178175          <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" /> 
    183183          <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"   /> 
    190184          <field ref="Oflx"     /> 
    191185          <field ref="Kg"       /> 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist

    r1751 r2137  
    128128    lperdyn   = .true.     ! periodicity of the unique file (T) 
    129129!                          ! F  (default)   computed with Blanke' scheme  
    130     cfile_grid_T = 'NEMOV3_5d_20910101_20911231_grid_T.nc' ! name of grid_T file 
    131     cfile_grid_U = 'NEMOV3_5d_20910101_20911231_grid_U.nc' ! name of grid_U file 
    132     cfile_grid_V = 'NEMOV3_5d_20910101_20911231_grid_V.nc' ! name of grid_V file 
    133     cfile_grid_W = 'NEMOV3_5d_20910101_20911231_grid_W.nc' ! name of grid_W file 
     130    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 
    134134/ 
    135135 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_pisces

    r1751 r2137  
    2525   xkmort     =  1.E-7   ! half saturation constant for mortality 
    2626   ferat3     =  3.E-6   ! Fe/C in zooplankton  
    27    wsbio2     =  50.     ! Big particles sinking speed 
     27   wsbio2     =  30.     ! Big particles sinking speed 
    2828/ 
    2929!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
     
    3232   conc0      =  2.e-6    ! Phosphate half saturation 
    3333   conc1      =  10E-6    ! Phosphate half saturation for diatoms 
    34    conc2      =  0.02E-9  ! Iron half saturation for phyto 
     34   conc2      =  0.01E-9  ! Iron half saturation for phyto 
    3535   conc2m     =  0.08E-9  ! Max iron half saturation for phyto 
    3636   conc3      =  0.1E-9   ! Iron half saturation for diatoms 
     
    4646&nampisprod     !   parameters for phytoplankton growth 
    4747!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 
    48    pislope    =  4.       ! P-I slope   
    49    pislope2   =  4.       ! P-I slope  for diatoms 
     48   pislope    =  3.       ! P-I slope   
     49   pislope2   =  3.       ! P-I slope  for diatoms 
    5050   excret     =  0.05     ! excretion ratio of phytoplankton 
    5151   excret2    =  0.05     ! excretion ratio of diatoms 
     
    8787   resrat     =  0.03     ! exsudation rate of zooplankton 
    8888   mzrat      =  0.0      ! zooplankton mortality rate 
    89    xpref2c    =  0.0      ! Microzoo preference for POM  
    90    xpref2p    =  0.5      ! Microzoo preference for Nanophyto 
    91    xpref2d    =  0.5      ! Microzoo preference for Diatoms 
     89   xpref2c    =  0.1      ! Microzoo preference for POM  
     90   xpref2p    =  0.45     ! Microzoo preference for Nanophyto 
     91   xpref2d    =  0.45     ! Microzoo preference for Diatoms 
    9292   xkgraz     =  20.E-6   ! half sturation constant for grazing  
    9393   epsher     =  0.33     ! Efficiency of microzoo growth 
     
    175175!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 
    176176   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") 
    177178/ 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/IGCM00/COMP/pisces.card

    r1764 r2137  
    1717List= () 
    1818ListNonDel= (${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_20910101_20911231_grid_T.nc, .), \ 
    20             (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_20910101_20911231_grid_U.nc, .), \ 
    21             (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_20910101_20911231_grid_V.nc, .), \ 
    22             (${R_BC}/${config_UserChoices_TagName}/DYN/${pisces_UserChoices_OPA_dyn}/NEMOV3_5d_20910101_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, .), \ 
    2323            (${R_BC}/${config_UserChoices_TagName}/INI/data_1m_DIC_nomask.nc, .), \ 
    2424            (${R_BC}/${config_UserChoices_TagName}/INI/data_1m_Alkalini_nomask.nc, .), \ 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 
     10L_X = $(L_O) 
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    298300      $(MODEL_LIB)(trcrad.o)\ 
    299301      $(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)\ 
    300307      $(MODEL_LIB)(trcsbc.o)\ 
    301308      $(MODEL_LIB)(trcsed.o)\ 
     
    364371 
    365372# Agrif library and conv 
    366 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     373libagrif : 
    367374ifeq ($(AGRIF),use) 
    368375   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    390397#-Q- sx8brodie    -R2 \ 
    391398#-Q- sxdkrz    -R2 \ 
    392 #-Q- eshpux    -R2 \ 
     399#-Q- es2    -R2 \ 
    393400#-Q- aix6      -qsource \ 
    394401#-Q- aix    -qsource \ 
     
    396403      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    397404#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    398 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     405#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    399406endif 
    400407 
     
    410417.PRECIOUS : $(MODEL_LIB) 
    411418#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    412 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     419#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    413420 
    414421# library dependancies 
     
    429436#-Q- sx8brodie    -R2 \ 
    430437#-Q- sxdkrz    -R2 \ 
    431 #-Q- eshpux    -R2 \ 
     438#-Q- es2    -R2 \ 
    432439#-Q- aix    -qsource \ 
    433440#-Q- aix6      -qsource \ 
     
    435442      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    436443#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    437 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     444#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    438445      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    439446      @$(RM) $*.[of] 
     
    465472#-Q- sx8brodie    -R2 \ 
    466473#-Q- sxdkrz    -R2 \ 
    467 #-Q- eshpux    -R2 \ 
     474#-Q- es2    -R2 \ 
    468475#-Q- aix    -qsource \ 
    469476#-Q- aix6      -qsource \ 
     
    477484#-Q- sx8brodie    -R2 \ 
    478485#-Q- sxdkrz    -R2 \ 
    479 #-Q- eshpux    -R2 \ 
     486#-Q- es2    -R2 \ 
    480487#-Q- aix    -qsource \ 
    481488#-Q- aix6      -qsource \ 
     
    484491endif 
    485492#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    486 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     493#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    487494      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    488495      @$(RM) $*.[of] 
     
    15071514   trc.F90 \ 
    15081515   domzgr_substitute.h90 \ 
     1516   ldfeiv_substitute.h90 \ 
     1517   ldftra_substitute.h90 \ 
     1518   top_substitute.h90 \ 
     1519   vectopt_loop_substitute.h90 \ 
    15091520   KEY_CPP \ 
    15101521   p4zbio.F90 
     
    15491560   trc.F90 \ 
    15501561   domzgr_substitute.h90 \ 
     1562   ldfeiv_substitute.h90 \ 
     1563   ldftra_substitute.h90 \ 
     1564   top_substitute.h90 \ 
     1565   vectopt_loop_substitute.h90 \ 
    15511566   KEY_CPP \ 
    15521567   p4zche.F90 
     
    16211636   trc.F90 \ 
    16221637   domzgr_substitute.h90 \ 
     1638   ldfeiv_substitute.h90 \ 
     1639   ldftra_substitute.h90 \ 
     1640   top_substitute.h90 \ 
     1641   vectopt_loop_substitute.h90 \ 
    16231642   KEY_CPP \ 
    16241643   p4zflx.F90 
     
    17041723   trc.F90 \ 
    17051724   domzgr_substitute.h90 \ 
     1725   ldfeiv_substitute.h90 \ 
     1726   ldftra_substitute.h90 \ 
     1727   top_substitute.h90 \ 
     1728   vectopt_loop_substitute.h90 \ 
    17061729   KEY_CPP \ 
    17071730   p4zlim.F90 
     
    18391862   trc.F90 \ 
    18401863   domzgr_substitute.h90 \ 
     1864   ldfeiv_substitute.h90 \ 
     1865   ldftra_substitute.h90 \ 
     1866   top_substitute.h90 \ 
     1867   vectopt_loop_substitute.h90 \ 
    18411868   KEY_CPP \ 
    18421869   p4zmeso.F90 
     
    19131940   trc.F90 \ 
    19141941   domzgr_substitute.h90 \ 
     1942   ldfeiv_substitute.h90 \ 
     1943   ldftra_substitute.h90 \ 
     1944   top_substitute.h90 \ 
     1945   vectopt_loop_substitute.h90 \ 
    19151946   KEY_CPP \ 
    19161947   p4zmicro.F90 
     
    19692000   trc.F90 \ 
    19702001   domzgr_substitute.h90 \ 
     2002   ldfeiv_substitute.h90 \ 
     2003   ldftra_substitute.h90 \ 
     2004   top_substitute.h90 \ 
     2005   vectopt_loop_substitute.h90 \ 
    19712006   KEY_CPP \ 
    19722007   p4zmort.F90 
     
    20292064   trc_oce.F90 \ 
    20302065   domzgr_substitute.h90 \ 
     2066   ldfeiv_substitute.h90 \ 
     2067   ldftra_substitute.h90 \ 
     2068   top_substitute.h90 \ 
     2069   vectopt_loop_substitute.h90 \ 
    20312070   KEY_CPP \ 
    20322071   p4zopt.F90 
     
    21072146   trc.F90 \ 
    21082147   domzgr_substitute.h90 \ 
     2148   ldfeiv_substitute.h90 \ 
     2149   ldftra_substitute.h90 \ 
     2150   top_substitute.h90 \ 
     2151   vectopt_loop_substitute.h90 \ 
    21092152   KEY_CPP \ 
    21102153   p4zprod.F90 
     
    21812224   trc.F90 \ 
    21822225   domzgr_substitute.h90 \ 
     2226   ldfeiv_substitute.h90 \ 
     2227   ldftra_substitute.h90 \ 
     2228   top_substitute.h90 \ 
     2229   vectopt_loop_substitute.h90 \ 
    21832230   KEY_CPP \ 
    21842231   p4zrem.F90 
     
    23552402   trc.F90 \ 
    23562403   domzgr_substitute.h90 \ 
     2404   ldfeiv_substitute.h90 \ 
     2405   ldftra_substitute.h90 \ 
     2406   top_substitute.h90 \ 
     2407   vectopt_loop_substitute.h90 \ 
    23572408   KEY_CPP \ 
    23582409   p4zsink.F90 
     
    30973148   sol_oce.F90 
    30983149$(MODEL_LIB)(step.o) :  \ 
     3150   $(MODEL_LIB)(daymod.o) \ 
    30993151   $(MODEL_LIB)(dianam.o) \ 
    31003152   $(MODEL_LIB)(dom_oce.o) \ 
     
    31173169   $(MODEL_LIB)(par_kind.o) \ 
    31183170   $(MODEL_LIB)(par_oce.o) \ 
     3171   $(MODEL_LIB)(par_trc.o) \ 
    31193172   $(MODEL_LIB)(phycst.o) \ 
    31203173   $(MODEL_LIB)(prtctl.o) \ 
    31213174   $(MODEL_LIB)(prtctl_trc.o) \ 
    31223175   $(MODEL_LIB)(sbc_oce.o) \ 
    3123    $(MODEL_LIB)(sms_lobster.o) \ 
    3124    $(MODEL_LIB)(sms_pisces.o) \ 
    31253176   $(MODEL_LIB)(trabbl.o) \ 
    31263177   $(MODEL_LIB)(trc.o) \ 
    31273178   $(MODEL_LIB)(trcdia.o) \ 
    31283179   $(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) \ 
    31293185   $(MODEL_LIB)(trcsms.o) \ 
    3130    $(MODEL_LIB)(trcsms_c14b.o) \ 
    3131    $(MODEL_LIB)(trcsms_cfc.o) \ 
    3132    $(MODEL_LIB)(trcsms_my_trc.o) \ 
    31333186   $(MODEL_LIB)(trctrp.o) \ 
    31343187   $(MODEL_LIB)(trctrp_lec.o) \ 
     
    31413194   $(MODEL_LIB)(zdfmxl.o) \ 
    31423195   $(MODEL_LIB)(zpshde.o) \ 
     3196   daymod.F90 \ 
    31433197   dianam.F90 \ 
    31443198   dom_oce.F90 \ 
     
    31613215   par_kind.F90 \ 
    31623216   par_oce.F90 \ 
     3217   par_trc.F90 \ 
    31633218   phycst.F90 \ 
    31643219   prtctl.F90 \ 
    31653220   prtctl_trc.F90 \ 
    31663221   sbc_oce.F90 \ 
    3167    sms_lobster.F90 \ 
    3168    sms_pisces.F90 \ 
    31693222   trabbl.F90 \ 
    31703223   trc.F90 \ 
    31713224   trcdia.F90 \ 
    31723225   trcrst.F90 \ 
     3226   trcrst_c14b.F90 \ 
     3227   trcrst_cfc.F90 \ 
     3228   trcrst_lobster.F90 \ 
     3229   trcrst_my_trc.F90 \ 
     3230   trcrst_pisces.F90 \ 
    31733231   trcsms.F90 \ 
    3174    trcsms_c14b.F90 \ 
    3175    trcsms_cfc.F90 \ 
    3176    trcsms_my_trc.F90 \ 
    31773232   trctrp.F90 \ 
    31783233   trctrp_lec.F90 \ 
     
    42314286   $(MODEL_LIB)(lib_print.o) \ 
    42324287   $(MODEL_LIB)(oce.o) \ 
     4288   $(MODEL_LIB)(par_c14b.o) \ 
     4289   $(MODEL_LIB)(par_cfc.o) \ 
    42334290   $(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) \ 
    42354295   $(MODEL_LIB)(par_trc.o) \ 
    42364296   $(MODEL_LIB)(phycst.o) \ 
     
    42504310   lib_print.f90 \ 
    42514311   oce.F90 \ 
     4312   par_c14b.F90 \ 
     4313   par_cfc.F90 \ 
    42524314   par_kind.F90 \ 
    4253    par_oce.F90 \ 
     4315   par_lobster.F90 \ 
     4316   par_my_trc.F90 \ 
     4317   par_oce.F90 \ 
     4318   par_pisces.F90 \ 
    42544319   par_trc.F90 \ 
    42554320   phycst.F90 \ 
     
    42674332   $(MODEL_LIB)(lib_mpp.o) \ 
    42684333   $(MODEL_LIB)(oce_trc.o) \ 
     4334   $(MODEL_LIB)(par_trc.o) \ 
    42694335   $(MODEL_LIB)(trc.o) \ 
    42704336   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     
    42754341   lib_mpp.F90 \ 
    42764342   oce_trc.F90 \ 
     4343   par_trc.F90 \ 
    42774344   trc.F90 \ 
    42784345   trdmld_trc_oce.F90 \ 
     
    45484615   trcexp.F90 
    45494616$(MODEL_LIB)(trcini.o) :   \ 
     4617   $(MODEL_LIB)(daymod.o) \ 
    45504618   $(MODEL_LIB)(dom_oce.o) \ 
    45514619   $(MODEL_LIB)(in_out_manager.o) \ 
     
    45814649   $(MODEL_LIB)(trclsm_my_trc.o) \ 
    45824650   $(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) \ 
    45834656   $(MODEL_LIB)(trcsms_c14b.o) \ 
    45844657   $(MODEL_LIB)(trcsms_cfc.o) \ 
    4585    $(MODEL_LIB)(trcsms_my_trc.o) \ 
    45864658   $(MODEL_LIB)(trctrp_ctl.o) \ 
    45874659   $(MODEL_LIB)(trctrp_lec.o) \ 
     
    45914663   $(MODEL_LIB)(zdfddm.o) \ 
    45924664   $(MODEL_LIB)(zdfmxl.o) \ 
     4665   daymod.F90 \ 
    45934666   dom_oce.F90 \ 
    45944667   in_out_manager.F90 \ 
     
    46244697   trclsm_my_trc.F90 \ 
    46254698   trclsm_pisces.F90 \ 
     4699   trcrst_c14b.F90 \ 
     4700   trcrst_cfc.F90 \ 
     4701   trcrst_lobster.F90 \ 
     4702   trcrst_my_trc.F90 \ 
     4703   trcrst_pisces.F90 \ 
    46264704   trcsms_c14b.F90 \ 
    46274705   trcsms_cfc.F90 \ 
    4628    trcsms_my_trc.F90 \ 
    46294706   trctrp_ctl.F90 \ 
    46304707   trctrp_lec.F90 \ 
     
    58695946   trc.F90 \ 
    58705947   domzgr_substitute.h90 \ 
     5948   ldfeiv_substitute.h90 \ 
     5949   ldftra_substitute.h90 \ 
     5950   top_substitute.h90 \ 
     5951   vectopt_loop_substitute.h90 \ 
    58715952   KEY_CPP \ 
    58725953   trcopt.F90 
     
    59646045   $(MODEL_LIB)(par_trc.o) \ 
    59656046   $(MODEL_LIB)(phycst.o) \ 
     6047   $(MODEL_LIB)(prtctl.o) \ 
    59666048   $(MODEL_LIB)(sbc_oce.o) \ 
    59676049   $(MODEL_LIB)(sbcrnf.o) \ 
     6050   $(MODEL_LIB)(sms_lobster.o) \ 
     6051   $(MODEL_LIB)(sms_pisces.o) \ 
    59686052   $(MODEL_LIB)(trabbl.o) \ 
    59696053   $(MODEL_LIB)(traqsr.o) \ 
    59706054   $(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) \ 
    59736060   $(MODEL_LIB)(trp_trc.o) \ 
    59746061   $(MODEL_LIB)(zdf_oce.o) \ 
     
    59936080   par_trc.F90 \ 
    59946081   phycst.F90 \ 
     6082   prtctl.F90 \ 
    59956083   sbc_oce.F90 \ 
    59966084   sbcrnf.F90 \ 
     6085   sms_lobster.F90 \ 
     6086   sms_pisces.F90 \ 
    59976087   trabbl.F90 \ 
    59986088   traqsr.F90 \ 
    59996089   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 \ 
    60226091   trcsms_c14b.F90 \ 
    60236092   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 \ 
    60256120   trctrp_lec.F90 \ 
    60266121   domzgr_substitute.h90 \ 
     
    60316126   KEY_CPP \ 
    60326127   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 
    60336499$(MODEL_LIB)(trcsbc.o) :   \ 
    60346500   $(MODEL_LIB)(dianam.o) \ 
     
    61856651   trdmld_trc_oce.F90 \ 
    61866652   domzgr_substitute.h90 \ 
     6653   ldfeiv_substitute.h90 \ 
     6654   ldftra_substitute.h90 \ 
     6655   top_substitute.h90 \ 
     6656   vectopt_loop_substitute.h90 \ 
    61876657   KEY_CPP \ 
    61886658   trcsed.F90 
     
    67437213$(MODEL_LIB)(trcstp.o) :   \ 
    67447214   $(MODEL_LIB)(agrif_top_sponge.o) \ 
     7215   $(MODEL_LIB)(daymod.o) \ 
    67457216   $(MODEL_LIB)(dianam.o) \ 
    67467217   $(MODEL_LIB)(dom_oce.o) \ 
     
    67867257   $(MODEL_LIB)(trcnxt.o) \ 
    67877258   $(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) \ 
    67887264   $(MODEL_LIB)(trcsbc.o) \ 
    67897265   $(MODEL_LIB)(trcsms_c14b.o) \ 
     
    68057281   $(MODEL_LIB)(zpshde_trc.o) \ 
    68067282   agrif_top_sponge.F90 \ 
     7283   daymod.F90 \ 
    68077284   dianam.F90 \ 
    68087285   dom_oce.F90 \ 
     
    68487325   trcnxt.F90 \ 
    68497326   trcrad.F90 \ 
     7327   trcrst_c14b.F90 \ 
     7328   trcrst_cfc.F90 \ 
     7329   trcrst_lobster.F90 \ 
     7330   trcrst_my_trc.F90 \ 
     7331   trcrst_pisces.F90 \ 
    68507332   trcsbc.F90 \ 
    68517333   trcsms_c14b.F90 \ 
     
    70067488   zpshde_trc.F90 \ 
    70077489   domzgr_substitute.h90 \ 
     7490   ldfeiv_substitute.h90 \ 
     7491   ldftra_substitute.h90 \ 
     7492   top_substitute.h90 \ 
     7493   vectopt_loop_substitute.h90 \ 
    70087494   $(AGRIF_LIB) \ 
    70097495   KEY_CPP \ 
     
    71187604   $(MODEL_LIB)(trabbl.o) \ 
    71197605   $(MODEL_LIB)(traqsr.o) \ 
     7606   $(MODEL_LIB)(trc.o) \ 
    71207607   $(MODEL_LIB)(zdf_oce.o) \ 
    71217608   $(MODEL_LIB)(zdfddm.o) \ 
     
    71417628   trabbl.F90 \ 
    71427629   traqsr.F90 \ 
     7630   trc.F90 \ 
    71437631   zdf_oce.F90 \ 
    71447632   zdfddm.F90 \ 
    71457633   zdfmxl.F90 \ 
    71467634   $(MODEL_LIB)(dianam.o) \ 
     7635   $(MODEL_LIB)(dom_oce.o) \ 
    71477636   $(MODEL_LIB)(iom.o) \ 
    71487637   $(MODEL_LIB)(oce_trc.o) \ 
    71497638   $(MODEL_LIB)(trc.o) \ 
     7639   $(MODEL_LIB)(trdmld_trc_oce.o) \ 
     7640   $(MODEL_LIB)(trp_trc.o) \ 
    71507641   dianam.F90 \ 
     7642   dom_oce.F90 \ 
    71517643   iom.F90 \ 
    71527644   oce_trc.F90 \ 
    71537645   trc.F90 \ 
     7646   trdmld_trc_oce.F90 \ 
     7647   trp_trc.F90 \ 
    71547648   domzgr_substitute.h90 \ 
    71557649   ldfeiv_substitute.h90 \ 
  • branches/devmercator2010_1/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make.ldef

    r1759 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
     19#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
     22#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/CONFIG/POMME/EXP00/namelist

    r1730 r2137  
    120120                           !                       =2 combination of 0 and 1 cases             ("key_lim3" only) 
    121121   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) 
    123123   ln_ssr      = .true.    !  Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) 
    124124   nn_fwb      = 0         !  FreshWater Budget: =0 unchecked  
     
    170170!              !   file name      ! frequency (hours) ! variable   ! time interpol. !  clim   ! 'yearly'/ ! weights  ! rotation ! 
    171171!              !                  !  (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' , '' 
    180180! 
    181181   cn_dir      = './'      !  root directory for the location of the bulk files 
     
    223223  
    224224   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 penetration 
     225   ln_traqsr   = .false.    !  Light penetration (T) or not (F) 
     226   ln_qsr_rgb  = .false.    !  RGB (Red-Green-Blue) light penetration 
    227227   ln_qsr_2bd  = .false.   !  2 bands              light penetration 
    228228   ln_qsr_bio  = .false.   !  bio-model light penetration 
     
    366366&nambfr        !   bottom friction 
    367367!----------------------------------------------------------------------- 
    368    nn_bfr      =    3      !  type of bottom friction :   = 0 : no   slip,  = 2 : nonlinear friction 
     368   nn_bfr      =    2      !  type of bottom friction :   = 0 : no   slip,  = 2 : nonlinear friction 
    369369                           !                              = 3 : free slip,  = 1 :    linear friction 
    370370   rn_bfri1    =    4.e-4  !  bottom drag coefficient (linear case) 
  • branches/devmercator2010_1/CONFIG/POMME/scripts/BB_make

    r1778 r2137  
    77#          Check your compilers option in consequence when using real F95 compilers 
    88 
     9F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) 
     10L_X = $(L_O) 
    911#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)  
    1012#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)  
     
    2224#-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) 
    2325#-Q- sxdkrz  L_X = $(L_O) -ftrace 
    24 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator) 
    25 #-Q- eshpux  # for super perfs! 
    26 #-Q- eshpux  # 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- eshpux  # regular options! 
    28 #-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
    29 #-Q- eshpux  L_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) 
    3032#-Q- linux  # Compiler options for NEMO (pgf version) 
    3133#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6264#-Q- sx8brodie PREF=i. 
    6365#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     66#-Q- es2 PREF=i. 
    6567 
    6668# add suffix to P_P 
     
    101103 
    102104#check key compatibility 
    103 keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
     105keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible)) 
    104106 
    105107KEY_LIST = \ 
     
    430432 
    431433# Agrif library and conv 
    432 libagrif :  $(call keycompat,key_iomput,key_agrif) 
     434libagrif : 
    433435ifeq ($(AGRIF),use) 
    434436   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    456458#-Q- sx8brodie    -R2 \ 
    457459#-Q- sxdkrz    -R2 \ 
    458 #-Q- eshpux    -R2 \ 
     460#-Q- es2    -R2 \ 
    459461#-Q- aix6      -qsource \ 
    460462#-Q- aix    -qsource \ 
     
    462464      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    463465#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    464 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     466#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    465467endif 
    466468 
     
    476478.PRECIOUS : $(MODEL_LIB) 
    477479#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    478 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     480#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    479481 
    480482# library dependancies 
     
    495497#-Q- sx8brodie    -R2 \ 
    496498#-Q- sxdkrz    -R2 \ 
    497 #-Q- eshpux    -R2 \ 
     499#-Q- es2    -R2 \ 
    498500#-Q- aix    -qsource \ 
    499501#-Q- aix6      -qsource \ 
     
    501503      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    502504#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    503 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     505#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    504506      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    505507      @$(RM) $*.[of] 
     
    531533#-Q- sx8brodie    -R2 \ 
    532534#-Q- sxdkrz    -R2 \ 
    533 #-Q- eshpux    -R2 \ 
     535#-Q- es2    -R2 \ 
    534536#-Q- aix    -qsource \ 
    535537#-Q- aix6      -qsource \ 
     
    543545#-Q- sx8brodie    -R2 \ 
    544546#-Q- sxdkrz    -R2 \ 
    545 #-Q- eshpux    -R2 \ 
     547#-Q- es2    -R2 \ 
    546548#-Q- aix    -qsource \ 
    547549#-Q- aix6      -qsource \ 
     
    550552endif 
    551553#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    552 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     554#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    553555      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    554556      @$(RM) $*.[of] 
     
    11951197   diaar5.F90 
    11961198$(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 \ 
    12061222   dom_oce.F90 \ 
    12071223   in_out_manager.F90 \ 
     
    13581374   phycst.F90 \ 
    13591375   $(IOIPSL_LIB) \ 
    1360    KEY_CPP \ 
    13611376   dianam.F90 
    13621377$(MODEL_LIB)(diaptr.o) :   \ 
     
    14191434   diaptr.F90 
    14201435$(MODEL_LIB)(diawri.o) :   \ 
     1436   $(MODEL_LIB)(daymod.o) \ 
    14211437   $(MODEL_LIB)(dianam.o) \ 
    14221438   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    14461462   $(MODEL_LIB)(sbcrnf.o) \ 
    14471463   $(MODEL_LIB)(zdf_oce.o) \ 
     1464   daymod.F90 \ 
    14481465   dianam.F90 \ 
    14491466   dom_ice_2.F90 \ 
     
    45944611   in_out_manager.F90 \ 
    45954612   lbcnfd.F90 \ 
    4596    $(AGRIF_LIB) \ 
    45974613   KEY_CPP \ 
    45984614   lib_mpp.F90 
     
    53095325   $(MODEL_LIB)(limistate_2.o) \ 
    53105326   $(MODEL_LIB)(phycst.o) \ 
     5327   $(MODEL_LIB)(sbc_oce.o) \ 
    53115328   dom_ice_2.F90 \ 
    53125329   dom_oce.F90 \ 
     
    53195336   limistate_2.F90 \ 
    53205337   phycst.F90 \ 
     5338   sbc_oce.F90 \ 
    53215339   vectopt_loop_substitute.h90 \ 
    53225340   KEY_CPP \ 
     
    79968014   $(MODEL_LIB)(lib_print.o) \ 
    79978015   $(MODEL_LIB)(limwri_2.o) \ 
     8016   $(MODEL_LIB)(obc_oce.o) \ 
    79988017   $(MODEL_LIB)(obctra.o) \ 
    79998018   $(MODEL_LIB)(oce.o) \ 
     
    80678086   lib_print.f90 \ 
    80688087   limwri_2.F90 \ 
     8088   obc_oce.F90 \ 
    80698089   obctra.F90 \ 
    80708090   oce.F90 \ 
     
    96209640   $(MODEL_LIB)(lib_print.o) \ 
    96219641   $(MODEL_LIB)(obc_oce.o) \ 
     9642   $(MODEL_LIB)(obc_par.o) \ 
    96229643   $(MODEL_LIB)(oce.o) \ 
    96239644   $(MODEL_LIB)(par_kind.o) \ 
     
    96449665   lib_print.f90 \ 
    96459666   obc_oce.F90 \ 
     9667   obc_par.F90 \ 
    96469668   oce.F90 \ 
    96479669   par_kind.F90 \ 
     
    96689690   $(MODEL_LIB)(in_out_manager.o) \ 
    96699691   $(MODEL_LIB)(lbclnk.o) \ 
     9692   $(MODEL_LIB)(obc_oce.o) \ 
    96709693   $(MODEL_LIB)(obctra.o) \ 
    96719694   $(MODEL_LIB)(oce.o) \ 
     
    96849707   in_out_manager.F90 \ 
    96859708   lbclnk.F90 \ 
     9709   obc_oce.F90 \ 
    96869710   obctra.F90 \ 
    96879711   oce.F90 \ 
     
    1017210196$(MODEL_LIB)(trdmld.o) :   \ 
    1017310197   $(MODEL_LIB)(c1d.o) \ 
     10198   $(MODEL_LIB)(daymod.o) \ 
    1017410199   $(MODEL_LIB)(dom_oce.o) \ 
    1017510200   $(MODEL_LIB)(eosbn2.o) \ 
     
    1019710222   $(MODEL_LIB)(zpshde.o) \ 
    1019810223   c1d.F90 \ 
     10224   daymod.F90 \ 
    1019910225   dom_oce.F90 \ 
    1020010226   eosbn2.F90 \ 
  • branches/devmercator2010_1/CONFIG/POMME/scripts/BB_make.ldef

    r1729 r2137  
    1414IOIPSL_LIB = $(LIBDIR)/libioipsl.a 
    1515#-Q- sxdkrz  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    16 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     16#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    1717AGRIF_LIB = $(LIBDIR)/libagrif.a 
    1818#-Q- sxdkrc AGRIF_LIB = $(LIBDIR)/libsxagrif.a 
    19 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     19#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    2020SXMODEL_LIB = $(MODEL_LIB) 
    2121#-Q- sxdkrz  SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a 
    22 #-Q- eshpux  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
     22#-Q- es2  IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a 
    2323OASISMPI2_LIB =  
    2424LIBMPI  = 
     
    3434#- 
    3535#- Prefix for preprocessing --- 
     36prefix = -D 
    3637#-Q- sx8mercure prefix = -D 
    3738#-Q- sx9mercure prefix = -D 
    3839#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4041#-Q- sxdkrz prefix = -D 
    4142#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/EXTERNAL/XMLF90/AA_make

    r1722 r2137  
    1111#- 
    1212#-Q- sxdkrz F_O = $(F_D) $(F_P) -C vsafe -size_t64 -I $(MODDIR) 
    13 #-Q- eshpux F_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR) 
     13#-Q- es2 F_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR) 
    1414#-Q- sx8brodie F_O = $(F_D) $(F_P) -I $(MODDIR) 
    1515#-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  
    3131print MAKEFILE "#-\n"; 
    3232print MAKEFILE "#-Q- sxdkrz F_O = \$(F_D) \$(F_P) -C vsafe -size_t64 -I \$(MODDIR)\n"; 
    33 print MAKEFILE "#-Q- eshpux F_O = \$(F_D) \$(F_P) -C vsafe -I \$(MODDIR)\n"; 
     33print MAKEFILE "#-Q- es2 F_O = \$(F_D) \$(F_P) -C vsafe -I \$(MODDIR)\n"; 
    3434print MAKEFILE "#-Q- sx8brodie F_O = \$(F_D) \$(F_P) -I \$(MODDIR)\n"; 
    3535print 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  
    1515#-Q- sx9mercure F_O := $(F_O) -Wf,-ptr byte 
    1616#-Q- sxdkrz F_O := $(F_O) -Wf,-ptr byte 
    17 #-Q- eshpux F_O := $(F_O) -Wf,-ptr byte 
     17#-Q- es2 F_O := $(F_O) -Wf,-ptr byte 
    1818#-Q- aix6 F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90  -qmoddir=$(MODDIR) -I $(MODDIR) 
    1919#-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  
    3535print MAKEFILE "#-Q- sx9mercure F_O := \$(F_O) -Wf,-ptr byte\n"; 
    3636print MAKEFILE "#-Q- sxdkrz F_O := \$(F_O) -Wf,-ptr byte\n"; 
    37 print MAKEFILE "#-Q- eshpux F_O := \$(F_O) -Wf,-ptr byte\n"; 
     37print MAKEFILE "#-Q- es2 F_O := \$(F_O) -Wf,-ptr byte\n"; 
    3838print MAKEFILE "#-Q- aix6 F_O = \$(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90  -qmoddir=\$(MODDIR) -I \$(MODDIR)\n"; 
    3939print 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  
    6161      ENDIF 
    6262       
     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 
    6366      !----------------------------------------------------------                           
    6467      !    Initialization of local and some global (common) variables  
  • branches/devmercator2010_1/NEMO/LIM_SRC_2/limsbc_2.F90

    r2135 r2137  
    7878      !! 
    7979      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 
    9098      !!--------------------------------------------------------------------- 
    9199      
     
    101109         sice_r(:,:) = sice 
    102110         ! 
    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 
    110124 
    111125      !------------------------------------------! 
  • branches/devmercator2010_1/NEMO/LIM_SRC_2/limthd_2.F90

    r1758 r2137  
    360360         END DO 
    361361      ENDIF 
    362        
     362 
     363      CALL lbc_lnk( frld , 'T', 1. )       
    363364       
    364365      ! Select points for lateral accretion (this occurs when heat exchange 
  • branches/devmercator2010_1/NEMO/LIM_SRC_2/limtrp_2.F90

    r2135 r2137  
    1616   !!   lim_trp_init_2 : initialization and namelist read 
    1717   !!---------------------------------------------------------------------- 
    18    USE phycst          ! physical constants 
     18   USE phycst          ! physical constant 
     19   USE sbc_oce         ! ocean surface boundary condition 
    1920   USE dom_oce         ! ocean domain 
    2021   USE in_out_manager  ! I/O manager 
    21    USE dom_ice_2       ! LIM2 sea-ice domain 
    22    USE ice_2           ! LIM2 variables 
    23    USE limistate_2     ! LIM2 initial state 
    24    USE limadv_2        ! LIM2 advection 
    25    USE limhdf_2        ! LIM2 horizontal diffusion 
    26    USE lbclnk          ! Lateral Boundary condition - MPP exchanges 
     22   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 
    2728   USE lib_mpp         ! MPP library 
    2829 
     
    3233   PUBLIC   lim_trp_2   ! called by sbc_ice_lim_2 
    3334 
    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) 
    3536 
    3637   REAL(wp)  ::   epsi06 = 1.e-06   ! constant values 
     
    8687         ! ice velocities at ocean U- and V-points (zui_u,zvi_v) 
    8788         ! --------------------------------------- 
    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         
    9090#if defined key_lim2_vp 
    9191         DO jj = 1, jpjm1     ! VP rheology: ice (u,v) at I-point 
     
    101101#endif 
    102102 
     103 
    103104         ! CFL test for stability 
    104105         ! ---------------------- 
     
    106107         zcfl  = MAX( zcfl, MAXVAL( ABS( zui_u(1:jpim1, :     ) ) * rdt_ice / e1u(1:jpim1, :     ) ) ) 
    107108         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 
    108113 
    109114         IF(lk_mpp ) CALL mpp_max(zcfl) 
     
    121126         zs0st (:,:) =  qstoif(:,:) / xlic     * zs0a  (:,:)   ! Heat reservoir for brine pockets. 
    122127  
    123          ! Advection  
     128         ! Advection (Prather scheme) 
    124129         ! --------- 
    125130         ! If ice drift field is too fast, use an appropriate time step for advection.          
     
    146151               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
    147152            END DO 
    148          ELSE 
     153         ELSE                                                 !==  even ice time step:  adv_x then adv_y  ==! 
    149154            DO jk = 1, initad 
    150155               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
     
    167172         ! recover the properties from their contents 
    168173         ! ------------------------------------------ 
     174!!gm Define in limmsh one for all area = 1 /area  (CPU time saved !) 
    169175         zs0ice(:,:) = zs0ice(:,:) / area(:,:) 
    170176         zs0sn (:,:) = zs0sn (:,:) / area(:,:) 
     
    190196            END DO 
    191197         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 
    192206 
    193207         ! diffusion 
     
    201215         CALL lim_hdf_2( zs0st  ) 
    202216 
    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 
    207222         zs0c1 (:,:) = MAX( rzero, zs0c1 (:,:) * area(:,:) ) 
    208223         zs0c2 (:,:) = MAX( rzero, zs0c2 (:,:) * area(:,:) ) 
     
    210225 
    211226 
    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         !-------------------------------------------------------------------! 
    217230         DO jj = 1, jpj 
    218231            zindhe = MAX( 0.e0, SIGN( 1.e0, fcor(1,jj) ) )              ! = 0 for SH, =1 for NH 
    219232            DO ji = 1, jpi 
    220  
     233               ! 
    221234               ! Recover mean values over the grid squares. 
    222235               zs0sn (ji,jj) = MAX( rzero, zs0sn (ji,jj)/area(ji,jj) ) 
     
    268281      !! ** Purpose :   initialization of ice advection parameters 
    269282      !! 
    270       !! ** Method  : Read the namicetrp namelist and check the parameter  
    271       !!       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) 
    272285      !! 
    273286      !! ** input   :   Namelist namicetrp 
     
    276289      !!------------------------------------------------------------------- 
    277290      ! 
    278       ! Read Namelist namicetrp 
    279       REWIND ( numnam_ice ) 
     291      REWIND ( numnam_ice )      ! Read Namelist namicetrp 
    280292      READ   ( numnam_ice  , namicetrp ) 
    281293      IF(lwp) THEN 
  • branches/devmercator2010_1/NEMO/LIM_SRC_2/limwri_2.F90

    r1715 r2137  
    313313      CALL histwrite( kid, "iicetemp", kt, sist(:,:) - rt0, jpi*jpj, (/1/) ) 
    314314      CALL histwrite( kid, "ioceflxb", kt, fbif           , jpi*jpj, (/1/) ) 
    315       CALL histwrite( kid, "iicevelv", kt, u_ice          , jpi*jpj, (/1/) ) 
    316       CALL histwrite( kid, "iicevelu", 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/) ) 
    317317      CALL histwrite( kid, "isstempe", kt, sst_m          , jpi*jpj, (/1/) ) 
    318318      CALL histwrite( kid, "isssalin", kt, sss_m          , jpi*jpj, (/1/) ) 
  • branches/devmercator2010_1/NEMO/LIM_SRC_3/limmsh.F90

    r1694 r2137  
    5353         WRITE(numout,*) '~~~~~~~' 
    5454      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' ) 
    5558 
    5659      !                           !==  coriolis factor & Equator position ==! 
  • branches/devmercator2010_1/NEMO/LIM_SRC_3/limtrp.F90

    r1715 r2137  
    204204         zusnit = 1.0 / REAL( initad )  
    205205 
    206          IF ( MOD( nday , 2 ) == 0) THEN 
     206         IF( MOD( ( kt - 1) / nn_fsbc , 2 ) == 0) THEN        !==  odd ice time step:  adv_x then adv_y  ==! 
    207207            DO jk = 1,initad 
    208208               !--- ice open water area 
  • branches/devmercator2010_1/NEMO/NST_SRC/agrif2model.F90

    r1156 r2137  
    7373 
    7474   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 
    7594#else 
    7695   SUBROUTINE Agrif2Model 
  • branches/devmercator2010_1/NEMO/NST_SRC/agrif_user.F90

    r1605 r2137  
    7373      USE tradmp 
    7474#endif 
     75#if defined key_obc   ||   defined key_esopa 
     76      USE obc_par 
     77#endif 
    7578      USE sol_oce 
    7679      USE in_out_manager 
     
    98101#endif 
    99102 
    100       Call opa_init  ! Initializations of each fine grid 
    101       Call agrif_opa_init 
    102  
    103103      ! Specific fine grid Initializations 
    104104#if defined key_tradmp || defined key_esopa 
     
    106106      lk_tradmp = .FALSE. 
    107107#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 
    108116      ! 1. Declaration of the type of variable which have to be interpolated 
    109117      !--------------------------------------------------------------------- 
  • branches/devmercator2010_1/NEMO/OFF_SRC/DOM/domrea.F90

    r1641 r2137  
    215215 
    216216  
    217          DO jk = 1,jpk 
    218             gdept(:,:,jk) = gdept_0(jk) 
    219             gdepw(:,:,jk) = gdepw_0(jk) 
    220          END DO 
    221           
    222  
    223217         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   ) 
    224223                                      ! z-coordinate - partial steps 
    225224            IF( nmsh <= 6 ) THEN                                   !    ! 3D vertical scale factors 
     
    233232            END IF 
    234233 
    235             IF( nmsh <= 3 ) THEN                                   !    ! 3D depth 
     234            IF( iom_varid( inum4, 'gdept', ldstop = .FALSE. ) > 0 ) THEN 
    236235              CALL iom_get( inum4, jpdom_data, 'gdept', gdept ) ! scale factors 
    237236              CALL iom_get( inum4, jpdom_data, 'gdepw', gdepw ) 
     
    240239              CALL iom_get( inum4, jpdom_data, 'hdepw', hdepw ) 
    241240          
     241              DO jk = 1,jpk 
     242                gdept(:,:,jk) = gdept_0(jk) 
     243                gdepw(:,:,jk) = gdepw_0(jk) 
     244              ENDDO 
     245 
    242246              DO jj = 1, jpj 
    243247                DO ji = 1, jpi 
     
    252256                END DO 
    253257              END DO 
     258 
    254259            ENDIF 
    255260 
    256261         ENDIF 
    257          ! Vertical coordinates and scales factors 
    258          CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 ) ! depth 
    259          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   ) 
    262262# endif 
    263263         IF( ln_zco ) THEN 
  • branches/devmercator2010_1/NEMO/OFF_SRC/DOM/phycst.F90

    r1746 r2137  
    3737      rtt      = 273.16_wp  ,  &  !: triple point of temperature (Kelvin) 
    3838      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) 
    4140      rcp      =    4.e+3_wp,  &  !: ocean specific heat 
    4241      ro0cpr                      !: = 1. / ( rau0 * rcp ) 
     
    127126      ro0cpr = 1. / ( rau0 * rcp ) 
    128127      IF(lwp) WRITE(numout,*) 
    129       IF(lwp) WRITE(numout,*) '          volumic mass of pure water         rauw   = ', rauw, ' kg/m^3' 
    130128      IF(lwp) WRITE(numout,*) '          volumic mass of reference          rau0   = ', rau0, ' kg/m^3' 
    131129      IF(lwp) WRITE(numout,*) '          ocean specific heat                rcp    = ', rcp 
  • branches/devmercator2010_1/NEMO/OFF_SRC/lib_mpp.F90

    r1324 r2137  
    105105   !! ========================= !! 
    106106!$AGRIF_DO_NOT_TREAT 
    107 #  include <mpif.h> 
     107   INCLUDE mpif.h 
    108108!$AGRIF_END_DO_NOT_TREAT 
    109109 
  • branches/devmercator2010_1/NEMO/OFF_SRC/trc_oce.F90

    r1445 r2137  
    3939   !!---------------------------------------------------------------------- 
    4040   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
    41    !! $Id: trc_oce.F90 1423 2009-05-06 16:22:01Z ctlod $  
     41   !! $Id: trc_oce.F90 1834 2010-04-14 11:54:19Z cetlod $  
    4242   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)  
    4343   !!---------------------------------------------------------------------- 
     
    126126      zrgb(1,51) =  3.162   ;   zrgb(2,51) = 0.22703   ;   zrgb(3,51) = 0.16599   ;   zrgb(4,51) = 0.46601 
    127127      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,54) = 0.48080 
    129       zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,55) = 0.48909 
    130       zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,56) = 0.49803 
    131       zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,57) = 0.50768 
    132       zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,58) = 0.51810 
    133       zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,59) = 0.52934 
    134       zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,50) = 0.54147 
     128      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 
    135135      zrgb(1,60) =  8.912   ;   zrgb(2,60) = 0.44336   ;   zrgb(3,60) = 0.25725   ;   zrgb(4,60) = 0.55457 
    136136      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  
    175175      thick0(:,:) = 0.e0 
    176176      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 ) 
    180181       
    181182      CALL iom_open ( 'data_1m_salinity_nomask', inum ) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diadimg.F90

    r1715 r2137  
    1010   USE dom_oce         ! ocean space and time domain 
    1111   USE in_out_manager  ! I/O manager 
     12   USE daymod          ! calendar 
    1213 
    1314   IMPLICIT NONE 
     
    2122   !!---------------------------------------------------------------------- 
    2223   !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    23    !! $Id$  
     24   !! $Header$  
    2425   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    2526   !!---------------------------------------------------------------------- 
     
    5657    INTEGER :: jk, jn           ! dummy loop indices 
    5758    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 
    6062    REAL(sp)                    :: zdx,zdy,zspval,zwest,ztimm 
    6163    REAL(sp)                    :: zsouth 
     
    6971    !! * Initialisations 
    7072 
    71     irecl4 = MAX(jpi*jpj*sp , 84+18*sp + (jpk+8)*jpnij*sp ) 
     73    irecl4 = MAX(jpi*jpj*sp , 84+(18+1+jpk)*sp ) 
    7274 
    7375    zspval=0.0_sp    ! special values on land 
     
    101103 
    102104    IF ( ln_dimgnnn  ) THEN 
     105     irecl4 = MAX(jpi*jpj*sp , 84+(18+jpk)*sp + 8*jpnij*sp  ) 
    103106       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) 
    105108       WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
    106109            &     jpi,jpj, klev, 1 , 1 ,            & 
     
    127130       ENDIF 
    128131    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        
    129140       !! Standard dimgproc (1 file per variable, all procs. write to this file ) 
    130141       !! * 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) 
    132143 
    133144       !! * Write header on record #1 
     145       irecend=1 + klev*jpnij  
    134146       IF(lwp) WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
    135             &     jpi,jpj, klev*jpnij, 1 , 1 ,            & 
     147            &     jpi,jpj, klev, 1 , 1 ,            & 
    136148            &     zwest, zsouth, zdx, zdy, zspval,  & 
    137             &     (z4dep(1:klev),jn=1,jpnij),       & 
     149            &     z4dep(1:klev),       & 
    138150            &     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  ! 
    141164 
    142165       !! * Write klev levels 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DIA/dianam.F90

    r1731 r2137  
    129129  
    130130      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) 
    134132 
    135133   END SUBROUTINE dia_nam 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diaptr.F90

    r1775 r2137  
    362362#endif 
    363363 
     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 
    364455            ! "Meridional" Stream-Function 
    365456            DO jk = 2,jpk  
     
    394485               v_msf_ind(:,:) = v_msf_ind(:,:) * zsverdrup 
    395486               v_msf_ipc(:,:) = v_msf_ipc(:,:) * zsverdrup 
    396             ENDIF 
    397  
    398             ! Transports 
    399             ! T times V on T points (include bolus velocities) 
    400 #if defined key_diaeiv  
    401             DO jj = 2, jpj 
    402                DO ji = 1, jpi 
    403                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 
    404                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 
    405                END DO 
    406             END DO 
    407 #else 
    408             DO jj = 2, jpj 
    409                DO ji = 1, jpi 
    410                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    411                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    412                END DO 
    413             END DO 
    414 #endif  
    415             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 ) THEN  
    421                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             ENDIF 
    430  
    431             ! poleward tracer transports:  
    432             ! overturning components: 
    433             IF ( ln_ptrcomp ) THEN  
    434                pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    435                pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )   
    436                IF ( ln_subbas ) THEN  
    437                   pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    438                   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 jk 
    440                   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 jk 
    442                   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 jk 
    444                   pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )   
    445                END IF 
    446             END IF 
    447  
    448             ! Bolus component 
    449 #if defined key_diaeiv 
    450             pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    451             pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 )   ! SUM over jk 
    452             IF ( ln_subbas ) THEN  
    453                pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    454                pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 )   ! SUM over jk 
    455                pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
    456                pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 )   ! SUM over jk 
    457                pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
    458                pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 )   ! SUM over jk 
    459                pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
    460                pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 )   ! SUM over jk 
    461             ENDIF 
    462 #endif 
    463  
    464             ! conversion in PW and G g 
    465             zpwatt = zpwatt * rau0 * rcp 
    466             pht_adv(:) = pht_adv(:) * zpwatt   
    467             pht_ldf(:) = pht_ldf(:) * zpwatt 
    468             pst_adv(:) = pst_adv(:) * zggram 
    469             pst_ldf(:) = pst_ldf(:) * zggram 
    470             IF ( ln_ptrcomp ) THEN  
    471                pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 
    472                pst_ove_glo(:) = pst_ove_glo(:) * zggram 
    473             END IF 
    474 #if defined key_diaeiv 
    475             pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 
    476             pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 
    477 #endif 
    478             IF( ln_subbas ) THEN 
    479                ht_atl(:) = ht_atl(:) * zpwatt 
    480                ht_pac(:) = ht_pac(:) * zpwatt 
    481                ht_ind(:) = ht_ind(:) * zpwatt 
    482                ht_ipc(:) = ht_ipc(:) * zpwatt 
    483                st_atl(:) = st_atl(:) * zggram  
    484                st_pac(:) = st_pac(:) * zggram 
    485                st_ind(:) = st_ind(:) * zggram 
    486                st_ipc(:) = st_ipc(:) * zggram 
    487487            ENDIF 
    488488         ENDIF 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DIA/diawri.F90

    r2130 r2137  
    632632      ! Define name, frequency of output and means 
    633633      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) 
    637635      zdt  = rdt 
    638636      zsto = rdt 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/dom_oce.F90

    r2131 r2137  
    221221#else 
    222222   LOGICAL, PUBLIC, PARAMETER ::   lk_agrif = .FALSE.   !: agrif flag 
     223 
     224CONTAINS 
     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 
    223232#endif 
    224233 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domain.F90

    r1732 r2137  
    166166      ENDIF 
    167167 
    168 #if defined key_agrif 
    169168      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 
    185181 
    186182      REWIND( numnam )             ! Namelist namdom : space & time domain (bathymetry, mesh, timestep) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domhgr.F90

    r1707 r2137  
    270270          
    271271#if defined key_agrif && defined key_eel_r6 
    272          IF (.Not.Agrif_Root()) THEN 
     272         IF( .NOT. Agrif_Root() ) THEN 
    273273           glam0  = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 
    274274           gphi0  = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 
     
    465465          
    466466#if defined key_agrif && defined key_eel_r6 
    467          IF (.Not.Agrif_Root()) THEN 
     467         IF( .NOT. Agrif_Root() ) THEN 
    468468           zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) 
    469469         ENDIF 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domvvl.F90

    r1694 r2137  
    6262      IF( lk_zco )   CALL ctl_stop( 'dom_vvl : key_zco is incompatible with variable volume option key_vvl') 
    6363 
    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 
    7489 
    7590      !                                 !==  mu computation  ==! 
     
    139154      CALL lbc_lnk( sshf_b, 'F', 1. )   ;   CALL lbc_lnk( sshf_n, 'F', 1. ) 
    140155      ! 
     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 
    141172   END SUBROUTINE dom_vvl 
    142173 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/domwri.F90

    r1590 r2137  
    4545      !!      domhgr, domzgr, and dommsk. Note: the file contain depends on 
    4646      !!      the vertical coord. used (z-coord, partial steps, s-coord) 
    47       !!                    nmsh = 1  :   'mesh_mask.nc' file 
     47      !!            MOD(nmsh, 3) = 1  :   'mesh_mask.nc' file 
    4848      !!                         = 2  :   'mesh.nc' and mask.nc' files 
    49       !!                         = 3  :   'mesh_hgr.nc', 'mesh_zgr.nc' and 
     49      !!                         = 0  :   'mesh_hgr.nc', 'mesh_zgr.nc' and 
    5050      !!                                  'mask.nc' files 
    5151      !!      For huge size domain, use option 2 or 3 depending on your  
    5252      !!      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 
    5359      !! 
    5460      !! ** output file :  
     
    241247      !                                     !        close the files  
    242248      !                                     ! ============================ 
    243       SELECT CASE ( nmsh ) 
     249      SELECT CASE ( MOD(nmsh, 3) ) 
    244250      CASE ( 1 )                 
    245251         CALL iom_close( inum0 ) 
     
    247253         CALL iom_close( inum1 ) 
    248254         CALL iom_close( inum2 ) 
    249       CASE ( 3 ) 
     255      CASE ( 0 ) 
    250256         CALL iom_close( inum2 ) 
    251257         CALL iom_close( inum3 ) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DOM/phycst.F90

    r1739 r2137  
    44   !!     Definition of of both ocean and ice parameters used in the code 
    55   !!===================================================================== 
    6    !! History :        !  90-10  (C. Levy - G. Madec)  Original code 
    7    !!                  !  91-11  (G. Madec) 
    8    !!                  !  91-12  (M. Imbard) 
    9    !!             8.5  !  02-08  (G. Madec, C. Ethe)  F90, add ice constants 
    10    !!             9.0  !  06-08  (G. Madec) style  
     6   !! 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  
    1111   !!---------------------------------------------------------------------- 
    1212 
     
    2424   REAL(wp), PUBLIC ::   rpi = 3.141592653589793_wp             !: pi 
    2525   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 value 
     26   REAL(wp), PUBLIC ::   rsmall = 0.5 * EPSILON( 1.e0 )         !: smallest real computer value 
    2727    
    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) 
    4039    
    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) 
    4442#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) 
    4745#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) 
    5048#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 heat 
    54       ro0cpr                      !: = 1. / ( rau0 * rcp ) 
    5549 
    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 
    5755#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 
    6663#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) 
    7573#endif 
    76       rhosn   = 330._wp       ,   &  !: volumic mass of snow (kg/m3) 
    77       emic    =   0.97_wp     ,   &  !: emissivity of snow or ice 
    78       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 constant 
    83       stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant  
    84       !!---------------------------------------------------------------------- 
    85       !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    86       !! $Id$  
    87       !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    88       !!---------------------------------------------------------------------- 
     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   !!---------------------------------------------------------------------- 
    8987    
    9088CONTAINS 
     
    9997      !!---------------------------------------------------------------------- 
    10098 
    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  
    104103 
    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,*) ' ~~~~~~~' 
    108112         WRITE(numout,*) '       Domain info' 
    109113         WRITE(numout,*) '          dimension of model' 
     
    118122         WRITE(numout,*) '             jpnij   : ', jpnij 
    119123         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 
    163150         WRITE(numout,*) 
    164151         WRITE(numout,*) '          thermal conductivity of the snow          = ', rcdsn   , ' J/s/m/K' 
     
    184171         WRITE(numout,*) '          von Karman constant                       = ', vkarmn  
    185172         WRITE(numout,*) '          Stefan-Boltzmann constant                 = ', stefan  , ' J/s/m^2/K^4' 
    186  
    187173         WRITE(numout,*) 
    188174         WRITE(numout,*) '          conversion: degre ==> radian          rad = ', rad 
    189  
    190175         WRITE(numout,*) 
    191176         WRITE(numout,*) '          smallest real computer value       rsmall = ', rsmall 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DYN/divcur.F90

    r1152 r2137  
    123123 
    124124#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 
    137133#endif          
    138134#if defined key_bdy 
    139135         ! unstructured open boundaries (div must be zero behind the open boundary) 
    140136         DO jj = 1, jpj 
    141            DO ji = 1, jpi 
    142              hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 
    143            END DO 
     137            DO ji = 1, jpi 
     138               hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 
     139            END DO 
    144140         END DO 
    145141#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 
    154148 
    155149         !                                             ! -------- 
     
    341335 
    342336#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 
    355345#endif          
    356346#if defined key_bdy 
     
    362352         END DO 
    363353#endif         
    364 #if defined key_agrif 
    365          if ( .NOT. AGRIF_Root() ) then 
     354         IF( .NOT. AGRIF_Root() ) THEN 
    366355            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
    367356            IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west 
    368357            IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north 
    369358            IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south 
    370          endif 
    371 #endif     
     359         ENDIF 
    372360 
    373361         !                                             ! -------- 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DYN/dynnxt.F90

    r1740 r2137  
    146146# if defined key_obc 
    147147      !                                !* OBC open boundaries 
    148       CALL obc_dyn( kt ) 
     148      IF( lk_obc )   CALL obc_dyn( kt ) 
    149149      ! 
    150150      IF ( lk_dynspg_exp .OR. lk_dynspg_ts ) THEN 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r1739 r2137  
    186186 
    187187#if defined key_obc 
    188       CALL obc_dyn( kt )      ! Update velocities on each open boundary with the radiation algorithm 
    189       CALL obc_vol( kt )      ! Correction of the barotropic componant velocity to control the volume of the system 
     188      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 
    190190#endif 
    191191#if defined key_bdy 
     
    315315#if defined key_obc 
    316316            ! 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 
    319324#elif defined key_bdy 
    320325            ! caution : grad D = 0 along open boundaries 
  • branches/devmercator2010_1/NEMO/OPA_SRC/DYN/sshwzv.F90

    r1756 r2137  
    157157 
    158158#if defined key_obc 
    159 # if defined key_agrif 
    160159      IF ( Agrif_Root() ) THEN  
    161 # endif 
    162160         ssha(:,:) = ssha(:,:) * obctmsk(:,:) 
    163161         CALL lbc_lnk( ssha, 'T', 1. )  ! absolutly compulsory !! (jmm) 
    164 # if defined key_agrif 
    165       ENDIF 
    166 # endif 
     162      ENDIF 
    167163#endif 
    168164 
  • branches/devmercator2010_1/NEMO/OPA_SRC/IOM/iom.F90

    r1743 r2137  
    4343   LOGICAL, PUBLIC, PARAMETER ::   lk_iomput = .FALSE.       !: iom_put flag 
    4444#endif 
    45    PUBLIC iom_init, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put 
     45   PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put 
    4646 
    4747   PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d 
     
    8686      !!---------------------------------------------------------------------- 
    8787      ! 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 
    8990 
    9091      ! calendar parameters 
     
    119120 
    120121   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 
    121140 
    122141 
     
    164183      ! if iom_open is called for the first time: initialize iom_file(:)%nfid to 0 
    165184      ! (could be done when defining iom_file in f95 but not in f90) 
    166 #if ! defined key_agrif 
    167       IF( iom_open_init == 0 ) THEN 
    168          iom_file(:)%nfid = 0 
    169          iom_open_init = 1 
    170       ENDIF 
    171 #else 
    172185      IF( Agrif_Root() ) THEN 
    173186         IF( iom_open_init == 0 ) THEN 
     
    176189         ENDIF 
    177190      ENDIF 
    178 #endif 
    179191      ! do we read or write the file? 
    180192      IF( PRESENT(ldwrt) ) THEN   ;   llwrt = ldwrt 
     
    199211      ! ============= 
    200212      clname   = trim(cdname) 
    201 #if defined key_agrif 
    202213      IF ( .NOT. Agrif_Root() .AND. .NOT. lliof ) THEN 
    203214         iln    = INDEX(clname,'/')  
     
    206217         clname=TRIM(cltmpn)//TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    207218      ENDIF 
    208 #endif     
    209219      ! which suffix should we use? 
    210220      SELECT CASE (iolib) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/IOM/prtctl.F90

    r1613 r2137  
    120120      IF( PRESENT(tab2d_1) )  ztab2d_1(:,:)  = tab2d_1(:,:) 
    121121      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(:,:,:) 
    124124      IF( PRESENT(mask1)   )  zmask1  (:,:,:)= mask1  (:,:,:) 
    125125      IF( PRESENT(mask2)   )  zmask2  (:,:,:)= mask2  (:,:,:) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_oce.F90

    r1601 r2137  
    2727   ! 
    2828   !                                  !!* Namelist namobc: open boundary condition * 
    29    INTEGER           ::   nn_nbobc    = 2        !: number of open boundaries ( 1=< nbobc =< 4 )  
    3029   INTEGER           ::   nn_obcdta   = 0        !:  = 0 use the initial state as obc data 
    3130   !                                             !   = 1 read obc data in obcxxx.dta files 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obc_par.F90

    r1647 r2137  
    2525   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    2626   !!---------------------------------------------------------------------- 
    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 
    2832 
    2933# if defined key_eel_r5 
     
    4852   LOGICAL, PARAMETER ::     &  !: 
    4953      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    ::     &  
    5159      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    5260      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    5866   LOGICAL, PARAMETER ::     &  !: 
    5967      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    ::     &  
    6173      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    6274      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    6880   LOGICAL, PARAMETER ::     &  !: 
    6981      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    ::     &  
    7187      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    7288      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    7894   LOGICAL, PARAMETER ::     &  !: 
    7995      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    ::     &  
    81101      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    82102      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  
    1515   LOGICAL, PARAMETER ::     &  !: 
    1616      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    ::     & 
    1823      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1924      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    2530   LOGICAL, PARAMETER ::     &  !: 
    2631      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    ::     & 
    2838      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    2939      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    3545   LOGICAL, PARAMETER ::     &  !: 
    3646      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    ::     & 
    3853      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    3954      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    4560   LOGICAL, PARAMETER ::     &  !: 
    4661      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    ::     & 
    4868      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    4969      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  
    44   !! open boundary parameter : POMME configuration 
    55   !!--------------------------------------------------------------------- 
    6      INTEGER, PARAMETER ::     &  !: time dimension of the BCS fields on input 
    7       jptobc  =         14 
     6   INTEGER, PARAMETER ::  jptobc  =       14    
     7   !: time dimension of the BCS fields on input 
    88 
    99   !! * EAST open boundary 
    1010   LOGICAL, PARAMETER ::     &  !: 
    1111      lp_obc_east = .TRUE.      !: 
    12    INTEGER, PARAMETER ::     &  !: 
    1312 
     13     INTEGER   & 
     14#if !defined key_agrif 
     15     , PARAMETER   &  
     16#endif 
     17    ::     &  
    1418      ! * default values * 
    1519      !jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1620      !jpjed  =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    1721      !jpjef  = jpjglo-1,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    18  
    1922      jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    2023      jpjed  =        1,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    2124      jpjef  =   jpjglo,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    22  
    2325      jpjedp1 =  jpjed+1,    &  !: first ocean point         "                 " 
    2426      jpjefm1 =  jpjef-1        !: last  ocean point         "                 " 
     
    2729   LOGICAL, PARAMETER ::     &  !: 
    2830      lp_obc_west = .TRUE.     !: to active or not the West open boundary 
    29    INTEGER, PARAMETER ::     &  !: 
    3031 
     32     INTEGER   & 
     33#if !defined key_agrif 
     34     , PARAMETER   &  
     35#endif 
     36    ::     &  
    3137      ! * default values * 
    3238      !jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3339      !jpjwd   =        2,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3440      !jpjwf   = jpjglo-1,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    35  
    3641      jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3742      jpjwd   =        1,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3843      jpjwf   =   jpjglo,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    39  
    4044      jpjwdp1 =  jpjwd+1,    &  !: first ocean point         "                 " 
    4145      jpjwfm1 =  jpjwf-1        !: last  ocean point         "                 " 
     
    4448   LOGICAL, PARAMETER ::     &  !: 
    4549      lp_obc_north = .TRUE.     !: 
    46    INTEGER, PARAMETER ::     &  !: 
    4750 
     51     INTEGER   & 
     52#if !defined key_agrif 
     53     , PARAMETER   &  
     54#endif 
     55    ::     &  
    4856      ! * default values * 
    4957      !jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5058      !jpind  =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5159      !jpinf  = jpiglo-1,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    52  
    5360      jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5461      jpind  =        1,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5562      jpinf  =   jpiglo,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    56  
    5763      jpindp1 =  jpind+1,    &  !: first ocean point         "                 " 
    5864      jpinfm1 =  jpinf-1        !: last  ocean point         "                 " 
     
    6167   LOGICAL, PARAMETER ::     &  !: 
    6268      lp_obc_south = .TRUE.     !: INDICE to active or not the South open boundary 
    63    INTEGER, PARAMETER ::     &  !: 
    6469 
     70     INTEGER   & 
     71#if !defined key_agrif 
     72     , PARAMETER   &  
     73#endif 
     74    ::     &  
    6575      ! * default values * 
    6676      !jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    6777      !jpisd  =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    6878      !jpisf  = jpiglo-1,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    69  
    7079      jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    7180      jpisd  =        1,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    7281      jpisf  =   jpiglo,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    73  
    7482      jpisdp1 =  jpisd+1,    &  !: first ocean point         "                 " 
    7583      jpisfm1 =  jpisf-1        !: last  ocean point         "                 " 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcdta.F90

    r1732 r2137  
    3030 
    3131  !! * Shared module variables 
     32!$AGRIF_DO_NOT_TREAT 
    3233  REAL(wp),  DIMENSION(2)              ::  zjcnes_obc   !  
    3334  REAL(wp),  DIMENSION(:), ALLOCATABLE :: ztcobc 
     35!$AGRIF_END_DO_NOT_TREAT 
    3436  REAL(wp) :: rdt_obc 
    3537  REAL(wp) :: zjcnes 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcfla.F90

    r1152 r2137  
    7878      !!------------------------------------------------------------------------------ 
    7979      !! * Local declaration 
    80       INTEGER ::   ji, jj, jk ! dummy loop indices 
     80      INTEGER ::   ji, jj ! dummy loop indices 
    8181      !!------------------------------------------------------------------------------ 
    8282 
    8383      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) 
    9088         END DO 
    9189      END DO 
     
    9795            ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - temsk(jj,1) ) & 
    9896               &            + 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) 
    10098         END DO 
    10199      END DO 
     
    116114      !!------------------------------------------------------------------------------ 
    117115      !! * Local declaration 
    118       INTEGER ::   ji, jj, jk ! dummy loop indices 
     116      INTEGER ::   ji, jj ! dummy loop indices 
    119117      !!------------------------------------------------------------------------------ 
    120118 
    121119      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) 
    129125         END DO 
    130126         DO jj = 1, jpj 
     
    151147      !!------------------------------------------------------------------------------ 
    152148      !! * Local declaration 
    153       INTEGER ::   ji, jj, jk ! dummy loop indices 
     149      INTEGER ::   ji, jj ! dummy loop indices 
    154150      !!------------------------------------------------------------------------------ 
    155151 
    156152      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) 
    163157         END DO 
    164158      END DO 
     
    170164            ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - tnmsk(ji,1) ) & 
    171165               &            + 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) 
    173167         END DO 
    174168      END DO 
     
    188182      !!------------------------------------------------------------------------------ 
    189183      !! * Local declaration 
    190       INTEGER ::   ji, jj, jk ! dummy loop indices 
     184      INTEGER ::   ji, jj ! dummy loop indices 
    191185 
    192186      !!------------------------------------------------------------------------------ 
    193187 
    194188      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) 
    202194         END DO 
    203195         DO ji = 1, jpi 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcini.F90

    r1633 r2137  
    6262      NAMELIST/namobc/ rn_dpein, rn_dpwin, rn_dpnin, rn_dpsin,       & 
    6363         &             rn_dpeob, rn_dpwob, rn_dpnob, rn_dpsob,       & 
    64          &             rn_volemp, nn_obcdta, cn_obcdta, rn_volemp,   & 
     64         &             rn_volemp, nn_obcdta, cn_obcdta,    & 
    6565         &             ln_obc_clim, ln_vol_cst, ln_obc_fla 
    6666      !!---------------------------------------------------------------------- 
     
    7070 
    7171      ! convert DOCTOR namelist name into the OLD names 
    72       nbobc    = nn_nbobc 
    7372      nobc_dta = nn_obcdta 
    7473      cffile   = cn_obcdta 
     
    101100      IF(lwp) WRITE(numout,*) 'obc_init : initialization of open boundaries' 
    102101      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    103       IF(lwp) WRITE(numout,*) '   Number of open boundaries    nn_nbobc = ', nn_nbobc 
     102      IF(lwp) WRITE(numout,*) '   Number of open boundaries    nbobc = ', nbobc 
    104103      IF(lwp) WRITE(numout,*) 
    105104 
     
    150149      ENDIF 
    151150 
    152       IF( nbobc /= 0 .AND. jperio /= 0 )   & 
     151      IF( nbobc >= 2 .AND. jperio /= 0 )   & 
    153152         &   CALL ctl_stop( ' Cyclic or symmetric, and open boundary condition are not compatible' ) 
    154153 
     
    306305      IF( lp_obc_east ) THEN 
    307306         !... (jpjed,jpjefm1),jpieob 
     307         bmask(nie0p1:nie1p1,nje0:nje1m1) = 0.e0 
    308308 
    309309         ! ... initilization to zero 
     
    341341      IF( lp_obc_north ) THEN 
    342342         ! ... jpjnob,(jpind,jpisfm1) 
     343         bmask(nin0:nin1m1,njn0p1:njn1p1) = 0.e0 
    343344 
    344345         ! ... initilization to zero 
     
    440441            END DO 
    441442         END IF 
    442    
    443443         IF( lp_obc_north ) THEN ! ... North open boundary lateral surface 
    444444            DO jj = njn0, njn1 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obcrst.F90

    r1715 r2137  
    9696         ! ------------- 
    9797 
    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 ) 
    9999  
    100100         ! 1.2 Write header 
     
    322322      ! 0.1 Open files 
    323323      ! --------------- 
    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 ) 
    325325 
    326326      ! 1. Read 
  • branches/devmercator2010_1/NEMO/OPA_SRC/OBC/obctra.F90

    r1152 r2137  
    490490                  zin = sign( 1., -1.* z05cx ) 
    491491                  zin = 0.5*( zin + abs(zin) ) 
    492                   ztau = (1.-zin ) + zin * rtaus 
     492                  ztau = (1.-zin ) * rtausin + zin * rtaus 
    493493                  z05cx = z05cx * zin 
     494 
    494495         !... update (ta,sa) with radiative or climatological (t, s) 
    495496                  ta(ji,jj,jk) = ta(ji,jj,jk) * (1.-tsmsk(ji,jk)) +             & 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/cpl_oasis3.F90

    r1698 r2137  
    2727   USE mod_prism_proto              ! OASIS3 prism module 
    2828   USE mod_prism_def_partition_proto! OASIS3 prism module for partitioning 
    29    USE mod_prism_grids_writing      ! OASIS3 prism module for writing grid files 
    3029   USE mod_prism_put_proto          ! OASIS3 prism module for snding 
    3130   USE mod_prism_get_proto          ! OASIS3 prism module for receiving 
    32    USE mod_prism_grids_writing      ! OASIS3 prism module for writing grids 
    3331   USE par_oce                      ! ocean parameters 
    3432   USE dom_oce                      ! ocean space and time domain 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/fldread.F90

    r2134 r2137  
    191191                        &                    nday   + 1                   - nmonth_len(nmonth) * COUNT((/llnxtmth/)), llstop ) 
    192192 
    193                      IF( sd(jf)%num == 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
     193                     IF( sd(jf)%num <= 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
    194194                        CALL ctl_warn('next year/month/day file: '//TRIM(sd(jf)%clname)//     & 
    195195                                &     ' not present -> back to current year/month/day') 
     
    442442 
    443443         ! if previous year/month/day file does not exist, we switch to the current year/month/day 
    444          IF( llprev .AND. sdjf%num == 0 ) THEN 
     444         IF( llprev .AND. sdjf%num <= 0 ) THEN 
    445445            CALL ctl_warn( 'previous year/month/day file: '//TRIM(sdjf%clname)//' not present -> back to current year/month/day') 
    446446            ! we force to read the first record of the current year/month/day instead of last record of previous year/month/day 
     
    492492      ENDIF 
    493493 
    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 
    496495      ! make sure current year/month/day file is opened 
    497496      IF( sdjf%num == 0 ) THEN 
     
    963962            WRITE(aname,'(a3,i2.2)') 'src',jn 
    964963            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(:,:) ) 
    967965            data_src(:,:) = INT(data_tmp(:,:)) 
    968966            ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) 
     
    973971            aname = ' ' 
    974972            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) ) 
    978975         END DO 
    979976         CALL iom_close (inum) 
    980977  
    981978         ! 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(:,:,:)) 
    986983 
    987984         ! and therefore dimensions of the input box 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/geo2ocean.F90

    r1613 r2137  
    311311 
    312312      ! 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. ) 
    317317 
    318318   END SUBROUTINE angle 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbccpl.F90

    r1766 r2137  
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2424   USE sbc_ice         ! Surface boundary condition: ice fields 
     25   USE phycst          ! physical constants 
    2526#if defined key_lim3 
    2627   USE par_ice         ! ice parameters 
     
    3940   USE restart         ! 
    4041   USE oce   , ONLY : tn, un, vn 
    41    USE phycst, ONLY : rt0, rcp 
    4242   USE albedo          ! 
    4343   USE in_out_manager  ! I/O manager 
     
    4545   USE lib_mpp         ! distribued memory computing library 
    4646   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    47    USE phycst, ONLY : xlsn, rhosn, xlic, rhoic 
    4847#if defined key_cpl_carbon_cycle 
    4948   USE p4zflx, ONLY : oce_co2 
     
    153152   INTEGER , DIMENSION(        jprcv) ::   nrcvinfo           ! OASIS info argument 
    154153 
     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 
    155162   !! Substitution 
    156163#  include "vectopt_loop_substitute.h90" 
     
    254261 
    255262      ! default definitions of srcv 
    256       srcv(:)%laction = .FALSE.   ;   srcv(:)%clgrid = 'T'   ;   srcv(:)%nsgn = 1 
     263      srcv(:)%laction = .FALSE.   ;   srcv(:)%clgrid = 'T'   ;   srcv(:)%nsgn = 1. 
    257264 
    258265      !                                                      ! ------------------------- ! 
     
    274281      srcv(jpr_itz2)%clname = 'O_ITauz2'      ! 3rd   -      -         -     -  
    275282      !  
    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. 
    277285       
    278286      !                                                           ! Set grid and action 
     
    438446       
    439447      ! default definitions of nsnd 
    440       ssnd(:)%laction = .FALSE.   ;   ssnd(:)%clgrid = 'T'   ;   ssnd(:)%nsgn = 1 
     448      ssnd(:)%laction = .FALSE.   ;   ssnd(:)%clgrid = 'T'   ;   ssnd(:)%nsgn = 1. 
    441449          
    442450      !                                                      ! ------------------------- ! 
     
    491499      ssnd(jps_ocz1)%clname = 'O_OCurz1'   ;   ssnd(jps_ivz1)%clname = 'O_IVelz1' 
    492500      ! 
    493       ssnd(jps_ocx1:jps_ivz1)%nsgn = -1    ! vectors: change of the sign at the north fold 
     501      ssnd(jps_ocx1:jps_ivz1)%nsgn = -1.   ! vectors: change of the sign at the north fold 
    494502 
    495503      IF( cn_snd_crt(4) /= 'T' )   CALL ctl_stop( 'cn_snd_crt(4) must be equal to T' ) 
     
    713721         !                                                       ! non solar heat flux over the ocean (qns) 
    714722         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 ocean 
    717          zcoef = xlsn / rhosn 
    718          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 
    719727         !                                                       ! solar flux over the ocean          (qsr) 
    720728         IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce)  
     
    11171125            &                                                   +          pist(:,:,1)   * zicefr(:,:,1) ) ) 
    11181126      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  
    11241129      IF( lk_diaar5 )   CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) )   ! heat flux from snow (cell average) 
    11251130!!gm 
     
    11301135!! 
    11311136!! 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  
    11371140         pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
    11381141         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  
    6565      INTEGER  ::   inum                  ! temporary logical unit 
    6666      INTEGER  ::   ikty, iyear           !  
    67       REAL(wp) ::   z_emp, z_emp_nsrf       ! temporary scalars 
     67      REAL(wp) ::   z_emp, z_emp_nsrf, zsum_emp, zsum_erp       ! temporary scalars 
    6868      REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread 
    6969      REAL(wp), DIMENSION(jpi,jpj) ::   ztmsk_neg, ztmsk_pos, ztmsk_tospread 
     
    165165            ! 
    166166            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 ) 
    167169             
    168170            IF( z_emp < 0.e0 ) THEN 
     
    177179 
    178180            ! 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 ) 
    180184            ! 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 
    182189            ! final correction term to apply 
    183190            zerp_cor(:,:) = -1. * z_emp_nsrf * zsurf_tospread * z_wgt(:,:) 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90

    r2135 r2137  
    180180         ENDIF 
    181181#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/) ),        & 
    183183      &                                                       qns_tot, qns_ice, qsr_tot , qsr_ice,   & 
    184184      &                                                       emp_tot, emp_ice, dqns_ice, sprecip,   & 
  • branches/devmercator2010_1/NEMO/OPA_SRC/SBC/sbcmod.F90

    r1725 r2137  
    8585!!gm here no overwrite, test all option via namelist change: require more incore memory 
    8686!!gm  IF( lk_sbc_cpl       ) THEN   ;   ln_cpl      = .TRUE.   ;   ELSE   ;   ln_cpl      = .FALSE.   ;   ENDIF 
    87 #if defined key_agrif 
     87 
    8888      IF ( Agrif_Root() ) THEN 
    89 #endif 
    9089        IF( lk_lim2 )            nn_ice      = 2 
    9190        IF( lk_lim3 )            nn_ice      = 3 
    92 #if defined key_agrif 
    93       ENDIF 
    94 #endif 
     91      ENDIF 
     92      ! 
    9593      IF( cp_cfg == 'gyre' ) THEN 
    9694          ln_ana      = .TRUE.    
  • branches/devmercator2010_1/NEMO/OPA_SRC/SOL/solmat.F90

    r1601 r2137  
    8080      ENDIF 
    8181 
    82 #if defined key_dynspg_flt && ! defined key_obc 
     82#if defined key_dynspg_flt  
     83#   if ! defined key_obc 
    8384 
    8485      DO jj = 2, jpjm1                      ! matrix of free surface elliptic system 
     
    9798         END DO 
    9899      END DO 
    99        
    100 #  elif defined key_dynspg_flt && defined key_obc 
    101  
     100#   else 
     101    IF ( Agrif_Root() ) THEN 
    102102      DO jj = 2, jpjm1                      ! matrix of free surface elliptic system with open boundaries 
    103103         DO ji = 2, jpim1 
     
    140140         END DO 
    141141      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 
    142160#endif 
    143161 
    144 #if defined key_agrif 
    145       IF( .NOT.AGRIF_ROOT() ) THEN 
     162      IF( .NOT. Agrif_Root() ) THEN 
    146163         ! 
    147164         IF( nbondi == -1 .OR. nbondi == 2 )   bmask(2     ,:     ) = 0.e0 
     
    192209         !  
    193210      ENDIF 
    194 #endif 
    195211 
    196212      ! 2. Boundary conditions  
  • branches/devmercator2010_1/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r1528 r2137  
    179179      END DO 
    180180 
     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 
    181186 
    182187      ! Save the intermediate i / j / k advective trends for diagnostics 
     
    366371      ! "zonal" mean advective heat and salt transport 
    367372      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(:) 
    370375      ENDIF 
    371376      ! 
  • branches/devmercator2010_1/NEMO/OPA_SRC/TRA/tranxt.F90

    r1601 r2137  
    3838   USE agrif_opa_update 
    3939   USE agrif_opa_interp 
     40   USE obc_oce  
    4041 
    4142   IMPLICIT NONE 
     
    101102      ! 
    102103#if defined key_obc 
    103       CALL obc_tra( kt )               ! OBC open boundaries 
     104      IF( lk_obc )   CALL obc_tra( kt )  ! OBC open boundaries 
    104105#endif 
    105106#if defined key_bdy 
  • branches/devmercator2010_1/NEMO/OPA_SRC/TRA/traqsr.F90

    r2130 r2137  
    4545    
    4646   ! Module variables 
     47!$AGRIF_DO_NOT_TREAT 
    4748   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_chl   ! structure of input Chl (file informations, fields read) 
    4849   INTEGER ::   nksr   ! levels below which the light cannot penetrate ( depth larger than 391 m) 
    4950   REAL(wp), DIMENSION(3,61) ::   rkrgb   !: tabulated attenuation coefficients for RGB absorption 
     51!$AGRIF_END_DO_NOT_TREAT 
    5052 
    5153   !! * Substitutions 
  • branches/devmercator2010_1/NEMO/OPA_SRC/TRA/trasbc.F90

    r1739 r2137  
    134134               zta = ro0cpr * qns(ji,jj) * zse3t &                   ! temperature : heat flux 
    135135                &    - 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 
    137139            ELSE 
    138140               zta = ro0cpr * qns(ji,jj) * zse3t     ! temperature : heat flux 
  • branches/devmercator2010_1/NEMO/OPA_SRC/lib_mpp.F90

    r1718 r2137  
    103103   !! ========================= !! 
    104104!$AGRIF_DO_NOT_TREAT 
    105 #  include <mpif.h> 
     105   INCLUDE 'mpif.h' 
    106106!$AGRIF_END_DO_NOT_TREAT 
    107107    
     
    112112   INTEGER ::   mppsize        ! number of process 
    113113   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 
    115117 
    116118   ! variables used in case of sea-ice 
     
    191193      WRITE(ldtxt(6),*) '      size in bytes of exported buffer   nn_buffer   = ', nn_buffer 
    192194 
    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         ! 
    256204         SELECT CASE ( cn_mpi_send ) 
    257205         CASE ( 'S' )                ! Standard mpi send (blocking) 
     
    259207         CASE ( 'B' )                ! Buffer mpi send (blocking) 
    260208            WRITE(ldtxt(7),*) '           Buffer blocking mpi send (bsend)' 
     209            CALL mpi_init_opa( ierr )  
    261210         CASE ( 'I' )                ! Immediate mpi send (non-blocking send) 
    262211            WRITE(ldtxt(7),*) '           Immediate non-blocking send (isend)' 
     
    267216            nstop = nstop + 1 
    268217         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         ! 
    269240      ENDIF 
    270241 
    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 
    273255      CALL mpi_comm_rank( mpi_comm_opa, mpprank, ierr ) 
    274256      CALL mpi_comm_size( mpi_comm_opa, mppsize, ierr ) 
     
    20672049      ijpj   = 4 
    20682050      ijpjm1 = 3 
     2051      ztab(:,:,:) = 0.e0 
    20692052      ! 
    20702053      DO jj = nlcj - ijpj +1, nlcj          ! put in znorthloc the last 4 jlines of pt3d 
     
    21322115      ijpj   = 4 
    21332116      ijpjm1 = 3 
     2117      ztab(:,:) = 0.e0 
    21342118      ! 
    21352119      DO jj = nlcj-ijpj+1, nlcj             ! put in znorthloc the last 4 jlines of pt2d 
     
    21972181      ! 
    21982182      ijpj=4 
     2183      ztab(:,:) = 0.e0 
    21992184 
    22002185      ij=0 
  • branches/devmercator2010_1/NEMO/OPA_SRC/opa.F90

    r1725 r2137  
    156156      CALL opa_closefile 
    157157#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  
    159161#else 
    160162      IF( lk_mpp )   CALL mppstop       ! end mpp communications 
     
    191193#if defined key_iomput 
    192194# 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 
    195199# 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 
    197203# endif 
    198204      narea = mynode( cltxt, ilocal_comm )    ! Nodes selection 
     
    200206#else 
    201207# 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 
    203211      narea = mynode( cltxt, ilocal_comm )    ! Nodes selection (control print return in cltxt) 
    204212# else 
  • branches/devmercator2010_1/NEMO/OPA_SRC/par_POMME_R025.h90

    r1648 r2137  
    2222      jp_cfg = 025  ,        &  !: resolution of the configuration (degrees) 
    2323      ! Original data size 
    24  
    2524      ! ORCA025 global grid size 
    2625      jpiglo_ORCA025 = 1442, & 
    2726      jpjglo_ORCA025 = 1021, &  ! not used currently 
    28  
    2927      ! POMME "global" domain localisation in the ORCA025 global grid 
    3028      jpi_iw    = 1059,      &  
     
    3230      jpj_js    = 661,       & 
    3331      jpj_jn    = 700,       & 
    34  
    3532      jpidta  = ( jpi_ie - jpi_iw + 1 ), &   !: =30 first horizontal dimension > or = to jpi 
    3633      jpjdta  = ( jpj_jn - jpj_js + 1 ), &   !: =40 second                     > or = to jpj 
    3734      jpkdta  = 46 ,         &  !: number of levels           > or = to jpk 
    38  
    3935      ! total domain matrix size 
    4036      jpiglo  = jpidta,      &  !: first  dimension of global domain --> i 
  • branches/devmercator2010_1/NEMO/OPA_SRC/step.F90

    r2132 r2137  
    167167#if defined key_agrif 
    168168      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    
    171174#endif    
    172175      indic = 1                                       ! reset to no error condition 
  • branches/devmercator2010_1/NEMO/OPA_SRC/trc_oce.F90

    r1581 r2137  
    126126      zrgb(1,51) =  3.162   ;   zrgb(2,51) = 0.22703   ;   zrgb(3,51) = 0.16599   ;   zrgb(4,51) = 0.46601 
    127127      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,54) = 0.48080 
    129       zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,55) = 0.48909 
    130       zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,56) = 0.49803 
    131       zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,57) = 0.50768 
    132       zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,58) = 0.51810 
    133       zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,59) = 0.52934 
    134       zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,50) = 0.54147 
     128      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 
    135135      zrgb(1,60) =  8.912   ;   zrgb(2,60) = 0.44336   ;   zrgb(3,60) = 0.25725   ;   zrgb(4,60) = 0.55457 
    136136      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  
    2727 
    2828   IMPLICIT NONE 
    29    PUBLIC 
    3029 
    31    INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster     + jp_pisces     + jp_cfc     !: cum. number of pass. tracers 
    32    INTEGER, PUBLIC, PARAMETER ::   jp_lp_2d   = jp_lobster_2d  + jp_pisces_2d  + jp_cfc_2d  !: 
    33    INTEGER, PUBLIC, PARAMETER ::   jp_lp_3d   = jp_lobster_3d  + jp_pisces_3d  + jp_cfc_3d  !: 
    34    INTEGER, PUBLIC, 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 !: 
    3534    
    3635#if defined key_c14b 
     
    4342   INTEGER, PUBLIC, PARAMETER ::   jp_c14b_3d  =  1          !: additional 3d output arrays ('key_trc_diaadd') 
    4443   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  
    4845#else 
    4946   !!--------------------------------------------------------------------- 
     
    5855 
    5956   ! 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_lp + 1                !: First index of C14 tracer 
    61    INTEGER, PUBLIC, PARAMETER ::   jp_c14b1     = jp_lp + jp_c14b          !: Last  index of C14 tracer 
    62    INTEGER, PUBLIC, PARAMETER ::   jp_c14b0_2d  = jp_lp_2d  + 1            !: First index of C14 tracer 
    63    INTEGER, PUBLIC, PARAMETER ::   jp_c14b1_2d  = jp_lp_2d  + jp_c14b_2d   !: Last  index of C14 tracer 
    64    INTEGER, PUBLIC, PARAMETER ::   jp_c14b0_3d  = jp_lp_3d  + 1            !: First index of C14 tracer 
    65    INTEGER, PUBLIC, PARAMETER ::   jp_c14b1_3d  = jp_lp_3d  + jp_c14b_3d   !: Last  index of C14 tracer 
    66    INTEGER, PUBLIC, PARAMETER ::   jp_c14b0_trd = jp_lp_trd + 1            !: First index of C14 tracer 
    67    INTEGER, PUBLIC, PARAMETER ::   jp_c14b1_trd = jp_lp_trd + jp_c14b_trd  !: Last  index of C14 tracer 
     57   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 
    6865 
    6966   !!====================================================================== 
  • branches/devmercator2010_1/NEMO/TOP_SRC/C14b/trclsm_c14b.F90

    r1581 r2137  
    4444      INTEGER ::   numnatb 
    4545 
    46 #if defined key_trc_diaadd 
     46#if defined key_trc_diaadd && ! defined key_iomput 
    4747      ! definition of additional diagnostic as a structure 
    4848      INTEGER ::   jl, jn 
     
    5858      !! 
    5959      NAMELIST/namc14date/ ndate_beg_b, nyear_res_b 
    60 #if defined key_trc_diaadd 
     60#if defined key_trc_diaadd && ! defined key_iomput 
    6161      NAMELIST/namc14dia/nwritedia, c14dia2d, c14dia3d     ! additional diagnostics 
    6262#endif 
     
    8181      IF(lwp) WRITE(numout,*) '    initial year (aa)                  nyear_beg_b = ', nyear_beg_b 
    8282      ! 
    83 #if defined key_trc_diaadd 
     83#if defined key_trc_diaadd && ! defined key_iomput 
    8484 
    8585      ! Namelist namc14dia 
  • branches/devmercator2010_1/NEMO/TOP_SRC/CFC/par_cfc.F90

    r1253 r2137  
    2121 
    2222   IMPLICIT NONE 
    23    PUBLIC 
    2423 
    25    INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster     + jp_pisces     !: cumulative number of passive tracers 
    26    INTEGER, PUBLIC, PARAMETER ::   jp_lp_2d   = jp_lobster_2d  + jp_pisces_2d  !: 
    27    INTEGER, PUBLIC, PARAMETER ::   jp_lp_3d   = jp_lobster_3d  + jp_pisces_3d  !: 
    28    INTEGER, PUBLIC, 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 !: 
    2928    
    3029#if defined key_cfc 
     
    3938    
    4039   ! assign an index in trc arrays for each CFC prognostic variables 
    41    INTEGER, PUBLIC, PARAMETER ::   jpc11       = jp_lp + 1   !: CFC-11  
    42    INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lp + 2   !: CFC-12    
     40   INTEGER, PUBLIC, PARAMETER ::   jpc11       = jp_lc + 1   !: CFC-11  
     41   INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lc + 2   !: CFC-12    
    4342#else 
    4443   !!--------------------------------------------------------------------- 
     
    5352 
    5453   ! 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_lp + 1       !: First index of CFC tracers 
    56    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lp + jp_cfc  !: Last  index of CFC tracers 
    57    INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lp_2d  + 1       !: First index of CFC tracers 
    58    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_2d  = jp_lp_2d  + jp_cfc_2d  !: Last  index of CFC tracers 
    59    INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lp_3d  + 1       !: First index of CFC tracers 
    60    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_3d  = jp_lp_3d  + jp_cfc_3d  !: Last  index of CFC tracers 
    61    INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lp_trd + 1       !: First index of CFC tracers 
    62    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lp_trd + jp_cfc_trd  !: Last  index of CFC tracers 
     54   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 
    6362 
    6463   !!====================================================================== 
  • branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trcctl_cfc.F90

    r1255 r2137  
    4444      IF( jp_cfc > 2) THEN  
    4545          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 <<<<===' 
    4847              WRITE (numout,*)                             & 
    4948              &   ' STOP, change jp_cfc to 1 or 2 in par_CFC module '   
     
    5453      ! Check tracer names 
    5554      ! ------------------ 
    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' 
    6161      ENDIF 
    6262 
     
    7070         END DO 
    7171         WRITE(numout,*) ' ' 
    72       ENDIF  
     72      ENDIF 
    7373 
    7474 
     
    8080            ctrcun(jn) = 'mole/m3' 
    8181            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 <<<<===' 
    8483               WRITE (numout,*) ' we force tracer unit' 
    8584               WRITE(numout,*) ' tracer  ',ctrcnm(jn), 'UNIT= ',ctrcun(jn) 
  • branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trcini_cfc.F90

    r1581 r2137  
    2222 
    2323   PUBLIC   trc_ini_cfc   ! called by trcini.F90 module 
     24 
     25   CHARACTER (len=34) ::   clname = 'cfc1112.atm'   ! ??? 
    2426 
    2527   INTEGER  ::   inum                   ! unit number 
     
    5557      ! ---------------------------------------  
    5658      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 
    6660       
    6761      ! Initialization of qint in case of  no restart  
     
    7367            WRITE(numout,*) 'Initialization de qint ; No restart : qint equal zero ' 
    7468         ENDIF 
     69         qint_cfc(:,:,:) = 0.e0 
    7570         DO jl = 1, jp_cfc 
    7671            jn = jp_cfc0 + jl - 1 
    7772            trn     (:,:,:,jn) = 0.e0 
    78             qint_cfc(:,:  ,jn) = 0.e0 
    7973         END DO 
    8074      ENDIF 
     
    8882      IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112atm' 
    8983       
    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. ) 
    9185      REWIND(inum) 
    9286       
     
    9589      END DO 
    9690    
    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)' ) & 
    10098            &         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 
    101101      END DO 
     102 100  npyear = jn - 1 
     103      IF ( lwp) WRITE(numout,*) '    ', npyear ,' years read' 
    102104 
    103105      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  
    4343      !!---------------------------------------------------------------------- 
    4444      INTEGER ::   numnatc 
    45 #if defined key_trc_diaadd 
     45#if defined key_trc_diaadd && ! defined key_iomput 
    4646      ! definition of additional diagnostic as a structure 
    4747      INTEGER :: jl, jn 
     
    5656      !! 
    5757      NAMELIST/namcfcdate/ ndate_beg, nyear_res 
    58 #if defined key_trc_diaadd 
     58#if defined key_trc_diaadd && ! defined key_iomput 
    5959      NAMELIST/namcfcdia/nwritedia, cfcdia2d     ! additional diagnostics 
    6060#endif 
     
    7979      IF(lwp) WRITE(numout,*) '    initial year (aa)                       nyear_beg = ', nyear_beg 
    8080      ! 
    81 #if defined key_trc_diaadd 
     81#if defined key_trc_diaadd && ! defined key_iomput 
    8282 
    8383      ! Namelist namcfcdia 
  • branches/devmercator2010_1/NEMO/TOP_SRC/CFC/trcsms_cfc.F90

    r1459 r2137  
    2727   PUBLIC   trc_sms_cfc       ! called in ???     
    2828 
    29    INTEGER , PUBLIC, PARAMETER ::   jpyear = 100   ! temporal parameter  
     29   INTEGER , PUBLIC, PARAMETER ::   jpyear = 150   ! temporal parameter  
    3030   INTEGER , PUBLIC, PARAMETER ::   jphem  =   2   ! parameter for the 2 hemispheres 
    3131   INTEGER , PUBLIC    ::   ndate_beg      ! initial calendar date (aammjj) for CFC 
    3232   INTEGER , PUBLIC    ::   nyear_res      ! restoring time constant (year) 
    3333   INTEGER , PUBLIC    ::   nyear_beg      ! initial year (aa)  
     34   INTEGER , PUBLIC    ::   npyear         ! Number of years read in CFC1112 file 
    3435    
    3536   REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jp_cfc) ::   p_cfc    ! partial hemispheric pressure for CFC           
     
    9697      ! Temporal interpolation 
    9798      ! ---------------------- 
    98       iyear_beg = nyear + ( nyear_res - 1900 - nyear_beg  ) 
     99      iyear_beg = nyear - 1900 
    99100      IF ( nmonth <= 6 ) THEN 
    100          iyear_beg = iyear_beg - 2 + nyear_beg 
     101         iyear_beg = iyear_beg - 1 
    101102         im1       =  6 - nmonth + 1 
    102103         im2       =  6 + nmonth - 1 
    103104      ELSE 
    104          iyear_beg = iyear_beg - 1 + nyear_beg 
    105105         im1       = 12 - nmonth + 7 
    106106         im2       =      nmonth - 7 
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/par_lobster.F90

    r1176 r2137  
    1212 
    1313   IMPLICIT NONE 
    14    PUBLIC 
    1514 
    1615#if defined key_lobster 
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r1457 r2137  
    482482      ENDIF 
    483483 
     484      IF( l_trdtrc ) DEALLOCATE( ztrbio ) 
     485 
    484486      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    485487         WRITE(charout, FMT="('bio')") 
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcexp.F90

    r1457 r2137  
    164164      ENDIF 
    165165 
     166      IF( l_trdtrc ) DEALLOCATE( ztrbio ) 
     167 
    166168      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    167169         WRITE(charout, FMT="('exp')") 
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90

    r1542 r2137  
    2626   PUBLIC   trc_ini_lobster   ! called by trcini.F90 module 
    2727 
    28 #  include "domzgr_substitute.h90" 
    2928#  include "top_substitute.h90" 
    3029   !!---------------------------------------------------------------------- 
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcopt.F90

    r1445 r2137  
    2828 
    2929   !!* Substitution 
    30 #  include "domzgr_substitute.h90" 
     30#  include "top_substitute.h90" 
    3131   !!---------------------------------------------------------------------- 
    3232   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r1457 r2137  
    2929 
    3030   !!* Substitution 
    31 #  include "domzgr_substitute.h90" 
     31#  include "top_substitute.h90" 
    3232   !!---------------------------------------------------------------------- 
    3333   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    136136      ENDIF 
    137137 
     138      IF( l_trdtrc ) DEALLOCATE( ztrbio ) 
     139 
    138140      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    139141         WRITE(charout, FMT="('sed')") 
  • branches/devmercator2010_1/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90

    r1253 r2137  
    3131 
    3232   IMPLICIT NONE 
    33    PUBLIC 
    3433 
    35    INTEGER, PUBLIC, PARAMETER ::   jp_lpc      = jp_lobster     + jp_pisces     + jp_cfc     + jp_c14b     !:  
    36    INTEGER, PUBLIC, PARAMETER ::   jp_lpc_2d   = jp_lobster_2d  + jp_pisces_2d  + jp_cfc_2d  + jp_c14b_2d  !: 
    37    INTEGER, PUBLIC, PARAMETER ::   jp_lpc_3d   = jp_lobster_3d  + jp_pisces_3d  + jp_cfc_3d  + jp_c14b_3d  !: 
    38    INTEGER, PUBLIC, 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 !: 
    3938 
    4039#if defined key_my_trc 
     
    4948 
    5049   ! assign an index in trc arrays for each PTS prognostic variables 
    51    INTEGER, PUBLIC, PARAMETER ::   jpmyt1 = jp_lpc + 1     !: 1st MY_TRC tracer 
    52    INTEGER, PUBLIC, PARAMETER ::   jpmyt2 = jp_lpc + 2     !: 2nd MY_TRC tracer 
     50   INTEGER, PUBLIC, PARAMETER ::   jpmyt1 = jp_lm + 1     !: 1st MY_TRC tracer 
     51   INTEGER, PUBLIC, PARAMETER ::   jpmyt2 = jp_lm + 2     !: 2nd MY_TRC tracer 
    5352 
    5453#else 
     
    6463 
    6564   ! 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_lpc     + 1              !: First index of MY_TRC passive tracers 
    67    INTEGER, PUBLIC, PARAMETER ::   jp_myt1     = jp_lpc     + jp_my_trc      !: Last  index of MY_TRC passive tracers 
    68    INTEGER, PUBLIC, PARAMETER ::   jp_myt0_2d  = jp_lpc_2d  + 1              !: First index of MY_TRC passive tracers 
    69    INTEGER, PUBLIC, PARAMETER ::   jp_myt1_2d  = jp_lpc_2d  + jp_my_trc_2d   !: Last  index of MY_TRC passive tracers 
    70    INTEGER, PUBLIC, PARAMETER ::   jp_myt0_3d  = jp_lpc_3d  + 1              !: First index of MY_TRC passive tracers 
    71    INTEGER, PUBLIC, PARAMETER ::   jp_myt1_3d  = jp_lpc_3d  + jp_my_trc_3d   !: Last  index of MY_TRC passive tracers 
    72    INTEGER, PUBLIC, PARAMETER ::   jp_myt0_trd = jp_lpc_trd + 1              !: First index of MY_TRC passive tracers 
    73    INTEGER, PUBLIC, PARAMETER ::   jp_myt1_trd = jp_lpc_trd + jp_my_trc_trd  !: Last  index of MY_TRC passive tracers 
     65   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 
    7473 
    7574   !!====================================================================== 
  • branches/devmercator2010_1/NEMO/TOP_SRC/MY_TRC/trcctl_my_trc.F90

    r1264 r2137  
    4040      IF(lwp) WRITE(numout,*) ' use COLOR tracer ' 
    4141 
    42       DO jn = 1, jp_my_trc 
     42      DO jl = 1, jp_my_trc 
    4343         jn = jp_myt0 + jl - 1 
    4444         WRITE(ctrcnm(jn),'(a,i2.2)') 'CLR',jn 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zbio.F90

    r1678 r2137  
    3939 
    4040   !!* Substitution 
    41 #  include "domzgr_substitute.h90" 
     41#  include "top_substitute.h90" 
    4242   !!---------------------------------------------------------------------- 
    4343   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zche.F90

    r1180 r2137  
    147147 
    148148   !!* Substitution 
    149 #include "domzgr_substitute.h90" 
     149#include "top_substitute.h90" 
    150150   !!---------------------------------------------------------------------- 
    151151   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r1737 r2137  
    5252 
    5353   !!* Substitution 
    54 #  include "domzgr_substitute.h90" 
     54#  include "top_substitute.h90" 
    5555   !!---------------------------------------------------------------------- 
    5656   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    204204          CALL mpp_sum( t_oce_co2_flx )   ! sum over the global domain 
    205205        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        ! 
    206209        WRITE(numout,*) ' Atmospheric pCO2    :' 
    207210        WRITE(numout,*) '-------------------- : ',kt,'  ',t_atm_co2_flx 
    208211        WRITE(numout,*) '(ppm)' 
    209         WRITE(numout,*) 'Total Flux of Carbon :' 
    210         WRITE(numout,*) '-------------------- : ',t_oce_co2_flx * 12. / 1e15 
    211         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)' 
    212215        t_atm_co2_flx = 0. 
    213216        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 
    214221      ENDIF 
    215222#endif 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlim.F90

    r1152 r2137  
    4141 
    4242   !!* Substitution 
    43 #  include "domzgr_substitute.h90" 
     43#  include "top_substitute.h90" 
    4444   !!---------------------------------------------------------------------- 
    4545   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r1735 r2137  
    6767#if defined key_trc_dia3d && defined key_iomput 
    6868      REAL(wp) ::   zrfact2 
    69       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss, zw3d 
     69      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss 
    7070#endif 
    7171      CHARACTER (len=25) :: charout 
     
    9494                  ! SET DUMMY VARIABLE FOR TOTAL BORATE 
    9595                  zbot  = borat(ji,jj,jk) 
     96 
     97                  ! SET DUMMY VARIABLE FOR TOTAL BORATE 
     98                  zbot  = borat(ji,jj,jk) 
    9699                  zfact = rhop (ji,jj,jk) / 1000. + rtrn 
    97100 
     
    171174#  else 
    172175      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(:,:,:) ) 
    181180#  endif 
    182181# endif 
     
    232231   END SUBROUTINE p4z_lys 
    233232#endif  
    234  
    235233   !!====================================================================== 
    236234END MODULE  p4zlys 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r1736 r2137  
    4545 
    4646   !!* Substitution 
    47 #  include "domzgr_substitute.h90" 
     47#  include "top_substitute.h90" 
    4848   !!---------------------------------------------------------------------- 
    4949   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    7676#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    7777      REAL(wp) :: zrfact2 
    78       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    7978#endif 
    8079 
     
    203202      END DO 
    204203       
     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 
    205210 
    206211      DO jk = 1,jpkm1 
     
    311316#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    312317      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 
    319326#endif 
    320327 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r1736 r2137  
    4343 
    4444   !!* Substitution 
    45 #  include "domzgr_substitute.h90" 
     45#  include "top_substitute.h90" 
    4646   !!---------------------------------------------------------------------- 
    4747   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    7070      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazmf, zgrazsf, zgrazpf 
    7171      CHARACTER (len=25) :: charout 
    72 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    73       REAL(wp) :: zrfact2 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    75 #endif 
    7672 
    7773      !!--------------------------------------------------------------------- 
     
    8884      zgrazpf(:,:,:) = 0. 
    8985 
     86#if defined key_trc_dia3d 
     87      grazing(:,:,:) = 0.  !: Initialisation of  grazing 
     88#endif 
    9089 
    9190      zstep = rfact2 / rday      ! Time step duration for biology 
     
    156155      END DO 
    157156       
     157#if defined key_trc_dia3d 
     158      ! Grazing by microzooplankton 
     159      grazing(:,:,:) = grazing(:,:,:) + zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:)  
     160#endif 
    158161 
    159162      DO jk = 1,jpkm1 
     
    231234      END DO 
    232235      ! 
    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) 
    240237         WRITE(charout, FMT="('micro')") 
    241238         CALL prt_ctl_trc_info(charout) 
    242239         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    243        ENDIF 
     240      ENDIF 
    244241 
    245242   END SUBROUTINE p4z_micro 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmort.F90

    r1736 r2137  
    4141 
    4242   !!* Substitution 
    43 #  include "domzgr_substitute.h90" 
     43#  include "top_substitute.h90" 
    4444   !!---------------------------------------------------------------------- 
    4545   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r1678 r2137  
    3535    
    3636   !!* Substitution 
    37 #  include "domzgr_substitute.h90" 
     37#  include "top_substitute.h90" 
    3838   !!---------------------------------------------------------------------- 
    3939   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    6161      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zekg, zekr, zekb 
    6262      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze1 , ze2 , ze3, ze0 
    63 #if defined key_trc_diaadd && defined key_iomput 
    64      REAL(wp), DIMENSION(jpi,jpj)      ::   zw2d 
    65      REAL(wp), DIMENSION(jpi,jpj,jpk)  ::   zw3d 
    66 #endif 
    6763      !!--------------------------------------------------------------------- 
    6864 
     
    238234# else 
    239235      ! 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 
    244240# endif 
    245241#endif 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1736 r2137  
    5353 
    5454   !!* Substitution 
    55 #  include "domzgr_substitute.h90" 
     55#  include "top_substitute.h90" 
    5656   !!---------------------------------------------------------------------- 
    5757   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    8181#if defined key_trc_diaadd && defined key_trc_dia3d 
    8282      REAL(wp) ::   zrfact2 
    83 #if  defined key_iomput 
    84       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    85 #endif 
    8683#endif 
    8784      REAL(wp), DIMENSION(jpi,jpj)     ::   zmixnano   , zmixdiat, zstrn 
     
    352349        WRITE(numout,*) 'Total PP :' 
    353350        WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 
    354         WRITE(numout,*) '(GtC/an)' 
     351        WRITE(numout,*) '(GtC/yr)' 
    355352        tpp = 0. 
    356353      ENDIF 
    357354 
    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 
    359357      zrfact2 = 1.e3 * rfact2r 
    360       !   Supplementary diagnostics 
    361 #  if ! defined key_iomput 
    362358      trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 
    363359      trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 
     
    366362      trc3d(:,:,:,jp_pcs0_3d + 8)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 
    367363      trc3d(:,:,:,jp_pcs0_3d + 9)  = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 
    368 #if ! defined key_kriest 
     364#  if ! defined key_kriest 
    369365      trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 
     366#  endif 
    370367#endif 
    371368 
    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 
    388380#endif 
    389381 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zrem.F90

    r1744 r2137  
    4545 
    4646   !!* Substitution 
    47 #  include "domzgr_substitute.h90" 
     47#  include "top_substitute.h90" 
    4848   !!---------------------------------------------------------------------- 
    4949   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r1735 r2137  
    9696      REAL(wp) :: zrfact2 
    9797# if defined key_iomput 
    98      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d  
    9998     REAL(wp), DIMENSION(jpi,jpj)    ::    zw2d  
    10099# endif 
     
    332331      trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 
    333332# 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)  
    337335      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 
    342340# endif 
    343341      ! 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r1736 r2137  
    6969 
    7070   !!* Substitution 
    71 #  include "domzgr_substitute.h90" 
     71#  include "top_substitute.h90" 
    7272   !!---------------------------------------------------------------------- 
    7373   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    9999#if defined key_trc_diaadd 
    100100      REAL(wp) :: zrfact2 
    101       INTEGER  :: iksed1 
    102 #if defined key_iomput 
    103       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    104 #endif 
     101      INTEGER  :: ik1 
    105102#endif 
    106103      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   znum3d 
     
    286283#if defined key_trc_diaadd 
    287284      zrfact2 = 1.e3 * rfact2r 
    288       iksed1 = iksed + 1 
     285      ik1 = iksed + 1 
    289286#  if ! defined key_iomput 
    290       trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    291       trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    292       trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    293       trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    294       trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,iksed1) * 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) 
    295292      trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:)      * zrfact2 * tmask(:,:,:) 
    296293      trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:)      * zrfact2 * tmask(:,:,:) 
     
    301298      trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:)                * tmask(:,:,:) 
    302299#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 
    327314#  endif 
    328315 
     
    489476#if defined key_trc_dia3d 
    490477      REAL(wp) ::   zrfact2 
    491       INTEGER  ::   iksed1 
    492 #endif 
    493 #if defined key_iomput 
    494       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     478      INTEGER  ::   ik1 
    495479#endif 
    496480      CHARACTER (len=25) :: charout 
     
    613597#if defined key_trc_diaadd 
    614598      zrfact2 = 1.e3 * rfact2r 
    615       iksed1 = iksed + 1 
     599      ik1 = iksed + 1 
    616600#  if ! defined key_iomput 
    617       trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    618       trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    619       trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    620       trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    621       trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    622       trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,iksed1) * 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) 
    623607#  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 
    637615#endif 
    638616      ! 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/par_pisces.F90

    r1152 r2137  
    1616 
    1717   IMPLICIT NONE 
    18    PUBLIC 
    1918 
    20    INTEGER, PUBLIC, PARAMETER ::   jp_l      = jp_lobster      !: cumulative number of already defined TRC 
    21    INTEGER, PUBLIC, PARAMETER ::   jp_l_2d   = jp_lobster_2d   !: 
    22    INTEGER, PUBLIC, PARAMETER ::   jp_l_3d   = jp_lobster_3d   !: 
    23    INTEGER, PUBLIC, 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  !: 
    2423 
    2524#if defined key_pisces  &&  defined key_kriest 
     
    3736   !    WARNING: be carefull about the order when reading the restart 
    3837        !   !!gm  this warning should be obsolet with IOM 
    39    INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration  
    40    INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity  
    41    INTEGER, PUBLIC, PARAMETER ::   jpoxy = jp_l +  3    !: oxygen carbon concentration  
    42    INTEGER, PUBLIC, PARAMETER ::   jpcal = jp_l +  4    !: calcite  concentration  
    43    INTEGER, PUBLIC, PARAMETER ::   jppo4 = jp_l +  5    !: phosphate concentration  
    44    INTEGER, PUBLIC, PARAMETER ::   jppoc = jp_l +  6    !: small particulate organic phosphate concentration 
    45    INTEGER, PUBLIC, PARAMETER ::   jpsil = jp_l +  7    !: silicate concentration 
    46    INTEGER, PUBLIC, PARAMETER ::   jpphy = jp_l +  8    !: phytoplancton concentration  
    47    INTEGER, PUBLIC, PARAMETER ::   jpzoo = jp_l +  9    !: zooplancton concentration 
    48    INTEGER, PUBLIC, PARAMETER ::   jpdoc = jp_l + 10    !: dissolved organic carbon concentration  
    49    INTEGER, PUBLIC, PARAMETER ::   jpdia = jp_l + 11    !: Diatoms Concentration 
    50    INTEGER, PUBLIC, PARAMETER ::   jpmes = jp_l + 12    !: Mesozooplankton Concentration 
    51    INTEGER, PUBLIC, PARAMETER ::   jpbsi = jp_l + 13    !: (big) Silicate Concentration 
    52    INTEGER, PUBLIC, PARAMETER ::   jpfer = jp_l + 14    !: Iron Concentration 
    53    INTEGER, PUBLIC, PARAMETER ::   jpnum = jp_l + 15    !: Big iron particles Concentration 
    54    INTEGER, PUBLIC, PARAMETER ::   jpsfe = jp_l + 16    !: number of particulate organic phosphate concentration 
    55    INTEGER, PUBLIC, PARAMETER ::   jpdfe = jp_l + 17    !: Diatoms iron Concentration 
    56    INTEGER, PUBLIC, PARAMETER ::   jpdsi = jp_l + 18    !: Diatoms Silicate Concentration 
    57    INTEGER, PUBLIC, PARAMETER ::   jpnfe = jp_l + 19    !: Nano iron Concentration 
    58    INTEGER, PUBLIC, PARAMETER ::   jpnch = jp_l + 20    !: Nano Chlorophyll Concentration 
    59    INTEGER, PUBLIC, PARAMETER ::   jpdch = jp_l + 21    !: Diatoms Chlorophyll Concentration 
    60    INTEGER, PUBLIC, PARAMETER ::   jpno3 = jp_l + 22    !: Nitrates Concentration 
    61    INTEGER, PUBLIC, PARAMETER ::   jpnh4 = jp_l + 23    !: Ammonium Concentration 
     38   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 
    6261 
    6362#elif defined key_pisces 
     
    7574   !    WARNING: be carefull about the order when reading the restart 
    7675        !   !!gm  this warning should be obsolet with IOM 
    77    INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration  
    78    INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity  
    79    INTEGER, PUBLIC, PARAMETER ::   jpoxy = jp_l +  3    !: oxygen carbon concentration  
    80    INTEGER, PUBLIC, PARAMETER ::   jpcal = jp_l +  4    !: calcite  concentration  
    81    INTEGER, PUBLIC, PARAMETER ::   jppo4 = jp_l +  5    !: phosphate concentration  
    82    INTEGER, PUBLIC, PARAMETER ::   jppoc = jp_l +  6    !: small particulate organic phosphate concentration 
    83    INTEGER, PUBLIC, PARAMETER ::   jpsil = jp_l +  7    !: silicate concentration 
    84    INTEGER, PUBLIC, PARAMETER ::   jpphy = jp_l +  8    !: phytoplancton concentration  
    85    INTEGER, PUBLIC, PARAMETER ::   jpzoo = jp_l +  9    !: zooplancton concentration 
    86    INTEGER, PUBLIC, PARAMETER ::   jpdoc = jp_l + 10    !: dissolved organic carbon concentration  
    87    INTEGER, PUBLIC, PARAMETER ::   jpdia = jp_l + 11    !: Diatoms Concentration 
    88    INTEGER, PUBLIC, PARAMETER ::   jpmes = jp_l + 12    !: Mesozooplankton Concentration 
    89    INTEGER, PUBLIC, PARAMETER ::   jpbsi = jp_l + 13    !: (big) Silicate Concentration 
    90    INTEGER, PUBLIC, PARAMETER ::   jpfer = jp_l + 14    !: Iron Concentration 
    91    INTEGER, PUBLIC, PARAMETER ::   jpbfe = jp_l + 15    !: Big iron particles Concentration 
    92    INTEGER, PUBLIC, PARAMETER ::   jpgoc = jp_l + 16    !: big particulate organic phosphate concentration 
    93    INTEGER, PUBLIC, PARAMETER ::   jpsfe = jp_l + 17    !: Small iron particles Concentration 
    94    INTEGER, PUBLIC, PARAMETER ::   jpdfe = jp_l + 18    !: Diatoms iron Concentration 
    95    INTEGER, PUBLIC, PARAMETER ::   jpdsi = jp_l + 19    !: Diatoms Silicate Concentration 
    96    INTEGER, PUBLIC, PARAMETER ::   jpnfe = jp_l + 20    !: Nano iron Concentration 
    97    INTEGER, PUBLIC, PARAMETER ::   jpnch = jp_l + 21    !: Nano Chlorophyll Concentration 
    98    INTEGER, PUBLIC, PARAMETER ::   jpdch = jp_l + 22    !: Diatoms Chlorophyll Concentration 
    99    INTEGER, PUBLIC, PARAMETER ::   jpno3 = jp_l + 23    !: Nitrates Concentration 
    100    INTEGER, PUBLIC, PARAMETER ::   jpnh4 = jp_l + 24    !: Ammonium Concentration 
     76   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 
    101100 
    102101#else 
     
    113112 
    114113   ! 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 tracers 
    116    INTEGER, PUBLIC, PARAMETER ::   jp_pcs1     = jp_l + jp_pisces          !: Last  index of PISCES tracers 
    117    INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_2d  = jp_l_2d + 1               !: First index of 2D diag 
    118    INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_2d  = jp_l_2d + jp_pisces_2d    !: Last  index of 2D diag 
    119    INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_3d  = jp_l_3d + 1               !: First index of 3D diag 
    120    INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_3d  = jp_l_3d + jp_pisces_3d    !: Last  index of 3d diag 
    121    INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_trd = jp_l_trd + 1              !: First index of bio diag 
    122    INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_trd = jp_l_trd + jp_pisces_trd  !: Last  index of bio diag 
     114   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 
    123122 
    124123 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r1678 r2137  
    3838   LOGICAL  ::   ln_pisdmp         !: relaxation or not of nutrients to a mean value 
    3939                                   !: when initialize from a restart file  
     40   LOGICAL  ::   ln_pisclo         !: Restoring or not of nutrients to initial value 
     41                                   !: on close seas 
    4042 
    4143   !!*  Biological fluxes for light 
     
    6264#if defined key_trc_dia3d 
    6365   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   prodcal    !: Calcite production 
     66   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   grazing    !: Total zooplankton grazing 
    6467#endif 
    6568 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

    r1542 r2137  
    3838      no3    =  31.04e-6 * 7.6 
    3939 
    40 #  include "domzgr_substitute.h90" 
    4140#  include "top_substitute.h90" 
    4241   !!---------------------------------------------------------------------- 
  • branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90

    r1581 r2137  
    6767      NAMELIST/nampisdia/ nwritedia, pisdia3d, pisdia2d     ! additional diagnostics 
    6868#endif 
    69       NAMELIST/nampisdmp/ ln_pisdmp 
     69      NAMELIST/nampisdmp/ ln_pisdmp, ln_pisclo 
    7070 
    7171      !!---------------------------------------------------------------------- 
     
    188188         WRITE(numout,*) 
    189189         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 
    191192         WRITE(numout,*) ' ' 
    192193      ENDIF 
  • branches/devmercator2010_1/NEMO/TOP_SRC/TRP/trctrp.F90

    r1445 r2137  
    5353 
    5454   !! * Substitutions 
    55 #  include "domzgr_substitute.h90" 
     55#  include "top_substitute.h90" 
    5656   !!---------------------------------------------------------------------- 
    5757   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
  • branches/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_imp.F90

    r1271 r2137  
    112112         rdttrc(:) =  rdttra(:) * FLOAT(ndttrc)       
    113113      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      !                                                       ! =========== 
    115144      DO jn = 1, jptra                                        ! tracer loop 
    116145         !                                                    ! =========== 
    117146         IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn)         ! ??? validation needed 
    118147 
    119     ! Initialisation      
    120     zwd( 1 ,:,:) = 0.e0     ;     zwd(jpi,:,:) = 0.e0 
    121     zws( 1 ,:,:) = 0.e0     ;     zws(jpi,:,:) = 0.e0 
    122     zwi( 1 ,:,:) = 0.e0     ;     zwi(jpi,:,:) = 0.e0 
    123148    zwt( 1 ,:,:) = 0.e0     ;     zwt(jpi,:,:) = 0.e0      
    124149         zwt(  :,:,1) = 0.e0     ;     zwt(  :,:,jpk) = 0.e0 
    125          !                                           
    126          ! 0. Matrix construction 
    127          ! ---------------------- 
    128  
    129          ! Diagonal, inferior, superior 
    130          ! (including the bottom boundary condition via avs masked 
    131          DO jk = 1, jpkm1                                                      
    132             DO jj = 2, jpjm1                                       
    133                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 DO 
    138             END DO 
    139          END DO 
    140  
    141          ! Surface boudary conditions 
    142          DO jj = 2, jpjm1         
    143             DO ji = fs_2, fs_jpim1 
    144                zwi(ji,jj,1) = 0.e0 
    145                zwd(ji,jj,1) = 1. - zws(ji,jj,1) 
    146             END DO 
    147          END DO 
    148150          
    149151         ! Second member construction 
  • branches/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_iso.F90

    r1271 r2137  
    182182 
    183183 
    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 
    186203 
    187204         IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn)          ! save trends 
     
    262279            END DO 
    263280 
    264  
    265             ! I.3  update and save of avt (and avs if double diffusive mixing) 
    266             ! --------------------------- 
    267  
    268             DO jk = 2, jpkm1 
    269                DO ji = 2, jpim1 
    270  
    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 avs 
    275                   fstravs(ji,jj,jk) = fstravs(ji,jj,jk) + zavi 
    276  
    277                END DO 
    278             END DO 
    279281 
    280282#if defined key_trcldf_eiv 
  • branches/devmercator2010_1/NEMO/TOP_SRC/TRP/trczdf_iso_vopt.F90

    r1328 r2137  
    154154                            zws   => va      ! workspace 
    155155      INTEGER, INTENT( in ) ::   kt          ! ocean time-step index 
    156       INTEGER ::   ji, jj, jk, jn            ! dummy loop indices 
     156      INTEGER  ::   ji, jj, jk, jn            ! dummy loop indices 
    157157      REAL(wp) ::   zavi, zrhs               ! temporary scalars 
    158158      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
     
    180180      ENDIF 
    181181 
     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 
    182267      IF( l_trdtrc ) ALLOCATE( ztrtrd(jpi,jpj,jpk) ) 
    183268 
     
    187272          
    188273         IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn)          ! save trends 
    189           
    190          zwd  ( 1, :, : ) = 0.e0    ;     zwd  ( jpi, :,   : ) = 0.e0 
    191          zws  ( 1, :, : ) = 0.e0    ;     zws  ( jpi, :,   : ) = 0.e0 
    192          zwi  ( 1, :, : ) = 0.e0    ;     zwi  ( jpi, :,   : ) = 0.e0 
    193          zwt  ( 1, :, : ) = 0.e0    ;     zwt  ( jpi, :,   : ) = 0.e0 
    194          zwt  ( :, :, 1 ) = 0.e0    ;     zwt  (   :, :, jpk ) = 0.e0 
    195          zavsi( 1, :, : ) = 0.e0    ;     zavsi( jpi, :,   : ) = 0.e0  
    196          zavsi( :, :, 1 ) = 0.e0    ;     zavsi(   :, :, jpk ) = 0.e0 
    197274 
    198275#  if defined key_trc_diatrd 
     
    200277         ztrd(:,:,:) = tra(:,:,:,jn) 
    201278#  endif 
    202  
    203          ! II. Vertical trend associated with the vertical physics 
    204          ! ======================================================= 
    205          !     (including the vertical flux proportional to dk[t] associated 
    206          !      with the lateral mixing, through the avt update) 
    207          !     dk[ avt dk[ (t,s) ] ] diffusive trends 
    208  
    209  
    210          ! II.0 Matrix construction 
    211          ! ------------------------         
    212          ! update and save of avt (and avs if double diffusive mixing) 
    213          DO jk = 2, jpkm1 
    214             DO jj = 2, jpjm1 
    215                DO ji = fs_2, fs_jpim1   ! vector opt. 
    216                   zavi = fsahtw(ji,jj,jk) * (                 &   ! vertical mixing coef. due to lateral mixing 
    217                      &                           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 tracer 
    220  
    221                END DO 
    222             END DO 
    223          END DO 
    224  
    225  
    226          ! II.1 Vertical diffusion on tracer 
    227          ! --------------------------------- 
    228  
    229          ! Rebuild the Matrix as avt /= avs 
    230  
    231          ! Diagonal, inferior, superior  (including the bottom boundary condition via avs masked) 
    232          DO jk = 1, jpkm1 
    233             DO jj = 2, jpjm1 
    234                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 DO 
    239             END DO 
    240          END DO 
    241  
    242          ! Surface boudary conditions 
    243          DO jj = 2, jpjm1 
    244             DO ji = fs_2, fs_jpim1   ! vector opt. 
    245                zwi(ji,jj,1) = 0.e0 
    246                zwd(ji,jj,1) = 1. - zws(ji,jj,1) 
    247             END DO 
    248          END DO 
    249  
    250          !! Matrix inversion from the first level 
    251          !!---------------------------------------------------------------------- 
    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 triangular 
    261          !   matrix 
    262          !   The 3 diagonal terms are in 2d arrays: zwd, zws, zwi 
    263          !   The second member is in 2d array zwy 
    264          !   The solution is in 2d array zwx 
    265          !   The 3d arry zwt is a work space array 
    266          !   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, jpjm1 
    270             DO ji = fs_2, fs_jpim1 
    271                zwt(ji,jj,1) = zwd(ji,jj,1) 
    272             END DO 
    273          END DO 
    274          DO jk = 2, jpkm1 
    275             DO jj = 2, jpjm1 
    276                DO ji = fs_2, fs_jpim1 
    277                   zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1)  /zwt(ji,jj,jk-1) 
    278                END DO 
    279             END DO 
    280          END DO 
    281279 
    282280         ! second recurrence:    Zk = Yk - Ik / Tk-1  Zk-1 
  • branches/devmercator2010_1/NEMO/TOP_SRC/par_trc.F90

    r1254 r2137  
    1818   USE par_lobster   ! LOBSTER model 
    1919   USE par_pisces    ! PISCES  model 
     20   USE par_c14b      ! C14 bomb tracer 
    2021   USE par_cfc       ! CFC 11 and 12 tracers 
    21    USE par_c14b      ! C14 bomb tracer  
    2222   USE par_my_trc    ! user defined passive tracers 
    2323 
    2424   IMPLICIT NONE 
    25    PUBLIC 
    2625 
    2726   ! Passive tracers : Total size 
    2827   ! ---------------               ! 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_trc 
    30    INTEGER, PUBLIC, PARAMETER ::   jpdia2d  =  jp_lobster_2d + jp_pisces_2d  + jp_cfc_2d  + jp_c14b_2d + jp_my_trc_2d 
    31    INTEGER, PUBLIC, PARAMETER ::   jpdia3d  =  jp_lobster_3d + jp_pisces_3d  + jp_cfc_3d  + jp_c14b_3d + jp_my_trc_3d 
     28   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 
    3231   !                     ! 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_trd 
     32   INTEGER, PUBLIC,  PARAMETER ::   jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd 
    3433    
    3534   !  1D configuration ("key_c1d") 
     
    4039   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_c1d   = .FALSE.  !: 1D pass. tracer configuration flag 
    4140# endif 
    42  
    4341   ! 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 
    5671#endif 
    5772 
  • branches/devmercator2010_1/NEMO/TOP_SRC/trcdia.F90

    r1715 r2137  
    2525   USE trc 
    2626   USE trp_trc 
     27   USE par_trc 
    2728   USE trdmld_trc_oce, ONLY : luttrd 
    2829   USE dianam    ! build name of file (routine) 
     
    4142   INTEGER  ::   ndimt50   !: number of ocean points in index array 
    4243   INTEGER  ::   ndimt51   !: number of ocean points in index array 
    43    REAL(wp) ::   xjulian   !: ????   not DOCTOR ! 
     44   REAL(wp) ::   zjulian   !: ????   not DOCTOR ! 
    4445   INTEGER , DIMENSION (jpij*jpk) ::   ndext50   !: integer arrays for ocean 3D index 
    4546   INTEGER , DIMENSION (jpij)     ::   ndext51   !: integer arrays for ocean surface index 
     
    157158 
    158159         ! 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 experiment 
     160         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 
     161         zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    161162         IF(lwp)WRITE(numout,*)' '   
    162163         IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000                         & 
    163164            &                 ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday   & 
    164             &                 ,'Julian day : ', xjulian   
     165            &                 ,'Julian day : ', zjulian   
    165166   
    166167         IF(lwp) WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma,  & 
     
    171172         IF(lwp) THEN 
    172173            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 ) 
    174175            WRITE(inum,*) clhstnam 
    175176            CLOSE(inum) 
     
    184185         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,     & 
    185186            &          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) 
    187188 
    188189         ! Vertical grid for tracer : gdept 
     
    258259      CHARACTER (len=80) ::   cltral 
    259260      CHARACTER (len=10) ::   csuff 
    260       INTEGER  ::   jn, jl 
     261      INTEGER  ::   jn, jl, ikn 
    261262      INTEGER  ::   iimi, iima, ijmi, ijma, ipk, it, itmod 
    262263      REAL(wp) ::   zsto, zout, zdt 
     
    313314               CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,       & 
    314315                  &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,   & 
    315                   &          nittrc000-ndttrc, xjulian, zdt, nhorit6(jn),  & 
     316                  &          nittrc000-ndttrc, zjulian, zdt, nhorit6(jn),  & 
    316317                  &          nit6(jn) , domain_id=nidom ) 
    317318 
     
    322323 
    323324          ! Declare all the output fields as NETCDF variables 
    324  
    325           ! trends for tracer concentrations 
    326325          DO jn = 1, jptra 
    327326            IF( luttrd(jn) ) THEN 
    328327                DO jl = 1, jpdiatrc 
    329                   IF( jl == 1 ) THEN 
     328                  IF( jl == jptrc_xad ) THEN 
    330329                      ! short and long title for x advection for tracer 
    331330                      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 
    336334                      ! short and long title for y advection for tracer 
    337335                      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 
    342339                      ! short and long title for Z advection for tracer 
    343340                      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 
    348344                      ! short and long title for X diffusion for tracer 
    349345                      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 
    354349                      ! short and long title for Y diffusion for tracer 
    355350                      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 
    360354                      ! short and long title for Z diffusion for tracer 
    361355                      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) 
    364357                  END IF 
    365358# if defined key_trcldf_eiv 
    366                   IF( jl == 7 ) THEN 
     359                  IF( jl == jptrc_xei ) THEN 
    367360                      ! short and long title for x gent velocity for tracer 
    368361                      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 
    373365                      ! short and long title for y gent velocity for tracer 
    374366                      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 
    379370                      ! short and long title for Z gent velocity for tracer 
    380371                      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) 
    383373                  END IF 
    384374# endif 
    385375# if defined key_trcdmp 
    386                   IF( jl == jpdiatrc - 1 ) THEN 
     376                  IF( jl == jptrc_dmp ) THEN 
    387377                      ! last trends for tracer damping : short and long title 
    388378                      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 
    394383                      ! last trends for tracer damping : short and long title 
    395384                      WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    396                       WRITE (cltral,'("Surface boundary flux ",58a)')  & 
    397                       &      ctrcnl(jn)(1:58) 
    398                   END IF 
    399  
     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 
    400389                  CALL FLUSH( numout ) 
    401390                  cltrau = ctrcun(jn)      ! UNIT for tracer /trends 
     
    406395            END IF 
    407396         END DO 
    408  
    409397         ! CLOSE netcdf Files 
    410398          DO jn = 1, jptra 
     
    432420      DO jn = 1, jptra 
    433421         IF( luttrd(jn) ) THEN 
     422            ikn = ikeep(jn)  
    434423            DO jl = 1, jpdiatrc 
    435                ! short titles  
    436                IF( jl == 1)   WRITE (cltra,'("XAD_",16a)') ctrcnm(jn)      ! x advection for tracer 
    437                IF( jl == 2)   WRITE (cltra,'("YAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    438                IF( jl == 3)   WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    439                IF( jl == 4)   WRITE (cltra,'("XDF_",16a)') ctrcnm(jn)      ! x diffusion for tracer 
    440                IF( jl == 5)   WRITE (cltra,'("YDF_",16a)') ctrcnm(jn)      ! y diffusion for tracer 
    441                IF( jl == 6)   WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn)      ! z diffusion for tracer 
     424               ! 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) 
    442431# if defined key_trcldf_eiv 
    443                IF( jl == 7)   WRITE (cltra,'("XGV_",16a)') ctrcnm(jn)      ! x gent velocity for tracer 
    444                IF( jl == 8)   WRITE (cltra,'("YGV_",16a)') ctrcnm(jn)      ! y gent velocity for tracer 
    445                IF( jl == 9)   WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn)      ! z gent velocity for tracer 
     432               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) 
    446435# endif 
    447436# if defined key_trcdmp 
    448                IF( jl == jpdiatrc - 1 )   WRITE (cltra,'("TDM_",16a)') ctrcnm(jn)      ! damping 
    449 # endif 
    450                IF( jl == jpdiatrc )   WRITE (cltra,'("SBC_",a)') ctrcnm(jn)      ! surface boundary conditions 
     437               IF( jl == jptrc_dmp )  WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 
     438# endif 
     439               IF( jl == jptrc_sbc )  WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    451440               ! 
    452                CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikeep(jn),jl),ndimt50, ndext50) 
     441               CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikn,jl),ndimt50, ndext50) 
    453442            END DO 
    454443         END IF 
     
    552541         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,             & 
    553542            &          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 ) 
    555544 
    556545         ! Vertical grid for 2d and 3d arrays 
     
    700689         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,      & 
    701690            &    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 ) 
    703692         ! Vertical grid for biological trends 
    704693         CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_0, ndepitb) 
  • branches/devmercator2010_1/NEMO/TOP_SRC/trcdta.F90

    r1645 r2137  
    2525   PUBLIC trc_dta   ! called in trcini.F90 and trcdmp.F90 
    2626 
     27   LOGICAL , PUBLIC, PARAMETER ::   lk_dtatrc = .TRUE.   !: temperature data flag 
    2728   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jptra) ::   trdta   !: tracer data at given time-step 
    2829 
     
    6263      !! 
    6364      CHARACTER (len=39) ::   clname(jptra) 
    64       INTEGER, PARAMETER ::   jpmois  = 12        ! number of months 
     65      INTEGER, PARAMETER ::   & 
     66         jpmonth = 12    ! number of months 
    6567      INTEGER ::   ji, jj, jn, jl  
    6668      INTEGER ::   imois, iman, i15, ik  ! temporary integers  
     
    8183            ENDIF 
    8284            ! Initialization 
    83             iman = jpmois 
     85            iman = jpmonth 
    8486            i15  = nday / 16 
    8587            imois = nmonth + i15 -1 
     
    188190            ! Read init file only 
    189191            IF( kt == nittrc000  ) THEN 
     192               ntrc1(jn) = 1 
    190193               CALL iom_get ( numtr(jn), jpdom_data, ctrcnm(jn), trdta(:,:,:,jn), ntrc1(jn) ) 
    191194               trdta(:,:,:,jn) = trdta(:,:,:,jn) * tmask(:,:,:) 
     
    204207   !!   Dummy module                              NO 3D passive tracer data 
    205208   !!---------------------------------------------------------------------- 
     209   LOGICAL , PUBLIC, PARAMETER ::   lk_dtatrc = .FALSE.   !: temperature data flag 
    206210CONTAINS 
    207211   SUBROUTINE trc_dta( kt )        ! Empty routine 
  • branches/devmercator2010_1/NEMO/TOP_SRC/trcini.F90

    r1745 r2137  
    122122         trb(:,:,:,:) = trn(:,:,:,:) 
    123123      ELSE 
     124         ! 
    124125         CALL trc_rst_read      ! restart from a file 
    125 #if defined key_off_tra 
    126          CALL day_init          ! calendar 
    127 #endif 
     126         ! 
    128127      ENDIF 
    129128 
  • branches/devmercator2010_1/NEMO/TOP_SRC/trcrst.F90

    r1655 r2137  
    11MODULE trcrst 
    22   !!====================================================================== 
    3    !!                       ***  MODULE trcrst  *** 
    4    !! TOP :   create, write, read the restart files for passive tracers 
     3   !!                         ***  MODULE trcrst  *** 
     4   !! TOP :   Manage the passive tracer restart 
    55   !!====================================================================== 
    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 
    710   !!---------------------------------------------------------------------- 
    811#if defined key_top 
     12   !!---------------------------------------------------------------------- 
     13   !!   'key_top'                                                TOP models 
     14   !!---------------------------------------------------------------------- 
     15   !!---------------------------------------------------------------------- 
     16   !!   trc_rst :   Restart for passive tracer 
     17   !!---------------------------------------------------------------------- 
    918   !!---------------------------------------------------------------------- 
    1019   !!   'key_top'                                                TOP models 
     
    1625   USE oce_trc 
    1726   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 
    2428   USE lib_mpp 
    2529   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 
    2738   IMPLICIT NONE 
    2839   PRIVATE 
    29     
     40 
    3041   PUBLIC   trc_rst_opn       ! called by ??? 
    3142   PUBLIC   trc_rst_read      ! called by ??? 
    3243   PUBLIC   trc_rst_wri       ! called by ??? 
    33     
     44 
    3445   INTEGER, PUBLIC ::   numrtr, numrtw   !: logical unit for trc restart (read and write) 
    35  
    3646 
    3747   !! * Substitutions 
     
    8999   END SUBROUTINE trc_rst_opn 
    90100 
    91  
    92    SUBROUTINE trc_rst_read  
     101   SUBROUTINE trc_rst_read 
    93102      !!---------------------------------------------------------------------- 
    94103      !!                    ***  trc_rst_opn  *** 
     
    96105      !! ** purpose  :   read passive tracer fields in restart files 
    97106      !!---------------------------------------------------------------------- 
    98       INTEGER  ::  jn   
    99       INTEGER  ::  iarak0 
     107      INTEGER  ::  jn      
     108      INTEGER  ::  iarak0  
    100109      REAL(wp) ::  zarak0 
    101110      INTEGER  ::  jlibalt = jprstlib 
    102111      LOGICAL  ::  llok 
    103 #if defined key_pisces  
    104       INTEGER  ::  ji, jj, jk 
    105       REAL(wp) ::  zcaralk, zbicarb, zco3 
    106       REAL(wp) ::  ztmas, ztmas1 
    107 #endif 
    108112 
    109113      !!---------------------------------------------------------------------- 
     
    115119      IF ( jprstlib == jprstdimg ) THEN 
    116120        ! 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  
    118122        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 )  
    123127 
    124128      ! Time domain : restart 
     
    136140         & ' centered or euler '  ) 
    137141      IF(lwp) WRITE(numout,*) 
    138  
    139142      IF(lwp) WRITE(numout,*) '    arakawa option      : ', NINT( zarak0 ) 
    140143 
    141  
    142144      ! READ prognostic variables and computes diagnostic variable 
    143145      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 
    195159      CALL iom_close( numrtr ) 
    196160      ! 
    197161   END SUBROUTINE trc_rst_read 
    198  
    199162 
    200163   SUBROUTINE trc_rst_wri( kt ) 
     
    218181      CALL iom_rstput( kt, nitrst, numrtw, 'arak0', zarak0 ) 
    219182 
    220       ! prognostic variables 
    221       ! -------------------- 
     183      ! prognostic variables  
     184      ! --------------------  
    222185      DO jn = 1, jptra 
    223186         CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 
     
    228191      END DO 
    229192 
    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 
    250199      IF( kt == nitrst ) THEN 
    251200          CALL trc_rst_stat            ! statistics 
     
    256205      ENDIF 
    257206      ! 
    258    END SUBROUTINE trc_rst_wri 
     207   END SUBROUTINE trc_rst_wri  
     208 
    259209 
    260210   SUBROUTINE trc_rst_cal( kt, cdrw ) 
     
    329279           WRITE(numout,*) 
    330280         ENDIF 
     281         ! 
     282         CALL day_init          ! compute calendar 
     283         ! 
    331284#endif 
    332285 
     
    347300   END SUBROUTINE trc_rst_cal 
    348301 
    349 # if defined key_pisces  
    350  
    351    SUBROUTINE pis_dmp_ini  
    352       !!---------------------------------------------------------------------- 
    353       !!                    ***  pis_dmp_ini  *** 
    354       !! 
    355       !! ** purpose  : Relaxation of some tracers 
    356       !!---------------------------------------------------------------------- 
    357       INTEGER  :: ji, jj, jk   
    358       REAL(wp) ::  & 
    359          alkmean = 2426. ,  & ! mean value of alkalinity ( Glodap ; for Goyet 2391. ) 
    360          po4mean = 2.165 ,  & ! mean value of phosphates 
    361          no3mean = 30.90 ,  & ! mean value of nitrate 
    362          siomean = 91.51      ! mean value of silicate 
    363        
    364       REAL(wp) ::   zvol, ztrasum 
    365  
    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 & silicate 
    372  
    373          ! total alkalinity 
    374          ztrasum = 0.e0              
    375          DO jk = 1, jpk 
    376             DO jj = 1, jpj 
    377                DO ji = 1, jpi 
    378                   zvol = cvol(ji,jj,jk) 
    379 #  if defined key_off_degrad 
    380                   zvol = zvol * facvol(ji,jj,jk) 
    381 #  endif 
    382                   ztrasum = ztrasum + trn(ji,jj,jk,jptal) * zvol 
    383                END DO 
    384             END DO 
    385          END DO 
    386          IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    387           
    388          ztrasum = ztrasum / areatot * 1.e6 
    389          IF(lwp) WRITE(numout,*) '       TALK mean : ', ztrasum 
    390          trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum 
    391              
    392          ! phosphate 
    393          ztrasum = 0.e0 
    394          DO jk = 1, jpk 
    395             DO jj = 1, jpj 
    396                DO ji = 1, jpi 
    397                   zvol = cvol(ji,jj,jk) 
    398 #  if defined key_off_degrad 
    399                   zvol = zvol * facvol(ji,jj,jk) 
    400 #  endif 
    401                   ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * zvol 
    402                END DO 
    403             END DO 
    404          END DO 
    405          IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    406           
    407          ztrasum = ztrasum / areatot * 1.e6 / 122. 
    408          IF(lwp) WRITE(numout,*) '       PO4  mean : ', ztrasum 
    409          trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum 
    410          
    411          ! Nitrates           
    412          ztrasum = 0.e0 
    413          DO jk = 1, jpk 
    414             DO jj = 1, jpj 
    415                DO ji = 1, jpi 
    416                   zvol = cvol(ji,jj,jk) 
    417 #  if defined key_off_degrad 
    418                   zvol = zvol * facvol(ji,jj,jk) 
    419 #  endif 
    420                   ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * zvol 
    421                END DO 
    422             END DO 
    423          END DO 
    424          IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    425           
    426          ztrasum = ztrasum / areatot * 1.e6 / 7.6 
    427          IF(lwp) WRITE(numout,*) '       NO3  mean : ', ztrasum 
    428          trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum 
    429           
    430          ! Silicate 
    431          ztrasum = 0.e0 
    432          DO jk = 1, jpk 
    433             DO jj = 1, jpj 
    434                DO ji = 1, jpi 
    435                   zvol = cvol(ji,jj,jk) 
    436 #  if defined key_off_degrad 
    437                   zvol = zvol * facvol(ji,jj,jk) 
    438 #  endif 
    439                   ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * zvol 
    440                END DO 
    441             END DO 
    442          END DO 
    443          IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    444          ztrasum = ztrasum / areatot * 1.e6 
    445          IF(lwp) WRITE(numout,*) '       SiO3 mean : ', ztrasum 
    446          trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum )  
    447          ! 
    448       ENDIF 
    449  
    450 !#if defined key_kriest 
    451 !     !! Initialize number of particles from a standart restart file 
    452 !     !! The name of big organic particles jpgoc has been only change 
    453 !     !! and replace by jpnum but the values here are concentration 
    454 !     trn(:,:,:,jppoc) = trn(:,:,:,jppoc) + trn(:,:,:,jpnum) 
    455 !     trn(:,:,:,jpnum) = trn(:,:,:,jppoc) / ( 6. * xkr_massp ) 
    456 !#endif 
    457  
    458    END SUBROUTINE pis_dmp_ini 
    459  
    460 #endif 
    461       !!---------------------------------------------------------------------- 
    462302 
    463303   SUBROUTINE trc_rst_stat 
  • branches/devmercator2010_1/NEMO/TOP_SRC/trcwri.F90

    r1656 r2137  
    11MODULE trcwri 
    2    !!====================================================================== 
     2   !!=================================================================================== 
    33   !!                       *** MODULE trcwri *** 
    4    !!    TOP :   Output of passive tracers  
    5    !!====================================================================== 
    6    !!             1.0  !   
    7    !!                  !  2009-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 
    88   !!---------------------------------------------------------------------- 
    99#if defined key_top &&  defined key_iomput 
     
    1111   !!   'key_top' && 'key_iomput'                              TOP models 
    1212   !!---------------------------------------------------------------------- 
    13    !! trc_wri     :  outputs of concentration fields 
     13   !! trc_wri_trc   :  outputs of concentration fields 
     14   !! trc_wri_trd   :  outputs of transport trends 
    1415   !!---------------------------------------------------------------------- 
     16   USE dom_oce         ! ocean space and time domain variables 
     17   USE oce_trc 
     18   USE trp_trc 
    1519   USE trc 
     20   USE trdmld_trc_oce, ONLY : luttrd 
    1621   USE iom 
    1722#if defined key_off_tra 
     
    3540CONTAINS 
    3641 
    37    SUBROUTINE trc_wri( kt )   
     42   SUBROUTINE trc_wri( kt ) 
    3843      !!--------------------------------------------------------------------- 
    3944      !!                     ***  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  *** 
    4062      !! 
    4163      !! ** Purpose :   output passive tracers fields  
     
    4365      INTEGER, INTENT( in ) :: kt       ! ocean time-step 
    4466      INTEGER               :: jn 
    45       CHARACTER (len=20)    :: cltra 
     67      CHARACTER (len=20)    :: cltra, cltras 
    4668#if defined key_off_tra 
    4769      CHARACTER (len=40) :: clhstnam 
    4870      INTEGER ::   inum = 11            ! temporary logical unit 
    4971#endif 
    50  
    5172      !!--------------------------------------------------------------------- 
    5273  
    53       ! Initialisation 
    54       ! -------------- 
    55  
    56       CALL iom_setkt( kt + ndttrc - 1 ) ! set the passive tracer time step 
    57  
    5874#if defined key_off_tra 
    5975      IF( kt == nittrc000 ) THEN 
     
    6783      ENDIF 
    6884#endif 
    69  
    70  
    7185      ! write the tracer concentrations in the file 
    7286      ! --------------------------------------- 
     
    7690      END DO 
    7791      ! 
    78       CALL iom_setkt( kt )       ! set the model time step 
     92   END SUBROUTINE trc_wri_trc 
    7993 
     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 
    80133      ! 
    81    END SUBROUTINE trc_wri 
     134   END SUBROUTINE trc_wri_trd 
    82135 
     136# else 
     137   SUBROUTINE trc_wri_trd( kt )                      ! Dummy routine 
     138      INTEGER, INTENT ( in ) ::   kt 
     139   END SUBROUTINE trc_wri_trd 
     140#endif 
    83141#else 
    84142   !!---------------------------------------------------------------------- 
     
    90148   INTEGER, INTENT(in) :: kt 
    91149   END SUBROUTINE trc_wri 
    92  
    93150#endif 
    94151 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE

    r1402 r2137  
    3838#-Q- sx8mercure prefix = -D 
    3939#-Q- sx8brodie prefix = -D 
    40 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4141#-Q- sxdkrz prefix = -D 
    4242#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE_LOBSTER

    r1402 r2137  
    3838#-Q- sx8mercure prefix = -D 
    3939#-Q- sx8brodie prefix = -D 
    40 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4141#-Q- sxdkrz prefix = -D 
    4242#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM

    r1412 r2137  
    3939#-Q- sx8mercure prefix = -D 
    4040#-Q- sx8brodie prefix = -D 
    41 #-Q- eshpux prefix = -D 
     41#-Q- es2 prefix = -D 
    4242#-Q- sxdkrz prefix = -D 
    4343#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM3

    r1464 r2137  
    3939#-Q- sx8mercure prefix = -D 
    4040#-Q- sx8brodie prefix = -D 
    41 #-Q- eshpux prefix = -D 
     41#-Q- es2 prefix = -D 
    4242#-Q- sxdkrz prefix = -D 
    4343#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM_PISCES

    r1402 r2137  
    3838#-Q- sx8mercure prefix = -D 
    3939#-Q- sx8brodie prefix = -D 
    40 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4141#-Q- sxdkrz prefix = -D 
    4242#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_OFF_PISCES

    r1402 r2137  
    3838#-Q- sx8mercure prefix = -D 
    3939#-Q- sx8brodie prefix = -D 
    40 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4141#-Q- sxdkrz prefix = -D 
    4242#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ZAGRIF

    r1402 r2137  
    3838#-Q- sx8mercure prefix = -D 
    3939#-Q- sx8brodie prefix = -D 
    40 #-Q- eshpux prefix = -D 
     40#-Q- es2 prefix = -D 
    4141#-Q- sxdkrz prefix = -D 
    4242#-Q- linux  prefix = -D 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_GYRE.ksh

    r1603 r2137  
    1414MYO_EXP=xxx 
    1515TSYMB=xxx 
     16USE_IOMPUT=xxx 
     17USE_IOSERVER=xxx 
     18NB_PROCS_IOSERVER=xxx 
    1619 
    1720# Variables changed by ins_valid.ksh script 
     
    107110 
    108111mv nam.tmp namelist 
     112 
     113# iom_put xml file 
     114if [ "${USE_IOMPUT}" = "true" ] 
     115then 
     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 
     120fi 
     121 
    109122 
    110123# Analytical forcing 
     
    219232case ${RUN} in 
    220233   '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*' ;; 
    222235   '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*' ;; 
    224237esac 
    225238 
     
    245258############################################################## 
    246259############################################################## 
    247 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     260if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    248261then 
    249262   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_GYRE_LOBSTER.ksh

    r1603 r2137  
    1414MYO_EXP=xxx 
    1515TSYMB=xxx 
     16USE_IOMPUT=xxx 
     17USE_IOSERVER=xxx 
     18NB_PROCS_IOSERVER=xxx 
     19 
    1620 
    1721# Variables changed by ins_valid.ksh script 
     
    128132sed -e "s%$PAT_ADD%   nwritedia    = ${ITERATIONS}%" namelist_lobster > nam.tmp 
    129133mv nam.tmp namelist_lobster 
     134 
     135# iom_put xml file 
     136if [ "${USE_IOMPUT}" = "true" ] 
     137then 
     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 
     142fi 
    130143 
    131144# Analytical forcing 
     
    253266case ${RUN} in 
    254267   '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*' ;; 
    256269   '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*' ;; 
    258271esac 
    259272 
     
    279292############################################################## 
    280293############################################################## 
    281 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     294if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3'  -o ${REF_TAG} = 'nemo_v3_2' ] 
    282295then 
    283296   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM.ksh

    r2131 r2137  
    139139 
    140140# Get forcing files 
    141 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.1.tar ORCA2_LIM_nemo_v3.1.tar 
    142 tar xvf ORCA2_LIM_nemo_v3.1.tar 
    143 rm -f ORCA2_LIM_nemo_v3.1.tar 
     141${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 
     142tar xvf ORCA2_LIM_nemo_v3.2.tar 
     143rm -f ORCA2_LIM_nemo_v3.2.tar 
    144144 
    145145# Get restarts files if needed 
     
    310310############################################################## 
    311311############################################################## 
    312 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     312if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    313313then 
    314314   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM3.ksh

    r2131 r2137  
    135135 
    136136# Get forcing files 
    137 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.1.tar ORCA2_LIM_nemo_v3.1.tar 
    138 tar xvf ORCA2_LIM_nemo_v3.1.tar 
    139 rm -f ORCA2_LIM_nemo_v3.1.tar 
     137${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 
     138tar xvf ORCA2_LIM_nemo_v3.2.tar 
     139rm -f ORCA2_LIM_nemo_v3.2.tar 
    140140 
    141141# Get restarts files if needed 
     
    306306############################################################## 
    307307############################################################## 
    308 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     308if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    309309then 
    310310   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_LIM_PISCES.ksh

    r1620 r2137  
    1414MYO_EXP=xxx 
    1515TSYMB=xxx 
     16USE_IOMPUT=xxx 
     17USE_IOSERVER=xxx 
     18NB_PROCS_IOSERVER=xxx 
     19 
    1620 
    1721# Variables changed by ins_valid.ksh script 
     
    159163mv nam.tmp namelist_pisces 
    160164 
     165# iom_put xml file 
     166if [ "${USE_IOMPUT}" = "true" ] 
     167then 
     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 
     172fi 
     173 
    161174# Get forcing files 
    162 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.1.tar ORCA2_LIM_nemo_v3.1.tar 
    163 tar xvf ORCA2_LIM_nemo_v3.1.tar 
    164 rm -f ORCA2_LIM_nemo_v3.1.tar 
     175${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 
     176tar xvf ORCA2_LIM_nemo_v3.2.tar 
     177rm -f ORCA2_LIM_nemo_v3.2.tar 
    165178 
    166179# Get forcing pisces files 
     
    292305case ${RUN} in 
    293306   '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*' ;; 
    295308   '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*' ;; 
    297310esac 
    298311 
     
    318331############################################################## 
    319332############################################################## 
    320 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     333if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    321334then 
    322335   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ORCA2_OFF_PISCES.ksh

    r1576 r2137  
    1414MYO_EXP=xxx 
    1515TSYMB=xxx 
     16USE_IOMPUT=xxx 
     17USE_IOSERVER=xxx 
     18NB_PROCS_IOSERVER=xxx 
     19 
    1620 
    1721# Variables changed by ins_valid.ksh script 
     
    134138mv nam.tmp namelist_pisces 
    135139 
     140# iom_put xml file 
     141if [ "${USE_IOMPUT}" = "true" ] 
     142then 
     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 
     147fi 
    136148 
    137149# Get forcing files 
     
    264276case ${RUN} in 
    265277   '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*' ;; 
    267279   '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*' ;; 
    269281esac 
    270282 
     
    290302############################################################## 
    291303############################################################## 
    292 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     304if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    293305then 
    294306   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/INSTALL/JOBS/job_ZAGRIF.ksh

    r1620 r2137  
    1414MYO_EXP=xxx 
    1515TSYMB=xxx 
     16USE_IOMPUT=xxx 
     17USE_IOSERVER=xxx 
     18NB_PROCS_IOSERVER=xxx 
    1619 
    1720# Variables changed by ins_valid.ksh script 
     
    146149done 
    147150 
     151# iom_put xml file 
     152if [ "${USE_IOMPUT}" = "true" ] 
     153then 
     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 
     158fi 
     159 
    148160# Get forcing files 
    149 ${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.1.tar ORCA2_LIM_nemo_v3.1.tar 
    150 tar xvf ORCA2_LIM_nemo_v3.1.tar 
    151 rm -f ORCA2_LIM_nemo_v3.1.tar 
     161${D_GET} ${D_INPUT}/ORCA2_LIM_nemo_v3.2.tar ORCA2_LIM_nemo_v3.2.tar 
     162tar xvf ORCA2_LIM_nemo_v3.2.tar 
     163rm -f ORCA2_LIM_nemo_v3.2.tar 
    152164 
    153165# Get restarts files if needed 
     
    267279case ${RUN} in 
    268280   '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*' ;; 
    270282   '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*' ;; 
    272284esac 
    273285 
     
    293305############################################################## 
    294306############################################################## 
    295 if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' ] 
     307if [ ${REF_TAG} = 'nemo_v2' -o ${REF_TAG} = 'nemo_v2_3' -o ${REF_TAG} = 'nemo_v3' -o ${REF_TAG} = 'nemo_v3_2' ] 
    296308then 
    297309   STORE_DATA=${REF_OD}/${CONF}/${REF_TAG}/${RUN}/${DIROUT} 
  • branches/devmercator2010_1/NVTK/Makefile

    r1611 r2137  
    3636#- 
    3737#- Configurations list which must be tested 
    38 LISTE_CONF = GYRE GYRE_LOBSTER ORCA2_LIM ORCA2_LIM3 ORCA2_LIM_PISCES ORCA2_OFF_PISCES 
     38LISTE_CONF = GYRE GYRE_LOBSTER ORCA2_LIM ORCA2_LIM3 ORCA2_LIM_PISCES ORCA2_OFF_PISCES ZAGRIF 
    3939#- 
    4040#- Jobs to launch use keyword: nojob, all, long, short or gtime 
     
    6060MAK_MEMO = memo 
    6161#- 
    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) 
     63REF_TAGV = nemo_v3_2 
    6464#- 
    6565##################################################################### 
  • branches/devmercator2010_1/NVTK/fait_AA_make

    r1611 r2137  
    126126#-Q- sx8brodie    -R2 \\ 
    127127#-Q- sxdkrz    -R2 \\ 
    128 #-Q- eshpux    -R2 \\ 
     128#-Q- es2    -R2 \\ 
    129129#-Q- aix6      -qsource \\ 
    130130#-Q- babel     -qsource \\ 
     
    143143.PRECIOUS : \$(MODEL_LIB) 
    144144#-Q- sxdkrz .PRECIOUS : \$(SXMODEL_LIB) 
    145 #-Q- eshpux .PRECIOUS : \$(SXMODEL_LIB) 
     145#-Q- es2 .PRECIOUS : \$(SXMODEL_LIB) 
    146146 
    147147# library dependancies 
     
    161161#-Q- sx8brodie    -R2 \\ 
    162162#-Q- sxdkrz    -R2 \\ 
    163 #-Q- eshpux    -R2 \\ 
     163#-Q- es2    -R2 \\ 
    164164#-Q- aix6      -qsource \\ 
    165165#-Q- babel     -qsource \\ 
     
    192192#-Q- sx8brodie    -R2 \\ 
    193193#-Q- sxdkrz    -R2 \\ 
    194 #-Q- eshpux    -R2 \\ 
     194#-Q- es2    -R2 \\ 
    195195#-Q- aix6      -qsource \\ 
    196196#-Q- babel     -qsource \\ 
     
    202202#-Q- sx8brodie    -R2 \\ 
    203203#-Q- sxdkrz    -R2 \\ 
    204 #-Q- eshpux    -R2 \\ 
     204#-Q- es2    -R2 \\ 
    205205#-Q- aix6      -qsource \\ 
    206206#-Q- babel     -qsource \\ 
     
    240240echo '#-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)' 
    241241echo '#-Q- sxdkrz  L_X = $(L_O) -ftrace' 
    242 echo '#-Q- eshpux  # Compiler options for NEMO (Earth Simulator)' 
    243 echo '#-Q- eshpux  # for super perfs!' 
    244 echo '#-Q- eshpux  # 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- eshpux  # regular options!' 
    246 echo '#-Q- eshpux  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- eshpux  L_X = $(L_O)' 
     242echo '#-Q- es2  # Compiler options for NEMO (Earth Simulator)' 
     243echo '#-Q- es2  # for super perfs!' 
     244echo '#-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)' 
     245echo '#-Q- es2  # regular options!' 
     246echo '#-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)' 
     247echo '#-Q- es2  L_X = $(L_O)' 
    248248echo '#-Q- linux  # Compiler options for NEMO (pgf version)' 
    249249echo '#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODEL_LIB) -I $(NCDF_INC) $(USER_INC)' 
     
    276276echo '#-Q- sx8brodie PREF=i.' 
    277277echo '#-Q- sxdkrz PREF=i.' 
    278 echo '#-Q- eshpux PREF=i.' 
     278echo '#-Q- es2 PREF=i.' 
    279279echo '' 
    280280echo '#Run type: mon, mpi or omp ' 
     
    417417   for inc in `sed -n 's/^[   ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 
    418418   do 
     419        if [ "${inc}" != "mpif.h" ] 
     420        then 
    419421       dep="$dep\n$inc" 
     422        fi 
    420423   done 
    421424 
     
    429432   for inc in `sed -n 's/^#[  ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 
    430433   do 
    431        j=1 
     434            if [ "${inc}" != "mpif.h" ] 
     435            then 
     436            j=1 
    432437       dep="$dep\n$inc" 
    433438      for inc2 in `sed -n 's/^#[    ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc | sort -u` 
     
    437442          for inc3 in `sed -n 's/^#[   ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc2 | sort -u` 
    438443          do 
     444 
    439445         dep="$dep\n$inc3" 
    440446          done 
    441447      done 
     448            fi 
    442449   done 
    443450 
  • branches/devmercator2010_1/UTIL/fait_AA_make

    r1773 r2137  
    8686 
    8787# Agrif library and conv 
    88 libagrif :  \$(call keycompat,key_iomput,key_agrif) 
     88libagrif : 
    8989ifeq (\$(AGRIF),use) 
    9090   @( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi ) 
     
    112112#-Q- sx8brodie    -R2 \\ 
    113113#-Q- sxdkrz    -R2 \\ 
    114 #-Q- eshpux    -R2 \\ 
     114#-Q- es2    -R2 \\ 
    115115#-Q- aix6      -qsource \\ 
    116116#-Q- aix    -qsource \\ 
     
    118118      OPAFILES/\$*.F90 || { mv \$(PREF).L \$(TMP) ; false ; exit ; } 
    119119#-Q- sxdkrz    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    120 #-Q- eshpux       @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
     120#-Q- es2       @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    121121endif 
    122122 
     
    132132.PRECIOUS : \$(MODEL_LIB) 
    133133#-Q- sxdkrz .PRECIOUS : \$(SXMODEL_LIB) 
    134 #-Q- eshpux .PRECIOUS : \$(SXMODEL_LIB) 
     134#-Q- es2 .PRECIOUS : \$(SXMODEL_LIB) 
    135135 
    136136# library dependancies 
     
    151151#-Q- sx8brodie    -R2 \\ 
    152152#-Q- sxdkrz    -R2 \\ 
    153 #-Q- eshpux    -R2 \\ 
     153#-Q- es2    -R2 \\ 
    154154#-Q- aix    -qsource \\ 
    155155#-Q- aix6      -qsource \\ 
     
    157157      \$*.f90 || { if [ -f \$(PREF)\$*.L ] ; then mv \$(PREF)\$*.L \$(TMP) ; fi ; false ; exit ; } 
    158158#-Q- sxdkrz    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    159 #-Q- eshpux    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
     159#-Q- es2    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    160160      @\$(A_C) \$(MODEL_LIB) \$*.o  > /dev/null 
    161161      @\$(RM) \$*.[of] 
     
    187187#-Q- sx8brodie    -R2 \\ 
    188188#-Q- sxdkrz    -R2 \\ 
    189 #-Q- eshpux    -R2 \\ 
     189#-Q- es2    -R2 \\ 
    190190#-Q- aix    -qsource \\ 
    191191#-Q- aix6      -qsource \\ 
     
    199199#-Q- sx8brodie    -R2 \\ 
    200200#-Q- sxdkrz    -R2 \\ 
    201 #-Q- eshpux    -R2 \\ 
     201#-Q- es2    -R2 \\ 
    202202#-Q- aix    -qsource \\ 
    203203#-Q- aix6      -qsource \\ 
     
    206206endif 
    207207#-Q- sxdkrz    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    208 #-Q- eshpux    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
     208#-Q- es2    @\$(A_X) \$(SXMODEL_LIB) \$*.o  > /dev/null 
    209209      @\$(A_C) \$(MODEL_LIB) \$*.o  > /dev/null 
    210210      @\$(RM) \$*.[of] 
     
    230230echo '#          Check your compilers option in consequence when using real F95 compilers' 
    231231echo '' 
     232echo 'F_O += -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) ' 
     233echo 'L_X = $(L_O) ' 
    232234echo '#-Q- platine # Compiler options NEMO (CCRT Itanium Bull) ' 
    233235echo '#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC) ' 
     
    245247echo '#-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)' 
    246248echo '#-Q- sxdkrz  L_X = $(L_O) -ftrace' 
    247 echo '#-Q- eshpux  # Compiler options for NEMO (Earth Simulator)' 
    248 echo '#-Q- eshpux  # for super perfs!' 
    249 echo '#-Q- eshpux  # 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- eshpux  # regular options!' 
    251 echo '#-Q- eshpux  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 
    252 echo '#-Q- eshpux  L_X = $(L_O)' 
     249echo '#-Q- es2  # Compiler options for NEMO (Earth Simulator)' 
     250echo '#-Q- es2  # for super perfs!' 
     251echo '#-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)' 
     252echo '#-Q- es2  # regular options!' 
     253echo '#-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)' 
     254echo '#-Q- es2  L_X = $(L_O)' 
    253255echo '#-Q- linux  # Compiler options for NEMO (pgf version)' 
    254256echo '#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 
     
    286288echo '#-Q- sx8brodie PREF=i.' 
    287289echo '#-Q- sxdkrz PREF=i.' 
    288 echo '#-Q- eshpux PREF=i.' 
     290echo '#-Q- es2 PREF=i.' 
    289291echo '' 
    290292echo '# add suffix to P_P' 
     
    327329 
    328330echo '#check key compatibility' 
    329 echo 'keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 
     331echo 'keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 
    330332 
    331333echo '' 
     
    403405   for inc in `sed -n 's/^[   ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 
    404406   do 
     407        if [ "${inc}" != "mpif.h" ] 
     408        then 
    405409       dep="$dep\n$inc" 
     410        fi  
    406411   done 
    407412 
     
    415420   for inc in `sed -n 's/^#[  ]*[iI][nN][cC][lL][uU][dD][eE][  ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` 
    416421   do 
     422        if [ "${inc}" != "mpif.h" ] 
     423        then 
    417424       j=1 
    418425       dep="$dep\n$inc" 
     
    426433          done 
    427434      done 
     435        fi  
    428436   done 
    429437 
Note: See TracChangeset for help on using the changeset viewer.