- Timestamp:
- 2020-11-27T00:30:21+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/src/OCE/ISF/isfcpl.F90
r13734 r13895 10 10 11 11 !!---------------------------------------------------------------------- 12 !! isfrst : read/write iceshelf variables in/from restart12 !! isfrst : read/write iceshelf variables in/from restart 13 13 !!---------------------------------------------------------------------- 14 USE isf_oce ! ice shelf variable 14 USE oce ! ocean dynamics and tracers 15 #if defined key_qco 16 USE domqco , ONLY : dom_qco_zgr ! vertical scale factor interpolation 17 #else 18 USE domvvl , ONLY : dom_vvl_zgr ! vertical scale factor interpolation 19 #endif 20 USE domutl , ONLY : dom_ngb ! find the closest grid point from a given lon/lat position 21 USE isf_oce ! ice shelf variable 15 22 USE isfutils, ONLY : debug 16 USE lib_mpp , ONLY: mpp_sum, mpp_max ! mpp routine17 #if ! defined key_qco18 USE domvvl , ONLY: dom_vvl_zgr ! vertical scale factor interpolation19 #else20 USE domqco , ONLY: dom_qco_zgr ! vertical scale factor interpolation21 #endif22 USE domutl , ONLY: dom_ngb ! find the closest grid point from a given lon/lat position23 23 ! 24 USE oce ! ocean dynamics and tracers25 24 USE in_out_manager ! I/O manager 26 25 USE iom ! I/O library 26 USE lib_mpp , ONLY : mpp_sum, mpp_max ! mpp routine 27 27 ! 28 28 IMPLICIT NONE … … 34 34 35 35 TYPE isfcons 36 INTEGER :: ii ! i global37 INTEGER :: jj ! j global38 INTEGER :: kk ! k level39 REAL(wp):: dvol ! volume increment40 REAL(wp):: dsal ! salt increment41 REAL(wp):: dtem ! heat increment42 REAL(wp):: lon ! lon43 REAL(wp):: lat ! lat44 INTEGER :: ngb ! 0/1 (valid location or not (ie on halo or no neigbourg))36 INTEGER :: ii ! i global 37 INTEGER :: jj ! j global 38 INTEGER :: kk ! k level 39 REAL(wp):: dvol ! volume increment 40 REAL(wp):: dsal ! salt increment 41 REAL(wp):: dtem ! heat increment 42 REAL(wp):: lon ! lon 43 REAL(wp):: lat ! lat 44 INTEGER :: ngb ! 0/1 (valid location or not (ie on halo or no neigbourg)) 45 45 END TYPE 46 46 ! … … 130 130 ! 131 131 END SUBROUTINE isfcpl_init 132 ! 133 SUBROUTINE isfcpl_rst_write(kt, Kmm) 132 133 134 SUBROUTINE isfcpl_rst_write( kt, Kmm ) 134 135 !!--------------------------------------------------------------------- 135 136 !! *** ROUTINE iscpl_rst_write *** … … 164 165 END SUBROUTINE isfcpl_rst_write 165 166 167 166 168 SUBROUTINE isfcpl_ssh(Kbb, Kmm, Kaa) 167 169 !!---------------------------------------------------------------------- … … 195 197 zdssmask(:,:) = ssmask(:,:) - zssmask0(:,:) 196 198 DO_2D( 0, 0, 0, 0 ) 197 jip1=ji+1 ; jim1=ji-1;198 jjp1=jj+1 ; jjm1=jj-1;199 jip1=ji+1 ; jim1=ji-1 200 jjp1=jj+1 ; jjm1=jj-1 199 201 ! 200 202 zsummsk = zssmask0(jip1,jj) + zssmask0(jim1,jj) + zssmask0(ji,jjp1) + zssmask0(ji,jjm1) … … 202 204 IF (zdssmask(ji,jj) == 1._wp .AND. zsummsk /= 0._wp) THEN 203 205 ssh(ji,jj,Kmm)=( zssh(jip1,jj)*zssmask0(jip1,jj) & 204 & + zssh(jim1,jj)*zssmask0(jim1,jj) &205 & + zssh(ji,jjp1)*zssmask0(ji,jjp1) &206 & + zssh(ji,jjm1)*zssmask0(ji,jjm1)) / zsummsk206 & + zssh(jim1,jj)*zssmask0(jim1,jj) & 207 & + zssh(ji,jjp1)*zssmask0(ji,jjp1) & 208 & + zssh(ji,jjm1)*zssmask0(ji,jjm1)) / zsummsk 207 209 zssmask_b(ji,jj) = 1._wp 208 210 ENDIF … … 238 240 END SUBROUTINE isfcpl_ssh 239 241 242 240 243 SUBROUTINE isfcpl_tra(Kmm) 241 244 !!---------------------------------------------------------------------- … … 386 389 ! 387 390 END SUBROUTINE isfcpl_tra 391 388 392 389 393 SUBROUTINE isfcpl_vol(Kmm) … … 477 481 risfcpl_ssh(:,:) = risfcpl_ssh(:,:) + risfcpl_vol(:,:,jk) * r1_e1e2t(:,:) 478 482 END DO 479 483 ! 480 484 END SUBROUTINE isfcpl_vol 481 485 486 482 487 SUBROUTINE isfcpl_cons(Kmm) 483 488 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.