Changeset 5119
- Timestamp:
- 2015-03-03T14:51:10+01:00 (8 years ago)
- Location:
- branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/CONFIG/SHARED/namelist_ref
r5031 r5119 362 362 sn_rcv_cal = 'coupled' , 'no' , '' , '' , '' 363 363 sn_rcv_co2 = 'coupled' , 'no' , '' , '' , '' 364 sn_rcv_ts_ice = 'none' , 'no' , '' , '' , '' 364 365 ! 365 366 nn_cplmodel = 1 ! Maximum number of models to/from which NEMO is potentialy sending/receiving data -
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5030 r5119 87 87 INTEGER, PARAMETER :: jpr_topm = 32 ! topmeltn 88 88 INTEGER, PARAMETER :: jpr_botm = 33 ! botmeltn 89 INTEGER, PARAMETER :: jprcv = 33 ! total number of fields received 89 INTEGER, PARAMETER :: jpr_ts_ice = 34 ! skin temperature of sea-ice (used for melt-ponds) 90 INTEGER, PARAMETER :: jprcv = 34 ! total number of fields received 90 91 91 92 INTEGER, PARAMETER :: jps_fice = 1 ! ice fraction … … 106 107 INTEGER, PARAMETER :: jps_a_p = 16 ! meltpond fraction 107 108 INTEGER, PARAMETER :: jps_ht_p = 17 ! meltpond depth (m) 108 INTEGER, PARAMETER :: jpsnd = 18 ! total number of fields sen ded109 INTEGER, PARAMETER :: jpsnd = 18 ! total number of fields sent 109 110 ! !!** namelist namsbc_cpl ** 110 111 TYPE :: FLD_C … … 119 120 ! Received from the atmosphere ! 120 121 TYPE(FLD_C) :: sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau, sn_rcv_dqnsdt, sn_rcv_qsr, sn_rcv_qns, sn_rcv_emp, sn_rcv_rnf 121 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2 122 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2, sn_rcv_ts_ice 122 123 ! Other namelist parameters ! 123 124 INTEGER :: nn_cplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data … … 191 192 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 192 193 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, & 193 & sn_rcv_co2 , nn_cplmodel, ln_usecplmask194 & sn_rcv_co2 , sn_rcv_ts_ice, nn_cplmodel , ln_usecplmask 194 195 !!--------------------------------------------------------------------- 195 196 ! … … 449 450 srcv(jpr_topm:jpr_botm)%laction = .TRUE. 450 451 ENDIF 452 453 #if defined key_cice && ! defined key_cice4 454 ! ! ----------------------------- ! 455 ! ! sea-ice skin temperature ! 456 ! ! used in meltpond scheme ! 457 ! ! May be calculated in Atm ! 458 ! ! ----------------------------- ! 459 srcv(jpr_ts_ice)%clname = 'OTsfIce' 460 IF ( TRIM( sn_rcv_ts_ice%cldes ) == 'ice' ) srcv(jpr_ts_ice)%laction = .TRUE. 461 IF ( TRIM( sn_rcv_ts_ice%clcat ) == 'yes' ) srcv(jpr_ts_ice)%nct = jpl 462 !TODO: Should there be a consistency check here? 463 #endif 451 464 452 465 ! Allocate all parts of frcv used for received fields … … 826 839 #endif 827 840 841 842 #if defined key_cice && ! defined key_cice4 843 ! ! Sea ice surface skin temp: 844 ! Use tn_ice for this as it's not used for anything else in cice case 845 IF( srcv(jpr_ts_ice)%laction ) THEN 846 DO jl = 1, jpl 847 DO jj = 1, jpj 848 DO ji = 1, jpi 849 IF (frcv(jpr_ts_ice)%z3(ji,jj,jl) > 0.0) THEN 850 tn_ice(ji,jj,jl) = 0.0 851 ELSE IF (frcv(jpr_ts_ice)%z3(ji,jj,jl) < -60.0) THEN 852 tn_ice(ji,jj,jl) = -60.0 853 ELSE 854 tn_ice(ji,jj,jl) = frcv(jpr_ts_ice)%z3(ji,jj,jl) 855 ENDIF 856 END DO 857 END DO 858 END DO 859 ENDIF 860 #endif 828 861 ! ! ========================= ! 829 862 IF( k_ice <= 1 ) THEN ! heat & freshwater fluxes ! (Ocean only case) … … 1490 1523 ! 1491 1524 ! Send meltpond fields 1492 SELECT CASE( sn_snd_mpnd%cldes) 1493 CASE( 'weighted ice' ) 1494 SELECT CASE( sn_snd_mpnd%clcat ) 1495 CASE( 'yes' ) 1496 ztmp3(:,:,1:jpl) = a_p(:,:,1:jpl) * a_i(:,:,1:jpl) 1497 ztmp4(:,:,1:jpl) = ht_p(:,:,1:jpl) * a_i(:,:,1:jpl) 1498 CASE( 'no' ) 1499 ztmp3(:,:,:) = 0.0 1500 ztmp4(:,:,:) = 0.0 1501 DO jl=1,jpl 1502 ztmp3(:,:,1) = ztmp3(:,:,1) + a_p(:,:,jpl) * a_i(:,:,jpl) 1503 ztmp4(:,:,1) = ztmp4(:,:,1) + ht_p(:,:,jpl) * a_i(:,:,jpl) 1504 ENDDO 1505 CASE default ; CALL ctl_stop( 'sbc_cpl_mpd: wrong definition of sn_snd_mpnd%clcat' ) 1525 IF( ssnd(jps_a_p)%laction .OR. ssnd(jps_ht_p)%laction ) THEN 1526 SELECT CASE( sn_snd_mpnd%cldes) 1527 CASE( 'weighted ice' ) 1528 SELECT CASE( sn_snd_mpnd%clcat ) 1529 CASE( 'yes' ) 1530 ztmp3(:,:,1:jpl) = a_p(:,:,1:jpl) * a_i(:,:,1:jpl) 1531 ztmp4(:,:,1:jpl) = ht_p(:,:,1:jpl) * a_i(:,:,1:jpl) 1532 CASE( 'no' ) 1533 ztmp3(:,:,:) = 0.0 1534 ztmp4(:,:,:) = 0.0 1535 DO jl=1,jpl 1536 ztmp3(:,:,1) = ztmp3(:,:,1) + a_p(:,:,jpl) * a_i(:,:,jpl) 1537 ztmp4(:,:,1) = ztmp4(:,:,1) + ht_p(:,:,jpl) * a_i(:,:,jpl) 1538 ENDDO 1539 CASE default ; CALL ctl_stop( 'sbc_cpl_mpd: wrong definition of sn_snd_mpnd%clcat' ) 1540 END SELECT 1541 CASE( 'ice only' ) 1542 ztmp3(:,:,1:jpl) = a_p(:,:,1:jpl) 1543 ztmp4(:,:,1:jpl) = ht_p(:,:,1:jpl) 1506 1544 END SELECT 1507 CASE( 'ice only' ) 1508 ztmp3(:,:,1:jpl) = a_p(:,:,1:jpl) 1509 ztmp4(:,:,1:jpl) = ht_p(:,:,1:jpl) 1510 END SELECT 1511 IF( ssnd(jps_a_p)%laction ) CALL cpl_prism_snd( jps_a_p, isec, ztmp3, info ) 1512 IF( ssnd(jps_ht_p)%laction ) CALL cpl_prism_snd( jps_ht_p, isec, ztmp4, info ) 1545 IF( ssnd(jps_a_p)%laction ) CALL cpl_prism_snd( jps_a_p, isec, ztmp3, info ) 1546 IF( ssnd(jps_ht_p)%laction ) CALL cpl_prism_snd( jps_ht_p, isec, ztmp4, info ) 1547 ENDIF 1513 1548 ! 1514 1549 !
Note: See TracChangeset
for help on using the changeset viewer.