Changeset 11844 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src
- Timestamp:
- 2019-11-01T21:54:15+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DYN/dynzdf.F90
r11281 r11844 428 428 ikv = mikv(ji,jj) ! (first wet ocean u- and v-points) 429 429 ze3va = ( 1._wp - r_vvl ) * e3v_n(ji,jj,ikv) + r_vvl * e3v_a(ji,jj,ikv) ! after scale factor at T-point 430 zwd(ji,jj,ik u) = zwd(ji,jj,iku) - r2dt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) / ze3va430 zwd(ji,jj,ikv) = zwd(ji,jj,ikv) - r2dt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) / ze3va 431 431 END DO 432 432 END DO -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isf.F90
r11553 r11844 31 31 CHARACTER(LEN=256), PUBLIC :: cn_isfdir 32 32 LOGICAL , PUBLIC :: ln_isf 33 LOGICAL , PUBLIC :: ln_isfdebug=.TRUE. 33 34 ! 34 35 ! 0.2 -------- ice shelf cavity opened namelist parameter ------------- -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcav.F90
r11553 r11844 15 15 USE oce ! ocean dynamics and tracers 16 16 USE isf ! ice shelf public variables 17 USE isfutils 17 18 USE isftbl ! ice shelf top boundary layer properties 18 19 USE isfcavmlt ! ice shelf melt formulation … … 139 140 ptsc(:,:,jp_tem) = - zqh(:,:) * r1_rau0_rcp 140 141 ! 142 IF ( ln_isfdebug ) THEN 143 CALL debug('isf_cav: ptsc T',ptsc(:,:,1)) 144 CALL debug('isf_cav: ptsc S',ptsc(:,:,2)) 145 CALL debug('isf_cav: pqfwf fwf',pqfwf(:,:)) 146 END IF 147 ! 141 148 END SUBROUTINE isf_cav 142 149 -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcavgam.F90
r11541 r11844 12 12 USE oce ! ocean dynamics and tracers 13 13 USE isf 14 USE isfutils 14 15 USE isftbl 15 16 USE dom_oce ! ocean space and time domain … … 91 92 CALL iom_put('isfgammas', pgs(:,:)) 92 93 ! 94 IF (ln_isfdebug) THEN 95 CALL debug( 'isfcav_gam pgt:', pgt(:,:) ) 96 CALL debug( 'isfcav_gam pgs:', pgs(:,:) ) 97 END IF 98 ! 93 99 END SUBROUTINE isfcav_gammats 94 100 ! -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcavmlt.F90
r11541 r11844 13 13 USE oce ! ocean dynamics and tracers 14 14 USE isf ! ice shelf public variables 15 USE isfutils ! ice shelf debug subroutine 15 16 USE dom_oce ! ocean space and time domain 16 17 USE phycst ! physical constants … … 74 75 END SELECT 75 76 ! 77 IF (ln_isfdebug) THEN 78 CALL debug( 'isfcav_mlt:', pqhc (:,:) ) 79 CALL debug( 'isfcav_mlt:', pqoce(:,:) ) 80 CALL debug( 'isfcav_mlt:', pqfwf(:,:) ) 81 END IF 82 ! 76 83 END SUBROUTINE isfcav_mlt 77 84 -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isftbl.F90
r11541 r11844 16 16 USE dom_oce ! vertical scale factor 17 17 USE lbclnk ! lbc_lnk subroutine 18 USE isfutils 19 USE isf 18 20 19 21 IMPLICIT NONE … … 48 50 REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in ) :: pfrac ! fraction of bottom cell affected by tbl 49 51 !!-------------------------------------------------------------------- 50 INTEGER :: ji, jj ! loop index 51 INTEGER , DIMENSION(jpi,jpj) :: ikbot ! bottom level of the tbl 52 REAL(wp), DIMENSION(jpi,jpj) :: zhtbl ! thickness of the tbl 53 REAL(wp), DIMENSION(jpi,jpj) :: zfrac ! thickness of the tbl 52 INTEGER :: ji, jj ! loop index 53 INTEGER , DIMENSION(jpi,jpj) :: ikbot ! bottom level of the tbl 54 REAL(wp), DIMENSION(jpi,jpj) :: zvarout ! 2d average of pvarin 55 REAL(wp), DIMENSION(jpi,jpj) :: zhtbl ! thickness of the tbl 56 REAL(wp), DIMENSION(jpi,jpj) :: zfrac ! thickness of the tbl 54 57 !!-------------------------------------------------------------------- 55 58 ! … … 64 67 ! 65 68 ! compute tbl property at U point 66 CALL isf_tbl_avg( miku, ikbot, zhtbl, zfrac, e3u_n, pvarin, pvarout ) 69 CALL isf_tbl_avg( miku, ikbot, zhtbl, zfrac, e3u_n, pvarin, zvarout ) 70 ! 71 ! check if needed (probably yes) 72 CALL lbc_lnk('sbcisf', pvarout,'U',-1.) 67 73 ! 68 74 ! compute tbl property at T point 75 pvarout(1,:) = 0._wp 69 76 DO jj = 1, jpj 70 77 DO ji = 2, jpi 71 pvarout(ji,jj) = 0.5_wp * ( pvarout(ji,jj) + pvarout(ji-1,jj))78 pvarout(ji,jj) = 0.5_wp * (zvarout(ji,jj) + zvarout(ji-1,jj)) 72 79 END DO 73 80 END DO 74 ! 75 ! check if needed (probably yes) 76 CALL lbc_lnk('sbcisf', pvarout,'T',-1.) 81 ! lbclnk not needed as a final communication is done after the computation of fwf 77 82 ! 78 83 CASE ( 'V' ) … … 85 90 ! 86 91 ! compute tbl property at V point 87 CALL isf_tbl_avg( mikv, ikbot, zhtbl, zfrac, e3v_n, pvarin, pvarout ) 92 CALL isf_tbl_avg( mikv, ikbot, zhtbl, zfrac, e3v_n, pvarin, zvarout ) 93 ! 94 ! check if needed (probably yes) 95 CALL lbc_lnk('sbcisf', pvarout,'V',-1.) 88 96 ! 89 97 ! pvarout is an averaging of wet point 98 pvarout(:,1) = 0._wp 90 99 DO jj = 2, jpj 91 100 DO ji = 1, jpi 92 pvarout(ji,jj) = 0.5_wp * ( pvarout(ji,jj) + pvarout(ji,jj-1))101 pvarout(ji,jj) = 0.5_wp * (zvarout(ji,jj) + zvarout(ji,jj-1)) 93 102 END DO 94 103 END DO 95 ! 96 ! check if needed (probably yes) 97 CALL lbc_lnk('sbcisf', pvarout,'T',-1.) 104 ! lbclnk not needed as a final communication is done after the computation of fwf 98 105 ! 99 106 CASE ( 'T' ) … … 103 110 ! 104 111 END SELECT 112 ! 113 IF (ln_isfdebug) CALL debug('isf_tbl pvarout:',pvarout) 105 114 ! 106 115 END SUBROUTINE isf_tbl -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfutils.F90
r11521 r11844 65 65 !!-------------------------------------------------------------------- 66 66 ! 67 zsum = glob_sum _full( 'debug', pvar(:,:) )68 zmin = MINVAL( pvar(:,:) ) ; CALL mpp_min( 'debug', zmin ) ! min over the global domain69 zmax = MAXVAL( pvar(:,:) ) ; CALL mpp_max( 'debug', zmax ) ! max over the global domain67 zsum = glob_sum( 'debug', pvar(:,:) ) 68 zmin = glob_min( 'debug', pvar(:,:) ) 69 zmax = glob_max( 'debug', pvar(:,:) ) 70 70 ! 71 WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum71 IF (lwp) WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum 72 72 ! 73 FLUSH(numout) 73 CALL FLUSH(numout) 74 ! 74 75 END SUBROUTINE debug2d 75 76 … … 89 90 !!-------------------------------------------------------------------- 90 91 ! 91 zsum = glob_sum _full( 'debug', pvar(:,:,:) )92 zmin = MINVAL( pvar(:,:,:) ) ; CALL mpp_min( 'debug', zmin ) ! min over the global domain93 zmax = MAXVAL( pvar(:,:,:) ) ; CALL mpp_max( 'debug', zmax ) ! max over the global domain92 zsum = glob_sum( 'debug', pvar(:,:,:) ) 93 zmin = glob_min( 'debug', pvar(:,:,:) ) 94 zmax = glob_max( 'debug', pvar(:,:,:) ) 94 95 ! 95 WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum96 IF (lwp) WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum 96 97 ! 97 FLUSH(numout)98 CALL FLUSH(numout) 98 99 ! 99 100 END SUBROUTINE debug3d
Note: See TracChangeset
for help on using the changeset viewer.