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

Ignore:
Timestamp:
2015-10-31T08:40:45+01:00 (8 years ago)
Author:
gm
Message:

#1613: vvl by default: suppression of domzgr_substitute.h90

File:
1 edited

Legend:

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

    r5836 r5845  
    99   !!---------------------------------------------------------------------- 
    1010   !!   sbc_ice_cice  : sea-ice model time-stepping and update ocean sbc over ice-covered area 
    11    !!    
    12    !!    
    1311   !!---------------------------------------------------------------------- 
    1412   USE oce             ! ocean dynamics and tracers 
     
    9290   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:), PRIVATE ::   png     ! local array used in sbc_cice_ice 
    9391 
    94    !! * Substitutions 
    95 #  include "domzgr_substitute.h90" 
    9692   !!---------------------------------------------------------------------- 
    9793   !! NEMO/OPA 3.7 , NEMO-consortium (2015)  
     
    249245            sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 
    250246#if defined key_vvl             
    251            ! key_vvl necessary? clem: yes for compilation purpose 
     247!!gm key_vvl necessary? clem: yes for compilation purpose 
     248!!gm same remark as in limsbc 
    252249            DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
    253                fse3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
    254                fse3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 
     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)) ) 
    255252            ENDDO 
    256             fse3t_a(:,:,:) = fse3t_b(:,:,:) 
     253            e3t_a(:,:,:) = e3t_b(:,:,:) 
    257254            ! Reconstruction of all vertical scale factors at now and before time 
    258255            ! steps 
     
    260257            ! Horizontal scale factor interpolations 
    261258            ! -------------------------------------- 
    262             CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3u_b(:,:,:), 'U' ) 
    263             CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3v_b(:,:,:), 'V' ) 
    264             CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3u_n(:,:,:), 'U' ) 
    265             CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3v_n(:,:,:), 'V' ) 
    266             CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F' ) 
     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' ) 
    267264            ! Vertical scale factor interpolations 
    268265            ! ------------------------------------ 
    269             CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W'  ) 
    270             CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 
    271             CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 
    272             CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 
    273             CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) 
     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' ) 
    274271            ! t- and w- points depth 
    275272            ! ---------------------- 
    276             fsdept_n(:,:,1) = 0.5_wp * fse3w_n(:,:,1) 
    277             fsdepw_n(:,:,1) = 0.0_wp 
    278             fsde3w_n(:,:,1) = fsdept_n(:,:,1) - sshn(:,:) 
     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(:,:) 
    279276            DO jk = 2, jpk 
    280                fsdept_n(:,:,jk) = fsdept_n(:,:,jk-1) + fse3w_n(:,:,jk) 
    281                fsdepw_n(:,:,jk) = fsdepw_n(:,:,jk-1) + fse3t_n(:,:,jk-1) 
    282                fsde3w_n(:,:,jk) = fsdept_n(:,:,jk  ) - sshn   (:,:) 
     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   (:,:) 
    283280            END DO 
    284281#endif 
     
    448445! Freezing/melting potential 
    449446! Calculated over NEMO leapfrog timestep (hence 2*dt) 
    450       nfrzmlt(:,:)=rau0*rcp*fse3t_m(:,:)*(Tocnfrz-sst_m(:,:))/(2.0*dt) 
     447      nfrzmlt(:,:) = rau0 * rcp * e3t_m(:,:) * ( Tocnfrz-sst_m(:,:) ) / ( 2.0*dt ) 
    451448 
    452449      ztmp(:,:) = nfrzmlt(:,:) 
Note: See TracChangeset for help on using the changeset viewer.