Changeset 1484
- Timestamp:
- 2009-07-06T14:22:44+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/diahth.F90
r1482 r1484 69 69 INTEGER, DIMENSION(jpi,jpj) :: ikc 70 70 71 REAL(wp) :: zd, zmoy ! temporary scalars71 REAL(wp) :: zd, zmoy, zthick_0, zcoef ! temporary scalars 72 72 REAL(wp), DIMENSION(jpi) :: zmax 73 REAL(wp), DIMENSION(jpi,jpj) :: zthick 73 74 REAL(wp), DIMENSION(jpi,jpk) :: zdzt 74 75 !!---------------------------------------------------------------------- … … 198 199 ! ----------------------------------------- ! 199 200 200 htc3(:,:) = 0.e0 201 ilevel = 18 202 zmoy = rau0 * rcp * 0.5 203 204 ! intregrate tn from surface to klevel 205 201 ! find ilevel with (ilevel+1) the deepest W-level above 300m (we assume we can use e3t_0 to do this search...) 202 ilevel = 0 203 zthick_0 = 0.e0 204 DO jk = 1, jpk-1 205 zthick_0 = zthick_0 + e3t_0(jk) 206 IF( zthick_0 < 300. ) ilevel = jk 207 END DO 208 ! surface boundary condition 209 IF( lk_vvl ) THEN ; zthick(:,:) = 0.e0 ; htc3(:,:) = 0.e0 210 ELSE ; zthick(:,:) = sshn(:,:) ; htc3(:,:) = tn(:,:,jk) * sshn(:,:) * tmask(:,:,jk) 211 ENDIF 212 ! integration down to ilevel 206 213 DO jk = 1, ilevel 207 htc3(:,:) = htc3(:,:) & 208 + zmoy * ( tn(:,:,jk) + tn(:,:,jk+1) ) * fse3w(:,:,jk) * tmask(:,:,jk) 209 END DO 214 zthick(:,:) = zthick(:,:) + fse3t(:,:,jk) 215 htc3 (:,:) = htc3 (:,:) + fse3t(:,:,jk) * tn(:,:,jk) * tmask(:,:,jk) 216 END DO 217 ! deepest layer 218 zthick(:,:) = 300. - zthick(:,:) ! remaining thickness to reach 300m 219 htc3(:,:) = htc3(:,:) + tn(:,:,ilevel+1) * MIN( fse3t(:,:,ilevel+1), zthick(:,:) ) * tmask(:,:,ilevel+1) 220 ! from temperature to heat contain 221 zcoef = rau0 * rcp 222 htc3(:,:) = zcoef * htc3(:,:) 210 223 CALL iom_put( "hc300", htc3 ) ! first 300m heaat content 211 224
Note: See TracChangeset
for help on using the changeset viewer.