Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (11 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

Location:
trunk/NEMOGCM/NEMO/NST_SRC
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif2model.F90

    • Property svn:eol-style deleted
    r1793 r2528  
    11#if defined key_agrif 
    22   !!---------------------------------------------------------------------- 
    3    !!   OPA 9.0 , LOCEAN-IPSL (2006)  
     3   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    44   !! $Id$ 
    5    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     5   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    66   !!---------------------------------------------------------------------- 
    77 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_oce.F90

    r1605 r2528  
    3333#endif 
    3434   !!---------------------------------------------------------------------- 
    35    !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 
     35   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    3636   !! $Id$ 
    37    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     37   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    3838   !!====================================================================== 
    3939END MODULE agrif_oce 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90

    • Property svn:eol-style deleted
    r2486 r2528  
    88   !!            3.2  !  2009-04  (R. Benshila)  
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_agrif && ! defined key_off_tra 
     10#if defined key_agrif && ! defined key_offline 
    1111   !!---------------------------------------------------------------------- 
    1212   !!   'key_agrif'                                              AGRIF zoom 
    13    !!   NOT 'key_off_tra'                               NO off-line tracers 
     13   !!   NOT 'key_offline'                               NO off-line tracers 
    1414   !!---------------------------------------------------------------------- 
    1515   !!   Agrif_tra     : 
     
    3434#  include "vectopt_loop_substitute.h90" 
    3535   !!---------------------------------------------------------------------- 
    36    !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 
     36   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    3737   !! $Id$ 
    38    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     38   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    3939   !!---------------------------------------------------------------------- 
    4040 
     
    220220            DO jj=1,jpj 
    221221               ua(1:2,jj,jk) = (zua(1:2,jj,jk)/(rhoy*e2u(1:2,jj))) 
    222 #if ! defined key_zco 
    223222               ua(1:2,jj,jk) = ua(1:2,jj,jk) / fse3u(1:2,jj,jk) 
    224 #endif 
    225223            END DO 
    226224         END DO 
     
    276274            DO jj=1,jpj 
    277275               va(2,jj,jk) = (zva(2,jj,jk)/(zrhox*e1v(2,jj)))*vmask(2,jj,jk) 
    278 #if ! defined key_zco 
    279276               va(2,jj,jk) = va(2,jj,jk) / fse3v(2,jj,jk) 
    280 #endif            
    281277            END DO 
    282278         END DO 
     
    294290               ua(nlci-2:nlci-1,jj,jk) = (zua(nlci-2:nlci-1,jj,jk)/(rhoy*e2u(nlci-2:nlci-1,jj))) 
    295291 
    296 #if ! defined key_zco 
    297292               ua(nlci-2:nlci-1,jj,jk) = ua(nlci-2:nlci-1,jj,jk) / fse3u(nlci-2:nlci-1,jj,jk) 
    298 #endif 
    299293 
    300294            END DO 
     
    354348            DO jj=1,jpj-1 
    355349               va(nlci-1,jj,jk) = (zva(nlci-1,jj,jk)/(zrhox*e1v(nlci-1,jj)))*vmask(nlci-1,jj,jk) 
    356 #if ! defined key_zco 
    357350               va(nlci-1,jj,jk) = va(nlci-1,jj,jk) / fse3v(nlci-1,jj,jk) 
    358 #endif 
    359351            END DO 
    360352         END DO 
     
    371363            DO ji=1,jpi 
    372364               va(ji,1:2,jk) = (zva(ji,1:2,jk)/(zrhox*e1v(ji,1:2))) 
    373 #if ! defined key_zco 
    374365               va(ji,1:2,jk) = va(ji,1:2,jk) / fse3v(ji,1:2,jk) 
    375 #endif 
    376366            END DO 
    377367         END DO 
     
    427417            DO ji=1,jpi 
    428418               ua(ji,2,jk) = (zua(ji,2,jk)/(rhoy*e2u(ji,2)))*umask(ji,2,jk)  
    429 #if ! defined key_zco 
    430419               ua(ji,2,jk) = ua(ji,2,jk) / fse3u(ji,2,jk) 
    431 #endif                 
    432420            END DO 
    433421         END DO 
     
    444432            DO ji=1,jpi 
    445433               va(ji,nlcj-2:nlcj-1,jk) = (zva(ji,nlcj-2:nlcj-1,jk)/(zrhox*e1v(ji,nlcj-2:nlcj-1))) 
    446 #if ! defined key_zco 
    447434               va(ji,nlcj-2:nlcj-1,jk) = va(ji,nlcj-2:nlcj-1,jk) / fse3v(ji,nlcj-2:nlcj-1,jk) 
    448 #endif 
    449435            END DO 
    450436         END DO 
     
    501487            DO ji=1,jpi 
    502488               ua(ji,nlcj-1,jk) = (zua(ji,nlcj-1,jk)/(rhoy*e2u(ji,nlcj-1)))*umask(ji,nlcj-1,jk) 
    503 #if ! defined key_zco 
    504489               ua(ji,nlcj-1,jk) = ua(ji,nlcj-1,jk) / fse3u(ji,nlcj-1,jk) 
    505 #endif           
    506490            END DO 
    507491         END DO 
     
    514498   SUBROUTINE Agrif_ssh( kt ) 
    515499      !!---------------------------------------------------------------------- 
    516       !!                  ***  ROUTINE Agrif_ssh  *** 
     500      !!                  ***  ROUTINE Agrif_DYN  *** 
    517501      !!----------------------------------------------------------------------   
    518502      INTEGER, INTENT(in) ::   kt 
     
    521505 
    522506      IF( Agrif_Root() )   RETURN 
     507 
    523508 
    524509      IF((nbondi == -1).OR.(nbondi == 2)) THEN 
     
    559544            DO ji=i1,i2 
    560545               tabres(ji,jj,jk) = e2u(ji,jj) * un(ji,jj,jk) 
    561 #if ! defined key_zco 
    562546               tabres(ji,jj,jk) = tabres(ji,jj,jk) * fse3u(ji,jj,jk) 
    563 #endif 
    564547            END DO 
    565548         END DO 
     
    602585            DO ji=i1,i2 
    603586               tabres(ji,jj,jk) = e1v(ji,jj) * vn(ji,jj,jk) 
    604 #if ! defined key_zco 
    605587               tabres(ji,jj,jk) = tabres(ji,jj,jk) * fse3v(ji,jj,jk) 
    606 #endif            
    607588            END DO 
    608589         END DO 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90

    • Property svn:eol-style deleted
    r1300 r2528  
    22 
    33Module agrif_opa_sponge 
    4 #if defined key_agrif  && ! defined key_off_tra 
     4#if defined key_agrif  && ! defined key_offline 
    55   USE par_oce 
    66   USE oce 
     
    1515 
    1616   !!---------------------------------------------------------------------- 
    17    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
     17   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    1818   !! $Id$ 
    19    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     19   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    2020   !!---------------------------------------------------------------------- 
    2121 
     
    130130         DO jj = 1, jpjm1 
    131131            DO ji = 1, jpim1 
    132 #if defined key_zco 
    133                zabe1 = umask(ji,jj,jk) * spe1ur(ji,jj) 
    134                zabe2 = vmask(ji,jj,jk) * spe2vr(ji,jj) 
    135 #else 
    136132               zabe1 = umask(ji,jj,jk) * spe1ur(ji,jj) * fse3u(ji,jj,jk) 
    137133               zabe2 = vmask(ji,jj,jk) * spe2vr(ji,jj) * fse3v(ji,jj,jk) 
    138 #endif 
    139134               ztu(ji,jj,jk) = zabe1 * ( tbdiff(ji+1,jj  ,jk) - tbdiff(ji,jj,jk) ) 
    140135               zsu(ji,jj,jk) = zabe1 * ( sbdiff(ji+1,jj  ,jk) - sbdiff(ji,jj,jk) ) 
     
    146141         DO jj = 2,jpjm1 
    147142            DO ji = 2,jpim1 
    148 #if defined key_zco 
    149                zbtr = spbtr2(ji,jj) 
    150 #else 
    151143               zbtr = spbtr2(ji,jj) / fse3t(ji,jj,jk) 
    152 #endif 
    153144               ! horizontal diffusive trends 
    154145               zta = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk)   & 
     
    282273         DO jj = 2, jpjm1 
    283274            DO ji = 2, jpim1   ! vector opt. 
    284 #if defined key_zco 
    285                zbtr = spbtr2(ji,jj) 
    286                hdivdiff(ji,jj,jk) = (  e2u(ji,jj) * ubdiff(ji,jj,jk) & 
    287                   - e2u(ji-1,jj  ) * ubdiff(ji-1,jj  ,jk)      & 
    288                   &               + e1v(ji,jj) * vbdiff(ji,jj,jk) - & 
    289                   &              e1v(ji  ,jj-1) * vbdiff(ji  ,jj-1,jk)  ) * zbtr 
    290 #else 
    291275               zbtr = spbtr2(ji,jj) / fse3t(ji,jj,jk) 
    292276               hdivdiff(ji,jj,jk) =   & 
     
    297281                  vbdiff(ji,jj,jk) - e1v(ji  ,jj-1)* & 
    298282                  fse3v(ji  ,jj-1,jk)  * vbdiff(ji  ,jj-1,jk)  ) * zbtr 
    299 #endif 
    300283            END DO 
    301284         END DO 
     
    303286         DO jj = 1, jpjm1 
    304287            DO ji = 1, jpim1   ! vector opt. 
    305 #if defined key_zco       
    306                zbtr = spbtr3(ji,jj) 
    307                rotdiff(ji,jj,jk) = (  e2v(ji+1,jj  ) * vbdiff(ji+1,jj  ,jk) - e2v(ji,jj) * vbdiff(ji,jj,jk)    & 
    308                   &              - e1u(ji  ,jj+1) * ubdiff(ji  ,jj+1,jk) + e1u(ji,jj) * ubdiff(ji,jj,jk)  ) & 
    309                   &           * fmask(ji,jj,jk) * zbtr 
    310 #else 
    311288               zbtr = spbtr3(ji,jj) * fse3f(ji,jj,jk) 
    312289               rotdiff(ji,jj,jk) = (  e2v(ji+1,jj  ) * vbdiff(ji+1,jj  ,jk) - e2v(ji,jj) * vbdiff(ji,jj,jk)    & 
    313290                  &              - e1u(ji  ,jj+1) * ubdiff(ji  ,jj+1,jk) + e1u(ji,jj) * ubdiff(ji,jj,jk)  ) & 
    314291                  &           * fmask(ji,jj,jk) * zbtr 
    315 #endif         
    316292            END DO 
    317293         END DO 
     
    324300         DO jj = 2, jpjm1 
    325301            DO ji = 2, jpim1   ! vector opt. 
    326 #if defined key_zco 
    327                ! horizontal diffusive trends 
    328                ze2u = rotdiff (ji,jj,jk) 
    329                ze1v = hdivdiff(ji,jj,jk) 
    330                zua = - (                ze2u                  - & 
    331                   rotdiff (ji,jj-1,jk) ) / e2u(ji,jj)   & 
    332                   + ( hdivdiff(ji+1,jj,jk) -     & 
    333                   ze1v                  ) / e1u(ji,jj) 
    334  
    335                zva = + (                ze2u                  - & 
    336                   rotdiff (ji-1,jj,jk) ) / e1v(ji,jj)   & 
    337                   + ( hdivdiff(ji,jj+1,jk) -       & 
    338                   ze1v                  ) / e2v(ji,jj) 
    339 #else 
    340302               ze2u = rotdiff (ji,jj,jk) 
    341303               ze1v = hdivdiff(ji,jj,jk) 
     
    348310                  + ( hdivdiff(ji,jj+1,jk) - ze1v    & 
    349311                  ) / e2v(ji,jj) 
    350 #endif 
    351312 
    352313               ! add it to the general momentum trends 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90

    • Property svn:eol-style deleted
    r2486 r2528  
    22 
    33MODULE agrif_opa_update 
    4 #if defined key_agrif  && ! defined key_off_tra 
     4#if defined key_agrif  && ! defined key_offline 
    55   USE par_oce 
    66   USE oce 
     
    1616 
    1717   !!---------------------------------------------------------------------- 
    18    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
     18   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    1919   !! $Id$ 
    20    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     20   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    2121   !!---------------------------------------------------------------------- 
    2222 
     
    184184               DO ji=i1,i2 
    185185                  tabres(ji,jj,jk) = e2u(ji,jj) * un(ji,jj,jk) 
    186 #if ! defined key_zco 
    187                   tabres(ji,jj,jk) = tabres(ji,jj,jk) * fse3u(ji,jj,jk) 
    188 #endif 
    189186               END DO 
    190187            END DO 
     
    197194                  un(ji,jj,jk) = tabres(ji,jj,jk) / (e2u(ji,jj)) 
    198195                  un(ji,jj,jk) = un(ji,jj,jk) * umask(ji,jj,jk) 
    199 #if ! defined key_zco 
    200196                  un(ji,jj,jk) = un(ji,jj,jk) / fse3u(ji,jj,jk) 
    201 #endif 
    202197               END DO 
    203198            END DO 
     
    226221               DO ji=i1,i2 
    227222                  tabres(ji,jj,jk) = e1v(ji,jj) * vn(ji,jj,jk) 
    228 #if ! defined key_zco 
    229223                  tabres(ji,jj,jk) = tabres(ji,jj,jk) * fse3v(ji,jj,jk) 
    230 #endif 
    231224               END DO 
    232225            END DO 
     
    239232                  vn(ji,jj,jk) = tabres(ji,jj,jk) / (e1v(ji,jj)) 
    240233                  vn(ji,jj,jk) = vn(ji,jj,jk) * vmask(ji,jj,jk) 
    241 #if ! defined key_zco 
    242234                  vn(ji,jj,jk) = vn(ji,jj,jk) / fse3v(ji,jj,jk) 
    243 #endif 
    244235               END DO 
    245236            END DO 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_top_interp.F90

    • Property svn:eol-style deleted
    r1271 r2528  
    1414 
    1515   !!---------------------------------------------------------------------- 
    16    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
     16   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    1717   !! $Id$ 
    18    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     18   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    1919   !!---------------------------------------------------------------------- 
    2020 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_top_sponge.F90

    • Property svn:keywords set to Id
    r1271 r2528  
    1616 
    1717   !!---------------------------------------------------------------------- 
    18    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
    19    !! $Id: agrif_opa_sponge.F90 1156 2008-06-26 16:06:45Z rblod $ 
    20    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     18   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
     19   !! $Id$ 
     20   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    2121   !!---------------------------------------------------------------------- 
    2222 
     
    123123         DO jj = 1, jpjm1 
    124124            DO ji = 1, jpim1 
    125 #if defined key_zco 
    126                zabe1 = umask(ji,jj,jk) * spe1ur(ji,jj) 
    127                zabe2 = vmask(ji,jj,jk) * spe2vr(ji,jj) 
    128 #else 
    129125               zabe1 = umask(ji,jj,jk) * spe1ur(ji,jj) * fse3u(ji,jj,jk) 
    130126               zabe2 = vmask(ji,jj,jk) * spe2vr(ji,jj) * fse3v(ji,jj,jk) 
    131 #endif 
    132127               ztru(ji,jj,jk,jl) = zabe1 * ( trbdiff(ji+1,jj  ,jk,jl) - trbdiff(ji,jj,jk,jl) ) 
    133128               ztrv(ji,jj,jk,jl) = zabe2 * ( trbdiff(ji  ,jj+1,jk,jl) - trbdiff(ji,jj,jk,jl) ) 
     
    137132         DO jj = 2,jpjm1 
    138133            DO ji = 2,jpim1 
    139 #if defined key_zco 
    140                zbtr = spbtr2(ji,jj) 
    141 #else 
    142134               zbtr = spbtr2(ji,jj) / fse3t(ji,jj,jk) 
    143 #endif 
    144135               ! horizontal diffusive trends 
    145136               ztra = zbtr * (  ztru(ji,jj,jk,jl) - ztru(ji-1,jj,jk,jl)   & 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_top_update.F90

    • Property svn:eol-style deleted
    r1300 r2528  
    1818 
    1919   !!---------------------------------------------------------------------- 
    20    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
     20   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    2121   !! $Id$ 
    22    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     22   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    2323   !!---------------------------------------------------------------------- 
    2424 
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_user.F90

    • Property svn:eol-style deleted
    r2031 r2528  
    11#if defined key_agrif 
    22   !!---------------------------------------------------------------------- 
    3    !!   OPA 9.0 , LOCEAN-IPSL (2006) 
     3   !! NEMO/NST 3.3 , NEMO Consortium (2010) 
    44   !! $Id$ 
    5    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     5   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    66   !!---------------------------------------------------------------------- 
    77 
     
    5555   END SUBROUTINE Agrif_InitWorkspace 
    5656 
    57 #if ! defined key_off_tra 
     57#if ! defined key_offline 
    5858 
    5959   SUBROUTINE Agrif_InitValues 
     
    6666      USE oce  
    6767      USE dom_oce 
    68       USE opa 
     68      USE nemogcm 
    6969#if defined key_top 
    7070      USE trc 
     
    111111#endif 
    112112 
    113       Call opa_init  ! Initializations of each fine grid 
    114       Call agrif_opa_init 
     113      Call nemo_init  ! Initializations of each fine grid 
     114      Call agrif_nemo_init 
    115115 
    116116      ! 1. Declaration of the type of variable which have to be interpolated 
     
    308308#if defined key_top 
    309309        ! Check passive tracer cell 
    310         IF( ndttrc .ne. 1 ) THEN 
    311            WRITE(*,*) 'ndttrc should be equal to 1' 
     310        IF( nn_dttrc .ne. 1 ) THEN 
     311           WRITE(*,*) 'nn_dttrc should be equal to 1' 
    312312        ENDIF 
    313313#endif 
     
    339339      USE oce  
    340340      USE dom_oce 
    341       USE opa 
     341      USE nemogcm 
    342342      USE trc 
    343343      USE in_out_manager 
     
    359359#endif 
    360360 
    361       Call opa_init  ! Initializations of each fine grid 
    362       Call agrif_opa_init 
     361      Call nemo_init  ! Initializations of each fine grid 
     362      Call agrif_nemo_init 
    363363 
    364364      ! 1. Declaration of the type of variable which have to be interpolated 
     
    445445         ENDIF 
    446446        ! Check passive tracer cell 
    447         IF( ndttrc .ne. 1 ) THEN 
    448            WRITE(*,*) 'ndttrc should be equal to 1' 
     447        IF( nn_dttrc .ne. 1 ) THEN 
     448           WRITE(*,*) 'nn_dttrc should be equal to 1' 
    449449        ENDIF 
    450450 
     
    473473 
    474474 
    475    SUBROUTINE agrif_opa_init 
     475   SUBROUTINE agrif_nemo_init 
    476476      !!---------------------------------------------------------------------- 
    477477      !!                     *** ROUTINE agrif_init *** 
     
    484484      NAMELIST/namagrif/ nn_cln_update, rn_sponge_tra, rn_sponge_dyn, ln_spc_dyn 
    485485      !!---------------------------------------------------------------------- 
    486  
     486      ! 
    487487      REWIND( numnam )                ! Read namagrif namelist 
    488488      READ  ( numnam, namagrif ) 
     
    490490      IF(lwp) THEN                    ! control print 
    491491         WRITE(numout,*) 
    492          WRITE(numout,*) 'agrif_opa_init : AGRIF parameters' 
    493          WRITE(numout,*) '~~~~~~~~~~~~' 
     492         WRITE(numout,*) 'agrif_nemo_init : AGRIF parameters' 
     493         WRITE(numout,*) '~~~~~~~~~~~~~~~' 
    494494         WRITE(numout,*) '   Namelist namagrif : set AGRIF parameters' 
    495495         WRITE(numout,*) '      baroclinic update frequency       nn_cln_update = ', nn_cln_update 
     
    505505      visc_dyn      = rn_sponge_dyn 
    506506      ! 
    507     END SUBROUTINE agrif_opa_init 
     507    END SUBROUTINE agrif_nemo_init 
    508508 
    509509# if defined key_mpp_mpi 
     
    520520      !!---------------------------------------------------------------------- 
    521521      ! 
    522       SELECT CASE(i) 
    523       CASE(1) 
    524          indglob = indloc + nimppt(nprocloc+1) - 1 
    525       CASE(2) 
    526          indglob = indloc + njmppt(nprocloc+1) - 1  
    527       CASE(3) 
    528          indglob = indloc 
    529       CASE(4) 
    530          indglob = indloc 
     522      SELECT CASE( i ) 
     523      CASE(1)   ;   indglob = indloc + nimppt(nprocloc+1) - 1 
     524      CASE(2)   ;   indglob = indloc + njmppt(nprocloc+1) - 1  
     525      CASE(3)   ;   indglob = indloc 
     526      CASE(4)   ;   indglob = indloc 
    531527      END SELECT 
    532528      ! 
Note: See TracChangeset for help on using the changeset viewer.