Changeset 5225
- Timestamp:
- 2015-04-20T11:26:15+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r5222 r5225 264 264 265 265 ! daily mean qsr when diurnal cycle is applied on physics - for BGC models 266 IF( l_trcdm2dc ) THEN qsr_mean(:,:) = pfrld(:,:) * qsr_mean(:,:) + ( 1. - pfrld(:,:) ) * fstric_mean(:,:)266 IF( l_trcdm2dc ) THEN 267 267 ! computation the solar flux at ocean surface 268 268 IF( lk_cpl ) THEN -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
r4990 r5225 61 61 #endif 62 62 63 INTEGER, PUBLIC, PARAMETER :: nmaxfld=40 ! Maximum number of coupling fields 63 INTEGER :: nrcv ! total number of fields received 64 INTEGER :: nsnd ! total number of fields sent 65 INTEGER :: ncplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data 66 INTEGER, PUBLIC, PARAMETER :: nmaxfld=50 ! Maximum number of coupling fields 64 67 INTEGER, PUBLIC, PARAMETER :: nmaxcat=5 ! Maximum number of coupling fields 65 68 INTEGER, PUBLIC, PARAMETER :: nmaxcpl=5 ! Maximum number of coupling fields … … 144 147 IF(lwp) WRITE(numout,*) 145 148 149 ncplmodel = kcplmodel 146 150 IF( kcplmodel > nmaxcpl ) THEN 147 CALL oasis_abort ( ncomp_id, 'cpl_define', ' kcplmodel is larger than nmaxcpl, increase nmaxcpl') ; RETURN151 CALL oasis_abort ( ncomp_id, 'cpl_define', 'ncplmodel is larger than nmaxcpl, increase nmaxcpl') ; RETURN 148 152 ENDIF 153 154 nrcv = krcv 155 IF( nrcv > nmaxfld ) THEN 156 CALL oasis_abort ( ncomp_id, 'cpl_define', 'nrcv is larger than nmaxfld, increase nmaxfld') ; RETURN 157 ENDIF 158 159 nsnd = ksnd 160 IF( nsnd > nmaxfld ) THEN 161 CALL oasis_abort ( ncomp_id, 'cpl_define', 'nsnd is larger than nmaxfld, increase nmaxfld') ; RETURN 162 ENDIF 163 149 164 ! 150 165 ! ... Define the shape for the area that excludes the halo … … 399 414 END SUBROUTINE cpl_rcv 400 415 401 402 INTEGER FUNCTION cpl_freq( kid ) 416 INTEGER FUNCTION cpl_freq( cdfieldname ) 403 417 !!--------------------------------------------------------------------- 404 418 !! *** ROUTINE cpl_freq *** … … 406 420 !! ** Purpose : - send back the coupling frequency for a particular field 407 421 !!---------------------------------------------------------------------- 408 INTEGER,INTENT(in) :: kid ! variable index 409 !! 422 CHARACTER(len = *), INTENT(in) :: cdfieldname ! field name as set in namcouple file 423 !! 424 INTEGER :: id 410 425 INTEGER :: info 411 426 INTEGER, DIMENSION(1) :: itmp 427 INTEGER :: ji,jm ! local loop index 412 428 !!---------------------------------------------------------------------- 413 CALL oasis_get_freqs(kid, 1, itmp, info) 414 cpl_freq = itmp(1) 429 cpl_freq = 0 ! defaut definition 430 id = -1 ! defaut definition 431 ! 432 DO ji = 1, nsnd 433 DO jm = 1, ncplmodel 434 IF( ssnd(ji)%nid(1,jm) /= -1 ) THEN 435 IF( TRIM(cdfieldname) == TRIM(ssnd(ji)%clname) ) id = ssnd(ji)%nid(1,jm) 436 ENDIF 437 ENDDO 438 ENDDO 439 DO ji = 1, nrcv 440 DO jm = 1, ncplmodel 441 IF( srcv(ji)%nid(1,jm) /= -1 ) THEN 442 IF( TRIM(cdfieldname) == TRIM(srcv(ji)%clname) ) id = srcv(ji)%nid(1,jm) 443 ENDIF 444 ENDDO 445 ENDDO 446 ! 447 IF( id /= -1 ) THEN 448 CALL oasis_get_freqs(id, 1, itmp, info) 449 cpl_freq = itmp(1) 450 ENDIF 415 451 ! 416 452 END FUNCTION cpl_freq 417 418 453 419 454 SUBROUTINE cpl_finalize -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5222 r5225 586 586 ENDIF 587 587 ! 588 n_cpl_qsr = INT( 86400 / ( cpl_freq( jpr_qsroce ) + cpl_freq( jpr_qsrmix ) ) ! qsr coupling frequency per day588 n_cpl_qsr = INT( 86400 / ( cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'S_QsrOce' ) + cpl_freq( 'S_QsrMix' ) ) ) 589 589 ! 590 590 IF( ln_dm2dc .AND. n_cpl_qsr /= 1 ) & … … 1355 1355 qsr_ice_tmp(:,:,:,n_cpl_qsr ) = qsr_ice(:,:,:) 1356 1356 ! 1357 qsr_mean (:,: ) = SUM( qsr_tot_tmp(:,:,:), 3 ) / n_cpl_qsr1358 qsr_ice_mean(:,: ) = SUM( qsr_ice_tmp(:,:,:), 4 ) / n_cpl_qsr1357 qsr_mean (:,: ) = SUM( qsr_tot_tmp(:,:,: ), 3 ) / n_cpl_qsr 1358 qsr_ice_mean(:,:,:) = SUM( qsr_ice_tmp(:,:,:,:), 4 ) / n_cpl_qsr 1359 1359 ! 1360 1360 ENDIF -
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r5222 r5225 267 267 IF( nsbc == jp_cpl ) CALL sbc_cpl_init (nn_ice) ! OASIS initialisation. must be done before first time step 268 268 269 l_trcdm2dc = =lk_top .AND. ( ln_dm2dc .OR. ( lk_cpl .AND. n_cpl_qsr /= 1 ) )269 l_trcdm2dc = lk_top .AND. ( ln_dm2dc .OR. ( lk_cpl .AND. n_cpl_qsr /= 1 ) ) 270 270 IF( l_trcdm2dc .AND. lwp ) THEN 271 271 WRITE(numout,*) "Coupling with passive tracers and used of diurnal cycle !!!!! " 272 272 WRITE(numout,*) "Computation of a daily mean shortwave for some biogeochemical models" 273 ENDIF274 273 ENDIF 275 274
Note: See TracChangeset
for help on using the changeset viewer.