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 11949 for NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/eosbn2.F90 – NEMO

Ignore:
Timestamp:
2019-11-22T15:29:17+01:00 (4 years ago)
Author:
acc
Message:

Merge in changes from 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. This just creates a fresh copy of this branch to use as the merge base. See ticket #2341

Location:
NEMO/branches/2019/dev_r11943_MERGE_2019/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src

    • Property svn:mergeinfo deleted
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/eosbn2.F90

    r11536 r11949  
    566566 
    567567 
    568    SUBROUTINE rab_3d( pts, pab ) 
     568   SUBROUTINE rab_3d( pts, pab, Kmm ) 
    569569      !!---------------------------------------------------------------------- 
    570570      !!                 ***  ROUTINE rab_3d  *** 
     
    576576      !! ** Action  : - pab     : thermal/haline expansion ratio at T-points 
    577577      !!---------------------------------------------------------------------- 
     578      INTEGER                              , INTENT(in   ) ::   Kmm   ! time level index 
    578579      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) ::   pts   ! pot. temperature & salinity 
    579580      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(  out) ::   pab   ! thermal/haline expansion ratio 
     
    594595               DO ji = 1, jpi 
    595596                  ! 
    596                   zh  = gdept_n(ji,jj,jk) * r1_Z0                                ! depth 
     597                  zh  = gdept(ji,jj,jk,Kmm) * r1_Z0                                ! depth 
    597598                  zt  = pts (ji,jj,jk,jp_tem) * r1_T0                           ! temperature 
    598599                  zs  = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 )   ! square root salinity 
     
    652653                  zt  = pts (ji,jj,jk,jp_tem) - 10._wp   ! pot. temperature anomaly (t-T0) 
    653654                  zs  = pts (ji,jj,jk,jp_sal) - 35._wp   ! abs. salinity anomaly (s-S0) 
    654                   zh  = gdept_n(ji,jj,jk)                ! depth in meters at t-point 
     655                  zh  = gdept(ji,jj,jk,Kmm)                ! depth in meters at t-point 
    655656                  ztm = tmask(ji,jj,jk)                  ! land/sea bottom mask = surf. mask 
    656657                  ! 
     
    679680 
    680681 
    681    SUBROUTINE rab_2d( pts, pdep, pab ) 
     682   SUBROUTINE rab_2d( pts, pdep, pab, Kmm ) 
    682683      !!---------------------------------------------------------------------- 
    683684      !!                 ***  ROUTINE rab_2d  *** 
     
    687688      !! ** Action  : - pab     : thermal/haline expansion ratio at T-points 
    688689      !!---------------------------------------------------------------------- 
     690      INTEGER                              , INTENT(in   ) ::   Kmm   ! time level index 
    689691      REAL(wp), DIMENSION(jpi,jpj,jpts)    , INTENT(in   ) ::   pts    ! pot. temperature & salinity 
    690692      REAL(wp), DIMENSION(jpi,jpj)         , INTENT(in   ) ::   pdep   ! depth                  [m] 
     
    793795 
    794796 
    795    SUBROUTINE rab_0d( pts, pdep, pab ) 
     797   SUBROUTINE rab_0d( pts, pdep, pab, Kmm ) 
    796798      !!---------------------------------------------------------------------- 
    797799      !!                 ***  ROUTINE rab_0d  *** 
     
    801803      !! ** Action  : - pab     : thermal/haline expansion ratio at T-points 
    802804      !!---------------------------------------------------------------------- 
     805      INTEGER                              , INTENT(in   ) ::   Kmm   ! time level index 
    803806      REAL(wp), DIMENSION(jpts)    , INTENT(in   ) ::   pts    ! pot. temperature & salinity 
    804807      REAL(wp),                      INTENT(in   ) ::   pdep   ! depth                  [m] 
     
    889892 
    890893 
    891    SUBROUTINE bn2( pts, pab, pn2 ) 
     894   SUBROUTINE bn2( pts, pab, pn2, Kmm ) 
    892895      !!---------------------------------------------------------------------- 
    893896      !!                  ***  ROUTINE bn2  *** 
     
    903906      !! 
    904907      !!---------------------------------------------------------------------- 
     908      INTEGER                              , INTENT(in   ) ::   Kmm   ! time level index 
    905909      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) ::  pts   ! pot. temperature and salinity   [Celsius,psu] 
    906910      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) ::  pab   ! thermal/haline expansion coef.  [Celsius-1,psu-1] 
     
    916920         DO jj = 1, jpj          ! surface and bottom value set to zero one for all in istate.F90 
    917921            DO ji = 1, jpi 
    918                zrw =   ( gdepw_n(ji,jj,jk  ) - gdept_n(ji,jj,jk) )   & 
    919                   &  / ( gdept_n(ji,jj,jk-1) - gdept_n(ji,jj,jk) )  
     922               zrw =   ( gdepw(ji,jj,jk  ,Kmm) - gdept(ji,jj,jk,Kmm) )   & 
     923                  &  / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) )  
    920924                  ! 
    921925               zaw = pab(ji,jj,jk,jp_tem) * (1. - zrw) + pab(ji,jj,jk-1,jp_tem) * zrw  
     
    924928               pn2(ji,jj,jk) = grav * (  zaw * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) )     & 
    925929                  &                    - zbw * ( pts(ji,jj,jk-1,jp_sal) - pts(ji,jj,jk,jp_sal) )  )  & 
    926                   &            / e3w_n(ji,jj,jk) * wmask(ji,jj,jk) 
     930                  &            / e3w(ji,jj,jk,Kmm) * wmask(ji,jj,jk) 
    927931            END DO 
    928932         END DO 
     
    10931097 
    10941098 
    1095    SUBROUTINE eos_pen( pts, pab_pe, ppen ) 
     1099   SUBROUTINE eos_pen( pts, pab_pe, ppen, Kmm ) 
    10961100      !!---------------------------------------------------------------------- 
    10971101      !!                 ***  ROUTINE eos_pen  *** 
     
    11131117      !!                    pab_pe(:,:,:,jp_sal) is beta_pe 
    11141118      !!---------------------------------------------------------------------- 
     1119      INTEGER                              , INTENT(in   ) ::   Kmm   ! time level index 
    11151120      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) ::   pts     ! pot. temperature & salinity 
    11161121      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(  out) ::   pab_pe  ! alpha_pe and beta_pe 
     
    11321137               DO ji = 1, jpi 
    11331138                  ! 
    1134                   zh  = gdept_n(ji,jj,jk) * r1_Z0                                ! depth 
     1139                  zh  = gdept(ji,jj,jk,Kmm) * r1_Z0                                ! depth 
    11351140                  zt  = pts (ji,jj,jk,jp_tem) * r1_T0                           ! temperature 
    11361141                  zs  = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 )   ! square root salinity 
     
    11961201                  zt  = pts(ji,jj,jk,jp_tem) - 10._wp  ! temperature anomaly (t-T0) 
    11971202                  zs = pts (ji,jj,jk,jp_sal) - 35._wp  ! abs. salinity anomaly (s-S0) 
    1198                   zh  = gdept_n(ji,jj,jk)              ! depth in meters  at t-point 
     1203                  zh  = gdept(ji,jj,jk,Kmm)              ! depth in meters  at t-point 
    11991204                  ztm = tmask(ji,jj,jk)                ! tmask 
    12001205                  zn  = 0.5_wp * zh * r1_rau0 * ztm 
Note: See TracChangeset for help on using the changeset viewer.