- Timestamp:
- 2017-08-08T17:53:09+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
r8414 r8426 19 19 USE sbcblk ! Surface boundary condition: bulk 20 20 USE sbccpl ! Surface boundary condition: coupled interface 21 USE icealb edo! ice albedo21 USE icealb ! ice albedo 22 22 ! 23 23 USE iom ! I/O manager library … … 64 64 IF( nn_timing == 1 ) CALL timing_start('ice_forcing_tau') 65 65 66 IF( kt == nit000 .AND. lwp ) THEN 67 WRITE(numout,*) 68 WRITE(numout,*)'ice_forcing_tau' 69 WRITE(numout,*)'~~~~~~~~~~~~~~~' 70 ENDIF 71 66 72 SELECT CASE( ksbc ) 67 73 CASE( jp_usr ) ; CALL usrdef_sbc_ice_tau( kt ) ! user defined formulation … … 78 84 END DO 79 85 END DO 80 CALL lbc_lnk( utau_ice, 'U', -1. ) 81 CALL lbc_lnk( vtau_ice, 'V', -1. ) 86 CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 82 87 ENDIF 83 88 … … 119 124 IF( nn_timing == 1 ) CALL timing_start('ice_forcing_flx') 120 125 126 IF( kt == nit000 .AND. lwp ) THEN 127 WRITE(numout,*) 128 WRITE(numout,*)'ice_forcing_flx' 129 WRITE(numout,*)'~~~~~~~~~~~~~~~' 130 ENDIF 131 121 132 ! --- cloud-sky and overcast-sky ice albedos --- ! 122 CALL ice_alb edo( t_su, ht_i, ht_s, a_ip_frac, h_ip, ln_pnd_rad, zalb_cs, zalb_os )133 CALL ice_alb( t_su, ht_i, ht_s, a_ip_frac, h_ip, ln_pnd_rad, zalb_cs, zalb_os ) 123 134 124 135 ! albedo depends on cloud fraction because of non-linear spectral effects … … 140 151 CALL blk_ice_flx( t_su, alb_ice ) 141 152 IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su ) 142 IF( nn_limflx /= 2 ) CALL ice_ lim_flx( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx )153 IF( nn_limflx /= 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 143 154 144 155 CASE ( jp_purecpl ) ! coupled formulation 145 156 CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su ) 146 IF( nn_limflx == 2 ) CALL ice_ lim_flx( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx )157 IF( nn_limflx == 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 147 158 END SELECT 148 159 … … 162 173 163 174 164 SUBROUTINE ice_ lim_flx( ptn_ice, palb_ice, pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice, k_limflx )165 !!--------------------------------------------------------------------- 166 !! *** ROUTINE ice_ lim_flx***175 SUBROUTINE ice_flx_dist( ptn_ice, palb_ice, pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice, k_limflx ) 176 !!--------------------------------------------------------------------- 177 !! *** ROUTINE ice_flx_dist *** 167 178 !! 168 179 !! ** Purpose : update the ice surface boundary condition by averaging and / or … … 195 206 !!---------------------------------------------------------------------- 196 207 ! 197 IF( nn_timing == 1 ) CALL timing_start('ice_ lim_flx')208 IF( nn_timing == 1 ) CALL timing_start('ice_flx_dist') 198 209 ! 199 210 SELECT CASE( k_limflx ) !== averaged on all ice categories ==! … … 231 242 END SELECT 232 243 ! 233 IF( nn_timing == 1 ) CALL timing_stop('ice_ lim_flx')234 ! 235 END SUBROUTINE ice_ lim_flx244 IF( nn_timing == 1 ) CALL timing_stop('ice_flx_dist') 245 ! 246 END SUBROUTINE ice_flx_dist 236 247 237 248
Note: See TracChangeset
for help on using the changeset viewer.