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 12616 for NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/SBC – NEMO

Ignore:
Timestamp:
2020-03-26T19:24:53+01:00 (4 years ago)
Author:
techene
Message:

all: add e3 substitute (sometimes it requires to add ze3t/u/v/w) and limit precompiled files lines to about 130 character, OCE/ASM/asminc.F90, OCE/DOM/domzgr_substitute.h90, OCE/ISF/isfcpl.F90, OCE/SBC/sbcice_cice, OCE/CRS/crsini.F90 : add key_LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/SBC/sbcice_cice.F90

    r12583 r12616  
    233233!!gm This should be put elsewhere....   (same remark for limsbc) 
    234234!!gm especially here it is assumed zstar coordinate, but it can be ztilde.... 
    235             IF( .NOT.ln_linssh )   CALL dom_vvl_zgr( Kbb, Kmm, Kaa )   ! interpolation scale factor, depth and water column 
    236             ! IF( .NOT.ln_linssh ) THEN 
    237             !    ! 
    238             !    DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
    239             !       e3t(:,:,jk,Kmm) = e3t_0(:,:,jk)*( 1._wp + ssh(:,:,Kmm)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
    240             !       e3t(:,:,jk,Kbb) = e3t_0(:,:,jk)*( 1._wp + ssh(:,:,Kbb)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
    241             !    ENDDO 
    242             !    e3t(:,:,:,Krhs) = e3t(:,:,:,Kbb) 
    243             !    ! Reconstruction of all vertical scale factors at now and before time-steps 
    244             !    ! ============================================================================= 
    245             !    ! Horizontal scale factor interpolations 
    246             !    ! -------------------------------------- 
    247             !    CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3u(:,:,:,Kbb), 'U' ) 
    248             !    CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3v(:,:,:,Kbb), 'V' ) 
    249             !    CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3u(:,:,:,Kmm), 'U' ) 
    250             !    CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3v(:,:,:,Kmm), 'V' ) 
    251             !    CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3f(:,:,:), 'F' ) 
    252             !    ! Vertical scale factor interpolations 
    253             !    ! ------------------------------------ 
    254             !    CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3w (:,:,:,Kmm), 'W'  ) 
    255             !    CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3uw(:,:,:,Kmm), 'UW' ) 
    256             !    CALL dom_vvl_interpol( e3v(:,:,:,Kmm), e3vw(:,:,:,Kmm), 'VW' ) 
    257             !    CALL dom_vvl_interpol( e3u(:,:,:,Kbb), e3uw(:,:,:,Kbb), 'UW' ) 
    258             !    CALL dom_vvl_interpol( e3v(:,:,:,Kbb), e3vw(:,:,:,Kbb), 'VW' ) 
    259             !    ! t- and w- points depth 
    260             !    ! ---------------------- 
    261             !    gdept(:,:,1,Kmm) = 0.5_wp * e3w(:,:,1,Kmm) 
    262             !    gdepw(:,:,1,Kmm) = 0.0_wp 
    263             !    gde3w(:,:,1)     = gdept(:,:,1,Kmm) - ssh(:,:,Kmm) 
    264             !    DO jk = 2, jpk 
    265             !       gdept(:,:,jk,Kmm) = gdept(:,:,jk-1,Kmm) + e3w(:,:,jk,Kmm) 
    266             !       gdepw(:,:,jk,Kmm) = gdepw(:,:,jk-1,Kmm) + e3t(:,:,jk-1,Kmm) 
    267             !       gde3w(:,:,jk)     = gdept(:,:,jk  ,Kmm) - sshn   (:,:) 
    268             !    END DO 
    269             ! ENDIF 
     235#if defined key_LF 
     236            IF( .NOT.ln_linssh )   CALL dom_qe_zgr( Kbb, Kmm, Kaa )   ! interpolation scale factor, depth and water column 
     237#else 
     238            IF( .NOT.ln_linssh ) THEN 
     239               ! 
     240               DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
     241                  e3t(:,:,jk,Kmm) = e3t_0(:,:,jk)*( 1._wp + ssh(:,:,Kmm)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
     242                  e3t(:,:,jk,Kbb) = e3t_0(:,:,jk)*( 1._wp + ssh(:,:,Kbb)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
     243               ENDDO 
     244               e3t(:,:,:,Krhs) = e3t(:,:,:,Kbb) 
     245               ! Reconstruction of all vertical scale factors at now and before time-steps 
     246               ! ============================================================================= 
     247               ! Horizontal scale factor interpolations 
     248               ! -------------------------------------- 
     249               CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3u(:,:,:,Kbb), 'U' ) 
     250               CALL dom_vvl_interpol( e3t(:,:,:,Kbb), e3v(:,:,:,Kbb), 'V' ) 
     251               CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3u(:,:,:,Kmm), 'U' ) 
     252               CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3v(:,:,:,Kmm), 'V' ) 
     253               CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3f(:,:,:), 'F' ) 
     254               ! Vertical scale factor interpolations 
     255               ! ------------------------------------ 
     256               CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3w (:,:,:,Kmm), 'W'  ) 
     257               CALL dom_vvl_interpol( e3u(:,:,:,Kmm), e3uw(:,:,:,Kmm), 'UW' ) 
     258               CALL dom_vvl_interpol( e3v(:,:,:,Kmm), e3vw(:,:,:,Kmm), 'VW' ) 
     259               CALL dom_vvl_interpol( e3u(:,:,:,Kbb), e3uw(:,:,:,Kbb), 'UW' ) 
     260               CALL dom_vvl_interpol( e3v(:,:,:,Kbb), e3vw(:,:,:,Kbb), 'VW' ) 
     261               ! t- and w- points depth 
     262               ! ---------------------- 
     263               gdept(:,:,1,Kmm) = 0.5_wp * e3w(:,:,1,Kmm) 
     264               gdepw(:,:,1,Kmm) = 0.0_wp 
     265               gde3w(:,:,1)     = gdept(:,:,1,Kmm) - ssh(:,:,Kmm) 
     266               DO jk = 2, jpk 
     267                  gdept(:,:,jk,Kmm) = gdept(:,:,jk-1,Kmm) + e3w(:,:,jk,Kmm) 
     268                  gdepw(:,:,jk,Kmm) = gdepw(:,:,jk-1,Kmm) + e3t(:,:,jk-1,Kmm) 
     269                  gde3w(:,:,jk)     = gdept(:,:,jk  ,Kmm) - sshn   (:,:) 
     270               END DO 
     271            ENDIF 
     272#endif 
    270273         ENDIF 
    271274      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.