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

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

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

Location:
branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
18 edited

Legend:

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

    r5836 r5845  
    172172         &      ssv_m  (jpi,jpj) , sss_m(jpi,jpj) , ssh_m(jpi,jpj) , STAT=ierr(4) ) 
    173173         ! 
    174 #if defined key_vvl 
    175174      ALLOCATE( e3t_m(jpi,jpj) , STAT=ierr(5) ) 
    176 #endif 
    177175         ! 
    178176      sbc_oce_alloc = MAXVAL( ierr ) 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcana.F90

    r5836 r5845  
    3737    
    3838   !! * Substitutions 
    39 #  include "domzgr_substitute.h90" 
    4039#  include "vectopt_loop_substitute.h90" 
    4140   !!---------------------------------------------------------------------- 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r5836 r5845  
    3939   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_apr   ! structure of input fields (file informations, fields read) 
    4040 
    41    !! * Substitutions 
    42 #  include "domzgr_substitute.h90" 
    4341   !!---------------------------------------------------------------------- 
    4442   !! NEMO/OPA 4.0 , NEMO Consortium (2011)  
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r5583 r5845  
    9393 
    9494   !! * Substitutions 
    95 #  include "domzgr_substitute.h90" 
    9695#  include "vectopt_loop_substitute.h90" 
    9796   !!---------------------------------------------------------------------- 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90

    r5836 r5845  
    4242          
    4343   !! * Substitutions 
    44 #  include "domzgr_substitute.h90" 
    4544#  include "vectopt_loop_substitute.h90" 
    4645   !!---------------------------------------------------------------------- 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r5836 r5845  
    165165 
    166166   !! Substitution 
    167 #  include "domzgr_substitute.h90" 
    168167#  include "vectopt_loop_substitute.h90" 
    169168   !!---------------------------------------------------------------------- 
     
    20022001      !                                                        ! first T level thickness  
    20032002      IF( ssnd(jps_e3t1st )%laction )  THEN 
    2004          CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( fse3t_n(:,:,1)   , (/jpi,jpj,1/) ), info ) 
     2003         CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( e3t_n(:,:,1)   , (/jpi,jpj,1/) ), info ) 
    20052004      ENDIF 
    20062005      !                                                        ! Qsr fraction 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90

    r5836 r5845  
    1717   USE sbcdcy          ! surface boundary condition: diurnal cycle on qsr 
    1818   USE phycst          ! physical constants 
     19   ! 
    1920   USE fldread         ! read input fields 
    2021   USE iom             ! IOM library 
     
    3738 
    3839   !! * Substitutions 
    39 #  include "domzgr_substitute.h90" 
    4040#  include "vectopt_loop_substitute.h90" 
    4141   !!---------------------------------------------------------------------- 
     
    165165               WRITE(numout,*)  
    166166               WRITE(numout,*) ' day: ', ndastp , TRIM(sf(jf)%clvar), ' * ', zfact 
    167                CALL prihre( sf(jf)%fnow, jpi, jpj, 1, jpi, 20, 1, jpj, 10, zfact, numout ) 
    168167            END DO 
    169             CALL FLUSH(numout) 
    170168         ENDIF 
    171169         ! 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r5643 r5845  
    4040 
    4141   !! * Substitutions 
    42 #  include "domzgr_substitute.h90" 
    4342#  include "vectopt_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
  • 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(:,:) 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90

    r5541 r5845  
    3434   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_ice   ! structure of input ice-cover (file informations, fields read) 
    3535    
    36    !! * Substitutions 
    37 #  include "domzgr_substitute.h90" 
    3836   !!---------------------------------------------------------------------- 
    3937   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r5541 r5845  
    7474    
    7575   !! * Substitutions 
    76 #  include "domzgr_substitute.h90" 
    7776#  include "vectopt_loop_substitute.h90" 
    7877   !!---------------------------------------------------------------------- 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90

    r5541 r5845  
    6464 
    6565   !! * Substitutions 
    66 #  include "domzgr_substitute.h90" 
    6766#  include "vectopt_loop_substitute.h90" 
    6867   !!---------------------------------------------------------------------- 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90

    r5836 r5845  
    6868   TYPE(FLD_N)       , PUBLIC ::   sn_depmax_isf, sn_depmin_isf, sn_Leff_isf     !: information about the runoff file to be read 
    6969    
    70    !! * Substitutions 
    71 #  include "domzgr_substitute.h90" 
    7270   !!---------------------------------------------------------------------- 
    7371   !! NEMO/OPA 3.7 , LOCEAN-IPSL (2015) 
     
    170168              DO jj = 1, jpj 
    171169                  jk = 2 
    172                   DO WHILE ( jk .LE. mbkt(ji,jj) .AND. fsdepw(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
     170                  DO WHILE ( jk .LE. mbkt(ji,jj) .AND. gdepw_n(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
    173171                  misfkt(ji,jj) = jk-1 
    174172               END DO 
     
    195193               ikb = misfkt(ji,jj) 
    196194               ! thickness of boundary layer at least the top level thickness 
    197                rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t_n(ji,jj,ikt)) 
     195               rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), e3t_n(ji,jj,ikt)) 
    198196 
    199197               ! determine the deepest level influenced by the boundary layer 
    200198               ! test on tmask useless ????? 
    201199               DO jk = ikt, mbkt(ji,jj) 
    202                   IF ( (SUM(fse3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
     200                  IF ( (SUM(e3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
    203201               END DO 
    204                rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
     202               rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(e3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
    205203               misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
    206204               r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
    207205 
    208                zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
    209                ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
     206               zhk           = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
     207               ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / e3t_n(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
    210208            END DO 
    211209         END DO 
     
    369367             ! after verif with UNESCO, wrong sign in BG eq. 2 
    370368             ! Calculate freezing temperature 
    371                 zpress = grav*rau0*fsdept(ji,jj,ik)*1.e-04  
     369                zpress = grav*rau0*gdept_n(ji,jj,ik)*1.e-04  
    372370                CALL eos_fzp(tsb(ji,jj,ik,jp_sal), zt_frz, zpress)  
    373                 zt_sum = zt_sum + (tsn(ji,jj,ik,jp_tem)-zt_frz) * fse3t(ji,jj,ik) * tmask(ji,jj,ik)  ! sum temp 
     371                zt_sum = zt_sum + (tsn(ji,jj,ik,jp_tem)-zt_frz) * e3t_n(ji,jj,ik) * tmask(ji,jj,ik)  ! sum temp 
    374372             ENDDO 
    375373             zt_ave = zt_sum/rhisf_tbl(ji,jj) ! calcul mean value 
     
    445443            ! Crude approximation for pressure (but commonly used) 
    446444            ! 1e-04 to convert from Pa to dBar 
    447             zpress(ji,jj)=grav*rau0*fsdepw(ji,jj,mikt(ji,jj))*1.e-04 
     445            zpress(ji,jj)=grav*rau0*gdepw_n(ji,jj,mikt(ji,jj))*1.e-04 
    448446            ! 
    449447         END DO 
     
    643641               ELSE 
    644642      !! compute Rc number (as done in zdfric.F90) 
    645                zcoef = 0.5 / fse3w(ji,jj,ikt) 
     643               zcoef = 0.5 / e3w_n(ji,jj,ikt) 
    646644               !                                            ! shear of horizontal velocity 
    647645               zdku = zcoef * (  un(ji-1,jj  ,ikt  ) + un(ji,jj,ikt  )   & 
     
    663661               zts(jp_tem) = ttbl(ji,jj) 
    664662               zts(jp_sal) = stbl(ji,jj) 
    665                zdep        = fsdepw(ji,jj,ikt) 
     663               zdep        = gdepw_n(ji,jj,ikt) 
    666664               ! 
    667665               CALL eos_rab( zts, zdep, zab ) 
     
    672670      !! compute Monin Obukov Length 
    673671               ! Maximum boundary layer depth 
    674                zhmax = fsdept(ji,jj,mbkt(ji,jj)) - fsdepw(ji,jj,mikt(ji,jj)) -0.001 
     672               zhmax = gdept_n(ji,jj,mbkt(ji,jj)) - gdepw_n(ji,jj,mikt(ji,jj)) -0.001 
    675673               ! Compute Monin obukhov length scale at the surface and Ekman depth: 
    676674               zmob   = zustar ** 3 / (vkarmn * (zbuofdep + epsln)) 
     
    730728               ! level fully include in the ice shelf boundary layer 
    731729               DO jk = ikt, ikb - 1 
    732                   ze3 = fse3t_n(ji,jj,jk) 
     730                  ze3 = e3t_n(ji,jj,jk) 
    733731                  IF (cptin == 'T' ) varout(ji,jj) = varout(ji,jj) + varin(ji,jj,jk) * r1_hisf_tbl(ji,jj) * ze3 
    734732                  IF (cptin == 'U' ) varout(ji,jj) = varout(ji,jj) + 0.5_wp * (varin(ji,jj,jk) + varin(ji-1,jj,jk)) & 
     
    739737 
    740738               ! level partially include in ice shelf boundary layer  
    741                zhk = SUM( fse3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) 
     739               zhk = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) 
    742740               IF (cptin == 'T') & 
    743741                   &  varout(ji,jj) = varout(ji,jj) + varin(ji,jj,ikb) * (1._wp - zhk) 
     
    788786               ikb = misfkt(ji,jj) 
    789787               ! thickness of boundary layer at least the top level thickness 
    790                rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t(ji,jj,ikt)) 
     788               rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), e3t_n(ji,jj,ikt)) 
    791789 
    792790               ! determine the deepest level influenced by the boundary layer 
    793791               ! test on tmask useless ????? 
    794792               DO jk = ikt, mbkt(ji,jj) 
    795                   IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
     793                  IF ( (SUM(e3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
    796794               END DO 
    797                rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
     795               rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(e3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
    798796               misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
    799797               r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
    800798 
    801                zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
    802                ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
     799               zhk           = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
     800               ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / e3t_n(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
    803801            END DO 
    804802         END DO 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r5836 r5845  
    6262   INTEGER ::   nsbc   ! type of surface boundary condition (deduced from namsbc informations) 
    6363       
    64    !! * Substitutions 
    65 #  include "domzgr_substitute.h90" 
    6664   !!---------------------------------------------------------------------- 
    6765   !! NEMO/OPA 4.0 , NEMO-consortium (2011)  
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r5836 r5845  
    6868   TYPE(FLD),        ALLOCATABLE, DIMENSION(:) ::   sf_t_rnf     ! structure: river runoff temperature (file information, fields read)   
    6969  
    70    !! * Substitutions   
    71 #  include "domzgr_substitute.h90"   
    7270   !!---------------------------------------------------------------------- 
    7371   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     
    216214                  h_rnf(ji,jj) = 0._wp 
    217215                  DO jk = 1, nk_rnf(ji,jj)                           ! recalculates h_rnf to be the depth in metres 
    218                      h_rnf(ji,jj) = h_rnf(ji,jj) + fse3t(ji,jj,jk)   ! to the bottom of the relevant grid box 
     216                     h_rnf(ji,jj) = h_rnf(ji,jj) + e3t_n(ji,jj,jk)   ! to the bottom of the relevant grid box 
    219217                  END DO 
    220218                  !                          ! apply the runoff input flow 
     
    235233      ELSE                       !==   runoff put only at the surface   ==! 
    236234         IF( lk_vvl ) THEN              ! variable volume case 
    237             h_rnf(:,:) = fse3t(:,:,1)   ! recalculate h_rnf to be depth of top box 
    238          ENDIF 
    239          phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact * r1_rau0 / fse3t(:,:,1) 
     235            h_rnf(:,:) = e3t_n(:,:,1)   ! recalculate h_rnf to be depth of top box 
     236         ENDIF 
     237         phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact * r1_rau0 / e3t_n(:,:,1) 
    240238      ENDIF 
    241239      ! 
     
    377375               h_rnf(ji,jj) = 0._wp 
    378376               DO jk = 1, nk_rnf(ji,jj) 
    379                   h_rnf(ji,jj) = h_rnf(ji,jj) + fse3t(ji,jj,jk) 
     377                  h_rnf(ji,jj) = h_rnf(ji,jj) + e3t_n(ji,jj,jk) 
    380378               END DO 
    381379            END DO 
     
    435433               h_rnf(ji,jj) = 0._wp 
    436434               DO jk = 1, nk_rnf(ji,jj) 
    437                   h_rnf(ji,jj) = h_rnf(ji,jj) + fse3t(ji,jj,jk) 
     435                  h_rnf(ji,jj) = h_rnf(ji,jj) + e3t_n(ji,jj,jk) 
    438436               END DO 
    439437            END DO 
     
    448446      ELSE                                       ! runoffs applied at the surface 
    449447         nk_rnf(:,:) = 1 
    450          h_rnf (:,:) = fse3t(:,:,1) 
     448         h_rnf (:,:) = e3t_n(:,:,1) 
    451449      ENDIF 
    452450      ! 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r5407 r5845  
    2828   PUBLIC   sbc_ssm_init    ! routine called by sbcmod.F90 
    2929 
    30    LOGICAL, SAVE  ::   l_ssm_mean = .FALSE.       ! keep track of whether means have been read 
    31                                                   ! from restart file 
     30   LOGICAL, SAVE  ::   l_ssm_mean = .FALSE.       ! keep track of whether means have been read from restart file 
    3231    
    33    !! * Substitutions 
    34 #  include "domzgr_substitute.h90" 
    3532   !!---------------------------------------------------------------------- 
    3633   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     
    8178         ENDIF 
    8279         ! 
    83          IF( lk_vvl )   e3t_m(:,:) = fse3t_n(:,:,1) 
     80         IF( lk_vvl )   e3t_m(:,:) = e3t_n(:,:,1) 
    8481         ! 
    8582         frq_m(:,:) = fraqsr_1lev(:,:) 
     
    103100            ENDIF 
    104101            ! 
    105             IF( lk_vvl )   e3t_m(:,:) = zcoef * fse3t_n(:,:,1) 
     102            IF( lk_vvl )   e3t_m(:,:) = zcoef * e3t_n(:,:,1) 
    106103            ! 
    107104            frq_m(:,:) = zcoef * fraqsr_1lev(:,:) 
     
    131128         ENDIF 
    132129         ! 
    133          IF( lk_vvl )   e3t_m(:,:) = fse3t_m(:,:) + fse3t_n(:,:,1) 
     130         IF( lk_vvl )   e3t_m(:,:) = e3t_m(:,:) + e3t_n(:,:,1) 
    134131         ! 
    135132         frq_m(:,:) =   frq_m(:,:) + fraqsr_1lev(:,:) 
     
    144141            ssv_m(:,:) = ssv_m(:,:) * zcoef           ! 
    145142            ssh_m(:,:) = ssh_m(:,:) * zcoef           ! mean SSH             [m] 
    146             IF( lk_vvl )   e3t_m(:,:) = fse3t_m(:,:) * zcoef   ! mean vertical scale factor [m] 
     143            IF( lk_vvl )   e3t_m(:,:) = e3t_m(:,:) * zcoef   ! mean vertical scale factor [m] 
    147144            frq_m(:,:) = frq_m(:,:) * zcoef   ! mean fraction of solar net radiation absorbed in the 1st T level [-] 
    148145            ! 
     
    229226               sss_m(:,:) = zcoef * sss_m(:,:) 
    230227               ssh_m(:,:) = zcoef * ssh_m(:,:) 
    231                IF( lk_vvl )   e3t_m(:,:) = zcoef * fse3t_m(:,:) 
     228               IF( lk_vvl )   e3t_m(:,:) = zcoef * e3t_m(:,:) 
    232229               frq_m(:,:) = zcoef * frq_m(:,:) 
    233230            ELSE 
     
    247244         sss_m(:,:) = tsn(:,:,1,jp_sal) 
    248245         ssh_m(:,:) = sshn(:,:) 
    249          IF( lk_vvl )   e3t_m(:,:) = fse3t_n(:,:,1) 
     246         IF( lk_vvl )   e3t_m(:,:) = e3t_n(:,:,1) 
    250247         frq_m(:,:) = 1._wp 
    251248         ! 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90

    r5836 r5845  
    4747   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_sss   ! structure of input SSS (file informations, fields read) 
    4848 
    49    !! * Substitutions 
    50 #  include "domzgr_substitute.h90" 
    5149   !!---------------------------------------------------------------------- 
    5250   !! NEMO/OPA 4.0 , NEMO Consortium (2011) 
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r5836 r5845  
    4040 
    4141   !! * Substitutions 
    42 #  include "domzgr_substitute.h90" 
    4342#  include "vectopt_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
     
    128127         !                                      !* distribute it on the vertical 
    129128         DO jk = 1, jpkm1 
    130             zusd_t(:,:,jk) = sf_sd(jp_usd)%fnow(:,:,1) * EXP( -2._wp * sf_sd(jp_wn)%fnow(:,:,1) * fsdept_n(:,:,jk) ) 
    131             zvsd_t(:,:,jk) = sf_sd(jp_vsd)%fnow(:,:,1) * EXP( -2._wp * sf_sd(jp_wn)%fnow(:,:,1) * fsdept_n(:,:,jk) ) 
     129            zusd_t(:,:,jk) = sf_sd(jp_usd)%fnow(:,:,1) * EXP( -2._wp * sf_sd(jp_wn)%fnow(:,:,1) * gdept_n(:,:,jk) ) 
     130            zvsd_t(:,:,jk) = sf_sd(jp_vsd)%fnow(:,:,1) * EXP( -2._wp * sf_sd(jp_wn)%fnow(:,:,1) * gdept_n(:,:,jk) ) 
    132131         END DO 
    133132         !                                      !* interpolate the stokes drift from t-point to u- and v-points 
     
    136135               DO ji = 1, jpim1 
    137136                   usd3d(ji,jj,jk) = 0.5_wp * ( zusd_t(ji  ,jj,jk) + zusd_t(ji+1,jj,jk) ) * umask(ji,jj,jk) 
    138                    vsd3d(ji,jj,jk) = 0.5_wp * ( zvsd_t(ji  ,jj,jk) + zvsd_t(ji+1,jj,jk) ) * vmask(ji,jj,jk) 
     137                   vsd3d(ji,jj,jk) = 0.5_wp * ( zvsd_t(ji  ,jj,jk) + zvsd_t(ji,jj+1,jk) ) * vmask(ji,jj,jk) 
    139138               END DO 
    140139            END DO 
     
    146145            DO jj = 2, jpjm1 
    147146               DO ji = fs_2, fs_jpim1   ! vector opt. 
    148                   ze3hdiv(ji,jj,jk) = (  e2u(ji  ,jj) * fse3u_n(ji  ,jj,jk) * usd3d(ji  ,jj,jk)     & 
    149                      &                 - e2u(ji-1,jj) * fse3u_n(ji-1,jj,jk) * usd3d(ji-1,jj,jk)     & 
    150                      &                 + e1v(ji,jj  ) * fse3v_n(ji,jj  ,jk) * vsd3d(ji,jj  ,jk)     & 
    151                      &                 - e1v(ji,jj-1) * fse3v_n(ji,jj-1,jk) * vsd3d(ji,jj-1,jk)   ) * r1_e1e2t(ji,jj) 
     147                  ze3hdiv(ji,jj,jk) = (  e2u(ji  ,jj) * e3u_n(ji  ,jj,jk) * usd3d(ji  ,jj,jk)     & 
     148                     &                 - e2u(ji-1,jj) * e3u_n(ji-1,jj,jk) * usd3d(ji-1,jj,jk)     & 
     149                     &                 + e1v(ji,jj  ) * e3v_n(ji,jj  ,jk) * vsd3d(ji,jj  ,jk)     & 
     150                     &                 - e1v(ji,jj-1) * e3v_n(ji,jj-1,jk) * vsd3d(ji,jj-1,jk)   ) * r1_e1e2t(ji,jj) 
    152151               END DO   
    153152            END DO   
Note: See TracChangeset for help on using the changeset viewer.