Changeset 8321
- Timestamp:
- 2017-07-11T20:33:18+02:00 (7 years ago)
- Location:
- branches/2017/dev_r8183_ICEMODEL/NEMOGCM
- Files:
-
- 3 added
- 2 deleted
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/namelist_ice_cfg
r8312 r8321 9 9 !! 7 - Ice salinity (namicesal) 10 10 !! 8 - Ice mechanical redistribution (namiceitdme) 11 !! 9 - Ice/snow albedos (namicealb) 11 12 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 12 13 !------------------------------------------------------------------------------ … … 42 43 !------------------------------------------------------------------------------ 43 44 / 45 !----------------------------------------------------------------------- 46 &namicealb ! albedo parameters 47 !----------------------------------------------------------------------- 48 / -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_SAS_LIM3/EXP00/namelist_ice_cfg
r8312 r8321 9 9 !! 7 - Ice salinity (namicesal) 10 10 !! 8 - Ice mechanical redistribution (namiceitdme) 11 !! 9 - Ice/snow albedos (namicealb) 11 12 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 12 13 !------------------------------------------------------------------------------ … … 42 43 !------------------------------------------------------------------------------ 43 44 / 45 !----------------------------------------------------------------------- 46 &namicealb ! albedo parameters 47 !----------------------------------------------------------------------- 48 / -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref
r8313 r8321 9 9 !! 7 - Ice salinity (namicesal) 10 10 !! 8 - Ice mechanical redistribution (namiceitdme) 11 !! 9 - Ice/snow albedos (namicealb) 11 12 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 12 13 ! … … 140 141 ! -- limitd_th -- ! 141 142 rn_himin = 0.1 ! minimum ice thickness (m) used in remapping, must be smaller than rn_hnewice 143 ! -- icestp -- ! 144 nn_limflx = -1 ! LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used) 145 ! =-1 Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled 146 ! = 0 Average per-category fluxes (forced and coupled mode) 147 ! = 1 Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled 148 ! = 2 Redistribute a single flux over categories (coupled mode only) 142 149 / 143 150 !------------------------------------------------------------------------------ … … 190 197 rn_fpondrft = 1.0 ! (ln_rafting = T) pond fraction that survives in rafting (0.5 a priori) 191 198 / 199 !----------------------------------------------------------------------- 200 &namicealb ! albedo parameters 201 !----------------------------------------------------------------------- 202 nn_ice_alb = 1 ! parameterization of ice/snow albedo 203 ! 0: Shine & Henderson-Sellers (JGR 1985), giving clear-sky albedo 204 ! 1: "home made" based on Brandt et al. (JClim 2005) and Grenfell & Perovich (JGR 2004), 205 ! giving cloud-sky albedo 206 rn_alb_sdry = 0.85 ! dry snow albedo : 0.80 (nn_ice_alb = 0); 0.85 (nn_ice_alb = 1); obs 0.85-0.87 (cloud-sky) 207 rn_alb_smlt = 0.75 ! melting snow albedo : 0.65 ( '' ) ; 0.75 ( '' ) ; obs 0.72-0.82 ( '' ) 208 rn_alb_idry = 0.60 ! dry ice albedo : 0.72 ( '' ) ; 0.60 ( '' ) ; obs 0.54-0.65 ( '' ) 209 rn_alb_imlt = 0.50 ! bare puddled ice albedo : 0.53 ( '' ) ; 0.50 ( '' ) ; obs 0.49-0.58 ( '' ) 210 rn_alb_dpnd = 0.27 ! ponded ice albedo : 0.25 ( '' ) ; 0.27 ( '' ) ; obs 0.10-0.30 ( '' ) 211 / -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ref
r8316 r8321 192 192 ! =1 opa-sas OASIS coupling: multi executable configuration, OPA component 193 193 ! =2 opa-sas OASIS coupling: multi executable configuration, SAS component 194 nn_limflx = -1 ! LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used)195 ! =-1 Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled196 ! = 0 Average per-category fluxes (forced and coupled mode)197 ! = 1 Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled198 ! = 2 Redistribute a single flux over categories (coupled mode only)199 194 ! Sea-ice : 200 195 nn_ice = 2 ! =0 no ice boundary condition , -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/TEST_CASES/SAS_BIPER/EXP00/namelist_ice_cfg
r8312 r8321 9 9 !! 7 - Ice salinity (namicesal) 10 10 !! 8 - Ice mechanical redistribution (namiceitdme) 11 !! 9 - Ice/snow albedos (namicealb) 11 12 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 12 13 ! … … 80 81 ln_rafting = .true. ! rafting activated (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 81 82 / 83 !----------------------------------------------------------------------- 84 &namicealb ! albedo parameters 85 !----------------------------------------------------------------------- 86 / -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8319 r8321 17 17 PRIVATE 18 18 19 PUBLIC ice_alloc ! Called in sbc_lim_init19 PUBLIC ice_alloc ! Called in ice_init 20 20 21 21 !!====================================================================== -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdiahsb.F90
r8319 r8321 28 28 PRIVATE 29 29 30 PUBLIC lim_diahsb ! routine called by ice _step.F9031 PUBLIC lim_diahsb_init ! routine called in sbcice_lim.F9030 PUBLIC lim_diahsb ! routine called by icestp.F90 31 PUBLIC lim_diahsb_init ! routine called in icestp.F90 32 32 33 33 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vol_loc_ini, sal_loc_ini, tem_loc_ini ! initial volume, salt and heat contents -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r8316 r8321 32 32 PRIVATE 33 33 34 PUBLIC lim_dyn ! routine called by sbcice_lim.F9035 PUBLIC lim_dyn_init ! routine called by sbcice_lim.F9034 PUBLIC lim_dyn ! routine called by icestp.F90 35 PUBLIC lim_dyn_init ! routine called by icestp.F90 36 36 37 37 !! * Substitutions -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r8319 r8321 36 36 PUBLIC lim_itd_me_icestrength 37 37 PUBLIC lim_itd_me_init 38 PUBLIC lim_itd_me_alloc ! called by sbc_lim_init38 PUBLIC lim_itd_me_alloc ! called by ice_init 39 39 40 40 !----------------------------------------------------------------------- -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limmp.F90
r8233 r8321 60 60 PRIVATE 61 61 62 PUBLIC lim_mp_init ! routine called by sbcice_lim.F9063 PUBLIC lim_mp ! routine called by sbcice_lim.F9062 PUBLIC lim_mp_init ! routine called by icestp.F90 63 PUBLIC lim_mp ! routine called by icestp.F90 64 64 65 65 !! * Substitutions -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r8316 r8321 32 32 PUBLIC lim_rst_opn ! routine called by icestep.F90 33 33 PUBLIC lim_rst_write ! routine called by icestep.F90 34 PUBLIC lim_rst_read ! routine called by sbc_lim_init34 PUBLIC lim_rst_read ! routine called by ice_init 35 35 36 36 LOGICAL, PUBLIC :: lrst_ice !: logical to control the ice restart write … … 636 636 ENDIF 637 637 ! 638 !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90638 !CALL iom_close( numrir ) !clem: closed in icestp.F90 639 639 ! 640 640 CALL wrk_dealloc( jpi, jpj, z2d ) -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r8316 r8321 31 31 USE sbc_oce , ONLY : nn_fsbc, ln_ice_embd, sfx, fr_i, qsr_tot, qns, qsr, fmmflx, emp, taum, utau, vtau 32 32 USE sbccpl ! Surface boundary condition: coupled interface 33 USE albedo 33 USE albedoice ! albedo parameters 34 34 USE traqsr ! add penetration of solar flux in the calculation of heat budget 35 35 USE domvvl ! Variable volume … … 48 48 PRIVATE 49 49 50 PUBLIC lim_sbc_init ! called by sbc_lim_init51 PUBLIC lim_sbc_flx ! called by sbc_ice_lim52 PUBLIC lim_sbc_tau ! called by sbc_ice_lim50 PUBLIC lim_sbc_init ! called by ice_init 51 PUBLIC lim_sbc_flx ! called by ice_stp 52 PUBLIC lim_sbc_tau ! called by ice_stp 53 53 54 54 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: utau_oce, vtau_oce ! air-ocean surface i- & j-stress [N/m2] … … 124 124 125 125 zalb(:,:) = 0._wp 126 WHERE ( at_i_b <= epsi06 ) ; zalb(:,:) = 0.066_wp126 WHERE ( at_i_b <= epsi06 ) ; zalb(:,:) = rn_alb_oce 127 127 ELSEWHERE ; zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b 128 128 END WHERE 129 129 IF( iom_use('icealb' ) ) CALL iom_put( "icealb" , zalb(:,:) ) ! ice albedo output 130 130 131 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + 0.066_wp* ( 1._wp - at_i_b )131 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) 132 132 IF( iom_use('albedo' ) ) CALL iom_put( "albedo" , zalb(:,:) ) ! surface albedo output 133 133 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r8316 r8321 23 23 USE dom_oce ! ocean space and time domain variables 24 24 USE ice ! sea-ice variables 25 USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip 26 USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, fr1_i0, fr2_i0 25 USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip, ln_cpl 26 USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, & 27 & fr1_i0, fr2_i0, nn_limflx 27 28 USE thd_ice ! thermodynamic sea-ice variables 28 29 USE limthd_dif ! vertical diffusion … … 49 50 50 51 PUBLIC lim_thd ! called by limstp module 51 PUBLIC lim_thd_init ! called by sbc_lim_init52 PUBLIC lim_thd_init ! called by ice_init 52 53 53 54 !! * Substitutions … … 594 595 & ln_limdH, rn_betas, & 595 596 & ln_limdA, rn_beta, rn_dmin, & 596 & ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin 597 & ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin, & 598 & nn_limflx 597 599 !!------------------------------------------------------------------- 598 600 ! … … 632 634 WRITE(numout,*)' minimum ice thickness rn_himin = ', rn_himin 633 635 WRITE(numout,*)' check heat conservation in the ice/snow con_i = ', con_i 636 WRITE(numout,*)' -- icestp --' 637 WRITE(numout,*)' Multicategory heat flux formulation nn_limflx = ', nn_limflx 634 638 ENDIF 635 639 ! 636 640 IF ( rn_hnewice < rn_himin ) CALL ctl_stop( 'STOP', 'lim_thd_init : rn_hnewice should be >= rn_himin' ) 641 ! 642 IF(lwp) WRITE(numout,*) 643 SELECT CASE( nn_limflx ) ! LIM3 Multi-category heat flux formulation 644 CASE ( -1 ) 645 IF(lwp) WRITE(numout,*) ' LIM3: use per-category fluxes (nn_limflx = -1) ' 646 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 647 CASE ( 0 ) 648 IF(lwp) WRITE(numout,*) ' LIM3: use average per-category fluxes (nn_limflx = 0) ' 649 CASE ( 1 ) 650 IF(lwp) WRITE(numout,*) ' LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) ' 651 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 652 CASE ( 2 ) 653 IF(lwp) WRITE(numout,*) ' LIM3: Redistribute a single flux over categories (nn_limflx = 2) ' 654 IF( .NOT. ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' ) 655 CASE DEFAULT 656 CALL ctl_stop( 'sbcmod: LIM3 option, nn_limflx, should be between -1 and 2' ) 657 END SELECT 637 658 ! 638 659 END SUBROUTINE lim_thd_init -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r8316 r8321 29 29 30 30 PUBLIC lim_thd_sal ! called by limthd module 31 PUBLIC lim_thd_sal_init ! called by sbc_lim_init31 PUBLIC lim_thd_sal_init ! called by ice_init 32 32 33 33 !!---------------------------------------------------------------------- -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r8316 r8321 35 35 PRIVATE 36 36 37 PUBLIC lim_trp ! called by sbcice_lim37 PUBLIC lim_trp ! called by icestp 38 38 39 39 INTEGER :: ncfl ! number of ice time step with CFL>1/2 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r8306 r8321 67 67 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qprec_ice !: enthalpy of precip over ice [J/m3] 68 68 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: emp_oce !: evap - precip over ocean [kg/m2/s] 69 #endif70 #if defined key_lim371 69 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: wndm_ice !: wind speed module at T-point [m/s] 70 INTEGER , PUBLIC :: nn_limflx !: LIM3 Multi-category heat flux formulation 71 ! ! =-1 Use of per-category fluxes 72 ! ! = 0 Average per-category fluxes 73 ! ! = 1 Average then redistribute per-category fluxes 74 ! ! = 2 Redistribute a single flux over categories 72 75 #endif 73 76 … … 90 93 INTEGER , PUBLIC, PARAMETER :: jpl = ncat 91 94 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: u_ice, v_ice ! jpi, jpj 92 #endif93 95 94 #if defined key_cice95 96 ! already defined in ice.F90 for LIM3 96 97 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: a_i 97 98 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ht_i, ht_s 98 #endif99 99 100 #if defined key_cice101 100 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tatm_ice !: air temperature [K] 102 101 #endif -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r8313 r8321 51 51 ! !: =T embedded sea-ice (full salt and mass exchanges and pressure) 52 52 INTEGER , PUBLIC :: nn_components !: flag for sbc module (including sea-ice) coupling mode (see component definition below) 53 INTEGER , PUBLIC :: nn_limflx !: LIM3 Multi-category heat flux formulation54 ! !: =-1 Use of per-category fluxes55 ! !: = 0 Average per-category fluxes56 ! !: = 1 Average then redistribute per-category fluxes57 ! !: = 2 Redistribute a single flux over categories58 53 INTEGER , PUBLIC :: nn_fwb !: FreshWater Budget: 59 54 ! !: = 0 unchecked -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90
r8313 r8321 62 62 PUBLIC sbc_blk ! called in sbcmod 63 63 #if defined key_lim3 64 PUBLIC blk_ice_tau ! routine called in sbc_ice_limmodule65 PUBLIC blk_ice_flx ! routine called in sbc_ice_limmodule64 PUBLIC blk_ice_tau ! routine called in icestp module 65 PUBLIC blk_ice_flx ! routine called in icestp module 66 66 #endif 67 67 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8316 r8321 32 32 USE geo2ocean ! 33 33 USE oce , ONLY : tsn, un, vn, sshn, ub, vb, sshb, fraqsr_1lev 34 USE albedo 34 USE albedooce ! 35 35 USE eosbn2 ! 36 36 USE sbcrnf, ONLY : l_rnfcpl … … 54 54 55 55 PUBLIC sbc_cpl_init ! routine called by sbcmod.F90 56 PUBLIC sbc_cpl_rcv ! routine called by sbc_ice_lim.F9056 PUBLIC sbc_cpl_rcv ! routine called by icestp.F90 57 57 PUBLIC sbc_cpl_snd ! routine called by step.F90 58 PUBLIC sbc_cpl_ice_tau ! routine called by sbc_ice_lim.F9059 PUBLIC sbc_cpl_ice_flx ! routine called by sbc_ice_lim.F9058 PUBLIC sbc_cpl_ice_tau ! routine called by icestp.F90 59 PUBLIC sbc_cpl_ice_flx ! routine called by icestp.F90 60 60 PUBLIC sbc_cpl_alloc ! routine called in sbcice_cice.F90 61 61 … … 1214 1214 IF( srcv(jpr_ocx1)%laction ) THEN ! received by sas in case of opa <-> sas coupling 1215 1215 ssu_m(:,:) = frcv(jpr_ocx1)%z3(:,:,1) 1216 ub (:,:,1) = ssu_m(:,:) ! will be used in sbcice_limin the call of lim_sbc_tau1216 ub (:,:,1) = ssu_m(:,:) ! will be used in icestp in the call of lim_sbc_tau 1217 1217 un (:,:,1) = ssu_m(:,:) ! will be used in sbc_cpl_snd if atmosphere coupling 1218 1218 CALL iom_put( 'ssu_m', ssu_m ) … … 1220 1220 IF( srcv(jpr_ocy1)%laction ) THEN 1221 1221 ssv_m(:,:) = frcv(jpr_ocy1)%z3(:,:,1) 1222 vb (:,:,1) = ssv_m(:,:) ! will be used in sbcice_limin the call of lim_sbc_tau1222 vb (:,:,1) = ssv_m(:,:) ! will be used in icestp in the call of lim_sbc_tau 1223 1223 vn (:,:,1) = ssv_m(:,:) ! will be used in sbc_cpl_snd if atmosphere coupling 1224 1224 CALL iom_put( 'ssv_m', ssv_m ) -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r8316 r8321 33 33 USE sbcblk ! surface boundary condition: bulk formulation 34 34 USE sbcice_if ! surface boundary condition: ice-if sea-ice model 35 USE sbcice_lim ! surface boundary condition: LIM 3.0 sea-ice model 35 #if defined key_lim3 36 USE icestp ! surface boundary condition: LIM 3.0 sea-ice model 37 #endif 36 38 USE sbcice_cice ! surface boundary condition: CICE sea-ice model 37 39 USE sbcisf ! surface boundary condition: ice-shelf … … 89 91 NAMELIST/namsbc/ nn_fsbc , & 90 92 & ln_usr , ln_flx , ln_blk , & 91 & ln_cpl , ln_mixcpl, nn_components, nn_limflx,&93 & ln_cpl , ln_mixcpl, nn_components, & 92 94 & nn_ice , ln_ice_embd, & 93 95 & ln_traqsr, ln_dm2dc , & … … 137 139 WRITE(numout,*) ' OASIS coupling (with atm or sas) lk_oasis = ', lk_oasis 138 140 WRITE(numout,*) ' components of your executable nn_components = ', nn_components 139 WRITE(numout,*) ' Multicategory heat flux formulation (LIM3) nn_limflx = ', nn_limflx140 141 WRITE(numout,*) ' Sea-ice : ' 141 142 WRITE(numout,*) ' ice management in the sbc (=0/1/2/3) nn_ice = ', nn_ice … … 205 206 END SELECT 206 207 ! 207 IF( nn_ice == 2 ) THEN !- LIM3 case: multi-category flux option208 IF(lwp) WRITE(numout,*)209 SELECT CASE( nn_limflx ) ! LIM3 Multi-category heat flux formulation210 CASE ( -1 )211 IF(lwp) WRITE(numout,*) ' LIM3: use per-category fluxes (nn_limflx = -1) '212 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' )213 CASE ( 0 )214 IF(lwp) WRITE(numout,*) ' LIM3: use average per-category fluxes (nn_limflx = 0) '215 CASE ( 1 )216 IF(lwp) WRITE(numout,*) ' LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) '217 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' )218 CASE ( 2 )219 IF(lwp) WRITE(numout,*) ' LIM3: Redistribute a single flux over categories (nn_limflx = 2) '220 IF( .NOT.ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' )221 CASE DEFAULT222 CALL ctl_stop( 'sbcmod: LIM3 option, nn_limflx, should be between -1 and 2' )223 END SELECT224 ELSE ! other sea-ice model225 IF( nn_limflx >= 0 ) CALL ctl_warn( 'sbc_init : multi-category flux option (nn_limflx) only available in LIM3' )226 ENDIF227 !228 208 ! !** allocate and set required variables 229 209 ! … … 325 305 CALL sbc_rnf_init ! Runof initialization 326 306 ! 307 #if defined key_lim3 327 308 IF ( lk_agrif .AND. nn_ice == 0 ) THEN 328 309 IF( sbc_ice_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_ice_alloc : unable to allocate arrays' ) ! clem2017: allocate ice arrays in case agrif + lim + no-ice in child grid 329 ELSEIF( nn_ice == 2 ) THEN ; CALL sbc_lim_init ! LIM3 initialization 330 ELSEIF( nn_ice == 3 ) THEN ; CALL cice_sbc_init( nsbc ) ! CICE initialization 331 ENDIF 310 ELSEIF( nn_ice == 2 ) THEN ; CALL ice_init ! LIM3 initialization 311 ENDIF 312 #endif 313 IF ( nn_ice == 3 ) CALL cice_sbc_init( nsbc ) ! CICE initialization 332 314 ! 333 315 IF( ln_wave ) CALL sbc_wave_init ! surface wave initialisation … … 420 402 ! 421 403 SELECT CASE( nn_ice ) ! Update heat and freshwater fluxes over sea-ice areas 422 CASE( 1 ) ; CALL sbc_ice_if ( kt ) ! Ice-cover climatology ("Ice-if" model) 423 CASE( 2 ) ; CALL sbc_ice_lim ( kt, nsbc ) ! LIM-3 ice model 424 CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model 404 CASE( 1 ) ; CALL sbc_ice_if ( kt ) ! Ice-cover climatology ("Ice-if" model) 405 #if defined key_lim3 406 CASE( 2 ) ; CALL ice_stp ( kt, nsbc ) ! LIM-3 ice model 407 #endif 408 CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model 425 409 END SELECT 426 410 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90
r7753 r8321 27 27 28 28 PUBLIC usrdef_sbc_oce ! routine called in sbcmod module 29 PUBLIC usrdef_sbc_ice_tau ! routine called by sbcice_lim.F90 for ice dynamics30 PUBLIC usrdef_sbc_ice_flx ! routine called by sbcice_lim.F90 for ice thermo29 PUBLIC usrdef_sbc_ice_tau ! routine called by icestp.F90 for ice dynamics 30 PUBLIC usrdef_sbc_ice_flx ! routine called by icestp.F90 for ice thermo 31 31 32 32 !! * Substitutions
Note: See TracChangeset
for help on using the changeset viewer.