Changeset 10954 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/eosbn2.F90
- Timestamp:
- 2019-05-09T18:12:29+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/eosbn2.F90
r10425 r10954 564 564 565 565 566 SUBROUTINE rab_3d( pts, pab )566 SUBROUTINE rab_3d( pts, pab, Kmm ) 567 567 !!---------------------------------------------------------------------- 568 568 !! *** ROUTINE rab_3d *** … … 574 574 !! ** Action : - pab : thermal/haline expansion ratio at T-points 575 575 !!---------------------------------------------------------------------- 576 INTEGER , INTENT(in ) :: Kmm ! time level index 576 577 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature & salinity 577 578 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT( out) :: pab ! thermal/haline expansion ratio … … 592 593 DO ji = 1, jpi 593 594 ! 594 zh = gdept _n(ji,jj,jk) * r1_Z0 ! depth595 zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth 595 596 zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature 596 597 zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity … … 650 651 zt = pts (ji,jj,jk,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) 651 652 zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) 652 zh = gdept _n(ji,jj,jk) ! depth in meters at t-point653 zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point 653 654 ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask 654 655 ! … … 677 678 678 679 679 SUBROUTINE rab_2d( pts, pdep, pab )680 SUBROUTINE rab_2d( pts, pdep, pab, Kmm ) 680 681 !!---------------------------------------------------------------------- 681 682 !! *** ROUTINE rab_2d *** … … 685 686 !! ** Action : - pab : thermal/haline expansion ratio at T-points 686 687 !!---------------------------------------------------------------------- 688 INTEGER , INTENT(in ) :: Kmm ! time level index 687 689 REAL(wp), DIMENSION(jpi,jpj,jpts) , INTENT(in ) :: pts ! pot. temperature & salinity 688 690 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: pdep ! depth [m] … … 791 793 792 794 793 SUBROUTINE rab_0d( pts, pdep, pab )795 SUBROUTINE rab_0d( pts, pdep, pab, Kmm ) 794 796 !!---------------------------------------------------------------------- 795 797 !! *** ROUTINE rab_0d *** … … 799 801 !! ** Action : - pab : thermal/haline expansion ratio at T-points 800 802 !!---------------------------------------------------------------------- 803 INTEGER , INTENT(in ) :: Kmm ! time level index 801 804 REAL(wp), DIMENSION(jpts) , INTENT(in ) :: pts ! pot. temperature & salinity 802 805 REAL(wp), INTENT(in ) :: pdep ! depth [m] … … 887 890 888 891 889 SUBROUTINE bn2( pts, pab, pn2 )892 SUBROUTINE bn2( pts, pab, pn2, Kmm ) 890 893 !!---------------------------------------------------------------------- 891 894 !! *** ROUTINE bn2 *** … … 901 904 !! 902 905 !!---------------------------------------------------------------------- 906 INTEGER , INTENT(in ) :: Kmm ! time level index 903 907 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature and salinity [Celsius,psu] 904 908 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pab ! thermal/haline expansion coef. [Celsius-1,psu-1] … … 914 918 DO jj = 1, jpj ! surface and bottom value set to zero one for all in istate.F90 915 919 DO ji = 1, jpi 916 zrw = ( gdepw _n(ji,jj,jk ) - gdept_n(ji,jj,jk) ) &917 & / ( gdept _n(ji,jj,jk-1) - gdept_n(ji,jj,jk) )920 zrw = ( gdepw(ji,jj,jk ,Kmm) - gdept(ji,jj,jk,Kmm) ) & 921 & / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) ) 918 922 ! 919 923 zaw = pab(ji,jj,jk,jp_tem) * (1. - zrw) + pab(ji,jj,jk-1,jp_tem) * zrw … … 922 926 pn2(ji,jj,jk) = grav * ( zaw * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) ) & 923 927 & - zbw * ( pts(ji,jj,jk-1,jp_sal) - pts(ji,jj,jk,jp_sal) ) ) & 924 & / e3w _n(ji,jj,jk) * wmask(ji,jj,jk)928 & / e3w(ji,jj,jk,Kmm) * wmask(ji,jj,jk) 925 929 END DO 926 930 END DO … … 1091 1095 1092 1096 1093 SUBROUTINE eos_pen( pts, pab_pe, ppen )1097 SUBROUTINE eos_pen( pts, pab_pe, ppen, Kmm ) 1094 1098 !!---------------------------------------------------------------------- 1095 1099 !! *** ROUTINE eos_pen *** … … 1111 1115 !! pab_pe(:,:,:,jp_sal) is beta_pe 1112 1116 !!---------------------------------------------------------------------- 1117 INTEGER , INTENT(in ) :: Kmm ! time level index 1113 1118 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature & salinity 1114 1119 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT( out) :: pab_pe ! alpha_pe and beta_pe … … 1130 1135 DO ji = 1, jpi 1131 1136 ! 1132 zh = gdept _n(ji,jj,jk) * r1_Z0 ! depth1137 zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth 1133 1138 zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature 1134 1139 zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity … … 1194 1199 zt = pts(ji,jj,jk,jp_tem) - 10._wp ! temperature anomaly (t-T0) 1195 1200 zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) 1196 zh = gdept _n(ji,jj,jk) ! depth in meters at t-point1201 zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point 1197 1202 ztm = tmask(ji,jj,jk) ! tmask 1198 1203 zn = 0.5_wp * zh * r1_rau0 * ztm
Note: See TracChangeset
for help on using the changeset viewer.