- Timestamp:
- 2021-12-03T20:32:50+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14318_RK3_stage1
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette@14244 sette 11 ^/utils/CI/sette@HEAD sette 12
-
- Property svn:externals
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/SBC/sbcrnf.F90
r14993 r15574 131 131 IF( ln_rnf_icb ) THEN 132 132 fwficb(:,:) = rn_rfact * ( sf_i_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1) ! updated runoff value at time step kt 133 CALL iom_put( 'iceberg_cea' , fwficb(:,:) ) ! output iceberg flux 134 CALL iom_put( 'hflx_icb_cea' , fwficb(:,:) * rLfus ) ! output Heat Flux into Sea Water due to Iceberg Thermodynamics --> 133 rnf(:,:) = rnf(:,:) + fwficb(:,:) 134 qns(:,:) = qns(:,:) - fwficb(:,:) * rLfus 135 !!qns_tot(:,:) = qns_tot(:,:) - fwficb(:,:) * rLfus 136 !!qns_oce(:,:) = qns_oce(:,:) - fwficb(:,:) * rLfus 137 CALL iom_put( 'iceberg_cea' , fwficb(:,:) ) ! output iceberg flux 138 CALL iom_put( 'hflx_icb_cea' , -fwficb(:,:) * rLfus ) ! output Heat Flux into Sea Water due to Iceberg Thermodynamics --> 135 139 ENDIF 136 140 ENDIF … … 152 156 CALL iom_put( 'runoffs' , rnf(:,:) ) ! output runoff mass flux 153 157 IF( iom_use('hflx_rnf_cea') ) CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rho0 * rcp ) ! output runoff sensible heat (W/m2) 158 IF( iom_use('sflx_rnf_cea') ) CALL iom_put( 'sflx_rnf_cea', rnf_tsc(:,:,jp_sal) * rho0 ) ! output runoff salt flux (g/m2/s) 154 159 ENDIF 155 160 ! … … 206 211 IF( ln_rnf_depth .OR. ln_rnf_depth_ini ) THEN !== runoff distributed over several levels ==! 207 212 IF( ln_linssh ) THEN !* constant volume case : just apply the runoff input flow 208 DO_2D ( 1, 1, 1, 1)213 DO_2D_OVR( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 209 214 DO jk = 1, nk_rnf(ji,jj) 210 215 phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact / h_rnf(ji,jj) … … 212 217 END_2D 213 218 ELSE !* variable volume case 214 DO_2D ( 1, 1, 1, 1 )! update the depth over which runoffs are distributed219 DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) ! update the depth over which runoffs are distributed 215 220 h_rnf(ji,jj) = 0._wp 216 221 DO jk = 1, nk_rnf(ji,jj) ! recalculates h_rnf to be the depth in metres 217 222 h_rnf(ji,jj) = h_rnf(ji,jj) + e3t(ji,jj,jk,Kmm) ! to the bottom of the relevant grid box 218 223 END DO 219 ! ! apply the runoff input flow 224 END_2D 225 DO_2D_OVR( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) ! apply the runoff input flow 220 226 DO jk = 1, nk_rnf(ji,jj) 221 227 phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact / h_rnf(ji,jj) … … 224 230 ENDIF 225 231 ELSE !== runoff put only at the surface ==! 226 h_rnf (:,:) = e3t (:,:,1,Kmm) ! update h_rnf to be depth of top box 227 phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact / e3t(:,:,1,Kmm) 232 DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) 233 h_rnf (ji,jj) = e3t(ji,jj,1,Kmm) ! update h_rnf to be depth of top box 234 END_2D 235 DO_2D_OVR( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 236 phdivn(ji,jj,1) = phdivn(ji,jj,1) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact / e3t(ji,jj,1,Kmm) 237 END_2D 228 238 ENDIF 229 239 ! … … 358 368 ! 359 369 nk_rnf(:,:) = 0 ! set the number of level over which river runoffs are applied 360 DO_2D( 1, 1, 1, 1)370 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 361 371 IF( h_rnf(ji,jj) > 0._wp ) THEN 362 372 jk = 2 … … 371 381 ENDIF 372 382 END_2D 373 DO_2D( 1, 1, 1, 1) ! set the associated depth383 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth 374 384 h_rnf(ji,jj) = 0._wp 375 385 DO jk = 1, nk_rnf(ji,jj) … … 401 411 WHERE( zrnfcl(:,:,1) > 0._wp ) h_rnf(:,:) = zacoef * zrnfcl(:,:,1) ! compute depth for all runoffs 402 412 ! 403 DO_2D( 1, 1, 1, 1) ! take in account min depth of ocean rn_hmin413 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! take in account min depth of ocean rn_hmin 404 414 IF( zrnfcl(ji,jj,1) > 0._wp ) THEN 405 415 jk = mbkt(ji,jj) … … 409 419 ! 410 420 nk_rnf(:,:) = 0 ! number of levels on which runoffs are distributed 411 DO_2D( 1, 1, 1, 1)421 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 412 422 IF( zrnfcl(ji,jj,1) > 0._wp ) THEN 413 423 jk = 2 … … 420 430 END_2D 421 431 ! 422 DO_2D( 1, 1, 1, 1) ! set the associated depth432 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth 423 433 h_rnf(ji,jj) = 0._wp 424 434 DO jk = 1, nk_rnf(ji,jj) … … 509 519 ! 510 520 cl_rnfile = TRIM( cn_dir )//TRIM( sn_cnf%clname ) 511 IF( .NOT. sn_cnf%ln_clim ) THEN ; WRITE(cl_rnfile, '(a,"_y",i4 )' ) TRIM( cl_rnfile ), nyear ! add year512 IF( sn_cnf%clftyp == 'monthly' ) WRITE(cl_rnfile, '(a,"m" ,i2)') TRIM( cl_rnfile ), nmonth ! add month521 IF( .NOT. sn_cnf%ln_clim ) THEN ; WRITE(cl_rnfile, '(a,"_y",i4.4)' ) TRIM( cl_rnfile ), nyear ! add year 522 IF( sn_cnf%clftyp == 'monthly' ) WRITE(cl_rnfile, '(a,"m" ,i2.2)' ) TRIM( cl_rnfile ), nmonth ! add month 513 523 ENDIF 514 524 !
Note: See TracChangeset
for help on using the changeset viewer.