Changeset 10787 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DOM
- Timestamp:
- 2019-03-21T09:14:33+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DOM/dom_oce.F90
r10743 r10787 134 134 LOGICAL, PUBLIC :: ln_sco !: s-coordinate or hybrid z-s coordinate 135 135 LOGICAL, PUBLIC :: ln_isfcav !: presence of ISF 136 ! ! ref .scale factors136 ! ! reference scale factors 137 137 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3t_0 !: t- vert. scale factor [m] 138 138 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3u_0 !: u- vert. scale factor [m] … … 146 146 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:) :: e3f !: F-point vert. scale factor [m] 147 147 148 ! ! ref. ! before ! now ! 149 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdept_0 , gdept_b , gdept_n !: t- depth [m] 150 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdepw_0 , gdepw_b , gdepw_n !: w- depth [m] 151 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gde3w_0 , gde3w_n !: w- depth (sum of e3w) [m] 148 ! ! reference depths of cells 149 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdept_0 !: t- depth [m] 150 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdepw_0 !: w- depth [m] 151 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gde3w_0 !: w- depth (sum of e3w) [m] 152 ! ! time-dependent depths of cells 153 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:,:) :: gdept, gdepw 154 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:) :: gde3w 152 155 153 ! ! ref. ! before ! now ! after ! 154 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ht_0 , ht_n !: t-depth [m] 155 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hu_0 , hu_b , hu_n , hu_a !: u-depth [m] 156 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hv_0 , hv_b , hv_n , hv_a !: v-depth [m] 157 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: r1_hu_b , r1_hu_n , r1_hu_a !: inverse of u-depth [1/m] 158 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: r1_hv_b , r1_hv_n , r1_hv_a !: inverse of v-depth [1/m] 156 ! ! reference depths of water column 157 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ht_0 !: t-depth [m] 158 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hu_0 !: u-depth [m] 159 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hv_0 !: v-depth [m] 160 ! ! time-dependent depths of water column 161 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:) :: hu, hv, r1_hu, r1_hv 162 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:) :: ht 159 163 160 164 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY … … 166 170 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3uw_b , e3uw_n !: uw-vert. scale factor [m] 167 171 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3vw_b , e3vw_n !: vw-vert. scale factor [m] 172 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gdept_b , gdept_n !: t- depth [m] 173 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gdepw_b , gdepw_n !: w- depth [m] 174 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gde3w_n !: w- depth (sum of e3w) [m] 175 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) :: ht_n !: t-depth [m] 176 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) :: hu_b , hu_n , hu_a !: u-depth [m] 177 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) :: hv_b , hv_n , hv_a !: v-depth [m] 178 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) :: r1_hu_b , r1_hu_n , r1_hu_a !: inverse of u-depth [1/m] 179 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) :: r1_hv_b , r1_hv_n , r1_hv_a !: inverse of v-depth [1/m] 168 180 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY 169 181 … … 274 286 & ff_f (jpi,jpj) , ff_t (jpi,jpj) , STAT=ierr(3) ) 275 287 ! 276 ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) , & 277 & gdept_b(jpi,jpj,jpk) , gdepw_b(jpi,jpj,jpk) , & 278 & gdept_n(jpi,jpj,jpk) , gdepw_n(jpi,jpj,jpk) , gde3w_n(jpi,jpj,jpk) , STAT=ierr(4) ) 288 ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) , & 289 & gdept (jpi,jpj,jpk,jpt-1) , gdepw (jpi,jpj,jpk,jpt-1) , gde3w (jpi,jpj,jpk) , STAT=ierr(4) ) 279 290 ! 280 291 ALLOCATE( e3t_0(jpi,jpj,jpk) , e3u_0(jpi,jpj,jpk) , e3v_0(jpi,jpj,jpk) , e3f_0(jpi,jpj,jpk) , & … … 284 295 & e3f (jpi,jpj,jpk), STAT=ierr(5) ) 285 296 ! 286 ALLOCATE( ht_0(jpi,jpj) , hu_0(jpi,jpj) , hv_0(jpi,jpj) , & 287 & hu_b(jpi,jpj) , hv_b(jpi,jpj) , r1_hu_b(jpi,jpj) , r1_hv_b(jpi,jpj) , & 288 & ht_n(jpi,jpj) , hu_n(jpi,jpj) , hv_n(jpi,jpj) , r1_hu_n(jpi,jpj) , r1_hv_n(jpi,jpj) , & 289 & hu_a(jpi,jpj) , hv_a(jpi,jpj) , r1_hu_a(jpi,jpj) , r1_hv_a(jpi,jpj) , STAT=ierr(6) ) 297 ALLOCATE( ht_0(jpi,jpj) , hu_0(jpi,jpj) , hv_0(jpi,jpj) , & 298 & ht (jpi,jpj) , hu (jpi,jpj,jpt) , hv (jpi,jpj,jpt) , & 299 & r1_hu (jpi,jpj,jpt) , r1_hv (jpi,jpj,jpt) , STAT=ierr(6) ) 290 300 ! 291 301 ! -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DOM/domvvl.F90
r10767 r10787 616 616 tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:) 617 617 ENDIF 618 gdept_b(:,:,:) = gdept_n(:,:,:)619 gdepw_b(:,:,:) = gdepw_n(:,:,:)620 618 621 619 !! TO BE DELETED 620 !!$ gdept_b(:,:,:) = gdept_n(:,:,:) 621 !!$ gdepw_b(:,:,:) = gdepw_n(:,:,:) 622 622 623 !!$ e3t_n(:,:,:) = e3t_a(:,:,:) 623 624 !!$ e3u_n(:,:,:) = e3u_a(:,:,:) … … 643 644 644 645 ! t- and w- points depth (set the isf depth as it is in the initial step) 645 gdept _n(:,:,1) = 0.5_wp * e3w(:,:,1,kNnn_2lev)646 gdepw _n(:,:,1) = 0.0_wp647 gde3w _n(:,:,1) = gdept_n(:,:,1) - sshn(:,:)646 gdept(:,:,1,kNnn_2lev) = 0.5_wp * e3w(:,:,1,kNnn_2lev) 647 gdepw(:,:,1,kNnn_2lev) = 0.0_wp 648 gde3w(:,:,1) = gdept(:,:,1,kNnn_2lev) - sshn(:,:) 648 649 DO jk = 2, jpk 649 650 DO jj = 1,jpj … … 652 653 ! 1 for jk = mikt 653 654 zcoef = (tmask(ji,jj,jk) - wmask(ji,jj,jk)) 654 gdepw _n(ji,jj,jk) = gdepw_n(ji,jj,jk-1) + e3t(ji,jj,jk-1,kNnn)655 gdept _n(ji,jj,jk) = zcoef * ( gdepw_n(ji,jj,jk) + 0.5 * e3w(ji,jj,jk,kNnn_2lev) ) &656 & + (1-zcoef) * ( gdept _n(ji,jj,jk-1) + e3w(ji,jj,jk,kNnn_2lev) )657 gde3w _n(ji,jj,jk) = gdept_n(ji,jj,jk) - sshn(ji,jj)655 gdepw(ji,jj,jk,kNnn_2lev) = gdepw(ji,jj,jk-1,kNnn_2lev) + e3t(ji,jj,jk-1,kNnn) 656 gdept(ji,jj,jk,kNnn_2lev) = zcoef * ( gdepw(ji,jj,jk,kNnn_2lev ) + 0.5 * e3w(ji,jj,jk,kNnn_2lev) ) & 657 & + (1-zcoef) * ( gdept(ji,jj,jk-1,kNnn_2lev) + e3w(ji,jj,jk,kNnn_2lev) ) 658 gde3w(ji,jj,jk) = gdept(ji,jj,jk,kNnn_2lev) - sshn(ji,jj) 658 659 END DO 659 660 END DO … … 662 663 ! Local depth and Inverse of the local depth of the water 663 664 ! ------------------------------------------------------- 664 hu_n(:,:) = hu_a(:,:) ; r1_hu_n(:,:) = r1_hu_a(:,:) 665 hv_n(:,:) = hv_a(:,:) ; r1_hv_n(:,:) = r1_hv_a(:,:) 666 ! 667 ht_n(:,:) = e3t(:,:,1,kNnn) * tmask(:,:,1) 665 !! TO BE DELETED 666 !!$ hu_n(:,:) = hu_a(:,:) ; r1_hu_n(:,:) = r1_hu_a(:,:) 667 !!$ hv_n(:,:) = hv_a(:,:) ; r1_hv_n(:,:) = r1_hv_a(:,:) 668 !! TO BE DELETED 669 ! 670 ht(:,:) = e3t(:,:,1,kNnn) * tmask(:,:,1) 668 671 DO jk = 2, jpkm1 669 ht _n(:,:) = ht_n(:,:) + e3t(:,:,jk,kNnn) * tmask(:,:,jk)672 ht(:,:) = ht(:,:) + e3t(:,:,jk,kNnn) * tmask(:,:,jk) 670 673 END DO 671 674
Note: See TracChangeset
for help on using the changeset viewer.