- Timestamp:
- 2010-10-19T12:15:40+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1879_FCM/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r2160 r2292 26 26 USE fldread ! read input fields 27 27 USE sbc_oce ! Surface boundary condition: ocean fields 28 USE sbcdcy ! surface boundary condition: diurnal cycle 28 29 USE iom ! I/O manager library 29 30 USE in_out_manager ! I/O manager … … 61 62 REAL(wp), PARAMETER :: Stef = 5.67e-8 ! Stefan Boltzmann constant 62 63 REAL(wp), PARAMETER :: Cice = 1.63e-3 ! transfer coefficient over ice 64 REAL(wp), PARAMETER :: albo = 0.066 ! ocean albedo assumed to be contant 63 65 64 66 ! !!* Namelist namsbc_core : CORE bulk parameters … … 146 148 REWIND( numnam ) ! ... read in namlist namsbc_core 147 149 READ ( numnam, namsbc_core ) 148 ! 149 ! store namelist information in an array 150 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? 151 IF( ln_dm2dc .AND. sn_qsr%nfreqh /= 24 ) & 152 & CALL ctl_stop( 'sbc_blk_core: ln_dm2dc can be activated only with daily short-wave forcing' ) 153 IF( ln_dm2dc .AND. sn_qsr%ln_tint ) THEN 154 CALL ctl_warn( 'sbc_blk_core: ln_dm2dc is taking care of the temporal interpolation of daily qsr', & 155 & ' ==> We force time interpolation = .false. for qsr' ) 156 sn_qsr%ln_tint = .false. 157 ENDIF 158 ! ! store namelist information in an array 150 159 slf_i(jp_wndi) = sn_wndi ; slf_i(jp_wndj) = sn_wndj 151 160 slf_i(jp_qsr ) = sn_qsr ; slf_i(jp_qlw ) = sn_qlw … … 260 269 ! ----------------------------------------------------------------------------- ! 261 270 262 ! ocean albedo assumed to be 0.066 263 !CDIR COLLAPSE 264 qsr (:,:) = ( 1. - 0.066 ) * sf(jp_qsr)%fnow(:,:) * tmask(:,:,1) ! Short Wave 271 ! ocean albedo assumed to be constant + modify now Qsr to include the diurnal cycle ! Short Wave 272 zztmp = 1. - albo 273 IF( ln_dm2dc ) THEN ; qsr(:,:) = zztmp * sbc_dcy( sf(jp_qsr)%fnow(:,:) ) * tmask(:,:,1) 274 ELSE ; qsr(:,:) = zztmp * sf(jp_qsr)%fnow(:,:) * tmask(:,:,1) 275 ENDIF 265 276 !CDIR COLLAPSE 266 277 zqlw(:,:) = ( sf(jp_qlw)%fnow(:,:) - Stef * zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:) ) * tmask(:,:,1) ! Long Wave … … 414 425 REAL(wp) :: zst2, zst3 415 426 REAL(wp) :: zcoef_wnorm, zcoef_wnorm2, zcoef_dqlw, zcoef_dqla, zcoef_dqsb 427 REAL(wp) :: zztmp ! temporary variable 416 428 REAL(wp) :: zcoef_frca ! fractional cloud amount 417 429 REAL(wp) :: zwnorm_f, zwndi_f , zwndj_f ! relative wind module and components at F-point … … 501 513 END SELECT 502 514 515 zztmp = 1. / ( 1. - albo ) 503 516 ! ! ========================== ! 504 517 DO jl = 1, ijpl ! Loop over ice categories ! … … 515 528 zst3 = pst(ji,jj,jl) * zst2 516 529 ! Short Wave (sw) 517 p_qsr(ji,jj,jl) = ( 1. - palb(ji,jj,jl) ) * sf(jp_qsr)%fnow(ji,jj) * tmask(ji,jj,1)530 p_qsr(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr(ji,jj) 518 531 ! Long Wave (lw) 519 532 z_qlw(ji,jj,jl) = 0.95 * ( sf(jp_qlw)%fnow(ji,jj) &
Note: See TracChangeset
for help on using the changeset viewer.