- Timestamp:
- 2015-04-24T14:08:11+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5225 r5236 135 135 136 136 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: albedo_oce_mix ! ocean albedo sent to atmosphere (mix clear/overcast sky) 137 138 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: qsr_tot_tmp ! arrays containing consecutives qsr in a day139 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: qsr_ice_tmp ! === ===140 137 141 138 INTEGER , ALLOCATABLE, SAVE, DIMENSION( :) :: nrcvinfo ! OASIS info argument … … 586 583 ENDIF 587 584 ! 588 n _cpl_qsr= INT( 86400 / ( cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'S_QsrOce' ) + cpl_freq( 'S_QsrMix' ) ) )589 ! 590 IF( ln_dm2dc .AND. n _cpl_qsr/= 1 ) &585 ncpl_qsr_freq = INT( 86400 / ( cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'S_QsrOce' ) + cpl_freq( 'S_QsrMix' ) ) ) 586 ! 587 IF( ln_dm2dc .AND. ncpl_qsr_freq /= 1 ) & 591 588 & CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 592 589 … … 1290 1287 ENDIF 1291 1288 ! 1292 IF( l_trcdm2dc ) CALL sbc_cpl_qsr_mean( it ) ! computation of daily mean qsr for biogeochemical model if needed1293 1294 ! ! ========================= !1295 1289 SELECT CASE( TRIM( sn_rcv_dqnsdt%cldes ) ) ! d(qns)/dt ! 1296 1290 ! ! ========================= ! … … 1327 1321 END SUBROUTINE sbc_cpl_ice_flx 1328 1322 1329 SUBROUTINE sbc_cpl_qsr_mean( kt ) 1330 !!---------------------------------------------------------------------- 1331 !! *** ROUTINE sbc_cpl_mean *** 1332 !! 1333 !! ** Purpose : Compute daily mean qsr for biogeochmeical model in case of diurnal cycle 1334 !! 1335 !!---------------------------------------------------------------------- 1336 INTEGER, INTENT(in) :: kt 1337 INTEGER :: jn 1338 1339 IF( kt == nit000 ) THEN 1340 ALLOCATE( qsr_tot_tmp(jpi,jpj,n_cpl_qsr), qsr_ice_tmp(jpi,jpj,jpl,n_cpl_qsr) ) 1341 DO jn = 1, n_cpl_qsr 1342 qsr_tot_tmp(:,: ,jn) = qsr_tot(:,: ) 1343 qsr_ice_tmp(:,:,:,jn) = qsr_ice(:,:,:) 1344 ENDDO 1345 qsr_mean (:,: ) = qsr_tot(:,: ) 1346 qsr_ice_mean(:,:,:) = qsr_ice(:,:,:) 1347 ENDIF 1348 ! 1349 IF( kt /= nit000 .AND. nrcvinfo(jpr_qsroce) == OASIS_Rcv ) THEN ! => need to be done only when we receive the field 1350 DO jn = 1, n_cpl_qsr - 1 1351 qsr_tot_tmp(:,: ,jn) = qsr_tot_tmp(:,: ,jn+1) 1352 qsr_ice_tmp(:,:,:,jn) = qsr_ice_tmp(:,:,:,jn+1) 1353 ENDDO 1354 qsr_tot_tmp(:,: ,n_cpl_qsr ) = qsr_tot(:,: ) 1355 qsr_ice_tmp(:,:,:,n_cpl_qsr ) = qsr_ice(:,:,:) 1356 ! 1357 qsr_mean (:,: ) = SUM( qsr_tot_tmp(:,:,: ), 3 ) / n_cpl_qsr 1358 qsr_ice_mean(:,:,:) = SUM( qsr_ice_tmp(:,:,:,:), 4 ) / n_cpl_qsr 1359 ! 1360 ENDIF 1361 ! 1362 END SUBROUTINE sbc_cpl_qsr_mean 1363 1364 1323 1365 1324 SUBROUTINE sbc_cpl_snd( kt ) 1366 1325 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.