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 5866 for branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90 – NEMO

Ignore:
Timestamp:
2015-11-06T11:42:35+01:00 (8 years ago)
Author:
gm
Message:

#1613: vvl by default: add ln_linssh and remove key_vvl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r5845 r5866  
    240240         snwice_mass_b(:,:) = 0.0_wp         ! no mass exchanges 
    241241      ENDIF 
    242       IF( .NOT. ln_rstart ) THEN 
     242      IF( .NOT.ln_rstart ) THEN 
    243243         IF( nn_ice_embd == 2 ) THEN            ! full embedment (case 2) deplete the initial ssh below sea-ice area 
    244244            sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rau0 
    245245            sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 
    246 #if defined key_vvl             
    247 !!gm key_vvl necessary? clem: yes for compilation purpose 
    248 !!gm same remark as in limsbc 
    249             DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
    250                e3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
    251                e3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
    252             ENDDO 
    253             e3t_a(:,:,:) = e3t_b(:,:,:) 
    254             ! Reconstruction of all vertical scale factors at now and before time 
    255             ! steps 
    256             ! ============================================================================= 
    257             ! Horizontal scale factor interpolations 
    258             ! -------------------------------------- 
    259             CALL dom_vvl_interpol( e3t_b(:,:,:), e3u_b(:,:,:), 'U' ) 
    260             CALL dom_vvl_interpol( e3t_b(:,:,:), e3v_b(:,:,:), 'V' ) 
    261             CALL dom_vvl_interpol( e3t_n(:,:,:), e3u_n(:,:,:), 'U' ) 
    262             CALL dom_vvl_interpol( e3t_n(:,:,:), e3v_n(:,:,:), 'V' ) 
    263             CALL dom_vvl_interpol( e3u_n(:,:,:), e3f_n(:,:,:), 'F' ) 
    264             ! Vertical scale factor interpolations 
    265             ! ------------------------------------ 
    266             CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W'  ) 
    267             CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 
    268             CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 
    269             CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 
    270             CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 
    271             ! t- and w- points depth 
    272             ! ---------------------- 
    273             gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 
    274             gdepw_n(:,:,1) = 0.0_wp 
    275             gde3w_n(:,:,1) = gdept_n(:,:,1) - sshn(:,:) 
    276             DO jk = 2, jpk 
    277                gdept_n(:,:,jk) = gdept_n(:,:,jk-1) + e3w_n(:,:,jk) 
    278                gdepw_n(:,:,jk) = gdepw_n(:,:,jk-1) + e3t_n(:,:,jk-1) 
    279                gde3w_n(:,:,jk) = gdept_n(:,:,jk  ) - sshn   (:,:) 
    280             END DO 
    281 #endif 
     246 
     247!!gm This should be put elsewhere....   (same remark for limsbc) 
     248!!gm especially here it is assumed zstar coordinate, but it can be ztilde.... 
     249            IF( .NOT.ln_linssh ) THEN 
     250               ! 
     251               DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
     252                  e3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
     253                  e3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
     254               ENDDO 
     255               e3t_a(:,:,:) = e3t_b(:,:,:) 
     256               ! Reconstruction of all vertical scale factors at now and before time-steps 
     257               ! ============================================================================= 
     258               ! Horizontal scale factor interpolations 
     259               ! -------------------------------------- 
     260               CALL dom_vvl_interpol( e3t_b(:,:,:), e3u_b(:,:,:), 'U' ) 
     261               CALL dom_vvl_interpol( e3t_b(:,:,:), e3v_b(:,:,:), 'V' ) 
     262               CALL dom_vvl_interpol( e3t_n(:,:,:), e3u_n(:,:,:), 'U' ) 
     263               CALL dom_vvl_interpol( e3t_n(:,:,:), e3v_n(:,:,:), 'V' ) 
     264               CALL dom_vvl_interpol( e3u_n(:,:,:), e3f_n(:,:,:), 'F' ) 
     265               ! Vertical scale factor interpolations 
     266               ! ------------------------------------ 
     267               CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W'  ) 
     268               CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 
     269               CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 
     270               CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 
     271               CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 
     272               ! t- and w- points depth 
     273               ! ---------------------- 
     274               gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 
     275               gdepw_n(:,:,1) = 0.0_wp 
     276               gde3w_n(:,:,1) = gdept_n(:,:,1) - sshn(:,:) 
     277               DO jk = 2, jpk 
     278                  gdept_n(:,:,jk) = gdept_n(:,:,jk-1) + e3w_n(:,:,jk) 
     279                  gdepw_n(:,:,jk) = gdepw_n(:,:,jk-1) + e3t_n(:,:,jk-1) 
     280                  gde3w_n(:,:,jk) = gdept_n(:,:,jk  ) - sshn   (:,:) 
     281               END DO 
     282            ENDIF 
    282283         ENDIF 
    283284      ENDIF 
    284   
     285      ! 
    285286      CALL wrk_dealloc( jpi,jpj, ztmp1, ztmp2 ) 
    286287      ! 
Note: See TracChangeset for help on using the changeset viewer.