- Timestamp:
- 2019-09-03T17:45:00+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isftbl.F90
r11494 r11495 25 25 CONTAINS 26 26 27 SUBROUTINE isf_tbl( pvarin, pvarout, cd_ptin, ktop, kbot, phtbl, pfrac )27 SUBROUTINE isf_tbl( pvarin, pvarout, cd_ptin, ktop, phtbl, kbot, pfrac ) 28 28 !!-------------------------------------------------------------------- 29 29 !! *** SUBROUTINE isf_tbl *** … … 37 37 CHARACTER(len=1) , INTENT(in ) :: cd_ptin ! point of variable in/out 38 38 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: pvarin ! 3d variable to average over the tbl 39 INTEGER, DIMENSION(jpi,jpj) , INTENT(in ) :: ktop ! top level 40 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: phtbl ! tbl thickness 39 41 !!-------------------------- IN OPTIONAL ----------------------------- 40 INTEGER, DIMENSION(jpi,jpj), OPTIONAL, INTENT(in ) :: k top , kbot ! top andbottom level41 REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in ) :: p htbl, pfrac ! tbl thickness and fraction of bottom cell affected42 INTEGER, DIMENSION(jpi,jpj), OPTIONAL, INTENT(in ) :: kbot ! bottom level 43 REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in ) :: pfrac ! fraction of bottom cell affected by tbl 42 44 !!-------------------------------------------------------------------- 43 45 INTEGER :: ji, jj ! loop index 44 INTEGER , DIMENSION(jpi,jpj) :: ik tbl! bottom level of the tbl46 INTEGER , DIMENSION(jpi,jpj) :: ikbot ! bottom level of the tbl 45 47 REAL(wp), DIMENSION(jpi,jpj) :: zhtbl ! thickness of the tbl 46 48 REAL(wp), DIMENSION(jpi,jpj) :: zfrac ! thickness of the tbl … … 50 52 CASE ( 'U' ) 51 53 ! 52 ! compute tbl lvl/h 53 CALL isf_tbl_lvl( hu_n, e3u_n, miku, iktbl, zhtbl, zfrac ) 54 ! copy phtbl (phtbl is INTENT in as we don't want to change it) 55 zhtbl = phtbl 56 ! 57 ! compute tbl lvl and thickness 58 CALL isf_tbl_lvl( hu_n, e3u_n, ktop, ikbot, zhtbl, zfrac ) 54 59 ! 55 60 ! compute tbl property at U point 56 CALL isf_tbl_avg( miku, ik tbl, zhtbl, zfrac, e3u_n, pvarin, pvarout )61 CALL isf_tbl_avg( miku, ikbot, zhtbl, zfrac, e3u_n, pvarin, pvarout ) 57 62 ! 58 63 ! compute tbl property at T point … … 68 73 CASE ( 'V' ) 69 74 ! 70 ! compute tbl lvl/h 71 CALL isf_tbl_lvl( hv_n, e3v_n, mikv, iktbl, zhtbl, zfrac ) 75 ! copy phtbl (phtbl is INTENT in as we don't want to change it) 76 zhtbl = phtbl 77 ! 78 ! compute tbl lvl and thickness 79 CALL isf_tbl_lvl( hv_n, e3v_n, ktop, ikbot, zhtbl, zfrac ) 72 80 ! 73 81 ! compute tbl property at V point 74 CALL isf_tbl_avg( mikv, ik tbl, zhtbl, zfrac, e3v_n, pvarin, pvarout )82 CALL isf_tbl_avg( mikv, ikbot, zhtbl, zfrac, e3v_n, pvarin, pvarout ) 75 83 ! 76 84 ! pvarout is an averaging of wet point … … 143 151 !! - thickness of the top boundary layer 144 152 !! 145 !!-------------------------------------------------------------------- 146 !!-------------------------- OUT ------------------------------------- 153 !!--------------------------------------------------------------------- 154 !!-------------------------- OUT -------------------------------------- 147 155 INTEGER, DIMENSION(jpi,jpj) , INTENT( out) :: kbot ! bottom level of the top boundary layer 148 REAL(wp), DIMENSION(jpi,jpj) , INTENT( out) :: phtbl ! top boundary layer thickness 149 REAL(wp), DIMENSION(jpi,jpj) , INTENT( out) :: pfrac ! top boundary layer thickness 150 !!-------------------------- IN ------------------------------------- 156 REAL(wp), DIMENSION(jpi,jpj) , INTENT( out) :: pfrac ! fraction of bottom level in the tbl 157 !!-------------------------- IN -------------------------------------- 151 158 INTEGER, DIMENSION(jpi,jpj) , INTENT(in ) :: ktop ! top level of the top boundary layer 152 159 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: phw ! water column thickness 153 160 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in ) :: pe3 ! vertical scale factor 161 !!-------------------------- INOUT ------------------------------------ 162 REAL(wp), DIMENSION(jpi,jpj) , INTENT(inout) :: phtbl ! top boundary layer thickness 154 163 !!--------------------------------------------------------------------- 155 164 INTEGER :: ji,jj,jk
Note: See TracChangeset
for help on using the changeset viewer.