- Timestamp:
- 2017-12-06T15:33:57+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
r8906 r8920 72 72 SELECT CASE( ksbc ) 73 73 CASE( jp_usr ) ; CALL usrdef_sbc_ice_tau( kt ) ! user defined formulation 74 CASE( jp_blk ) ; CALL blk_ice_tau ! Bulk formulation75 CASE( jp_purecpl ) ; CALL sbc_cpl_ice_tau( utau_ice , vtau_ice ) ! Coupled formulation74 CASE( jp_blk ) ; CALL blk_ice_tau ! Bulk formulation 75 CASE( jp_purecpl ) ; CALL sbc_cpl_ice_tau( utau_ice , vtau_ice ) ! Coupled formulation 76 76 END SELECT 77 77 … … 134 134 !!gm cldf_ice is a real, DOCTOR naming rule: start with cd means CHARACTER passed in argument ! 135 135 alb_ice(:,:,:) = ( 1. - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:) 136 137 SELECT CASE( ksbc ) !== fluxes over sea ice ==! 138 ! 139 CASE( jp_usr ) !--- user defined formulation 136 ! 137 ! 138 SELECT CASE( ksbc ) !== fluxes over sea ice ==! 139 ! 140 CASE( jp_usr ) !--- user defined formulation 140 141 CALL usrdef_sbc_ice_flx( kt ) 141 ! 142 CASE( jp_blk ) !--- bulk formulation 143 CALL blk_ice_flx( t_su, h_s, h_i, alb_ice ) ! 142 CASE( jp_blk ) !--- bulk formulation 143 CALL blk_ice_flx ( t_su, h_s, h_i, alb_ice ) ! 144 144 IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) 145 IF( nn_flxdist /= -1 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 146 ! 147 CASE ( jp_purecpl ) !--- coupled formulation 145 IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 146 SELECT CASE( nice_jules ) 147 CASE( np_jules_ACTIVE ) ! compute conduction flux and surface temperature (as in Jules surface module) 148 CALL blk_ice_qcn ( nn_monocat, t_su, t_bo, h_s, h_i ) 149 END SELECT 150 CASE ( jp_purecpl ) !--- coupled formulation 148 151 CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) 149 IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist )150 !151 END SELECT 152 153 IF( iom_use('icealb') ) THEN !--- output ice albedo152 IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 153 END SELECT 154 155 !--- output ice albedo and surface albedo ---! 156 IF( iom_use('icealb') ) THEN 154 157 WHERE( at_i_b <= epsi06 ) ; zalb(:,:) = rn_alb_oce 155 158 ELSEWHERE ; zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b … … 157 160 CALL iom_put( "icealb" , zalb(:,:) ) 158 161 ENDIF 159 160 IF( iom_use('albedo') ) THEN !--- output surface albedo 162 IF( iom_use('albedo') ) THEN 161 163 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) 162 164 CALL iom_put( "albedo" , zalb(:,:) )
Note: See TracChangeset
for help on using the changeset viewer.