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 1970 for branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2010-06-25T16:58:03+02:00 (14 years ago)
Author:
acc
Message:

ticket #684 step 5: Add in changes from the trunk between revisions 1821 and 1879.

Location:
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/diaptr.F90

    r1775 r1970  
    362362#endif 
    363363 
     364            ! Transports 
     365            ! T times V on T points (include bolus velocities) 
     366#if defined key_diaeiv  
     367            DO jj = 2, jpj 
     368               DO ji = 1, jpi 
     369                  vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 
     370                  vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 
     371               END DO 
     372            END DO 
     373#else 
     374            DO jj = 2, jpj 
     375               DO ji = 1, jpi 
     376                  vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
     377                  vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
     378               END DO 
     379            END DO 
     380#endif  
     381            CALL lbc_lnk( vs, 'V', -1. )   ;   CALL lbc_lnk( vt, 'V', -1. ) 
     382 
     383            ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 ) 
     384            st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 ) 
     385 
     386            IF ( ln_subbas ) THEN  
     387               ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
     388               ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
     389               ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
     390               ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
     391               st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
     392               st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
     393               st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
     394               st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
     395            ENDIF 
     396 
     397            ! poleward tracer transports:  
     398            ! overturning components: 
     399            IF ( ln_ptrcomp ) THEN  
     400               pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
     401               pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )   
     402               IF ( ln_subbas ) THEN  
     403                  pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
     404                  pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 )   
     405                  pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
     406                  pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 )   
     407                  pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
     408                  pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 )   
     409                  pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
     410                  pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )   
     411               END IF 
     412            END IF 
     413 
     414            ! Bolus component 
     415#if defined key_diaeiv 
     416            pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
     417            pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 )   ! SUM over jk 
     418            IF ( ln_subbas ) THEN  
     419               pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
     420               pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 )   ! SUM over jk 
     421               pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
     422               pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 )   ! SUM over jk 
     423               pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
     424               pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 )   ! SUM over jk 
     425               pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
     426               pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 )   ! SUM over jk 
     427            ENDIF 
     428#endif 
     429 
     430            ! conversion in PW and G g 
     431            zpwatt = zpwatt * rau0 * rcp 
     432            pht_adv(:) = pht_adv(:) * zpwatt   
     433            pht_ldf(:) = pht_ldf(:) * zpwatt 
     434            pst_adv(:) = pst_adv(:) * zggram 
     435            pst_ldf(:) = pst_ldf(:) * zggram 
     436            IF ( ln_ptrcomp ) THEN  
     437               pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 
     438               pst_ove_glo(:) = pst_ove_glo(:) * zggram 
     439            END IF 
     440#if defined key_diaeiv 
     441            pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 
     442            pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 
     443#endif 
     444            IF( ln_subbas ) THEN 
     445               ht_atl(:) = ht_atl(:) * zpwatt 
     446               ht_pac(:) = ht_pac(:) * zpwatt 
     447               ht_ind(:) = ht_ind(:) * zpwatt 
     448               ht_ipc(:) = ht_ipc(:) * zpwatt 
     449               st_atl(:) = st_atl(:) * zggram  
     450               st_pac(:) = st_pac(:) * zggram 
     451               st_ind(:) = st_ind(:) * zggram 
     452               st_ipc(:) = st_ipc(:) * zggram 
     453            ENDIF 
     454 
    364455            ! "Meridional" Stream-Function 
    365456            DO jk = 2,jpk  
     
    394485               v_msf_ind(:,:) = v_msf_ind(:,:) * zsverdrup 
    395486               v_msf_ipc(:,:) = v_msf_ipc(:,:) * zsverdrup 
    396             ENDIF 
    397  
    398             ! Transports 
    399             ! T times V on T points (include bolus velocities) 
    400 #if defined key_diaeiv  
    401             DO jj = 2, jpj 
    402                DO ji = 1, jpi 
    403                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 
    404                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 
    405                END DO 
    406             END DO 
    407 #else 
    408             DO jj = 2, jpj 
    409                DO ji = 1, jpi 
    410                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    411                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    412                END DO 
    413             END DO 
    414 #endif  
    415             CALL lbc_lnk( vs, 'V', -1. )   ;   CALL lbc_lnk( vt, 'V', -1. ) 
    416  
    417             ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 ) 
    418             st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 ) 
    419  
    420             IF ( ln_subbas ) THEN  
    421                ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
    422                ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
    423                ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
    424                ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
    425                st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
    426                st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
    427                st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
    428                st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
    429             ENDIF 
    430  
    431             ! poleward tracer transports:  
    432             ! overturning components: 
    433             IF ( ln_ptrcomp ) THEN  
    434                pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    435                pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )   
    436                IF ( ln_subbas ) THEN  
    437                   pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    438                   pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 )   
    439                   pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
    440                   pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 )   
    441                   pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
    442                   pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 )   
    443                   pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
    444                   pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )   
    445                END IF 
    446             END IF 
    447  
    448             ! Bolus component 
    449 #if defined key_diaeiv 
    450             pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    451             pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 )   ! SUM over jk 
    452             IF ( ln_subbas ) THEN  
    453                pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    454                pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 )   ! SUM over jk 
    455                pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
    456                pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 )   ! SUM over jk 
    457                pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
    458                pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 )   ! SUM over jk 
    459                pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
    460                pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 )   ! SUM over jk 
    461             ENDIF 
    462 #endif 
    463  
    464             ! conversion in PW and G g 
    465             zpwatt = zpwatt * rau0 * rcp 
    466             pht_adv(:) = pht_adv(:) * zpwatt   
    467             pht_ldf(:) = pht_ldf(:) * zpwatt 
    468             pst_adv(:) = pst_adv(:) * zggram 
    469             pst_ldf(:) = pst_ldf(:) * zggram 
    470             IF ( ln_ptrcomp ) THEN  
    471                pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 
    472                pst_ove_glo(:) = pst_ove_glo(:) * zggram 
    473             END IF 
    474 #if defined key_diaeiv 
    475             pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 
    476             pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 
    477 #endif 
    478             IF( ln_subbas ) THEN 
    479                ht_atl(:) = ht_atl(:) * zpwatt 
    480                ht_pac(:) = ht_pac(:) * zpwatt 
    481                ht_ind(:) = ht_ind(:) * zpwatt 
    482                ht_ipc(:) = ht_ipc(:) * zpwatt 
    483                st_atl(:) = st_atl(:) * zggram  
    484                st_pac(:) = st_pac(:) * zggram 
    485                st_ind(:) = st_ind(:) * zggram 
    486                st_ipc(:) = st_ipc(:) * zggram 
    487487            ENDIF 
    488488         ENDIF 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/dom_oce.F90

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

    r1739 r1970  
    44   !!     Definition of of both ocean and ice parameters used in the code 
    55   !!===================================================================== 
    6    !! History :        !  90-10  (C. Levy - G. Madec)  Original code 
    7    !!                  !  91-11  (G. Madec) 
    8    !!                  !  91-12  (M. Imbard) 
    9    !!             8.5  !  02-08  (G. Madec, C. Ethe)  F90, add ice constants 
    10    !!             9.0  !  06-08  (G. Madec)  style  
     6   !! History :   OPA  !  1990-10  (C. Levy, G. Madec)  Original code 
     7   !!                  !  1991-11  (G. Madec, M. Imbard) 
     8   !!  NEMO       1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants 
     9   !!              -   !  2006-08  (G. Madec)  style  
    1110   !!---------------------------------------------------------------------- 
    1211 
     
    5958      rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice 
    6059      cpic    = 2067.0        ,   & 
    61       ! add the following lines 
    6260      lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1) 
    6361      lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     
    6967      rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow 
    7068      rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice 
    71       xlsn    = 110.121e+6_wp ,   &  !: volumetric latent heat fusion of snow 
    72       xlic    = 300.33e+6_wp  ,   &  !: volumetric latent heat fusion of ice 
     69      lfus    = 0.3337e+6     ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     70      xlsn    = 110.121e+6_wp ,   &  !: = lfus * rhosn, volumetric latent heat fusion of snow 
     71      xlic    = 300.33e+6_wp  ,   &  !: = lfus * rhosn, volumetric latent heat fusion of ice 
    7372      xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow 
    7473      rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     
    8382      stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant  
    8483      !!---------------------------------------------------------------------- 
    85       !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     84      !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010)  
    8685      !! $Id$  
    87       !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     86      !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    8887      !!---------------------------------------------------------------------- 
    8988    
     
    160159      IF(lwp) WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 
    161160 
     161#if defined key_lim3 
     162      xlsn = lfus * rhosn        ! volumetric latent heat fusion of snow [J/m3] 
     163#else 
     164      lfus = xlsn / rhosn        ! latent heat of fusion of fresh ice 
     165#endif 
     166 
    162167      IF(lwp) THEN 
    163168         WRITE(numout,*) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/dynnxt.F90

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

    r1953 r1970  
    186186 
    187187#if defined key_obc 
    188       CALL obc_dyn( kt )      ! Update velocities on each open boundary with the radiation algorithm 
    189       CALL obc_vol( kt )      ! Correction of the barotropic componant velocity to control the volume of the system 
     188      IF( lk_obc )   CALL obc_dyn( kt )   ! Update velocities on each open boundary with the radiation algorithm 
     189      IF( lk_obc )   CALL obc_vol( kt )   ! Correction of the barotropic componant velocity to control the volume of the system 
    190190#endif 
    191191#if defined key_bdy 
     
    315315#if defined key_obc 
    316316            ! caution : grad D = 0 along open boundaries 
    317             spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
    318             spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
     317            IF( Agrif_Root() ) THEN 
     318               spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
     319               spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
     320            ELSE 
     321               spgu(ji,jj) = z2dt * ztdgu 
     322               spgv(ji,jj) = z2dt * ztdgv 
     323            ENDIF 
    319324#elif defined key_bdy 
    320325            ! caution : grad D = 0 along open boundaries 
     
    330335      END DO 
    331336 
    332 #if defined key_agrif 
     337#if defined key_agrif       
    333338      IF( .NOT. Agrif_Root() ) THEN 
    334339         ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
     
    338343         IF( nbondj ==  1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 
    339344      ENDIF 
    340 #endif 
    341  
     345#endif       
    342346      ! Add the trends multiplied by z2dt to the after velocity 
    343347      ! ------------------------------------------------------- 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par.F90

    r1647 r1970  
    2525   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    2626   !!---------------------------------------------------------------------- 
    27    LOGICAL, PUBLIC, PARAMETER ::   lk_obc = .TRUE.   !: Ocean Boundary Condition flag 
     27#if ! defined key_agrif 
     28   LOGICAL, PUBLIC, PARAMETER ::   lk_obc = .TRUE.     !: Ocean Boundary Condition flag 
     29#else 
     30   LOGICAL, PUBLIC            ::   lk_obc = .TRUE.     !: Ocean Boundary Condition flag 
     31#endif 
    2832 
    2933# if defined key_eel_r5 
     
    4347   !! open boundary parameter 
    4448   !!--------------------------------------------------------------------- 
    45    INTEGER, PARAMETER ::     &  !: time dimension of the BCS fields on input 
     49   INTEGER ::     &  !: time dimension of the BCS fields on input 
    4650      jptobc  =         2  
    4751   !! * EAST open boundary 
    48    LOGICAL, PARAMETER ::     &  !: 
     52   LOGICAL ::     &  !: 
    4953      lp_obc_east = .FALSE.     !: to active or not the East open boundary 
    50    INTEGER, PARAMETER ::     &  !: 
     54   INTEGER ::     &  
    5155      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    5256      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    5660 
    5761   !! * WEST open boundary 
    58    LOGICAL, PARAMETER ::     &  !: 
     62   LOGICAL ::     &  !: 
    5963      lp_obc_west = .FALSE.     !: to active or not the West open boundary 
    60    INTEGER, PARAMETER ::     &  !: 
     64   INTEGER ::     &  !: 
    6165      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    6266      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    6670 
    6771   !! * NORTH open boundary 
    68    LOGICAL, PARAMETER ::     &  !: 
     72   LOGICAL ::     &  !: 
    6973      lp_obc_north = .FALSE.    !: to active or not the North open boundary 
    70    INTEGER, PARAMETER ::     &  !: 
     74   INTEGER ::     &  !: 
    7175      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    7276      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    7680 
    7781   !! * SOUTH open boundary 
    78    LOGICAL, PARAMETER ::     &  !: 
     82   LOGICAL ::     &  !: 
    7983      lp_obc_south = .FALSE.    !: to active or not the South open boundary 
    80    INTEGER, PARAMETER ::     &  !: 
     84   INTEGER ::     &  !: 
    8185      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    8286      jpisd   =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par_EEL_R5.h90

    r1152 r1970  
    1515   LOGICAL, PARAMETER ::     &  !: 
    1616      lp_obc_east = .TRUE.      !: to active or not the East open boundary 
    17    INTEGER, PARAMETER ::     &  !: 
     17 
     18     INTEGER   & 
     19#if !defined key_agrif 
     20     , PARAMETER   & 
     21#endif 
     22    ::     & 
    1823      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1924      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    2530   LOGICAL, PARAMETER ::     &  !: 
    2631      lp_obc_west = .TRUE.      !: to active or not the West open boundary 
    27    INTEGER, PARAMETER ::     & 
     32 
     33     INTEGER   & 
     34#if !defined key_agrif 
     35     , PARAMETER   & 
     36#endif 
     37    ::     & 
    2838      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    2939      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    3545   LOGICAL, PARAMETER ::     &  !: 
    3646      lp_obc_north = .FALSE.    !: to active or not the North open boundary 
    37    INTEGER, PARAMETER ::     &  !: 
     47 
     48     INTEGER   & 
     49#if !defined key_agrif 
     50     , PARAMETER   & 
     51#endif 
     52    ::     & 
    3853      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    3954      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    4560   LOGICAL, PARAMETER ::     &  !: 
    4661      lp_obc_south = .FALSE.    !: to active or not the South open boundary 
    47    INTEGER, PARAMETER ::     &  !: 
     62 
     63     INTEGER   & 
     64#if !defined key_agrif 
     65     , PARAMETER   & 
     66#endif 
     67    ::     & 
    4868      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    4969      jpisd   =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par_POMME_R025.h90

    r1648 r1970  
    44   !! open boundary parameter : POMME configuration 
    55   !!--------------------------------------------------------------------- 
    6      INTEGER, PARAMETER ::     &  !: time dimension of the BCS fields on input 
    7       jptobc  =         14 
     6   INTEGER, PARAMETER ::  jptobc  =       14    
     7   !: time dimension of the BCS fields on input 
    88 
    99   !! * EAST open boundary 
    1010   LOGICAL, PARAMETER ::     &  !: 
    1111      lp_obc_east = .TRUE.      !: 
    12    INTEGER, PARAMETER ::     &  !: 
    1312 
     13     INTEGER   & 
     14#if !defined key_agrif 
     15     , PARAMETER   &  
     16#endif 
     17    ::     &  
    1418      ! * default values * 
    1519      !jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1620      !jpjed  =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    1721      !jpjef  = jpjglo-1,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    18  
    1922      jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    2023      jpjed  =        1,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    2124      jpjef  =   jpjglo,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    22  
    2325      jpjedp1 =  jpjed+1,    &  !: first ocean point         "                 " 
    2426      jpjefm1 =  jpjef-1        !: last  ocean point         "                 " 
     
    2729   LOGICAL, PARAMETER ::     &  !: 
    2830      lp_obc_west = .TRUE.     !: to active or not the West open boundary 
    29    INTEGER, PARAMETER ::     &  !: 
    3031 
     32     INTEGER   & 
     33#if !defined key_agrif 
     34     , PARAMETER   &  
     35#endif 
     36    ::     &  
    3137      ! * default values * 
    3238      !jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3339      !jpjwd   =        2,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3440      !jpjwf   = jpjglo-1,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    35  
    3641      jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3742      jpjwd   =        1,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3843      jpjwf   =   jpjglo,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    39  
    4044      jpjwdp1 =  jpjwd+1,    &  !: first ocean point         "                 " 
    4145      jpjwfm1 =  jpjwf-1        !: last  ocean point         "                 " 
     
    4448   LOGICAL, PARAMETER ::     &  !: 
    4549      lp_obc_north = .TRUE.     !: 
    46    INTEGER, PARAMETER ::     &  !: 
    4750 
     51     INTEGER   & 
     52#if !defined key_agrif 
     53     , PARAMETER   &  
     54#endif 
     55    ::     &  
    4856      ! * default values * 
    4957      !jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5058      !jpind  =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5159      !jpinf  = jpiglo-1,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    52  
    5360      jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5461      jpind  =        1,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5562      jpinf  =   jpiglo,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    56  
    5763      jpindp1 =  jpind+1,    &  !: first ocean point         "                 " 
    5864      jpinfm1 =  jpinf-1        !: last  ocean point         "                 " 
     
    6167   LOGICAL, PARAMETER ::     &  !: 
    6268      lp_obc_south = .TRUE.     !: INDICE to active or not the South open boundary 
    63    INTEGER, PARAMETER ::     &  !: 
    6469 
     70     INTEGER   & 
     71#if !defined key_agrif 
     72     , PARAMETER   &  
     73#endif 
     74    ::     &  
    6575      ! * default values * 
    6676      !jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    6777      !jpisd  =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    6878      !jpisf  = jpiglo-1,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    69  
    7079      jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    7180      jpisd  =        1,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    7281      jpisf  =   jpiglo,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    73  
    7482      jpisdp1 =  jpisd+1,    &  !: first ocean point         "                 " 
    7583      jpisfm1 =  jpisf-1        !: last  ocean point         "                 " 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcdta.F90

    r1732 r1970  
    469469       ENDIF 
    470470    ELSE 
     471#if defined key_agrif 
     472       IF ( ASSOCIATED(ztcobc) ) DEALLOCATE ( ztcobc ) 
     473#else 
    471474       IF ( ALLOCATED(ztcobc) ) DEALLOCATE ( ztcobc ) 
     475#endif 
    472476       ALLOCATE (ztcobc(itobc)) 
    473477       DO ji=1,1   ! use a dummy loop to read ztcobc only once 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/fldread.F90

    r1953 r1970  
    186186                        &                    nday   + 1                   - nmonth_len(nmonth) * COUNT((/llnxtmth/)), llstop ) 
    187187 
    188                      IF( sd(jf)%num == 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
     188                     IF( sd(jf)%num <= 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
    189189                        CALL ctl_warn('next year/month/day file: '//TRIM(sd(jf)%clname)//     & 
    190190                                &     ' not present -> back to current year/month/day') 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/geo2ocean.F90

    r1613 r1970  
    311311 
    312312      ! lateral boundary cond.: T-, U-, V-, F-pts, sgn 
    313       CALL lbc_lnk( gcost, 'T', 1. )   ;   CALL lbc_lnk( gsint, 'T', -1. ) 
    314       CALL lbc_lnk( gcosu, 'U', 1. )   ;   CALL lbc_lnk( gsinu, 'U', -1. ) 
    315       CALL lbc_lnk( gcosv, 'V', 1. )   ;   CALL lbc_lnk( gsinv, 'V', -1. ) 
    316       CALL lbc_lnk( gcosf, 'F', 1. )   ;   CALL lbc_lnk( gsinf, 'F', -1. ) 
     313      CALL lbc_lnk( gcost, 'T', -1. )   ;   CALL lbc_lnk( gsint, 'T', -1. ) 
     314      CALL lbc_lnk( gcosu, 'U', -1. )   ;   CALL lbc_lnk( gsinu, 'U', -1. ) 
     315      CALL lbc_lnk( gcosv, 'V', -1. )   ;   CALL lbc_lnk( gsinv, 'V', -1. ) 
     316      CALL lbc_lnk( gcosf, 'F', -1. )   ;   CALL lbc_lnk( gsinf, 'F', -1. ) 
    317317 
    318318   END SUBROUTINE angle 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/sbccpl.F90

    r1766 r1970  
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2424   USE sbc_ice         ! Surface boundary condition: ice fields 
     25   USE phycst          ! physical constants 
    2526#if defined key_lim3 
    2627   USE par_ice         ! ice parameters 
     
    4546   USE lib_mpp         ! distribued memory computing library 
    4647   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    47    USE phycst, ONLY : xlsn, rhosn, xlic, rhoic 
    4848#if defined key_cpl_carbon_cycle 
    4949   USE p4zflx, ONLY : oce_co2 
     
    274274      srcv(jpr_itz2)%clname = 'O_ITauz2'      ! 3rd   -      -         -     -  
    275275      !  
    276       srcv(jpr_otx1:jpr_itz2)%nsgn = -1                           ! Vectors: change of sign at north fold 
     276      ! Vectors: change of sign at north fold ONLY if on the local grid 
     277      IF( TRIM( cn_rcv_tau(3) ) == 'local grid' )   srcv(jpr_otx1:jpr_itz2)%nsgn = -1. 
    277278       
    278279      !                                                           ! Set grid and action 
     
    714715         IF( srcv(jpr_qnsoce)%laction )   qns(:,:) = frcv(:,:,jpr_qnsoce) 
    715716         IF( srcv(jpr_qnsmix)%laction )   qns(:,:) = frcv(:,:,jpr_qnsmix)         
    716          !   energy for melting solid precipitation over free ocean 
    717          zcoef = xlsn / rhosn 
    718          qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef 
     717         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * lfus              ! add the latent heat of solid precip. melting  
     718 
    719719         !                                                       ! solar flux over the ocean          (qsr) 
    720720         IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce)  
     
    11171117            &                                                   +          pist(:,:,1)   * zicefr(:,:,1) ) ) 
    11181118      END SELECT 
    1119       !                                                           ! snow melting heat flux .... 
    1120       !   energy for melting solid precipitation over ice-free ocean 
    1121       zcoef = xlsn / rhosn 
    1122       ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 
    1123       pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
     1119      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * lfus               ! add the latent heat of solid precip. melting 
     1120      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)                   ! over free ocean  
    11241121      IF( lk_diaar5 )   CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) )   ! heat flux from snow (cell average) 
    11251122!!gm 
     
    11301127!! 
    11311128!! similar job should be done for snow and precipitation temperature 
    1132       !                                                           ! Iceberg melting heat flux .... 
    1133       !   energy for iceberg melting  
    1134       IF( srcv(jpr_cal)%laction ) THEN  
    1135          zcoef = xlic / rhoic 
    1136          ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef 
     1129      !                                      
     1130      IF( srcv(jpr_cal)%laction ) THEN                            ! Iceberg melting  
     1131         ztmp(:,:) = frcv(:,:,jpr_cal) * lfus                     ! add the latent heat of iceberg melting  
    11371132         pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
    11381133         IF( lk_diaar5 )   CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) )   ! heat flux from calving 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r1715 r1970  
    6565      INTEGER  ::   inum                  ! temporary logical unit 
    6666      INTEGER  ::   ikty, iyear           !  
    67       REAL(wp) ::   z_emp, z_emp_nsrf       ! temporary scalars 
     67      REAL(wp) ::   z_emp, z_emp_nsrf, zsum_emp, zsum_erp       ! temporary scalars 
    6868      REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread 
    6969      REAL(wp), DIMENSION(jpi,jpj) ::   ztmsk_neg, ztmsk_pos, ztmsk_tospread 
     
    165165            ! 
    166166            IF( lk_mpp )   CALL  mpp_sum( z_emp ) 
     167            IF( lk_mpp )   CALL  mpp_sum( zsurf_neg ) 
     168            IF( lk_mpp )   CALL  mpp_sum( zsurf_pos ) 
    167169             
    168170            IF( z_emp < 0.e0 ) THEN 
     
    177179 
    178180            ! emp global mean over <0 or >0 erp area 
    179             z_emp_nsrf = SUM( e1e2_i(:,:) * z_emp ) / ( zsurf_tospread + rsmall ) 
     181            zsum_emp = SUM( e1e2_i(:,:) * z_emp ) 
     182            IF( lk_mpp )   CALL  mpp_sum( zsum_emp ) 
     183            z_emp_nsrf =  zsum_emp / ( zsurf_tospread + rsmall ) 
    180184            ! weight to respect erp field 2D structure  
    181             z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) + rsmall ) 
     185            zsum_erp = SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) 
     186            IF( lk_mpp )   CALL  mpp_sum( zsum_erp ) 
     187            z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) 
     188 
    182189            ! final correction term to apply 
    183190            zerp_cor(:,:) = -1. * z_emp_nsrf * zsurf_tospread * z_wgt(:,:) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SOL/solmat.F90

    r1953 r1970  
    9999       
    100100#  elif defined key_dynspg_flt && defined key_obc 
    101  
    102       DO jj = 2, jpjm1                      ! matrix of free surface elliptic system with open boundaries 
    103          DO ji = 2, jpim1 
    104             zcoef = z2dt * z2dt * grav * bmask(ji,jj) 
    105             !                                    ! south coefficient 
    106             IF( lp_obc_south .AND. ( jj == njs0p1 ) ) THEN 
    107                zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1)*(1.-vsmsk(ji,1)) 
    108             ELSE 
    109                zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) 
    110             END IF 
    111             gcp(ji,jj,1) = zcoefs 
    112             ! 
    113             !                                    ! west coefficient 
    114             IF( lp_obc_west  .AND. ( ji == niw0p1 ) ) THEN 
    115                zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj)*(1.-uwmsk(jj,1)) 
    116             ELSE 
    117                zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) 
    118             END IF 
    119             gcp(ji,jj,2) = zcoefw 
    120             ! 
    121             !                                    ! east coefficient 
    122             IF( lp_obc_east  .AND. ( ji == nie0 ) ) THEN 
    123                zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj)*(1.-uemsk(jj,1)) 
    124             ELSE 
    125                zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) 
    126             END IF 
    127             gcp(ji,jj,3) = zcoefe 
    128             ! 
    129             !                                    ! north coefficient 
    130             IF( lp_obc_north .AND. ( jj == njn0 ) ) THEN 
    131                zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj)*(1.-vnmsk(ji,1)) 
    132             ELSE 
     101      IF( Agrif_Root() ) THEN 
     102         DO jj = 2, jpjm1                      ! matrix of free surface elliptic system with open boundaries 
     103            DO ji = 2, jpim1 
     104               zcoef = z2dt * z2dt * grav * bmask(ji,jj) 
     105               !                                    ! south coefficient 
     106               IF( lp_obc_south .AND. ( jj == njs0p1 ) ) THEN 
     107                  zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1)*(1.-vsmsk(ji,1)) 
     108               ELSE 
     109                  zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) 
     110               END IF 
     111               gcp(ji,jj,1) = zcoefs 
     112               ! 
     113               !                                    ! west coefficient 
     114               IF( lp_obc_west  .AND. ( ji == niw0p1 ) ) THEN 
     115                  zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj)*(1.-uwmsk(jj,1)) 
     116               ELSE 
     117                  zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) 
     118               END IF 
     119               gcp(ji,jj,2) = zcoefw 
     120               ! 
     121               !                                    ! east coefficient 
     122               IF( lp_obc_east  .AND. ( ji == nie0 ) ) THEN 
     123                  zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj)*(1.-uemsk(jj,1)) 
     124               ELSE 
     125                  zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) 
     126               END IF 
     127               gcp(ji,jj,3) = zcoefe 
     128               ! 
     129               !                                    ! north coefficient 
     130               IF( lp_obc_north .AND. ( jj == njn0 ) ) THEN 
     131                  zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj)*(1.-vnmsk(ji,1)) 
     132               ELSE 
    133133               zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj) 
    134             END IF 
    135             gcp(ji,jj,4) = zcoefn 
    136             ! 
    137             !                                    ! diagonal coefficient 
    138             gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj)   & 
    139                &            - zcoefs -zcoefw -zcoefe -zcoefn 
     134               END IF 
     135               gcp(ji,jj,4) = zcoefn 
     136               ! 
     137               !                                    ! diagonal coefficient 
     138               gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj)   & 
     139                  &            - zcoefs -zcoefw -zcoefe -zcoefn 
     140            END DO 
    140141         END DO 
    141       END DO 
     142      ENDIF 
    142143#endif 
    143144 
    144       IF( .NOT. Agrif_Root() ) THEN   ! Fine grid boundaries 
     145#if defined key_agrif 
     146      IF( .NOT.AGRIF_ROOT() ) THEN 
    145147         ! 
    146148         IF( nbondi == -1 .OR. nbondi == 2 )   bmask(2     ,:     ) = 0.e0 
     
    191193         !  
    192194      ENDIF 
     195#endif 
    193196 
    194197      ! 2. Boundary conditions  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r1528 r1970  
    179179      END DO 
    180180 
     181      ! "zonal" mean advective heat and salt transport 
     182      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
     183         pht_adv(:) = ptr_vj( ztv(:,:,:) ) 
     184         pst_adv(:) = ptr_vj( zsv(:,:,:) ) 
     185      ENDIF 
    181186 
    182187      ! Save the intermediate i / j / k advective trends for diagnostics 
     
    366371      ! "zonal" mean advective heat and salt transport 
    367372      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
    368          pht_adv(:) = ptr_vj( ztv(:,:,:) ) 
    369          pst_adv(:) = ptr_vj( zsv(:,:,:) ) 
     373         pht_adv(:) = ptr_vj( ztv(:,:,:) ) + pht_adv(:) 
     374         pst_adv(:) = ptr_vj( zsv(:,:,:) ) + pst_adv(:) 
    370375      ENDIF 
    371376      ! 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/tranxt.F90

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

    r1953 r1970  
    20492049      ijpj   = 4 
    20502050      ijpjm1 = 3 
     2051      ztab(:,:,:) = 0.e0 
    20512052      ! 
    20522053      DO jj = nlcj - ijpj +1, nlcj          ! put in znorthloc the last 4 jlines of pt3d 
     
    21142115      ijpj   = 4 
    21152116      ijpjm1 = 3 
     2117      ztab(:,:) = 0.e0 
    21162118      ! 
    21172119      DO jj = nlcj-ijpj+1, nlcj             ! put in znorthloc the last 4 jlines of pt2d 
     
    21792181      ! 
    21802182      ijpj=4 
     2183      ztab(:,:) = 0.e0 
    21812184 
    21822185      ij=0 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/par_POMME_R025.h90

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

    r1581 r1970  
    126126      zrgb(1,51) =  3.162   ;   zrgb(2,51) = 0.22703   ;   zrgb(3,51) = 0.16599   ;   zrgb(4,51) = 0.46601 
    127127      zrgb(1,52) =  3.548   ;   zrgb(2,52) = 0.24433   ;   zrgb(3,52) = 0.17334   ;   zrgb(4,52) = 0.47313 
    128       zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,54) = 0.48080 
    129       zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,55) = 0.48909 
    130       zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,56) = 0.49803 
    131       zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,57) = 0.50768 
    132       zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,58) = 0.51810 
    133       zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,59) = 0.52934 
    134       zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,50) = 0.54147 
     128      zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,53) = 0.48080 
     129      zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,54) = 0.48909 
     130      zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,55) = 0.49803 
     131      zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,56) = 0.50768 
     132      zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,57) = 0.51810 
     133      zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,58) = 0.52934 
     134      zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,59) = 0.54147 
    135135      zrgb(1,60) =  8.912   ;   zrgb(2,60) = 0.44336   ;   zrgb(3,60) = 0.25725   ;   zrgb(4,60) = 0.55457 
    136136      zrgb(1,61) = 10.000   ;   zrgb(2,61) = 0.47804   ;   zrgb(3,61) = 0.27178   ;   zrgb(4,61) = 0.56870 
Note: See TracChangeset for help on using the changeset viewer.