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 10768 – NEMO

Changeset 10768


Ignore:
Timestamp:
2019-03-15T15:54:10+01:00 (5 years ago)
Author:
acc
Message:

Branch 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. Fixes to dynnxt.F90 and step.F90 to recover identical results to source trunk version with all SETTE tests. This excludes AGRIF tests which are currently broken by the presence of the temporary pointers which will be removed once all routines have been refactored. Still to be confirmed with eORCA1

Location:
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DYN/dynnxt.F90

    r10743 r10768  
    339339         ENDIF 
    340340         ! 
     341         ikt = Nnn 
     342      ELSE 
     343         ikt = kNm1 
     344         puu(:,:,:)  =  uu(:,:,:,kNp1) 
     345         pvv(:,:,:)  =  vv(:,:,:,kNp1) 
     346         pe3t(:,:,:) = e3t(:,:,:,kNp1) 
     347         pe3u(:,:,:) = e3u(:,:,:,kNp1) 
     348         pe3v(:,:,:) = e3v(:,:,:,kNp1) 
    341349      ENDIF ! neuler =/0 
    342350      ! 
     
    350358      ! 
    351359      IF(.NOT.ln_linssh ) THEN 
    352          hu_b(:,:) = pe3u(:,:,1) * umask(:,:,1) 
    353          hv_b(:,:) = pe3v(:,:,1) * vmask(:,:,1) 
     360         hu_b(:,:) = e3u(:,:,1,ikt ) * umask(:,:,1) 
     361         hv_b(:,:) = e3v(:,:,1,ikt ) * vmask(:,:,1) 
    354362         DO jk = 2, jpkm1 
    355             hu_b(:,:) = hu_b(:,:) + pe3u(:,:,jk) * umask(:,:,jk) 
    356             hv_b(:,:) = hv_b(:,:) + pe3v(:,:,jk) * vmask(:,:,jk) 
     363            hu_b(:,:) = hu_b(:,:) + e3u(:,:,jk,ikt ) * umask(:,:,jk) 
     364            hv_b(:,:) = hv_b(:,:) + e3v(:,:,jk,ikt ) * vmask(:,:,jk) 
    357365         END DO 
    358366         r1_hu_b(:,:) = ssumask(:,:) / ( hu_b(:,:) + 1._wp - ssumask(:,:) ) 
     
    361369      ! 
    362370      un_b(:,:) = e3u(:,:,1,kNp1) * uu(:,:,1,kNp1) * umask(:,:,1) 
    363       ub_b(:,:) = pe3u(:,:,1)     * puu(:,:,1) * umask(:,:,1) 
     371      ub_b(:,:) = e3u(:,:,1,ikt ) * uu(:,:,1,ikt ) * umask(:,:,1) 
    364372      vn_b(:,:) = e3v(:,:,1,kNp1) * vv(:,:,1,kNp1) * vmask(:,:,1) 
    365       vb_b(:,:) = pe3v(:,:,1)     * pvv(:,:,1) * vmask(:,:,1) 
     373      vb_b(:,:) = e3v(:,:,1,ikt ) * vv(:,:,1,ikt ) * vmask(:,:,1) 
    366374      DO jk = 2, jpkm1 
    367375         un_b(:,:) = un_b(:,:) + e3u(:,:,jk,kNp1) * uu(:,:,jk,kNp1) * umask(:,:,jk) 
    368          ub_b(:,:) = ub_b(:,:) + pe3u(:,:,jk)     * puu(:,:,jk) * umask(:,:,jk) 
     376         ub_b(:,:) = ub_b(:,:) + e3u(:,:,jk,ikt ) * uu(:,:,jk,ikt ) * umask(:,:,jk) 
    369377         vn_b(:,:) = vn_b(:,:) + e3v(:,:,jk,kNp1) * vv(:,:,jk,kNp1) * vmask(:,:,jk) 
    370          vb_b(:,:) = vb_b(:,:) + pe3v(:,:,jk)     * pvv(:,:,jk) * vmask(:,:,jk) 
     378         vb_b(:,:) = vb_b(:,:) + e3v(:,:,jk,ikt ) * vv(:,:,jk,ikt ) * vmask(:,:,jk) 
    371379      END DO 
    372380      un_b(:,:) = un_b(:,:) * r1_hu_a(:,:) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/step.F90

    r10743 r10768  
    281281      ! 
    282282      ! Swap time levels 
    283       Nrhs = Nm1 
    284       Nm1 = Nnn 
    285       Nnn = Np1 
    286       Np1 = Nrhs 
     283      IF( .NOT. (neuler == 0 .AND. kstp == nit000)  ) THEN 
     284         Nrhs = Nm1 
     285         Nm1 = Nnn 
     286         Nnn = Np1 
     287         Np1 = Nrhs 
     288      ENDIF 
    287289      ! 
    288290      ! Update temporary pointers 
Note: See TracChangeset for help on using the changeset viewer.