Changeset 5385 for trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
- Timestamp:
- 2015-06-09T15:50:42+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r5065 r5385 22 22 !! blk_oce_core : computes momentum, heat and freshwater fluxes over ocean 23 23 !! blk_ice_core : computes momentum, heat and freshwater fluxes over ice 24 !! blk_bio_meanqsr : compute daily mean short wave radiation over the ocean25 !! blk_ice_meanqsr : compute daily mean short wave radiation over the ice26 24 !! turb_core_2z : Computes turbulent transfert coefficients 27 25 !! cd_neutral_10m : Estimate of the neutral drag coefficient at 10m … … 52 50 PUBLIC sbc_blk_core ! routine called in sbcmod module 53 51 PUBLIC blk_ice_core ! routine called in sbc_ice_lim module 54 PUBLIC blk_ice_meanqsr ! routine called in sbc_ice_lim module55 52 PUBLIC turb_core_2z ! routine calles in sbcblk_mfs module 56 53 … … 195 192 ! ! compute the surface ocean fluxes using CORE bulk formulea 196 193 IF( MOD( kt - 1, nn_fsbc ) == 0 ) CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m ) 197 198 ! If diurnal cycle is activated, compute a daily mean short waves flux for biogeochemistery199 IF( ltrcdm2dc ) CALL blk_bio_meanqsr200 194 201 195 #if defined key_cice … … 302 296 ELSE ; qsr(:,:) = zztmp * sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) 303 297 ENDIF 298 304 299 zqlw(:,:) = ( sf(jp_qlw)%fnow(:,:,1) - Stef * zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:) ) * tmask(:,:,1) ! Long Wave 305 300 ! ----------------------------------------------------------------------------- ! … … 611 606 ! 612 607 END SUBROUTINE blk_ice_core 613 614 615 SUBROUTINE blk_bio_meanqsr616 !!---------------------------------------------------------------------617 !! *** ROUTINE blk_bio_meanqsr618 !!619 !! ** Purpose : provide daily qsr_mean for PISCES when620 !! analytic diurnal cycle is applied in physic621 !!622 !! ** Method : add part where there is no ice623 !!624 !!---------------------------------------------------------------------625 IF( nn_timing == 1 ) CALL timing_start('blk_bio_meanqsr')626 !627 qsr_mean(:,:) = (1. - albo ) * sf(jp_qsr)%fnow(:,:,1)628 !629 IF( nn_timing == 1 ) CALL timing_stop('blk_bio_meanqsr')630 !631 END SUBROUTINE blk_bio_meanqsr632 633 634 SUBROUTINE blk_ice_meanqsr( palb, p_qsr_mean, pdim )635 !!---------------------------------------------------------------------636 !!637 !! ** Purpose : provide the daily qsr_mean over sea_ice for PISCES when638 !! analytic diurnal cycle is applied in physic639 !!640 !! ** Method : compute qsr641 !!642 !!---------------------------------------------------------------------643 REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: palb ! ice albedo (clear sky) (alb_ice_cs) [%]644 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: p_qsr_mean ! solar heat flux over ice (T-point) [W/m2]645 INTEGER , INTENT(in ) :: pdim ! number of ice categories646 !647 INTEGER :: ijpl ! number of ice categories (size of 3rd dim of input arrays)648 INTEGER :: ji, jj, jl ! dummy loop indices649 REAL(wp) :: zztmp ! temporary variable650 !!---------------------------------------------------------------------651 IF( nn_timing == 1 ) CALL timing_start('blk_ice_meanqsr')652 !653 ijpl = pdim ! number of ice categories654 zztmp = 1. / ( 1. - albo )655 ! ! ========================== !656 DO jl = 1, ijpl ! Loop over ice categories !657 ! ! ========================== !658 DO jj = 1 , jpj659 DO ji = 1, jpi660 p_qsr_mean(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr_mean(ji,jj)661 END DO662 END DO663 END DO664 !665 IF( nn_timing == 1 ) CALL timing_stop('blk_ice_meanqsr')666 !667 END SUBROUTINE blk_ice_meanqsr668 669 608 670 609 SUBROUTINE turb_core_2z( zt, zu, sst, T_zt, q_sat, q_zt, dU, &
Note: See TracChangeset
for help on using the changeset viewer.