- Timestamp:
- 2020-09-24T20:49:07+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traisf.F90
r13295 r13518 11 11 !!---------------------------------------------------------------------- 12 12 USE isf_oce ! Ice shelf variables 13 USE par_oce , ONLY : nijtile, ntile, ntsi, ntei, ntsj, ntej 13 14 USE dom_oce ! ocean space domain variables 14 15 USE isfutils, ONLY : debug ! debug option … … 31 32 CONTAINS 32 33 34 ! TODO: NOT TESTED- requires isf 33 35 SUBROUTINE tra_isf ( kt, Kmm, pts, Krhs ) 34 36 !!---------------------------------------------------------------------- … … 46 48 IF( ln_timing ) CALL timing_start('tra_isf') 47 49 ! 48 IF( kt == nit000 ) THEN 49 IF(lwp) WRITE(numout,*) 50 IF(lwp) WRITE(numout,*) 'tra_isf : Ice shelf heat fluxes' 51 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 50 IF( ntile == 0 .OR. ntile == 1 ) THEN ! Do only on the first tile 51 IF( kt == nit000 ) THEN 52 IF(lwp) WRITE(numout,*) 53 IF(lwp) WRITE(numout,*) 'tra_isf : Ice shelf heat fluxes' 54 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 55 ENDIF 52 56 ENDIF 53 57 ! … … 76 80 ! 77 81 IF ( ln_isfdebug ) THEN 78 CALL debug('tra_isf: pts(:,:,:,:,Krhs) T', pts(:,:,:,1,Krhs)) 79 CALL debug('tra_isf: pts(:,:,:,:,Krhs) S', pts(:,:,:,2,Krhs)) 82 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only for the full domain 83 CALL debug('tra_isf: pts(:,:,:,:,Krhs) T', pts(:,:,:,1,Krhs)) 84 CALL debug('tra_isf: pts(:,:,:,:,Krhs) S', pts(:,:,:,2,Krhs)) 85 ENDIF 80 86 END IF 81 87 ! … … 84 90 END SUBROUTINE tra_isf 85 91 ! 92 ! TODO: NOT TESTED- requires isf 86 93 SUBROUTINE tra_isf_mlt(ktop, kbot, phtbl, pfrac, ptsc, ptsc_b, pts) 87 94 !!---------------------------------------------------------------------- … … 101 108 INTEGER :: ji,jj,jk ! loop index 102 109 INTEGER :: ikt, ikb ! top and bottom level of the tbl 103 REAL(wp), DIMENSION( jpi,jpj):: ztc ! total ice shelf tracer trend110 REAL(wp), DIMENSION(ST_2D(nn_hls)) :: ztc ! total ice shelf tracer trend 104 111 !!---------------------------------------------------------------------- 105 112 ! 106 113 ! compute 2d total trend due to isf 107 ztc(:,:) = 0.5_wp * ( ptsc(:,:,jp_tem) + ptsc_b(:,:,jp_tem) ) / phtbl(:,:) 114 DO_2D( 1, 1, 1, 1 ) 115 ztc(ji,jj) = 0.5_wp * ( ptsc(ji,jj,jp_tem) + ptsc_b(ji,jj,jp_tem) ) / phtbl(ji,jj) 116 END_2D 108 117 ! 109 118 ! update pts(:,:,:,:,Krhs) … … 125 134 END SUBROUTINE tra_isf_mlt 126 135 ! 136 ! TODO: NOT TESTED- requires isf 127 137 SUBROUTINE tra_isf_cpl( Kmm, ptsc, ptsa ) 128 138 !!---------------------------------------------------------------------- … … 137 147 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: ptsc 138 148 !!---------------------------------------------------------------------- 139 INTEGER :: j k149 INTEGER :: ji, jj, jk 140 150 !!---------------------------------------------------------------------- 141 151 ! 142 DO jk = 1,jpk 143 ptsa(:,:,jk,jp_tem) = & 144 & ptsa(:,:,jk,jp_tem) + ptsc(:,:,jk,jp_tem) * r1_e1e2t(:,:) / e3t(:,:,jk,Kmm) 145 ptsa(:,:,jk,jp_sal) = & 146 & ptsa(:,:,jk,jp_sal) + ptsc(:,:,jk,jp_sal) * r1_e1e2t(:,:) / e3t(:,:,jk,Kmm) 147 END DO 152 DO_3D( 0, 0, 0, 0, 1, jpk ) 153 ptsa(ji,jj,jk,jp_tem) = ptsa(ji,jj,jk,jp_tem) + ptsc(ji,jj,jk,jp_tem) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 154 ptsa(ji,jj,jk,jp_sal) = ptsa(ji,jj,jk,jp_sal) + ptsc(ji,jj,jk,jp_sal) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 155 END_3D 148 156 ! 149 157 END SUBROUTINE tra_isf_cpl
Note: See TracChangeset
for help on using the changeset viewer.