Changeset 8889
- Timestamp:
- 2017-12-04T12:27:10+01:00 (7 years ago)
- Location:
- branches/2017/dev_CNRS_2017/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref
r8881 r8889 113 113 rn_blow_s = 0.66 ! mesure of snow blowing into the leads 114 114 ! = 1 => no snow blowing, < 1 => some snow blowing 115 nn_ iceflx= -1 ! Redistribute heat flux over ice categories115 nn_flxdist = -1 ! Redistribute heat flux over ice categories 116 116 ! =-1 Do nothing (needs N(cat) fluxes) 117 ! ==> forced mode only118 117 ! = 0 Average N(cat) fluxes then apply the average over the N(cat) ice 119 ! ==> forced and coupled modes120 118 ! = 1 Average N(cat) fluxes then redistribute over the N(cat) ice using T-ice and albedo sensitivity 121 ! ==> forced mode only122 119 ! = 2 Redistribute a single flux over categories 123 ! ==> coupled mode only124 120 nice_jules = 0 ! Jules coupling (0=OFF, 1=EMULATED, 2=ACTIVE) 125 121 / -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8882 r8889 189 189 ! -- icethd -- ! 190 190 REAL(wp), PUBLIC :: rn_cio !: drag coefficient for oceanic stress 191 INTEGER , PUBLIC :: nn_ iceflx!: Redistribute heat flux over ice categories191 INTEGER , PUBLIC :: nn_flxdist !: Redistribute heat flux over ice categories 192 192 ! ! =-1 Do nothing (needs N(cat) fluxes) 193 193 ! ! = 0 Average N(cat) fluxes then apply the average over the N(cat) ice -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
r8884 r8889 142 142 CASE( jp_blk ) !--- bulk formulation 143 143 CALL blk_ice_flx( t_su, h_s, h_i, alb_ice ) ! 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_ iceflx /= 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_iceflx)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 /= 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 146 146 ! 147 147 CASE ( jp_purecpl ) !--- coupled formulation 148 148 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_ iceflx == 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_iceflx)149 IF( nn_flxdist == 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 150 150 ! 151 151 END SELECT … … 155 155 ELSEWHERE ; zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b 156 156 END WHERE 157 CALL iom_put( "icealb" , zalb(:,:) ) ! ice albedo158 ENDIF 159 160 IF( iom_use('albedo') ) THEN !---surface albedo157 CALL iom_put( "icealb" , zalb(:,:) ) 158 ENDIF 159 160 IF( iom_use('albedo') ) THEN !--- output surface albedo 161 161 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) 162 162 CALL iom_put( "albedo" , zalb(:,:) ) … … 267 267 INTEGER :: ios, ioptio ! Local integer output status for namelist read 268 268 !! 269 NAMELIST/namforcing/ rn_cio, rn_blow_s, nn_ iceflx, nice_jules269 NAMELIST/namforcing/ rn_cio, rn_blow_s, nn_flxdist, nice_jules 270 270 !!------------------------------------------------------------------- 271 271 ! … … 286 286 WRITE(numout,*) ' drag coefficient for oceanic stress rn_cio = ', rn_cio 287 287 WRITE(numout,*) ' coefficient for ice-lead partition of snowfall rn_blow_s = ', rn_blow_s 288 WRITE(numout,*) ' Multicategory heat flux formulation nn_ iceflx = ', nn_iceflx288 WRITE(numout,*) ' Multicategory heat flux formulation nn_flxdist = ', nn_flxdist 289 289 WRITE(numout,*) ' Jules coupling (0=no, 1=emulated, 2=active) nice_jules = ', nice_jules 290 290 ENDIF 291 291 ! 292 292 IF(lwp) WRITE(numout,*) 293 SELECT CASE( nn_ iceflx) ! ESIM Multi-category heat flux formulation293 SELECT CASE( nn_flxdist ) ! ESIM Multi-category heat flux formulation 294 294 CASE( -1 ) 295 IF(lwp) WRITE(numout,*) ' ESIM: use per-category fluxes (nn_ iceflx= -1) '296 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_ iceflxfor ESIM in coupled mode must be 0 or 2' )295 IF(lwp) WRITE(numout,*) ' ESIM: use per-category fluxes (nn_flxdist = -1) ' 296 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_flxdist for ESIM in coupled mode must be 0 or 2' ) 297 297 CASE( 0 ) 298 IF(lwp) WRITE(numout,*) ' ESIM: use average per-category fluxes (nn_ iceflx= 0) '298 IF(lwp) WRITE(numout,*) ' ESIM: use average per-category fluxes (nn_flxdist = 0) ' 299 299 CASE( 1 ) 300 IF(lwp) WRITE(numout,*) ' ESIM: use average then redistribute per-category fluxes (nn_ iceflx= 1) '301 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_ iceflxfor ESIM in coupled mode must be 0 or 2' )300 IF(lwp) WRITE(numout,*) ' ESIM: use average then redistribute per-category fluxes (nn_flxdist = 1) ' 301 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_flxdist for ESIM in coupled mode must be 0 or 2' ) 302 302 CASE( 2 ) 303 IF(lwp) WRITE(numout,*) ' ESIM: Redistribute a single flux over categories (nn_ iceflx= 2) '304 IF( .NOT. ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_ iceflxfor ESIM in forced mode cannot be 2' )303 IF(lwp) WRITE(numout,*) ' ESIM: Redistribute a single flux over categories (nn_flxdist = 2) ' 304 IF( .NOT. ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_flxdist for ESIM in forced mode cannot be 2' ) 305 305 CASE DEFAULT 306 CALL ctl_stop( 'ice_thd_init: ESIM option, nn_ iceflx, should be between -1 and 2' )306 CALL ctl_stop( 'ice_thd_init: ESIM option, nn_flxdist, should be between -1 and 2' ) 307 307 END SELECT 308 308 !
Note: See TracChangeset
for help on using the changeset viewer.