Changeset 5410 for trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
- Timestamp:
- 2015-06-12T18:39:20+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5407 r5410 603 603 ssnd(jps_tmix)%clname = 'O_TepMix' 604 604 SELECT CASE( TRIM( sn_snd_temp%cldes ) ) 605 CASE( 'none' ) ! nothing to do606 CASE( 'oce only' ) ; ssnd( jps_toce)%laction = .TRUE.607 CASE( ' weighted oce and ice' )605 CASE( 'none' ) ! nothing to do 606 CASE( 'oce only' ) ; ssnd( jps_toce )%laction = .TRUE. 607 CASE( 'oce and ice' , 'weighted oce and ice' ) 608 608 ssnd( (/jps_toce, jps_tice/) )%laction = .TRUE. 609 609 IF ( TRIM( sn_snd_temp%clcat ) == 'yes' ) ssnd(jps_tice)%nct = jpl 610 CASE( 'mixed oce-ice' ) ; ssnd( jps_tmix)%laction = .TRUE.610 CASE( 'mixed oce-ice' ) ; ssnd( jps_tmix )%laction = .TRUE. 611 611 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_temp%cldes' ) 612 612 END SELECT … … 618 618 ssnd(jps_albmix)%clname = 'O_AlbMix' 619 619 SELECT CASE( TRIM( sn_snd_alb%cldes ) ) 620 CASE( 'none' )! nothing to do621 CASE( ' weighted ice' ) ;ssnd(jps_albice)%laction = .TRUE.622 CASE( 'mixed oce-ice' ) ;ssnd(jps_albmix)%laction = .TRUE.620 CASE( 'none' ) ! nothing to do 621 CASE( 'ice' , 'weighted ice' ) ; ssnd(jps_albice)%laction = .TRUE. 622 CASE( 'mixed oce-ice' ) ; ssnd(jps_albmix)%laction = .TRUE. 623 623 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_alb%cldes' ) 624 624 END SELECT … … 651 651 IF ( TRIM( sn_snd_thick%clcat ) == 'yes' ) THEN 652 652 ssnd(jps_hice:jps_hsnw)%nct = jpl 653 ELSE654 IF ( jpl > 1 ) THEN655 CALL ctl_stop( 'sbc_cpl_init: use weighted ice and snow option for sn_snd_thick%cldes if not exchanging category fields' )656 ENDIF657 653 ENDIF 658 654 CASE ( 'weighted ice and snow' ) … … 1726 1722 SELECT CASE( sn_snd_temp%cldes) 1727 1723 CASE( 'oce only' ) ; ztmp1(:,:) = ztmp1(:,:) + rt0 1724 CASE( 'oce and ice' ) ; ztmp1(:,:) = ztmp1(:,:) + rt0 1725 SELECT CASE( sn_snd_temp%clcat ) 1726 CASE( 'yes' ) 1727 ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) 1728 CASE( 'no' ) 1729 WHERE( SUM( a_i, dim=3 ) /= 0. ) 1730 ztmp3(:,:,1) = SUM( tn_ice * a_i, dim=3 ) / SUM( a_i, dim=3 ) 1731 ELSEWHERE 1732 ztmp3(:,:,1) = rt0 ! TODO: Is freezing point a good default? (Maybe SST is better?) 1733 END WHERE 1734 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) 1735 END SELECT 1728 1736 CASE( 'weighted oce and ice' ) ; ztmp1(:,:) = ( ztmp1(:,:) + rt0 ) * zfr_l(:,:) 1729 1737 SELECT CASE( sn_snd_temp%clcat ) … … 1753 1761 ! ! ------------------------- ! 1754 1762 IF( ssnd(jps_albice)%laction ) THEN ! ice 1755 ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 1763 SELECT CASE( sn_snd_alb%cldes ) 1764 CASE( 'ice' ) ; ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) 1765 CASE( 'weighted ice' ) ; ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 1766 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_alb%cldes' ) 1767 END SELECT 1756 1768 CALL cpl_snd( jps_albice, isec, ztmp3, info ) 1757 1769 ENDIF … … 1800 1812 END SELECT 1801 1813 CASE( 'ice and snow' ) 1802 ztmp3(:,:,1:jpl) = ht_i(:,:,1:jpl) 1803 ztmp4(:,:,1:jpl) = ht_s(:,:,1:jpl) 1814 SELECT CASE( sn_snd_thick%clcat ) 1815 CASE( 'yes' ) 1816 ztmp3(:,:,1:jpl) = ht_i(:,:,1:jpl) 1817 ztmp4(:,:,1:jpl) = ht_s(:,:,1:jpl) 1818 CASE( 'no' ) 1819 WHERE( SUM( a_i, dim=3 ) /= 0. ) 1820 ztmp3(:,:,1) = SUM( ht_i * a_i, dim=3 ) / SUM( a_i, dim=3 ) 1821 ztmp4(:,:,1) = SUM( ht_s * a_i, dim=3 ) / SUM( a_i, dim=3 ) 1822 ELSEWHERE 1823 ztmp3(:,:,1) = 0. 1824 ztmp4(:,:,1) = 0. 1825 END WHERE 1826 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%clcat' ) 1827 END SELECT 1804 1828 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%cldes' ) 1805 1829 END SELECT
Note: See TracChangeset
for help on using the changeset viewer.