Changeset 5856 for branches/UKMO/dev_r5518_rm_um_cpl/NEMOGCM/NEMO
- Timestamp:
- 2015-11-02T15:15:41+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_rm_um_cpl/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5855 r5856 306 306 srcv(jpr_itz2)%clname = 'O_ITauz2' ! 3rd - - - - 307 307 ! 308 IF( TRIM( sn_rcv_tau%cldes ) == 'oce only' ||TRIM( sn_rcv_tau%cldes ) == 'oce and ice') THEN309 310 308 IF( TRIM( sn_rcv_tau%cldes ) == 'oce only' .OR. TRIM( sn_rcv_tau%cldes ) == 'oce and ice') THEN 309 ! Vectors: change of sign at north fold ONLY if on the local grid 310 IF( TRIM( sn_rcv_tau%clvor ) == 'local grid' ) srcv(jpr_otx1:jpr_itz2)%nsgn = -1. 311 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 312 ! ! Set grid and action 313 SELECT CASE( TRIM( sn_rcv_tau%clvgrd ) ) ! 'T', 'U,V', 'U,V,I', 'U,V,F', 'T,I', 'T,F', or 'T,U,V' 314 CASE( 'T' ) 315 srcv(jpr_otx1:jpr_itz2)%clgrid = 'T' ! oce and ice components given at T-point 316 srcv(jpr_otx1:jpr_otz1)%laction = .TRUE. ! receive oce components on grid 1 317 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 318 CASE( 'U,V' ) 319 srcv(jpr_otx1:jpr_otz1)%clgrid = 'U' ! oce components given at U-point 320 srcv(jpr_otx2:jpr_otz2)%clgrid = 'V' ! and V-point 321 srcv(jpr_itx1:jpr_itz1)%clgrid = 'U' ! ice components given at U-point 322 srcv(jpr_itx2:jpr_itz2)%clgrid = 'V' ! and V-point 323 srcv(jpr_otx1:jpr_itz2)%laction = .TRUE. ! receive oce and ice components on both grid 1 & 2 324 CASE( 'U,V,T' ) 325 srcv(jpr_otx1:jpr_otz1)%clgrid = 'U' ! oce components given at U-point 326 srcv(jpr_otx2:jpr_otz2)%clgrid = 'V' ! and V-point 327 srcv(jpr_itx1:jpr_itz1)%clgrid = 'T' ! ice components given at T-point 328 srcv(jpr_otx1:jpr_otz2)%laction = .TRUE. ! receive oce components on grid 1 & 2 329 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 only 330 CASE( 'U,V,I' ) 331 srcv(jpr_otx1:jpr_otz1)%clgrid = 'U' ! oce components given at U-point 332 srcv(jpr_otx2:jpr_otz2)%clgrid = 'V' ! and V-point 333 srcv(jpr_itx1:jpr_itz1)%clgrid = 'I' ! ice components given at I-point 334 srcv(jpr_otx1:jpr_otz2)%laction = .TRUE. ! receive oce components on grid 1 & 2 335 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 only 336 CASE( 'U,V,F' ) 337 srcv(jpr_otx1:jpr_otz1)%clgrid = 'U' ! oce components given at U-point 338 srcv(jpr_otx2:jpr_otz2)%clgrid = 'V' ! and V-point 339 srcv(jpr_itx1:jpr_itz1)%clgrid = 'F' ! ice components given at F-point 340 srcv(jpr_otx1:jpr_otz2)%laction = .TRUE. ! receive oce components on grid 1 & 2 341 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 only 342 CASE( 'T,I' ) 343 srcv(jpr_otx1:jpr_itz2)%clgrid = 'T' ! oce and ice components given at T-point 344 srcv(jpr_itx1:jpr_itz1)%clgrid = 'I' ! ice components given at I-point 345 srcv(jpr_otx1:jpr_otz1)%laction = .TRUE. ! receive oce components on grid 1 346 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 347 CASE( 'T,F' ) 348 srcv(jpr_otx1:jpr_itz2)%clgrid = 'T' ! oce and ice components given at T-point 349 srcv(jpr_itx1:jpr_itz1)%clgrid = 'F' ! ice components given at F-point 350 srcv(jpr_otx1:jpr_otz1)%laction = .TRUE. ! receive oce components on grid 1 351 srcv(jpr_itx1:jpr_itz1)%laction = .TRUE. ! receive ice components on grid 1 352 CASE( 'T,U,V' ) 353 srcv(jpr_otx1:jpr_otz1)%clgrid = 'T' ! oce components given at T-point 354 srcv(jpr_itx1:jpr_itz1)%clgrid = 'U' ! ice components given at U-point 355 srcv(jpr_itx2:jpr_itz2)%clgrid = 'V' ! and V-point 356 srcv(jpr_otx1:jpr_otz1)%laction = .TRUE. ! receive oce components on grid 1 only 357 srcv(jpr_itx1:jpr_itz2)%laction = .TRUE. ! receive ice components on grid 1 & 2 358 CASE default 359 CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_rcv_tau%clvgrd' ) 360 END SELECT 361 ! 362 IF( TRIM( sn_rcv_tau%clvref ) == 'spherical' ) & ! spherical: 3rd component not received 363 & srcv( (/jpr_otz1, jpr_otz2, jpr_itz1, jpr_itz2/) )%laction = .FALSE. 364 ! 365 IF( TRIM( sn_rcv_tau%clvor ) == 'local grid' ) THEN ! already on local grid -> no need of the second grid 366 srcv(jpr_otx2:jpr_otz2)%laction = .FALSE. 367 srcv(jpr_itx2:jpr_itz2)%laction = .FALSE. 368 srcv(jpr_oty1)%clgrid = srcv(jpr_oty2)%clgrid ! not needed but cleaner... 369 srcv(jpr_ity1)%clgrid = srcv(jpr_ity2)%clgrid ! not needed but cleaner... 370 ENDIF 371 ! 372 IF( TRIM( sn_rcv_tau%cldes ) /= 'oce and ice' ) THEN ! 'oce and ice' case ocean stress on ocean mesh used 373 srcv(jpr_itx1:jpr_itz2)%laction = .FALSE. ! ice components not received 374 srcv(jpr_itx1)%clgrid = 'U' ! ocean stress used after its transformation 375 srcv(jpr_ity1)%clgrid = 'V' ! i.e. it is always at U- & V-points for i- & j-comp. resp. 376 ENDIF 377 377 ENDIF 378 378 ! ! ------------------------- !
Note: See TracChangeset
for help on using the changeset viewer.