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 1953 – NEMO

Changeset 1953


Ignore:
Timestamp:
2010-06-24T17:27:10+02:00 (14 years ago)
Author:
acc
Message:

ticket #684 step 3: Add in changes from the trunk between revisions 1784 and 1821. No conflicts so far

Location:
branches/DEV_r1784_mid_year_merge_2010
Files:
92 edited
6 copied

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1784_mid_year_merge_2010/AGRIF/AA_make

    r1771 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AA_make.ldef

    r1272 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modbc.F

    r1200 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modinterp.F

    r1200 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modlinktomodel.F

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

    r898 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modtypes.F

    r1200 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modupdate.F

    r1200 r1953  
    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/DEV_r1784_mid_year_merge_2010/AGRIF/AGRIF_FILES/modutil.F

    r662 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/GYRE/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    456456#-Q- sx8brodie    -R2 \ 
    457457#-Q- sxdkrz    -R2 \ 
    458 #-Q- eshpux    -R2 \ 
     458#-Q- es2    -R2 \ 
    459459#-Q- aix6      -qsource \ 
    460460#-Q- aix    -qsource \ 
     
    462462      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    463463#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    464 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     464#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    465465endif 
    466466 
     
    476476.PRECIOUS : $(MODEL_LIB) 
    477477#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    478 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     478#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    479479 
    480480# library dependancies 
     
    495495#-Q- sx8brodie    -R2 \ 
    496496#-Q- sxdkrz    -R2 \ 
    497 #-Q- eshpux    -R2 \ 
     497#-Q- es2    -R2 \ 
    498498#-Q- aix    -qsource \ 
    499499#-Q- aix6      -qsource \ 
     
    501501      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    502502#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    503 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     503#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    504504      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    505505      @$(RM) $*.[of] 
     
    531531#-Q- sx8brodie    -R2 \ 
    532532#-Q- sxdkrz    -R2 \ 
    533 #-Q- eshpux    -R2 \ 
     533#-Q- es2    -R2 \ 
    534534#-Q- aix    -qsource \ 
    535535#-Q- aix6      -qsource \ 
     
    543543#-Q- sx8brodie    -R2 \ 
    544544#-Q- sxdkrz    -R2 \ 
    545 #-Q- eshpux    -R2 \ 
     545#-Q- es2    -R2 \ 
    546546#-Q- aix    -qsource \ 
    547547#-Q- aix6      -qsource \ 
     
    550550endif 
    551551#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    552 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     552#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    553553      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    554554      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/GYRE/scripts/BB_make.ldef

    r1759 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/GYRE_LOBSTER/EXP00/iodef.xml

    r1772 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/GYRE_LOBSTER/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    585585#-Q- sx8brodie    -R2 \ 
    586586#-Q- sxdkrz    -R2 \ 
    587 #-Q- eshpux    -R2 \ 
     587#-Q- es2    -R2 \ 
    588588#-Q- aix6      -qsource \ 
    589589#-Q- aix    -qsource \ 
     
    591591      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    592592#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    593 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     593#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    594594endif 
    595595 
     
    605605.PRECIOUS : $(MODEL_LIB) 
    606606#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    607 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     607#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    608608 
    609609# library dependancies 
     
    624624#-Q- sx8brodie    -R2 \ 
    625625#-Q- sxdkrz    -R2 \ 
    626 #-Q- eshpux    -R2 \ 
     626#-Q- es2    -R2 \ 
    627627#-Q- aix    -qsource \ 
    628628#-Q- aix6      -qsource \ 
     
    630630      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    631631#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    632 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     632#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    633633      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    634634      @$(RM) $*.[of] 
     
    660660#-Q- sx8brodie    -R2 \ 
    661661#-Q- sxdkrz    -R2 \ 
    662 #-Q- eshpux    -R2 \ 
     662#-Q- es2    -R2 \ 
    663663#-Q- aix    -qsource \ 
    664664#-Q- aix6      -qsource \ 
     
    672672#-Q- sx8brodie    -R2 \ 
    673673#-Q- sxdkrz    -R2 \ 
    674 #-Q- eshpux    -R2 \ 
     674#-Q- es2    -R2 \ 
    675675#-Q- aix    -qsource \ 
    676676#-Q- aix6      -qsource \ 
     
    679679endif 
    680680#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    681 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     681#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    682682      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    683683      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/GYRE_LOBSTER/scripts/BB_make.ldef

    r1759 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/EXP00/iodef.xml

    r1772 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.card

    r1764 r1953  
    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_1O_orca2, v_1O_orca2, ncar_rad_1O_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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.driver

    r1764 r1953  
    4949    (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 )) 
    5050 
    51     # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs  
     51    # Definition from opa9.card of List_jobsbc 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[*]} 
     71   typeset file  
     72 
     73   (( final_year =${InitYear} + ${PeriodLengthInYears} - 1 )) 
     74        NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     75 
     76        (( NbFileInter_tot=${#opa9_Interannual_List_jobsbc[*]} * ${PeriodLengthInYears} )) 
    7677 
    7778   (( 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} 
     79 
     80   while [ ${year} -le ${final_year} ] ; do #copy in ONCE of ALL necessary files for all PeriodLength 
     81        
     82       while [ $i -lt ${NbFileInter} ] ; do 
     83       
     84      eval file=${opa9_Interannual_List_jobsbc[$i]} 
     85      # download (year-1) if it is first year and first month of run 
     86      if [ X${year} = X${InitYear} ] ; then   
     87            if [ X${Period} = X1 ] ; then 
     88                           if [ ${month} -eq 01 ] ; then 
     89                  # if year-1 does not exist create a dummy file (NEMO will use same year) 
     90                  eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
     91                  if  [ ! -f ${jobsbc_file_ym1} ] ; then 
     92                     eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     93                     eval runsbc_file_ym1=${file}_noy.nc 
     94                  else 
     95                      eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
     96                      eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 
     97                  fi 
     98 
     99                              IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
     100                           fi 
     101                    fi 
    99102      fi 
     103       
     104            # download year  
     105      eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     106      eval runsbc_file_y=${file}_y${year}.nc 
     107       
    100108      if [ ! -f ${runsbc_file_y} ] ; then 
    101109          IGCM_sys_Get ${jobsbc_file_y} ${runsbc_file_y} 
    102110      fi 
    103       if [ ! -f ${runsbc_file_yp1} ] ; then 
    104           IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     111       
     112      # download (year+1) if it is last year of run 
     113      if [ X${year} = X${final_year} ] ; then    
     114    
     115          eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     116          eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
     117           
     118          if  [ ! -f ${runsbc_file_yp1} ] ; then 
     119          
     120              # if year+1 does not exist create a dummy file (NEMO will use same year) 
     121         if  [ ! -f ${jobsbc_file_yp1} ] ; then 
     122             eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     123                eval runsbc_file_ym1=${file}_noy.nc 
     124         else 
     125             eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     126             eval runsbc_file_ym1=${file}_y$(( year + 1 )).nc 
     127         fi 
     128         IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     129          fi 
     130           
    105131      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 )) 
     132      (( i = i + 1 )) 
     133    
     134       done 
     135    
     136       (( year = year + 1 )) 
     137     
     138       (( i = 0 )) 
    113139   done 
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    463463#-Q- sx8brodie    -R2 \ 
    464464#-Q- sxdkrz    -R2 \ 
    465 #-Q- eshpux    -R2 \ 
     465#-Q- es2    -R2 \ 
    466466#-Q- aix6      -qsource \ 
    467467#-Q- aix    -qsource \ 
     
    469469      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    470470#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    471 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     471#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    472472endif 
    473473 
     
    483483.PRECIOUS : $(MODEL_LIB) 
    484484#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    485 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     485#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    486486 
    487487# library dependancies 
     
    502502#-Q- sx8brodie    -R2 \ 
    503503#-Q- sxdkrz    -R2 \ 
    504 #-Q- eshpux    -R2 \ 
     504#-Q- es2    -R2 \ 
    505505#-Q- aix    -qsource \ 
    506506#-Q- aix6      -qsource \ 
     
    508508      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    509509#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    510 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     510#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    511511      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    512512      @$(RM) $*.[of] 
     
    538538#-Q- sx8brodie    -R2 \ 
    539539#-Q- sxdkrz    -R2 \ 
    540 #-Q- eshpux    -R2 \ 
     540#-Q- es2    -R2 \ 
    541541#-Q- aix    -qsource \ 
    542542#-Q- aix6      -qsource \ 
     
    550550#-Q- sx8brodie    -R2 \ 
    551551#-Q- sxdkrz    -R2 \ 
    552 #-Q- eshpux    -R2 \ 
     552#-Q- es2    -R2 \ 
    553553#-Q- aix    -qsource \ 
    554554#-Q- aix6      -qsource \ 
     
    557557endif 
    558558#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    559 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     559#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    560560      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    561561      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/scripts/BB_make.ldef

    r1759 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_pisces

    r1751 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    588588#-Q- sx8brodie    -R2 \ 
    589589#-Q- sxdkrz    -R2 \ 
    590 #-Q- eshpux    -R2 \ 
     590#-Q- es2    -R2 \ 
    591591#-Q- aix6      -qsource \ 
    592592#-Q- aix    -qsource \ 
     
    594594      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    595595#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    596 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     596#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    597597endif 
    598598 
     
    608608.PRECIOUS : $(MODEL_LIB) 
    609609#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    610 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     610#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    611611 
    612612# library dependancies 
     
    627627#-Q- sx8brodie    -R2 \ 
    628628#-Q- sxdkrz    -R2 \ 
    629 #-Q- eshpux    -R2 \ 
     629#-Q- es2    -R2 \ 
    630630#-Q- aix    -qsource \ 
    631631#-Q- aix6      -qsource \ 
     
    633633      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    634634#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    635 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     635#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    636636      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    637637      @$(RM) $*.[of] 
     
    663663#-Q- sx8brodie    -R2 \ 
    664664#-Q- sxdkrz    -R2 \ 
    665 #-Q- eshpux    -R2 \ 
     665#-Q- es2    -R2 \ 
    666666#-Q- aix    -qsource \ 
    667667#-Q- aix6      -qsource \ 
     
    675675#-Q- sx8brodie    -R2 \ 
    676676#-Q- sxdkrz    -R2 \ 
    677 #-Q- eshpux    -R2 \ 
     677#-Q- es2    -R2 \ 
    678678#-Q- aix    -qsource \ 
    679679#-Q- aix6      -qsource \ 
     
    682682endif 
    683683#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    684 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     684#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    685685      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    686686      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make.ldef

    r1759 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist

    r1751 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_pisces

    r1751 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/IGCM00/COMP/pisces.card

    r1764 r1953  
    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/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    390390#-Q- sx8brodie    -R2 \ 
    391391#-Q- sxdkrz    -R2 \ 
    392 #-Q- eshpux    -R2 \ 
     392#-Q- es2    -R2 \ 
    393393#-Q- aix6      -qsource \ 
    394394#-Q- aix    -qsource \ 
     
    396396      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    397397#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    398 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     398#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    399399endif 
    400400 
     
    410410.PRECIOUS : $(MODEL_LIB) 
    411411#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    412 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     412#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    413413 
    414414# library dependancies 
     
    429429#-Q- sx8brodie    -R2 \ 
    430430#-Q- sxdkrz    -R2 \ 
    431 #-Q- eshpux    -R2 \ 
     431#-Q- es2    -R2 \ 
    432432#-Q- aix    -qsource \ 
    433433#-Q- aix6      -qsource \ 
     
    435435      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    436436#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    437 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     437#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    438438      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    439439      @$(RM) $*.[of] 
     
    465465#-Q- sx8brodie    -R2 \ 
    466466#-Q- sxdkrz    -R2 \ 
    467 #-Q- eshpux    -R2 \ 
     467#-Q- es2    -R2 \ 
    468468#-Q- aix    -qsource \ 
    469469#-Q- aix6      -qsource \ 
     
    477477#-Q- sx8brodie    -R2 \ 
    478478#-Q- sxdkrz    -R2 \ 
    479 #-Q- eshpux    -R2 \ 
     479#-Q- es2    -R2 \ 
    480480#-Q- aix    -qsource \ 
    481481#-Q- aix6      -qsource \ 
     
    484484endif 
    485485#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    486 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     486#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    487487      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    488488      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make.ldef

    r1759 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/POMME/scripts/BB_make

    r1778 r1953  
    2222#-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) 
    2323#-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) 
     24#-Q- es2  # Compiler options for NEMO (Earth Simulator) 
     25#-Q- es2  # for super perfs! 
     26#-Q- es2  # F_O = -f2003 nocbind $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     27#-Q- es2  # regular options! 
     28#-Q- es2  F_O = -f2003 nocbind $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     29#-Q- es2  L_X = $(L_O) 
    3030#-Q- linux  # Compiler options for NEMO (pgf version) 
    3131#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
     
    6262#-Q- sx8brodie PREF=i. 
    6363#-Q- sxdkrz PREF=i. 
    64 #-Q- eshpux PREF=i. 
     64#-Q- es2 PREF=i. 
    6565 
    6666# add suffix to P_P 
     
    456456#-Q- sx8brodie    -R2 \ 
    457457#-Q- sxdkrz    -R2 \ 
    458 #-Q- eshpux    -R2 \ 
     458#-Q- es2    -R2 \ 
    459459#-Q- aix6      -qsource \ 
    460460#-Q- aix    -qsource \ 
     
    462462      OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; } 
    463463#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    464 #-Q- eshpux       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     464#-Q- es2       @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    465465endif 
    466466 
     
    476476.PRECIOUS : $(MODEL_LIB) 
    477477#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB) 
    478 #-Q- eshpux .PRECIOUS : $(SXMODEL_LIB) 
     478#-Q- es2 .PRECIOUS : $(SXMODEL_LIB) 
    479479 
    480480# library dependancies 
     
    495495#-Q- sx8brodie    -R2 \ 
    496496#-Q- sxdkrz    -R2 \ 
    497 #-Q- eshpux    -R2 \ 
     497#-Q- es2    -R2 \ 
    498498#-Q- aix    -qsource \ 
    499499#-Q- aix6      -qsource \ 
     
    501501      $*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
    502502#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    503 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     503#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    504504      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    505505      @$(RM) $*.[of] 
     
    531531#-Q- sx8brodie    -R2 \ 
    532532#-Q- sxdkrz    -R2 \ 
    533 #-Q- eshpux    -R2 \ 
     533#-Q- es2    -R2 \ 
    534534#-Q- aix    -qsource \ 
    535535#-Q- aix6      -qsource \ 
     
    543543#-Q- sx8brodie    -R2 \ 
    544544#-Q- sxdkrz    -R2 \ 
    545 #-Q- eshpux    -R2 \ 
     545#-Q- es2    -R2 \ 
    546546#-Q- aix    -qsource \ 
    547547#-Q- aix6      -qsource \ 
     
    550550endif 
    551551#-Q- sxdkrz    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    552 #-Q- eshpux    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
     552#-Q- es2    @$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null 
    553553      @$(A_C) $(MODEL_LIB) $*.o  > /dev/null 
    554554      @$(RM) $*.[of] 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/POMME/scripts/BB_make.ldef

    r1729 r1953  
    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  = 
     
    3737#-Q- sx9mercure prefix = -D 
    3838#-Q- sx8brodie prefix = -D 
    39 #-Q- eshpux prefix = -D 
     39#-Q- es2 prefix = -D 
    4040#-Q- sxdkrz prefix = -D 
    4141#-Q- linux  prefix = -D 
  • branches/DEV_r1784_mid_year_merge_2010/EXTERNAL/XMLF90/AA_make

    r1722 r1953  
    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/DEV_r1784_mid_year_merge_2010/EXTERNAL/XMLF90/makemake_XMLF90.perl

    r1723 r1953  
    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/DEV_r1784_mid_year_merge_2010/EXTERNAL/XMLIO_SERVER/AA_make

    r1728 r1953  
    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/DEV_r1784_mid_year_merge_2010/EXTERNAL/XMLIO_SERVER/makemake_XMLIO.perl

    r1728 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/LIM_SRC_2/limwri_2.F90

    r1715 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/NST_SRC/agrif2model.F90

    r1156 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OFF_SRC/DOM/domrea.F90

    r1641 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/diadimg.F90

    r1715 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/dianam.F90

    r1731 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/diawri.F90

    r1756 r1953  
    629629      ! Define name, frequency of output and means 
    630630      clname = cdfile_name 
    631 #if defined key_agrif 
    632       if ( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    633 #endif 
     631      IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    634632      zdt  = rdt 
    635633      zsto = rdt 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/dom_oce.F90

    r1730 r1953  
    219219#else 
    220220   LOGICAL, PUBLIC, PARAMETER ::   lk_agrif = .FALSE.   !: agrif flag 
     221 
     222CONTAINS 
     223   LOGICAL FUNCTION Agrif_Root() 
     224      Agrif_Root = .TRUE. 
     225   END FUNCTION Agrif_Root 
     226 
     227   CHARACTER(len=3) FUNCTION Agrif_CFixed() 
     228     Agrif_CFixed = '0'  
     229   END FUNCTION Agrif_CFixed 
    221230#endif 
    222231 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domain.F90

    r1732 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domhgr.F90

    r1707 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/divcur.F90

    r1152 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r1739 r1953  
    330330      END DO 
    331331 
    332 #if defined key_agrif       
     332#if defined key_agrif 
    333333      IF( .NOT. Agrif_Root() ) THEN 
    334334         ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
     
    338338         IF( nbondj ==  1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 
    339339      ENDIF 
    340 #endif       
     340#endif 
     341 
    341342      ! Add the trends multiplied by z2dt to the after velocity 
    342343      ! ------------------------------------------------------- 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/sshwzv.F90

    r1756 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/IOM/iom.F90

    r1743 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_oce.F90

    r1601 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcini.F90

    r1633 r1953  
    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 
     
    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    
     443 
    443444         IF( lp_obc_north ) THEN ! ... North open boundary lateral surface 
    444445            DO jj = njn0, njn1 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcrst.F90

    r1715 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/fldread.F90

    r1951 r1953  
    383383          
    384384         ! if previous year/month/day file does not exist, we switch to the current year/month/day 
    385          IF( llprev .AND. sdjf%num == 0 ) THEN 
     385         IF( llprev .AND. sdjf%num <= 0 ) THEN 
    386386            CALL ctl_warn( 'previous year/month/day file: '//TRIM(sdjf%clname)//' not present -> back to current year/month/day') 
    387387            ! we force to read the first record of the current year/month/day instead of last record of previous year/month/day 
     
    421421      ENDIF 
    422422 
    423       IF( sdjf%num == 0 )   CALL fld_clopn( sdjf, nyear, nmonth, nday )   ! make sure current year/month/day file is opened 
     423      IF( sdjf%num <= 0 )   CALL fld_clopn( sdjf, nyear, nmonth, nday )   ! make sure current year/month/day file is opened 
    424424 
    425425      sdjf%nswap_sec = nsec_year + nsec1jan000 - 1   ! force read/update the after data in the following part of fld_read  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/sbcmod.F90

    r1725 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SOL/solmat.F90

    r1601 r1953  
    142142#endif 
    143143 
    144 #if defined key_agrif 
    145       IF( .NOT.AGRIF_ROOT() ) THEN 
     144      IF( .NOT. Agrif_Root() ) THEN   ! Fine grid boundaries 
    146145         ! 
    147146         IF( nbondi == -1 .OR. nbondi == 2 )   bmask(2     ,:     ) = 0.e0 
     
    192191         !  
    193192      ENDIF 
    194 #endif 
    195193 
    196194      ! 2. Boundary conditions  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/lib_mpp.F90

    r1718 r1953  
    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 ) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/opa.F90

    r1725 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/step.F90

    r1756 r1953  
    166166#if defined key_agrif 
    167167      kstp = nit000 + Agrif_Nb_Step() 
    168 !      IF ( Agrif_Root() .and. lwp) Write(*,*) '---' 
    169 !      IF (lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 
     168!      IF( Agrif_Root() .and. lwp) Write(*,*) '---' 
     169!      IF(lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 
     170# if defined key_iomput 
     171      IF( Agrif_Nbstepint() == 0) CALL iom_swap 
     172# endif    
    170173#endif    
    171174      indic = 1                                       ! reset to no error condition 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/C14b/trclsm_c14b.F90

    r1581 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/CFC/trcctl_cfc.F90

    r1255 r1953  
    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 '   
     
    6261 
    6362      IF(lwp) THEN 
    64          WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
    65          WRITE (numout,*) ' =======   ============= ' 
     63         WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 
    6664         WRITE (numout,*) ' we force tracer names' 
    6765         DO jl = 1, jp_cfc 
     
    8078            ctrcun(jn) = 'mole/m3' 
    8179            IF(lwp) THEN 
    82                WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
    83                WRITE (numout,*) ' =======   ============= ' 
     80               WRITE (numout,*) ' ===>>>> : w a r n i n g <<<<===' 
    8481               WRITE (numout,*) ' we force tracer unit' 
    8582               WRITE(numout,*) ' tracer  ',ctrcnm(jn), 'UNIT= ',ctrcun(jn) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/CFC/trclsm_cfc.F90

    r1581 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r1457 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/LOBSTER/trcexp.F90

    r1457 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90

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

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

    r1457 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zbio.F90

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

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

    r1737 r1953  
    5252 
    5353   !!* Substitution 
    54 #  include "domzgr_substitute.h90" 
     54#  include "top_substitute.h90" 
    5555   !!---------------------------------------------------------------------- 
    5656   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zlim.F90

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

    r1736 r1953  
    4545 
    4646   !!* Substitution 
    47 #  include "domzgr_substitute.h90" 
     47#  include "top_substitute.h90" 
    4848   !!---------------------------------------------------------------------- 
    4949   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r1736 r1953  
    4343 
    4444   !!* Substitution 
    45 #  include "domzgr_substitute.h90" 
     45#  include "top_substitute.h90" 
    4646   !!---------------------------------------------------------------------- 
    4747   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zmort.F90

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

    r1678 r1953  
    3535    
    3636   !!* Substitution 
    37 #  include "domzgr_substitute.h90" 
     37#  include "top_substitute.h90" 
    3838   !!---------------------------------------------------------------------- 
    3939   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1736 r1953  
    5353 
    5454   !!* Substitution 
    55 #  include "domzgr_substitute.h90" 
     55#  include "top_substitute.h90" 
    5656   !!---------------------------------------------------------------------- 
    5757   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zrem.F90

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

    r1736 r1953  
    6969 
    7070   !!* Substitution 
    71 #  include "domzgr_substitute.h90" 
     71#  include "top_substitute.h90" 
    7272   !!---------------------------------------------------------------------- 
    7373   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r1678 r1953  
    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 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

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

    r1581 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/TRP/trctrp.F90

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

    r1271 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/TRP/trczdf_iso.F90

    r1271 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/TRP/trczdf_iso_vopt.F90

    r1328 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcdta.F90

    r1645 r1953  
    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/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcrst.F90

    r1655 r1953  
    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 
    2736   IMPLICIT NONE 
    2837   PRIVATE 
    29     
     38 
    3039   PUBLIC   trc_rst_opn       ! called by ??? 
    3140   PUBLIC   trc_rst_read      ! called by ??? 
    3241   PUBLIC   trc_rst_wri       ! called by ??? 
    33     
     42 
    3443   INTEGER, PUBLIC ::   numrtr, numrtw   !: logical unit for trc restart (read and write) 
    35  
    3644 
    3745   !! * Substitutions 
     
    8997   END SUBROUTINE trc_rst_opn 
    9098 
    91  
    92    SUBROUTINE trc_rst_read  
     99   SUBROUTINE trc_rst_read 
    93100      !!---------------------------------------------------------------------- 
    94101      !!                    ***  trc_rst_opn  *** 
     
    96103      !! ** purpose  :   read passive tracer fields in restart files 
    97104      !!---------------------------------------------------------------------- 
    98       INTEGER  ::  jn   
    99       INTEGER  ::  iarak0 
     105      INTEGER  ::  jn      
     106      INTEGER  ::  iarak0  
    100107      REAL(wp) ::  zarak0 
    101108      INTEGER  ::  jlibalt = jprstlib 
    102109      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 
    108110 
    109111      !!---------------------------------------------------------------------- 
     
    115117      IF ( jprstlib == jprstdimg ) THEN 
    116118        ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    117         ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 
     119        ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90  
    118120        INQUIRE( FILE = TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 
    119         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    120       ENDIF 
    121        
    122       CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt ) 
     121        IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF  
     122      ENDIF 
     123 
     124      CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt )  
    123125 
    124126      ! Time domain : restart 
     
    136138         & ' centered or euler '  ) 
    137139      IF(lwp) WRITE(numout,*) 
    138  
    139140      IF(lwp) WRITE(numout,*) '    arakawa option      : ', NINT( zarak0 ) 
    140141 
    141  
    142142      ! READ prognostic variables and computes diagnostic variable 
    143143      DO jn = 1, jptra 
    144          CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) )  
    145       END DO 
    146  
    147       DO jn = 1, jptra 
    148          CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) )  
    149       END DO 
    150  
    151 #if defined key_lobster 
    152       CALL iom_get( numrtr, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) )  
    153       CALL iom_get( numrtr, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) )  
    154 #endif 
    155 #if defined key_pisces 
    156       ! 
    157       IF( ln_pisdmp ) CALL pis_dmp_ini  ! relaxation of some tracers 
    158       ! 
    159       IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 
    160          CALL iom_get( numrtr, jpdom_autoglo, 'PH' , hi(:,:,:)  ) 
    161       ELSE 
    162          ! Set PH from  total alkalinity, borat (???), akb3 (???) and ak23 (???) 
    163          ! -------------------------------------------------------- 
    164          DO jk = 1, jpk 
    165             DO jj = 1, jpj 
    166                DO ji = 1, jpi 
    167                   ztmas   = tmask(ji,jj,jk) 
    168                   ztmas1  = 1. - tmask(ji,jj,jk) 
    169                   zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / (  1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) )  ) 
    170                   zco3    = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 
    171                   zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 
    172                   hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 
    173                END DO 
    174             END DO 
    175          END DO 
    176       ENDIF 
    177       CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) )  
    178       IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 
    179          CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax' , xksimax(:,:)  ) 
    180       ELSE 
    181          xksimax(:,:) = xksi(:,:) 
    182       ENDIF 
    183 #endif 
    184 #if defined key_cfc 
    185       DO jn = jp_cfc0, jp_cfc1 
    186          CALL iom_get( numrtr, jpdom_autoglo, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) )  
    187       END DO 
    188 #endif 
    189 #if defined key_c14b 
    190       CALL iom_get( numrtr, jpdom_autoglo, 'qint_'//ctrcnm(jn) , qint_c14(:,:) )  
    191 #endif 
    192 #if defined key_my_trc 
    193 #endif 
    194        
     144         CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 
     145      END DO 
     146 
     147      DO jn = 1, jptra 
     148         CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 
     149      END DO 
     150 
     151      IF( lk_lobster )   CALL trc_rst_read_lobster( numrtr )      ! LOBSTER bio-model 
     152      IF( lk_pisces  )   CALL trc_rst_read_pisces ( numrtr )      ! PISCES  bio-model 
     153      IF( lk_cfc     )   CALL trc_rst_read_cfc    ( numrtr )      ! CFC     tracers 
     154      IF( lk_c14b    )   CALL trc_rst_read_c14b   ( numrtr )      ! C14 bomb  tracer 
     155      IF( lk_my_trc  )   CALL trc_rst_read_my_trc ( numrtr )      ! MY_TRC  tracers 
     156 
    195157      CALL iom_close( numrtr ) 
    196158      ! 
    197159   END SUBROUTINE trc_rst_read 
    198  
    199160 
    200161   SUBROUTINE trc_rst_wri( kt ) 
     
    218179      CALL iom_rstput( kt, nitrst, numrtw, 'arak0', zarak0 ) 
    219180 
    220       ! prognostic variables 
    221       ! -------------------- 
     181      ! prognostic variables  
     182      ! --------------------  
    222183      DO jn = 1, jptra 
    223184         CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 
     
    228189      END DO 
    229190 
    230 #if defined key_lobster 
    231          CALL iom_rstput( kt, nitrst, numrtw, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
    232          CALL iom_rstput( kt, nitrst, numrtw, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
    233 #endif 
    234 #if defined key_pisces  
    235          CALL iom_rstput( kt, nitrst, numrtw, 'PH', hi(:,:,:) ) 
    236          CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:) ) 
    237          CALL iom_rstput( kt, nitrst, numrtw, 'Silicamax', xksimax(:,:) ) 
    238 #endif 
    239 #if defined key_cfc 
    240          DO jn = jp_cfc0, jp_cfc1 
    241             CALL iom_rstput( kt, nitrst, numrtw, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) ) 
    242          END DO 
    243 #endif 
    244 #if defined key_c14b 
    245          CALL iom_rstput( kt, nitrst, numrtw, 'qint_'//ctrcnm(jn), qint_c14(:,:) ) 
    246 #endif 
    247 #if defined key_my_trc 
    248 #endif 
    249        
     191      IF( lk_lobster )   CALL trc_rst_wri_lobster( kt, nitrst, numrtw )      ! LOBSTER bio-model 
     192      IF( lk_pisces  )   CALL trc_rst_wri_pisces ( kt, nitrst, numrtw )      ! PISCES  bio-model 
     193      IF( lk_cfc     )   CALL trc_rst_wri_cfc    ( kt, nitrst, numrtw )      ! CFC     tracers 
     194      IF( lk_c14b    )   CALL trc_rst_wri_c14b   ( kt, nitrst, numrtw )      ! C14 bomb  tracer 
     195      IF( lk_my_trc  )   CALL trc_rst_wri_my_trc ( kt, nitrst, numrtw )      ! MY_TRC  tracers 
     196 
    250197      IF( kt == nitrst ) THEN 
    251198          CALL trc_rst_stat            ! statistics 
     
    256203      ENDIF 
    257204      ! 
    258    END SUBROUTINE trc_rst_wri 
     205   END SUBROUTINE trc_rst_wri  
     206 
    259207 
    260208   SUBROUTINE trc_rst_cal( kt, cdrw ) 
     
    347295   END SUBROUTINE trc_rst_cal 
    348296 
    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       !!---------------------------------------------------------------------- 
    462297 
    463298   SUBROUTINE trc_rst_stat 
  • branches/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE

    r1402 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_GYRE_LOBSTER

    r1402 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM

    r1412 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM3

    r1464 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_LIM_PISCES

    r1402 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ORCA2_OFF_PISCES

    r1402 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/INSTALL/CONFIG_FILES/BB_make.ldef_ZAGRIF

    r1402 r1953  
    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/DEV_r1784_mid_year_merge_2010/NVTK/fait_AA_make

    r1611 r1953  
    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 ' 
  • branches/DEV_r1784_mid_year_merge_2010/UTIL/fait_AA_make

    r1773 r1953  
    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] 
     
    245245echo '#-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)' 
    246246echo '#-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)' 
     247echo '#-Q- es2  # Compiler options for NEMO (Earth Simulator)' 
     248echo '#-Q- es2  # for super perfs!' 
     249echo '#-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)' 
     250echo '#-Q- es2  # regular options!' 
     251echo '#-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)' 
     252echo '#-Q- es2  L_X = $(L_O)' 
    253253echo '#-Q- linux  # Compiler options for NEMO (pgf version)' 
    254254echo '#-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)' 
     
    286286echo '#-Q- sx8brodie PREF=i.' 
    287287echo '#-Q- sxdkrz PREF=i.' 
    288 echo '#-Q- eshpux PREF=i.' 
     288echo '#-Q- es2 PREF=i.' 
    289289echo '' 
    290290echo '# add suffix to P_P' 
     
    327327 
    328328echo '#check key compatibility' 
    329 echo 'keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 
     329echo 'keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))' 
    330330 
    331331echo '' 
Note: See TracChangeset for help on using the changeset viewer.