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 10689 for NEMO/branches/2019/fix_ticket2229 – NEMO

Ignore:
Timestamp:
2019-02-15T14:55:37+01:00 (5 years ago)
Author:
mathiot
Message:

update branch to the head of the trunk r10688 (ticket #2229)

Location:
NEMO/branches/2019/fix_ticket2229
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/fix_ticket2229

    • Property svn:externals
      •  

        old new  
        1 ^/utils/build/arch        arch 
        2 ^/utils/build/makenemo    makenemo 
        3 ^/utils/build/mk          mk 
        4 ^/utils/tools             tools 
        5 ^/vendors/AGRIF/dev       ext/AGRIF 
        6 ^/vendors/FCM             ext/FCM 
        7 ^/vendors/IOIPSL          ext/IOIPSL 
         1^/utils/build/arch@HEAD       arch 
         2^/utils/build/makenemo@HEAD   makenemo 
         3^/utils/build/mk@HEAD         mk 
         4^/utils/tools@HEAD            tools 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         6^/vendors/FCM@HEAD            ext/FCM 
         7^/vendors/IOIPSL@HEAD         ext/IOIPSL 
  • NEMO/branches/2019/fix_ticket2229/README.rst

    r10605 r10689  
    9090.. Substitutions / Links 
    9191 
    92 .. |NEMO manual| image:: http://zenodo.org/badge/DOI/10.5281/zenodo.1464816.svg 
    93 .. |NEMO guide|  image:: http://zenodo.org/badge/DOI/10.5281/zenodo.1475325.svg 
    94 .. |SI3 manual|  image:: http://zenodo.org/badge/DOI/10.5281/zenodo.1471689.svg 
    95 .. |TOP manual|  image:: http://zenodo.org/badge/DOI/10.5281/zenodo.1471700.svg 
     92.. |NEMO manual| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1464816.svg 
     93.. |NEMO guide|  image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1475325.svg 
     94.. |SI3 manual|  image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1471689.svg 
     95.. |TOP manual|  image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1471700.svg 
    9696 
    9797.. |NEMO strategy| replace:: multi-year development strategy 
  • NEMO/branches/2019/fix_ticket2229/REFERENCES.bib

    • Property svn:mime-type set to text/x-bibtex
  • NEMO/branches/2019/fix_ticket2229/cfgs/AGRIF_DEMO/zooms.bib

    • Property svn:mime-type set to text/x-bibtex
  • NEMO/branches/2019/fix_ticket2229/cfgs/AMM12/EXPREF/file_def_nemo-oce.xml

    r9572 r10689  
    6767 
    6868     <file id="file15" name_suffix="_25hourm_grid_W" description="ocean W grid variables, 25h meaned" enabled=".TRUE." > 
    69      <field field_ref="vomecrtz25h"          name="vomerctz"  operation="instant" enabled=".TRUE."/> 
    70      <field field_ref="woce"                 name="vovecrtz"  operation="instant" enabled=".TRUE."/> 
     69     <field field_ref="vovecrtz25h"          name="vovecrtz"  operation="instant" enabled=".TRUE."/> 
    7170     <field field_ref="avt25h"               name="votkeavt"  operation="instant" enabled=".TRUE."/> 
    7271     <field field_ref="avm25h"               name="votkeavm"  operation="instant" enabled=".TRUE."/> 
  • NEMO/branches/2019/fix_ticket2229/cfgs/SHARED/field_def_nemo-oce.xml

    r10364 r10689  
    975975 
    976976    <field_group id="25h_grid_W" grid_ref="grid_W_3D" operation="instant"> 
    977       <field id="vomecrtz25h"         name="k current 25h mean"                 unit="m/s"      /> 
     977      <field id="vovecrtz25h"         name="k current 25h mean"                 unit="m/s"      /> 
    978978      <field id="avt25h"              name="vertical diffusivity25h mean"       unit="m2/s" /> 
    979979      <field id="avm25h"              name="vertical viscosity 25h mean"        unit="m2/s" /> 
  • NEMO/branches/2019/fix_ticket2229/doc/rst/source/configurations.bib

    • Property svn:mime-type set to text/x-bibtex
  • NEMO/branches/2019/fix_ticket2229/src/OCE/BDY/bdydta.F90

    r10529 r10689  
    371371      END DO  ! jbdy 
    372372 
     373      IF ( ln_apr_obc ) THEN 
     374         DO jbdy = 1, nb_bdy 
     375            IF (cn_tra(jbdy) /= 'runoff')THEN 
     376               igrd = 1                      ! meridional velocity 
     377               DO ib = 1, idx_bdy(jbdy)%nblenrim(igrd) 
     378                  ii   = idx_bdy(jbdy)%nbi(ib,igrd) 
     379                  ij   = idx_bdy(jbdy)%nbj(ib,igrd) 
     380                  dta_bdy(jbdy)%ssh(ib) = dta_bdy(jbdy)%ssh(ib) + ssh_ib(ii,ij) 
     381               END DO 
     382            ENDIF 
     383         END DO 
     384      ENDIF 
     385 
    373386      IF ( ln_tide ) THEN 
    374387         IF (ln_dynspg_ts) THEN      ! Fill temporary arrays with slow-varying bdy data                            
     
    389402      ENDIF 
    390403 
    391       IF ( ln_apr_obc ) THEN 
    392          DO jbdy = 1, nb_bdy 
    393             IF (cn_tra(jbdy) /= 'runoff')THEN 
    394                igrd = 1                      ! meridional velocity 
    395                DO ib = 1, idx_bdy(jbdy)%nblenrim(igrd) 
    396                   ii   = idx_bdy(jbdy)%nbi(ib,igrd) 
    397                   ij   = idx_bdy(jbdy)%nbj(ib,igrd) 
    398                   dta_bdy(jbdy)%ssh(ib) = dta_bdy(jbdy)%ssh(ib) + ssh_ib(ii,ij) 
    399                END DO 
    400             ENDIF 
    401          END DO 
    402       ENDIF 
    403404      ! 
    404405      IF( ln_timing )   CALL timing_stop('bdy_dta') 
  • NEMO/branches/2019/fix_ticket2229/src/OCE/BDY/bdyini.F90

    r10537 r10689  
    941941                     ii = idx_bdy(ib_bdy)%nbi(icount,igrd) 
    942942                     ij = idx_bdy(ib_bdy)%nbj(icount,igrd) 
    943                      if((com_east .ne. 1) .and. (ii == nlci) .and. (nbondi .le. 0)) then 
     943                     if((com_east .ne. 1) .and. (ii == (nlci-1)) .and. (nbondi .le. 0)) then 
    944944                        com_east = 1 
    945945                     elseif((com_west .ne. 1) .and. (ii == 2) .and. (nbondi .ge. 0) .and. (nbondi .ne. 2)) then 
     
    948948                     if((com_south .ne. 1) .and. (ij == 2) .and. (nbondj .ge. 0) .and. (nbondj .ne. 2)) then 
    949949                        com_south = 1 
    950                      elseif((com_north .ne. 1) .and. (ij == nlcj) .and. (nbondj .le. 0)) then 
     950                     elseif((com_north .ne. 1) .and. (ij == (nlcj-1)) .and. (nbondj .le. 0)) then 
    951951                        com_north = 1 
    952952                     endif  
     
    960960                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN 
    961961                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(1)+2 
    962                        if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)))) then 
     962                       if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)-1))) then 
    963963                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(1)+2 
    964964                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then 
     
    989989                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN 
    990990                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(1)+2 
    991                        if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)))) then 
     991                       if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)-1))) then 
    992992                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(1)+2 
    993993                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then 
     
    10301030                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN 
    10311031                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(3)+2 
    1032                        if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)))) then 
     1032                       if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)-1))) then 
    10331033                          com_south_b = 1 
    10341034                       endif  
     
    10521052                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN 
    10531053                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(3)+2 
    1054                        if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)))) then 
     1054                       if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)-1))) then 
    10551055                          com_south_b = 1 
    10561056                       endif  
  • NEMO/branches/2019/fix_ticket2229/src/OCE/DIA/dia25h.F90

    r10499 r10689  
    100100      un_25h  (:,:,:) = ub  (:,:,:) 
    101101      vn_25h  (:,:,:) = vb  (:,:,:) 
    102       wn_25h  (:,:,:) = wn  (:,:,:) 
    103102      avt_25h (:,:,:) = avt (:,:,:) 
    104103      avm_25h (:,:,:) = avm (:,:,:) 
     
    148147      ! local variable for debugging 
    149148      ll_print = ll_print .AND. lwp 
     149 
     150      ! wn_25h could not be initialised in dia_25h_init, so we do it here instead 
     151      IF( kt == nn_it000 ) THEN 
     152         wn_25h(:,:,:) = wn(:,:,:) 
     153      ENDIF 
    150154 
    151155      ! Sum of 25 hourly instantaneous values to give a 25h mean from 24hours every day 
     
    223227         CALL iom_put("vomecrty25h", zw3d  )   ! j-current 
    224228         zw3d(:,:,:) = wn_25h(:,:,:)*wmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
    225          CALL iom_put("vomecrtz25h", zw3d )   ! k-current 
     229         CALL iom_put("vovecrtz25h", zw3d )   ! k-current 
    226230         ! Write vertical physics 
    227231         zw3d(:,:,:) = avt_25h(:,:,:)*wmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
  • NEMO/branches/2019/fix_ticket2229/src/OCE/LBC/mpp_bdy_generic.h90

    r10542 r10689  
    140140         CASE ( -1 ) 
    141141            CALL mppsend( 2, zt3we(1,1,1,1,1,1), imigr, noea, ml_req1 ) 
    142             CALL mpprecv( 1, zt3ew(1,1,1,1,1,2), imigr, noea ) 
    143             IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    144142         CASE ( 0 ) 
    145143            CALL mppsend( 1, zt3ew(1,1,1,1,1,1), imigr, nowe, ml_req1 ) 
    146144            CALL mppsend( 2, zt3we(1,1,1,1,1,1), imigr, noea, ml_req2 ) 
     145         CASE ( 1 ) 
     146            CALL mppsend( 1, zt3ew(1,1,1,1,1,1), imigr, nowe, ml_req1 ) 
     147         END SELECT 
     148         ! 
     149         SELECT CASE ( nbondi_bdy_b(IBD_IN(jf)) ) 
     150         CASE ( -1 ) 
     151            CALL mpprecv( 1, zt3ew(1,1,1,1,1,2), imigr, noea ) 
     152         CASE ( 0 ) 
    147153            CALL mpprecv( 1, zt3ew(1,1,1,1,1,2), imigr, noea ) 
    148154            CALL mpprecv( 2, zt3we(1,1,1,1,1,2), imigr, nowe ) 
     155         CASE ( 1 ) 
     156            CALL mpprecv( 2, zt3we(1,1,1,1,1,2), imigr, nowe ) 
     157         END SELECT 
     158         ! 
     159         SELECT CASE ( nbondi_bdy(IBD_IN(jf)) ) 
     160         CASE ( -1 ) 
     161            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
     162         CASE ( 0 ) 
    149163            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    150164            IF(l_isend) CALL mpi_wait(ml_req2, ml_stat, ml_err) 
    151165         CASE ( 1 ) 
    152             CALL mppsend( 1, zt3ew(1,1,1,1,1,1), imigr, nowe, ml_req1 ) 
    153             CALL mpprecv( 2, zt3we(1,1,1,1,1,2), imigr, nowe ) 
    154166            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    155167         END SELECT 
     
    230242         CASE ( -1 ) 
    231243            CALL mppsend( 4, zt3sn(1,1,1,1,1,1), imigr, nono, ml_req1 ) 
    232             CALL mpprecv( 3, zt3ns(1,1,1,1,1,2), imigr, nono ) 
    233             IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    234244         CASE ( 0 ) 
    235245            CALL mppsend( 3, zt3ns(1,1,1,1,1,1), imigr, noso, ml_req1 ) 
    236246            CALL mppsend( 4, zt3sn(1,1,1,1,1,1), imigr, nono, ml_req2 ) 
     247         CASE ( 1 ) 
     248            CALL mppsend( 3, zt3ns(1,1,1,1,1,1), imigr, noso, ml_req1 ) 
     249         END SELECT 
     250         !  
     251         SELECT CASE ( nbondj_bdy_b(IBD_IN(jf)) ) 
     252         CASE ( -1 ) 
     253            CALL mpprecv( 3, zt3ns(1,1,1,1,1,2), imigr, nono ) 
     254         CASE ( 0 ) 
    237255            CALL mpprecv( 3, zt3ns(1,1,1,1,1,2), imigr, nono ) 
    238256            CALL mpprecv( 4, zt3sn(1,1,1,1,1,2), imigr, noso ) 
     257         CASE ( 1 ) 
     258            CALL mpprecv( 4, zt3sn(1,1,1,1,1,2), imigr, noso ) 
     259         END SELECT 
     260         !  
     261         SELECT CASE ( nbondj_bdy(IBD_IN(jf)) ) 
     262         CASE ( -1 ) 
     263            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
     264         CASE ( 0 ) 
    239265            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    240266            IF(l_isend) CALL mpi_wait(ml_req2, ml_stat, ml_err) 
    241267         CASE ( 1 ) 
    242             CALL mppsend( 3, zt3ns(1,1,1,1,1,1), imigr, noso, ml_req1 ) 
    243             CALL mpprecv( 4, zt3sn(1,1,1,1,1,2), imigr, noso ) 
    244268            IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err) 
    245269         END SELECT 
  • NEMO/branches/2019/fix_ticket2229/src/OCE/LBC/mpp_loc_generic.h90

    r10425 r10689  
    1717#      define MPI_OPERATION mpi_maxloc 
    1818#      define LOC_OPERATION MAXLOC 
     19#      define ERRVAL -HUGE 
    1920#   endif 
    2021#   if defined OPERATION_MINLOC 
    2122#      define MPI_OPERATION mpi_minloc 
    2223#      define LOC_OPERATION MINLOC 
     24#      define ERRVAL HUGE 
    2325#   endif 
    2426 
     
    4244      ! 
    4345      idim = SIZE(kindex) 
    44       ALLOCATE ( ilocs(idim) ) 
    4546      ! 
    46       ilocs = LOC_OPERATION( ARRAY_IN(:,:,:) , mask= MASK_IN(:,:,:) == 1._wp ) 
    47       zmin  = ARRAY_IN(ilocs(1),ilocs(2),ilocs(3)) 
    48       ! 
    49       kindex(1) = ilocs(1) + nimpp - 1 
     47      IF ( ALL(MASK_IN(:,:,:) /= 1._wp) ) THEN 
     48         ! special case for land processors 
     49         zmin = ERRVAL(zmin) 
     50         index0 = 0 
     51      ELSE 
     52         ALLOCATE ( ilocs(idim) ) 
     53         ! 
     54         ilocs = LOC_OPERATION( ARRAY_IN(:,:,:) , mask= MASK_IN(:,:,:) == 1._wp ) 
     55         zmin  = ARRAY_IN(ilocs(1),ilocs(2),ilocs(3)) 
     56         ! 
     57         kindex(1) = mig( ilocs(1) ) 
    5058#  if defined DIM_2d || defined DIM_3d    /* avoid warning when kindex has 1 element */ 
    51       kindex(2) = ilocs(2) + njmpp - 1 
     59         kindex(2) = mjg( ilocs(2) ) 
    5260#  endif 
    5361#  if defined DIM_3d                      /* avoid warning when kindex has 2 elements */ 
    54       kindex(3) = ilocs(3) 
     62         kindex(3) = ilocs(3) 
    5563#  endif 
    56       !  
    57       DEALLOCATE (ilocs) 
    58       ! 
    59       index0 = kindex(1)-1   ! 1d index starting at 0 
     64         !  
     65         DEALLOCATE (ilocs) 
     66         ! 
     67         index0 = kindex(1)-1   ! 1d index starting at 0 
    6068#  if defined DIM_2d || defined DIM_3d   /* avoid warning when kindex has 1 element */ 
    61       index0 = index0 + jpiglo * (kindex(2)-1) 
     69         index0 = index0 + jpiglo * (kindex(2)-1) 
    6270#  endif 
    6371#  if defined DIM_3d                     /* avoid warning when kindex has 2 elements */ 
    64       index0 = index0 + jpiglo * jpjglo * (kindex(3)-1) 
     72         index0 = index0 + jpiglo * jpjglo * (kindex(3)-1) 
    6573#  endif 
     74      END IF 
    6675      zain(1,:) = zmin 
    6776      zain(2,:) = REAL(index0, wp) 
  • NEMO/branches/2019/fix_ticket2229/tests/WAD/MY_DOCS/references.bib

    • Property svn:mime-type set to text/x-bibtex
  • NEMO/branches/2019/fix_ticket2229/tests/test_cases.bib

    • Property svn:mime-type set to text/x-bibtex
Note: See TracChangeset for help on using the changeset viewer.