- Timestamp:
- 2013-09-11T15:58:45+02:00 (11 years ago)
- Location:
- branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r3858 r4024 445 445 !!--------------------------------------------------------------------- 446 446 447 qsr_mean(:,:) = qsr_mean(:,:) + ( 1. -frld(:,:) ) * fstric_daymean(:,:)447 qsr_mean(:,:) = pfrld(:,:) * qsr_mean(:,:) + ( 1. - pfrld(:,:) ) * fstric_daymean(:,:) 448 448 449 449 END SUBROUTINE lim_bio_meanqsr_2 -
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r3858 r4024 287 287 CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3) , jpi, jpj, npb(1:nbpb) ) 288 288 CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice(:,:,1) , jpi, jpj, npb(1:nbpb) ) 289 IF( ltrcdm2dc_ice ) & 290 & CALL tab_2d_1d_2( nbpb, qsr_ice_mean_1d (1:nbpb) , qsr_ice_mean(:,:,1) , jpi, jpj, npb(1:nbpb) 289 291 CALL tab_2d_1d_2( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) ) 290 292 CALL tab_2d_1d_2( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) ) … … 336 338 CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb) , jpi, jpj ) 337 339 CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb) , jpi, jpj ) 340 IF( ltrcdm2dc_ice )THEN 341 CALL tab_1d_2d_2( nbpb, fstric_daymean , npb, fstbif_daymean_1d (1:nbpb) , jpi, jpj ) 342 CALL tab_1d_2d_2( nbpb, qsr_ice_mean(:,:,1), npb, qsr_ice_mean_1d(1:nbpb) , jpi, jpj ) 343 ENDIF 338 344 IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb) , jpi, jpj ) 339 IF( ltrcdm2dc_ice ) CALL tab_1d_2d_2( nbpb, fstric_daymean, npb, fstbif_daymean_1d (1:nbpb) , jpi, jpj )340 345 ! 341 346 ENDIF -
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90
r3858 r4024 280 280 zi0(ji) = zihsn * ( fr1_i0_1d(ji) + zihic * fr2_i0_1d(ji) ) 281 281 zexp = MIN( zone , EXP( -1.5 * ( h_ice_1d(ji) - zhsu ) ) ) 282 fstbif_daymean_1d(ji) = zi0(ji) * qsr_ice_ 1d(ji) * zexp282 fstbif_daymean_1d(ji) = zi0(ji) * qsr_ice_mean_1d(ji) * zexp 283 283 END DO 284 284 -
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/thd_ice_2.F90
r3858 r4024 58 58 fscbq_1d , & !: " " fscmcbq 59 59 qsr_ice_1d , & !: " " qsr_ice 60 qsr_ice_mean_1d , & !: " " qsr_ice_mean 60 61 fr1_i0_1d , & !: " " fr1_i0 61 62 fr2_i0_1d , & !: " " fr2_i0 … … 121 122 & tbif_1d(jpij, jplayersp1), Stat=ierr(4)) 122 123 ! 123 IF( ltrcdm2dc_ice )ALLOCATE(fstbif_daymean_1d(jpij), Stat=ierr(5))124 IF( ltrcdm2dc_ice )ALLOCATE(fstbif_daymean_1d(jpij),qsr_ice_mean_1d(jpij),Stat=ierr(5)) 124 125 ! 125 126 thd_ice_alloc_2 = MAXVAL(ierr) -
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r3858 r4024 48 48 PUBLIC sbc_blk_core ! routine called in sbcmod module 49 49 PUBLIC blk_ice_core ! routine called in sbc_ice_lim module 50 PUBLIC blk_ice_meanqsr ! routine called in sbc_ice_lim module 50 51 PUBLIC turb_core_2z ! routine calles in sbcblk_mfs module 51 52 … … 186 187 CALL fld_read( kt, nn_fsbc, sf ) ! input fields provided at the current time-step 187 188 189 ! ! compute the surface ocean fluxes using CORE bulk formulea 190 IF( MOD( kt - 1, nn_fsbc ) == 0 ) CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m ) 191 188 192 ! If diurnal cycle is activated, compute a daily mean short waves flux for biogeochemistery 189 193 #if defined key_top 190 194 IF( ltrcdm2dc )CALL blk_bio_meanqsr 191 195 #endif 192 193 ! ! compute the surface ocean fluxes using CORE bulk formulea194 IF( MOD( kt - 1, nn_fsbc ) == 0 ) CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m )195 196 196 197 #if defined key_cice … … 449 450 450 451 END SUBROUTINE blk_bio_meanqsr 451 452 453 SUBROUTINE blk_ice_meanqsr(palb,p_qsr_mean,pdim) 454 !!--------------------------------------------------------------------- 455 !! 456 !! 457 !!--------------------------------------------------------------------- 458 REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: palb ! ice albedo (clear sky) (alb_ice_cs) [%] 459 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: p_qsr_mean ! solar heat flux over ice (T-point) [W/m2] 460 INTEGER , INTENT(in ) :: pdim ! number of ice categories 461 !! 462 INTEGER :: ijpl ! number of ice categories (size of 3rd dim of input arrays) 463 INTEGER :: ji, jj, jl ! dummy loop indices 464 REAL(wp) :: zztmp ! temporary variable 465 !!--------------------------------------------------------------------- 466 467 ijpl = pdim ! number of ice categories 468 zztmp = 1. / ( 1. - albo ) 469 ! ! ========================== ! 470 DO jl = 1, ijpl ! Loop over ice categories ! 471 ! ! ========================== ! 472 DO jj = 1 , jpj 473 DO ji = 1, jpi 474 p_qsr_mean(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr_mean(ji,jj) 475 ENDDO 476 ENDDO 477 ENDDO 478 479 END SUBROUTINE blk_ice_meanqsr 452 480 453 481 SUBROUTINE blk_ice_core( pst , pui , pvi , palb , & -
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r3858 r4024 176 176 & tprecip , sprecip , & 177 177 & fr1_i0 , fr2_i0 , cp_ice_msh , jpl ) 178 IF( ltrcdm2dc_ice ) & 179 CALL blk_ice_meanqsr(zalb_ice_cs,qsr_ice_mean,jpl ) 180 178 181 CASE( 5 ) ! Coupled formulation : atmosphere-ice stress only (fluxes provided after ice dynamics) 179 182 CALL sbc_cpl_ice_tau( utau_ice , vtau_ice ) … … 216 219 CALL lim_thd_2 ( kt ) ! Ice thermodynamics 217 220 CALL lim_sbc_flx_2 ( kt ) ! update surface ocean mass, heat & salt fluxes 221 #if defined key_top 222 IF( ltrcdm2dc_ice )CALL lim_bio_meanqsr_2 223 #endif 218 224 219 225 IF( ( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) .AND. .NOT. lk_mpp ) & … … 238 244 IF( ln_limdyn ) CALL lim_sbc_tau_2( kt, ub(:,:,1), vb(:,:,1) ) ! using before instantaneous surf. currents 239 245 ! 240 #if defined key_top241 IF( ltrcdm2dc_ice )CALL lim_bio_meanqsr_2242 #endif243 !244 246 CALL wrk_dealloc( jpi,jpj,1, zalb_ice_os, zalb_ice_cs, zsist ) 245 247 !
Note: See TracChangeset
for help on using the changeset viewer.