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 5075 for branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC – NEMO

Ignore:
Timestamp:
2015-02-11T11:50:34+01:00 (9 years ago)
Author:
timgraham
Message:

Upgraded branch to current head of trunk (r5072) so it can be used with the trunk

Location:
branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/domain.F90

    r4811 r5075  
    337337      INTEGER ::   ios 
    338338      !! 
    339       NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco 
     339      NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_isfcav 
    340340      !!---------------------------------------------------------------------- 
    341341 
     
    354354         WRITE(numout,*) '~~~~~~~' 
    355355         WRITE(numout,*) '          Namelist namzgr : set vertical coordinate' 
    356          WRITE(numout,*) '             z-coordinate - full steps      ln_zco = ', ln_zco 
    357          WRITE(numout,*) '             z-coordinate - partial steps   ln_zps = ', ln_zps 
    358          WRITE(numout,*) '             s- or hybrid z-s-coordinate    ln_sco = ', ln_sco 
     356         WRITE(numout,*) '             z-coordinate - full steps      ln_zco    = ', ln_zco 
     357         WRITE(numout,*) '             z-coordinate - partial steps   ln_zps    = ', ln_zps 
     358         WRITE(numout,*) '             s- or hybrid z-s-coordinate    ln_sco    = ', ln_sco 
     359         WRITE(numout,*) '             ice shelf cavity               ln_isfcav = ', ln_isfcav 
    359360      ENDIF 
    360361 
     
    363364      IF( ln_zps ) ioptio = ioptio + 1 
    364365      IF( ln_sco ) ioptio = ioptio + 1 
    365       IF ( ioptio /= 1 )   CALL ctl_stop( ' none or several vertical coordinate options used' ) 
     366      IF( ln_isfcav ) ioptio = 33 
     367      IF ( ioptio /= 1  )   CALL ctl_stop( ' none or several vertical coordinate options used' ) 
     368      IF ( ioptio == 33 )   CALL ctl_stop( ' isf cavity with off line module not yet done    ' ) 
    366369 
    367370   END SUBROUTINE dom_zgr 
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/dommsk.F90

    r3294 r5075  
    5858      ! Interior domain mask (used for global sum) 
    5959      ! -------------------- 
     60      ssmask(:,:)  = tmask(:,:,1) 
    6061      tmask_i(:,:) = tmask(:,:,1) 
    6162      iif = jpreci                        ! thickness of exchange halos in i-axis 
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r4569 r5075  
    164164 
    165165         CALL iom_get( inum4, jpdom_data, 'mbathy', zmbk )              ! number of ocean t-points 
    166          mbathy(:,:) = INT( zmbk(:,:) ) 
     166         mbathy (:,:) = INT( zmbk(:,:) ) 
     167         misfdep(:,:) = 1                                               ! ice shelf case not yet done 
    167168          
    168169         CALL zgr_bot_level                                             ! mbk. arrays (deepest ocean t-, u- & v-points 
     
    371372      ! 
    372373      mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land) 
     374      mikt(:,:) = 1 ; miku(:,:) = 1; mikv(:,:) = 1; ! top k-index of T-level (=1 over open ocean; >1 beneath ice shelf) 
    373375      !                                     ! bottom k-index of W-level = mbkt+1 
    374376      DO jj = 1, jpjm1                      ! bottom k-index of u- (v-) level 
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r4624 r5075  
    535535      !!--------------------------------------------------------------------- 
    536536#if defined key_ldfslp && ! defined key_c1d 
    537       CALL eos( pts, rhd, rhop, gdept_0(:,:,:) )   ! Time-filtered in situ density  
    538       CALL bn2( pts, rn2 )         ! before Brunt-Vaisala frequency 
    539       IF( ln_zps )   & 
    540          &  CALL zps_hde( kt, jpts, pts, gtsu, gtsv, rhd, gru, grv )  ! Partial steps: before Horizontal DErivative 
     537      CALL eos_rab( pts, rab_n )       ! now local thermal/haline expension ratio at T-points 
     538      CALL bn2    ( pts, rab_n, rn2  ) ! now    Brunt-Vaisala 
     539      IF( ln_zps )   & ! Partial steps: before Horizontal DErivative 
     540        &    CALL zps_hde( kt, jpts, pts, gtsu, gtsv,  &        ! Partial steps: before horizontal gradient 
     541        &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   &             ! 
     542        &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    )  ! of t, s, rd at the last ocean level 
     543        ! only gtsu, gtsv, rhd, gru , grv are used  
     544 
     545 
    541546         !                                                            ! of t, s, rd at the bottom ocean level 
    542547      CALL zdf_mxl( kt )            ! mixed layer depth 
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/istate.F90

    r4569 r5075  
    1212   USE oce             ! ocean dynamics and active tracers  
    1313   USE dom_oce         ! ocean space and time domain  
    14    USE daymod          ! calendar 
    1514 
    1615   IMPLICIT NONE 
     
    4746      rn2  (:,:,:) = 0.e0  
    4847      ! 
    49       CALL day_init                           ! model calendar (using both namelist and restart infos) 
    50  
    5148   END SUBROUTINE istate_init 
    5249 
  • branches/2014/dev_r4650_UKMO7_STARTHOUR/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90

    r4640 r5075  
    4646   USE timing          ! Timing 
    4747   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    48    USE lbcnfd, ONLY: isendto, nsndto 
     48   USE lbcnfd, ONLY: isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges 
    4949 
    5050   USE trc 
    5151   USE trcnam 
    5252   USE trcrst 
     53   USE diaptr         ! Need to initialise this as some variables are used in if statements later 
    5354 
    5455   IMPLICIT NONE 
     
    298299      !                                     ! Passive tracers 
    299300                            CALL     trc_init   ! Passive tracers initialization 
    300  
     301      ! 
     302      ! Initialise diaptr as some variables are used in if statements later (in 
     303      ! various advection and diffusion routines. 
     304                            CALL dia_ptr_init 
     305      ! 
    301306      IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA 
    302307      ! 
     
    589594      !!---------------------------------------------------------------------- 
    590595      !!    1.0  ! 2011-10  (A. C. Coward, NOCS & J. Donners, PRACE) 
    591       !!    2.0  ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. Mocavero, CMCC)  
     596      !!    2.0  ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. 
     597      !Mocavero, CMCC)  
    592598      !!---------------------------------------------------------------------- 
    593599 
     
    612618          !loop over the other north-fold processes to find the processes 
    613619          !managing the points belonging to the sxT-dxT range 
    614           DO jn = jpnij - jpni +1, jpnij 
    615              IF ( njmppt(jn) == njmppmax ) THEN 
     620 
     621          DO jn = 1, jpni 
    616622                !sxT is the first point (in the global domain) of the jn 
    617623                !process 
    618                 sxT = nimppt(jn) 
     624                sxT = nfiimpp(jn, jpnj) 
    619625                !dxT is the last point (in the global domain) of the jn 
    620626                !process 
    621                 dxT = nimppt(jn) + nlcit(jn) - 1 
     627                dxT = nfiimpp(jn, jpnj) + nfilcit(jn, jpnj) - 1 
    622628                IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 
    623629                   nsndto = nsndto + 1 
    624                    isendto(nsndto) = jn 
    625                 ELSEIF ((sxM .le. sxT) .AND. (dxM .gt. dxT)) THEN 
     630                     isendto(nsndto) = jn 
     631                ELSEIF ((sxM .le. sxT) .AND. (dxM .ge. dxT)) THEN 
    626632                   nsndto = nsndto + 1 
    627                    isendto(nsndto) = jn 
     633                     isendto(nsndto) = jn 
    628634                ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 
    629635                   nsndto = nsndto + 1 
    630                    isendto(nsndto) = jn 
     636                     isendto(nsndto) = jn 
    631637                END IF 
    632              END IF 
    633638          END DO 
     639          nfsloop = 1 
     640          nfeloop = nlci 
     641          DO jn = 2,jpni-1 
     642           IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 
     643              IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 
     644                 nfsloop = nldi 
     645              ENDIF 
     646              IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 
     647                 nfeloop = nlei 
     648              ENDIF 
     649           ENDIF 
     650        END DO 
     651 
    634652      ENDIF 
    635653      l_north_nogather = .TRUE. 
    636  
    637654   END SUBROUTINE nemo_northcomms 
    638655#else 
Note: See TracChangeset for help on using the changeset viewer.