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 5086 for branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90 – NEMO

Ignore:
Timestamp:
2015-02-17T10:06:39+01:00 (9 years ago)
Author:
timgraham
Message:

Merged head of trunk into branch in preparation for putting code back onto the trunk
In working copy ran the command:
svn merge svn+sshtimgraham@…/ipsl/forge/projets/nemo/svn/trunk

Also recompiled NEMO_book.pdf with merged input files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r4624 r5086  
    4444   USE agrif_opa_interp ! agrif 
    4545#endif 
    46  
     46#if defined key_asminc    
     47   USE asminc          ! Assimilation increment 
     48#endif 
    4749 
    4850   IMPLICIT NONE 
     
    9597      ALLOCATE( wgtbtp1(3*nn_baro), wgtbtp2(3*nn_baro), zwz(jpi,jpj), STAT= ierr(2) ) 
    9698 
    97       IF( ln_dynvor_een ) ALLOCATE( ftnw(jpi,jpj) , ftne(jpi,jpj) , &  
    98                              &      ftsw(jpi,jpj) , ftse(jpi,jpj) , STAT=ierr(3) ) 
     99      IF( ln_dynvor_een .or. ln_dynvor_een_old ) ALLOCATE( ftnw(jpi,jpj) , ftne(jpi,jpj) , &  
     100                                                    &      ftsw(jpi,jpj) , ftse(jpi,jpj) , STAT=ierr(3) ) 
    99101 
    100102      dyn_spg_ts_alloc = MAXVAL(ierr(:)) 
     
    216218      ! 
    217219      IF ( kt == nit000 .OR. lk_vvl ) THEN 
    218          IF ( ln_dynvor_een ) THEN 
     220         IF ( ln_dynvor_een_old ) THEN 
     221            DO jj = 1, jpjm1 
     222               DO ji = 1, jpim1 
     223                  zwz(ji,jj) =   ( ht(ji  ,jj+1) + ht(ji+1,jj+1) +                    & 
     224                        &          ht(ji  ,jj  ) + ht(ji+1,jj  )   ) / 4._wp   
     225                  IF( zwz(ji,jj) /= 0._wp )   zwz(ji,jj) = 1._wp / zwz(ji,jj) 
     226               END DO 
     227            END DO 
     228            CALL lbc_lnk( zwz, 'F', 1._wp ) 
     229            zwz(:,:) = ff(:,:) * zwz(:,:) 
     230 
     231            ftne(1,:) = 0._wp ; ftnw(1,:) = 0._wp ; ftse(1,:) = 0._wp ; ftsw(1,:) = 0._wp 
     232            DO jj = 2, jpj 
     233               DO ji = fs_2, jpi   ! vector opt. 
     234                  ftne(ji,jj) = zwz(ji-1,jj  ) + zwz(ji  ,jj  ) + zwz(ji  ,jj-1) 
     235                  ftnw(ji,jj) = zwz(ji-1,jj-1) + zwz(ji-1,jj  ) + zwz(ji  ,jj  ) 
     236                  ftse(ji,jj) = zwz(ji  ,jj  ) + zwz(ji  ,jj-1) + zwz(ji-1,jj-1) 
     237                  ftsw(ji,jj) = zwz(ji  ,jj-1) + zwz(ji-1,jj-1) + zwz(ji-1,jj  ) 
     238               END DO 
     239            END DO 
     240         ELSE IF ( ln_dynvor_een ) THEN 
    219241            DO jj = 1, jpjm1 
    220242               DO ji = 1, jpim1 
     
    290312      ! 
    291313      DO jk = 1, jpkm1 
    292 #if defined key_vectopt_loop 
    293          DO jj = 1, 1         !Vector opt. => forced unrolling 
    294             DO ji = 1, jpij 
    295 #else  
    296          DO jj = 1, jpj 
    297             DO ji = 1, jpi 
    298 #endif                                                                    
    299                zu_frc(ji,jj) = zu_frc(ji,jj) + fse3u_n(ji,jj,jk) * ua(ji,jj,jk) * umask(ji,jj,jk) 
    300                zv_frc(ji,jj) = zv_frc(ji,jj) + fse3v_n(ji,jj,jk) * va(ji,jj,jk) * vmask(ji,jj,jk)          
    301             END DO 
    302          END DO 
     314         zu_frc(:,:) = zu_frc(:,:) + fse3u_n(:,:,jk) * ua(:,:,jk) * umask(:,:,jk) 
     315         zv_frc(:,:) = zv_frc(:,:) + fse3v_n(:,:,jk) * va(:,:,jk) * vmask(:,:,jk)          
    303316      END DO 
    304317      ! 
     
    346359         END DO 
    347360         ! 
    348       ELSEIF ( ln_dynvor_een ) THEN                    ! enstrophy and energy conserving scheme 
     361      ELSEIF ( ln_dynvor_een .or. ln_dynvor_een_old ) THEN  ! enstrophy and energy conserving scheme 
    349362         DO jj = 2, jpjm1 
    350363            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    464477      !                                             ! ==================== !   
    465478      ! Initialize barotropic variables:       
     479      IF( ll_init )THEN 
     480         sshbb_e(:,:) = 0._wp 
     481         ubb_e  (:,:) = 0._wp 
     482         vbb_e  (:,:) = 0._wp 
     483         sshb_e (:,:) = 0._wp 
     484         ub_e   (:,:) = 0._wp 
     485         vb_e   (:,:) = 0._wp 
     486      ENDIF 
     487      ! 
    466488      IF (ln_bt_fw) THEN                  ! FORWARD integration: start from NOW fields                     
    467489         sshn_e(:,:) = sshn (:,:)             
     
    685707            END DO 
    686708            ! 
    687          ELSEIF ( ln_dynvor_een ) THEN                    !==  energy and enstrophy conserving scheme  ==! 
     709         ELSEIF ( ln_dynvor_een .or. ln_dynvor_een_old ) THEN !==  energy and enstrophy conserving scheme  ==! 
    688710            DO jj = 2, jpjm1 
    689711               DO ji = fs_2, fs_jpim1   ! vector opt. 
Note: See TracChangeset for help on using the changeset viewer.