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 14958 for NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/ISOMIP+/MY_SRC/eosbn2.F90 – NEMO

Ignore:
Timestamp:
2021-06-07T16:31:38+02:00 (3 years ago)
Author:
jchanut
Message:

#2638, synchronize branch with trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/ISOMIP+/MY_SRC/eosbn2.F90

    r14135 r14958  
    256256      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    257257         ! 
    258          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     258         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    259259            ! 
    260260            zh  = pdep(ji,jj,jk) * r1_Z0                                  ! depth 
     
    292292      CASE( np_seos )                !==  simplified EOS  ==! 
    293293         ! 
    294          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     294         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    295295            zt  = pts  (ji,jj,jk,jp_tem) - 10._wp 
    296296            zs  = pts  (ji,jj,jk,jp_sal) - 35._wp 
     
    307307      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    308308         ! 
    309          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     309         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    310310            zt  = pts  (ji,jj,jk,jp_tem) - (-1._wp) 
    311311            zs  = pts  (ji,jj,jk,jp_sal) - 34.2_wp 
     
    382382            END DO 
    383383            ! 
    384             DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     384            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    385385               ! 
    386386               ! compute density (2*nn_sto_eos) times: 
     
    432432         ! Non-stochastic equation of state 
    433433         ELSE 
    434             DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     434            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    435435               ! 
    436436               zh  = pdep(ji,jj,jk) * r1_Z0                                  ! depth 
     
    470470      CASE( np_seos )                !==  simplified EOS  ==! 
    471471         ! 
    472          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     472         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    473473            zt  = pts  (ji,jj,jk,jp_tem) - 10._wp 
    474474            zs  = pts  (ji,jj,jk,jp_sal) - 35._wp 
     
    488488      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    489489         ! 
    490          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     490         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    491491            zt  = pts  (ji,jj,jk,jp_tem) - (-1._wp) 
    492492            zs  = pts  (ji,jj,jk,jp_sal) - 34.2_wp 
     
    551551      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    552552         ! 
    553          DO_2D( 1, 1, 1, 1 ) 
     553         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    554554            ! 
    555555            zh  = pdep(ji,jj) * r1_Z0                                  ! depth 
     
    586586      CASE( np_seos )                !==  simplified EOS  ==! 
    587587         ! 
    588          DO_2D( 1, 1, 1, 1 ) 
     588         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    589589            ! 
    590590            zt    = pts  (ji,jj,jp_tem)  - 10._wp 
     
    602602      CASE( np_leos )                !==  ISOMIP EOS  ==! 
    603603         ! 
    604          DO_2D( 1, 1, 1, 1 ) 
     604         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    605605            ! 
    606606            zt    = pts  (ji,jj,jp_tem)  - (-1._wp) 
     
    625625 
    626626   SUBROUTINE eos_insitu_pot_2d( pts, prhop ) 
     627      !! 
     628      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   pts    ! 1 : potential temperature  [Celsius] 
     629      !                                                     ! 2 : salinity               [psu] 
     630      REAL(wp), DIMENSION(:,:)  , INTENT(  out) ::   prhop  ! potential density (surface referenced) 
     631      !! 
     632      CALL eos_insitu_pot_2d_t( pts, is_tile(pts), prhop, is_tile(prhop) ) 
     633   END SUBROUTINE eos_insitu_pot_2d 
     634 
     635 
     636   SUBROUTINE eos_insitu_pot_2d_t( pts, ktts, prhop, ktrhop ) 
    627637      !!---------------------------------------------------------------------- 
    628638      !!                  ***  ROUTINE eos_insitu_pot  *** 
     
    637647      !! 
    638648      !!---------------------------------------------------------------------- 
    639       REAL(wp), DIMENSION(jpi,jpj,jpts), INTENT(in   ) ::   pts    ! 1 : potential temperature  [Celsius] 
     649      INTEGER                              , INTENT(in   ) ::   ktts, ktrhop 
     650      REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in   ) ::   pts    ! 1 : potential temperature  [Celsius] 
    640651      !                                                                ! 2 : salinity               [psu] 
    641       REAL(wp), DIMENSION(jpi,jpj     ), INTENT(  out) ::   prhop  ! potential density (surface referenced) 
     652      REAL(wp), DIMENSION(A2D_T(ktrhop)   ), INTENT(  out) ::   prhop  ! potential density (surface referenced) 
    642653      ! 
    643654      INTEGER  ::   ji, jj, jk, jsmp             ! dummy loop indices 
     
    654665      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    655666         ! 
    656             DO_2D( 1, 1, 1, 1 ) 
     667         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    657668               ! 
    658669               zt  = pts (ji,jj,jp_tem) * r1_T0                           ! temperature 
     
    675686      CASE( np_seos )                !==  simplified EOS  ==! 
    676687         ! 
    677          DO_2D( 1, 1, 1, 1 ) 
     688         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    678689            zt  = pts  (ji,jj,jp_tem) - 10._wp 
    679690            zs  = pts  (ji,jj,jp_sal) - 35._wp 
     
    689700      CASE( np_leos )                !==  ISOMIP EOS  ==! 
    690701         ! 
    691          DO_2D( 1, 1, 1, 1 ) 
     702         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    692703            ! 
    693704            zt    = pts  (ji,jj,jp_tem)  - (-1._wp) 
     
    707718      IF( ln_timing )   CALL timing_stop('eos-pot') 
    708719      ! 
    709    END SUBROUTINE eos_insitu_pot_2d 
     720   END SUBROUTINE eos_insitu_pot_2d_t 
    710721 
    711722 
     
    746757      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    747758         ! 
    748          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     759         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    749760            ! 
    750761            zh  = gdept(ji,jj,jk,Kmm) * r1_Z0                                ! depth 
     
    799810      CASE( np_seos )                  !==  simplified EOS  ==! 
    800811         ! 
    801          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     812         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    802813            zt  = pts (ji,jj,jk,jp_tem) - 10._wp   ! pot. temperature anomaly (t-T0) 
    803814            zs  = pts (ji,jj,jk,jp_sal) - 35._wp   ! abs. salinity anomaly (s-S0) 
     
    815826      CASE( np_leos )                  !==  linear ISOMIP EOS  ==! 
    816827         ! 
    817          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     828         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    818829            zt  = pts (ji,jj,jk,jp_tem) - (-1._wp) 
    819830            zs  = pts (ji,jj,jk,jp_sal) - 34.2_wp   ! abs. salinity anomaly (s-S0) 
     
    881892      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    882893         ! 
    883          DO_2D( 1, 1, 1, 1 ) 
     894         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    884895            ! 
    885896            zh  = pdep(ji,jj) * r1_Z0                                  ! depth 
     
    934945      CASE( np_seos )                  !==  simplified EOS  ==! 
    935946         ! 
    936          DO_2D( 1, 1, 1, 1 ) 
     947         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    937948            ! 
    938949            zt    = pts  (ji,jj,jp_tem) - 10._wp   ! pot. temperature anomaly (t-T0) 
     
    950961      CASE( np_leos )                  !==  linear ISOMIP EOS  ==! 
    951962         ! 
    952          DO_2D( 1, 1, 1, 1 ) 
     963         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    953964            ! 
    954965            zt    = pts  (ji,jj,jp_tem) - (-1._wp)   ! pot. temperature anomaly (t-T0) 
     
    11241135      IF( ln_timing )   CALL timing_start('bn2') 
    11251136      ! 
    1126       DO_3D( 1, 1, 1, 1, 2, jpkm1 )      ! interior points only (2=< jk =< jpkm1 ); surface and bottom value set to zero one for all in istate.F90 
     1137      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 )      ! interior points only (2=< jk =< jpkm1 ); surface and bottom value set to zero one for all in istate.F90 
    11271138         zrw =   ( gdepw(ji,jj,jk  ,Kmm) - gdept(ji,jj,jk,Kmm) )   & 
    11281139            &  / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) )  
     
    14181429      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    14191430         ! 
    1420          DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     1431         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    14211432            zt  = pts(ji,jj,jk,jp_tem) - (-1._wp)  ! temperature anomaly (t-T0) 
    14221433            zs = pts (ji,jj,jk,jp_sal) - 34.2_wp   ! abs. salinity anomaly (s-S0) 
Note: See TracChangeset for help on using the changeset viewer.