- Timestamp:
- 2015-04-13T12:13:10+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r5167 r5206 301 301 302 302 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ftr_ice !: transmitted solar radiation under ice 303 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ftr_ice_mean !: transmitted daily mean solar radiation under ice (diurnal cycle) 304 303 305 304 306 !!-------------------------------------------------------------------------- -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r5187 r5206 118 118 IF( iom_use('qt_oce' ) ) CALL iom_put( "qt_oce" , ( qsr(:,:) + qns(:,:) ) * pfrld(:,:) ) 119 119 IF( iom_use('qt_ice' ) ) CALL iom_put( "qt_ice" , SUM( ( qns_ice(:,:,:) + qsr_ice(:,:,:) ) * a_i_b(:,:,:), dim=3 ) ) 120 IF( l_trcdm2dc ) THEN 121 IF( iom_use('qsr_oce_mean') ) CALL iom_put( "qsr_oce_mean" , qsr_mean(:,:) * pfrld(:,:) ) ! daily mean solar flux at ocean surface 122 IF( iom_use('qsr_ice_mean') ) CALL iom_put( "qsr_ice_mean" , SUM( qsr_ice_mean(:,:,:) * a_i_b(:,:,:), dim=3 ) ) ! daily mean solar flux at ice surface 123 IF( iom_use('qtr_ice_mean') ) CALL iom_put( "qtr_ice_mean" , SUM( ftr_ice_mean(:,:,:) * a_i_b(:,:,:), dim=3 ) ) ! daily mean solar flux transmitted thru ice 124 ENDIF 120 125 121 126 ! pfrld is the lead fraction at the previous time step (actually between TRP and THD) … … 212 217 fr_i (:,:) = at_i(:,:) ! Sea-ice fraction 213 218 tn_ice(:,:,:) = t_su(:,:,:) ! Ice surface temperature 219 220 221 ! daily mean qsr when diurnal cycle is applied on physics - for BGC models 222 IF( l_trcdm2dc ) qsr_mean(:,:) = pfrld(:,:) * qsr_mean(:,:) + ftr_ice_mean(:,:) 214 223 215 224 !------------------------------------------------! -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r5202 r5206 98 98 IF( nn_timing == 1 ) CALL timing_start('limthd') 99 99 100 IF( kt == nit000 .AND. l_trcdm2dc ) ALLOCATE( ftr_ice_mean(jpi,jpj,jpl), ftr_ice_mean_1d(jpij), qsr_ice_mean_1d(jpij) ) 101 100 102 ! conservation test 101 103 IF( ln_limdiahsb ) CALL lim_cons_hsm(0, 'limthd', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) … … 106 108 !------------------------------------------------------------------------! 107 109 ftr_ice(:,:,:) = 0._wp ! part of solar radiation transmitted through the ice 110 IF( l_trcdm2dc ) ftr_ice_mean(:,:,:) = 0._wp ! part of daily mean solar radiation absorbing inside the ice 111 108 112 109 113 !-------------------- … … 576 580 CALL tab_2d_1d( nbpb, qns_ice_1d (1:nbpb), qns_ice(:,:,jl) , jpi, jpj, npb(1:nbpb) ) 577 581 CALL tab_2d_1d( nbpb, ftr_ice_1d (1:nbpb), ftr_ice(:,:,jl) , jpi, jpj, npb(1:nbpb) ) 582 IF( l_trcdm2dc ) THEN 583 CALL tab_2d_1d( nbpb, qsr_ice_mean_1d (1:nbpb), qsr_ice_mean(:,:,jl) , jpi, jpj, npb(1:nbpb) ) 584 CALL tab_2d_1d( nbpb, ftr_ice_mean_1d (1:nbpb), ftr_ice_mean(:,:,jl) , jpi, jpj, npb(1:nbpb) ) 585 ENDIF 578 586 IF( .NOT. lk_cpl ) THEN 579 587 CALL tab_2d_1d( nbpb, qla_ice_1d (1:nbpb), qla_ice(:,:,jl) , jpi, jpj, npb(1:nbpb) ) … … 670 678 CALL tab_1d_2d( nbpb, qns_ice(:,:,jl), npb, qns_ice_1d(1:nbpb) , jpi, jpj) 671 679 CALL tab_1d_2d( nbpb, ftr_ice(:,:,jl), npb, ftr_ice_1d(1:nbpb) , jpi, jpj ) 672 680 ! 681 IF( l_trcdm2dc ) THEN 682 CALL tab_1d_2d( nbpb, qns_ice_mean(:,:,jl), npb, qns_ice_mean_1d(1:nbpb) , jpi, jpj) 683 CALL tab_1d_2d( nbpb, ftr_ice_mean(:,:,jl), npb, ftr_ice_mean_1d(1:nbpb) , jpi, jpj ) 684 ENDIF 685 ! 673 686 END SELECT 674 687 -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
r5202 r5206 126 126 REAL(wp), POINTER, DIMENSION(:) :: zdifcase ! case of the equation resolution (1->4) 127 127 REAL(wp), POINTER, DIMENSION(:) :: zftrice ! solar radiation transmitted through the ice 128 REAL(wp), POINTER, DIMENSION(:) :: zftrice_mean ! daily mean solar radiation transmitted through the ice 128 129 REAL(wp), POINTER, DIMENSION(:) :: zihic 129 130 … … 174 175 CALL wrk_alloc( jpij,nlay_i+3, zindterm, zindtbis, zdiagbis ) 175 176 CALL wrk_alloc( jpij,nlay_i+3,3, ztrid ) 177 IF( l_trcdm2dc ) CALL wrk_alloc( jpij, zftrice_mean ) 176 178 177 179 CALL wrk_alloc( jpij, zdq, zq_ini, zhfx_err ) … … 249 251 END DO 250 252 253 IF( l_trcdm2dc ) THEN 254 DO ji = kideb , kiut 255 zftrice_mean(ji) = qsr_ice_mean_1d(ji) * i0(ji) ! Solar radiation transmitted below the surface layer 256 END DO 257 ENDIF 258 251 259 !--------------------------------------------------------- 252 260 ! Transmission - absorption of solar radiation in the ice … … 282 290 ftr_ice_1d(ji) = zradtr_i(ji,nlay_i) 283 291 END DO 292 293 294 IF( l_trcdm2dc ) THEN 295 DO ji = kideb , kiut 296 ftr_ice_mean_1d(ji) = ftr_ice_mean_1d(ji) & 297 & + a_i_1d(ji) * zftrice_mean(ji) & 298 & * EXP( - rn_kappa_i * ( MAX ( 0._wp , h_i_1d(ji) ) ) ) & 299 * EXP( - zraext_s * ( MAX ( 0._wp , h_s_1d(ji) ) ) ) 300 END DO 301 ENDIF 284 302 285 303 ! -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90
r5167 r5206 41 41 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ftr_ice_1d 42 42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: qsr_ice_1d 43 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: qsr_ice_mean_1d 44 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: ftr_ice_mean_1d 43 45 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: fr1_i0_1d 44 46 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: fr2_i0_1d
Note: See TracChangeset
for help on using the changeset viewer.