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 4370 for branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90 – NEMO

Ignore:
Timestamp:
2014-01-23T18:13:16+01:00 (10 years ago)
Author:
jchanut
Message:

Time split cleaning / AMM12 restart / BDY and Agrif. See tickets #1228, #1227, #1225 and #1133

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90

    r4354 r4370  
    4040   USE domvvl          ! varying vertical mesh 
    4141   USE dynspg_oce      ! pressure gradient schemes 
    42    USE dynspg_flt      ! pressure gradient schemes 
    43    USE dynspg_exp      ! pressure gradient schemes 
    44    USE dynspg_ts       ! pressure gradient schemes 
     42   USE dynspg_flt      ! filtered free surface 
    4543   USE sol_oce         ! ocean solver variables 
    4644   USE lib_mpp         ! MPP library 
     
    7270      ! - ML - needed for initialization of e3t_b 
    7371      INTEGER  ::  ji,jj,jk     ! dummy loop indices 
    74       REAL(wp), POINTER, DIMENSION(:,:) ::  zhur_b, zhvr_b ! U & Inverse of before depths 
    7572      REAL(wp), POINTER, DIMENSION(:,:,:,:)  ::  zuvd    ! U & V data workspace 
    7673      !!---------------------------------------------------------------------- 
     
    9390      IF( ln_rstart ) THEN                    ! Restart from a file 
    9491         !                                    ! ------------------- 
    95          neuler = 1                              ! Set time-step indicator at nit000 (leap-frog) 
    9692         CALL rst_read                           ! Read the restart file 
    9793         CALL day_init                           ! model calendar (using both namelist and restart infos) 
     
    161157      ! being eventually used 
    162158      ! 
    163       IF (lk_vvl) THEN  
    164          CALL wrk_alloc( jpi, jpj, zhur_b, zhvr_b  ) 
    165          zhur_b(:,:) = 0._wp 
    166          zhvr_b(:,:) = 0._wp 
    167          DO jk = 1, jpk 
    168             zhur_b(:,:) = zhur_b(:,:) + fse3u_b(:,:,jk) * umask(:,:,jk) 
    169             zhvr_b(:,:) = zhvr_b(:,:) + fse3v_b(:,:,jk) * vmask(:,:,jk) 
    170          END DO 
    171          zhur_b(:,:) = umask(:,:,1) / ( zhur_b(:,:) + 1._wp - umask(:,:,1) ) 
    172          zhvr_b(:,:) = vmask(:,:,1) / ( zhvr_b(:,:) + 1._wp - vmask(:,:,1) ) 
    173       ENDIF 
    174159      ! 
    175160      un_b(:,:) = 0._wp ; vn_b(:,:) = 0._wp 
     
    187172               vn_b(ji,jj) = vn_b(ji,jj) + fse3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 
    188173               ! 
    189                ub_b(ji,jj) = ub_b(ji,jj) + fse3u_b(ji,jj,jk) * ub(ji,jj,jk)  * umask(ji,jj,jk) 
    190                vb_b(ji,jj) = vb_b(ji,jj) + fse3v_b(ji,jj,jk) * vb(ji,jj,jk)  * vmask(ji,jj,jk) 
     174               ub_b(ji,jj) = ub_b(ji,jj) + fse3u_b(ji,jj,jk) * ub(ji,jj,jk) * umask(ji,jj,jk) 
     175               vb_b(ji,jj) = vb_b(ji,jj) + fse3v_b(ji,jj,jk) * vb(ji,jj,jk) * vmask(ji,jj,jk) 
    191176            END DO 
    192177         END DO 
    193178      END DO 
    194179      ! 
    195       un_b(:,:) = un_b(:,:) * hur(:,:) 
    196       vn_b(:,:) = vn_b(:,:) * hvr(:,:) 
    197       ! 
    198       IF( lk_vvl ) THEN 
    199          ub_b(:,:) = ub_b(:,:) * zhur_b(:,:) 
    200          vb_b(:,:) = vb_b(:,:) * zhvr_b(:,:) 
    201       ELSE 
    202          ub_b(:,:) = ub_b(:,:) * hur(:,:) 
    203          vb_b(:,:) = vb_b(:,:) * hvr(:,:) 
    204       ENDIF 
    205       ! 
    206       IF (lk_vvl) CALL wrk_dealloc( jpi, jpj, zhur_b, zhvr_b  )  
     180      un_b(:,:) = un_b(:,:) * hur  (:,:) 
     181      vn_b(:,:) = vn_b(:,:) * hvr  (:,:) 
     182      ! 
     183      ub_b(:,:) = ub_b(:,:) * hur_b(:,:) 
     184      vb_b(:,:) = vb_b(:,:) * hvr_b(:,:) 
     185      ! 
    207186      ! 
    208187      IF( nn_timing == 1 )  CALL timing_stop('istate_init') 
Note: See TracChangeset for help on using the changeset viewer.