SUBROUTINE ice_phy_param !!------------------------------------------------------------------ !! *** ROUTINE ice_phy_param *** !! ** Purpose : !! Defines physical constants & params of the model !! ** Method : !! Definitions !!! !! !! ** Arguments : !! n99 !! !! ** Inputs / Ouputs : (global commons) !! !! ** External : !! !! ** References : Vancoppenolle et al., JGR 2007 !! !! ** History : !! (1) CLIO, Goosse and Fichefet, JGR, 1999. !! (2) LIM-1D, Vancoppenolle et al., JGR, 2007. !! (3) BIO-LIM, Martin Vancoppenolle, 2008 !! !!------------------------------------------------------------------ !! * Arguments INCLUDE 'type.com' INCLUDE 'const.com' INCLUDE 'para.com' INCLUDE 'ice.com' ! name of the experiment CHARACTER(len=8) exp_id ! Formats for reading the initial salinity profile CHARACTER(len=1) zc1 CHARACTER(len=2) zc2 CHARACTER(len=7) zformat1 CHARACTER(len=7) zformat2 CHARACTER(len=8) zformat3 ! !----------------------------------------------------------------------- ! 1 ) Lecture des parametres du run !----------------------------------------------------------------------- ! WRITE(numout,*) ' * ice_phy_param : ' WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~' OPEN(unit=10,file='run.param',status='old') READ(10,*) READ(10,*) READ(10,*) READ(10,*) READ(10,*) READ(10,*) READ(10,*) exp_id ! name of the experiment READ(10,*) READ(10,*) ddtb ! time step READ(10,*) READ(10,*) nstart ! number of the first iteration READ(10,*) READ(10,*) nend ! number of the last iteration READ(10,*) READ(10,*) nyear ! initial year READ(10,*) READ(10,*) nfr_out ! output frequency READ(10,*) READ(10,*) rlat ! latitude READ(10,*) READ(10,*) c_bio_model ! biological model READ(10,*) WRITE(numout,*) ' Type of biological model ( c_bio_model ) : ', & c_bio_model WRITE(numout,*) nitrun = nend - nstart + 1 CLOSE(10) ! !----------------------------------------------------------------------- ! 2 ) Mathematical constants !----------------------------------------------------------------------- ! c_zero = 0.d0 ! zero one = 1.d0 ! one pi = 4.0 * atan(one) ! pi radian = pi / 180.0 ! conversion degrees to radians !------------------------------------------------------------------------------ ! 3 ) Physical constants !------------------------------------------------------------------------------ !----------------------- ! Fundamental constants !----------------------- gpes = 9.80d0 ! gravity stefan = 5.6697d-08 ! stefan-boltzmann constant vkarmn = 0.40d0 ! von karmann constant cevap = 2.5d+06 ! heat transfer coefficient for latent heat... check!!! zemise = 0.97d0 ! R, sea water emissivity (remove also) !--------------- ! Ocean physics !--------------- tpw = 273.16d0 ! water triple point rho0 = 1025.0 ! ocean mean density cpw = 3.99d+03 ! seawater specific heat oce_sal = 34.0 ! 34. is the control visc_br = 1.9e-3 ! dynamic viscosity of water at 0C (kg/(m.s)) - Sharqawy et al, 2010, eq. 22 thdiff_br = 1.2e-7 ! thermal diffusivity of brine (m2/s) - Notz and Worster, 2008 beta_ocs = 0.81 ! haline expansion coefficient (kg/m3)/(g/kg) (TEOS10) !----------------- ! Sea ice physics !----------------- !-- thermal properties tfsn = 273.16d0 ! snow melting point tfsg = 273.16d0 ! sea ice melting point xkn = 0.31d0 ! 0.31d0 ISPOL Olivier Lecomte communication ! ref value 0.31d0 ! snow thermal conductivity xkg = 2.034d0 ! pure ice thermal conductivity rhog = 917.0 ! sea ice density rhon = 330.d0 ! O. Lecomte says 355 could be used cpg = 2.062d+03 ! sea ice specific heat (J/kg/K) lfus = 3.335d+05 ! pure ice latent heat (J/kg) lvap = 2.501e+06 ! latent heat of vaporization of water (0°C J/kg) lsub = lfus + lvap ! sublimation latent heat tmut = 0.054d0 ! rate between seawater freezing point and salinity (linear model) betak1 = 0.09d0 ! first Pringle th. cond. constant betak2 = 0.011d0 ! second Pringle th. cond. constant ! emig = 0.99d0 ! surface emissivity (read later) !--------------------------- ! Model physical parameters !--------------------------- OPEN(unit=25,file='icephys.param', status='old') READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) n_i ! number of layers in the ice READ(25,*) READ(25,*) n_s ! number of layers in the snow READ(25,*) READ(25,*) parsub ! switch for sublimation or not READ(25,*) READ(25,*) ln_evap ! switch for snow evaporation or not READ(25,*) ! READ(25,*) tabq_ano ! Prescribed air temperature anomalies READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) ln_grd ! gravity drainage or not READ(25,*) READ(25,*) ln_flu ! flushing or not READ(25,*) READ(25,*) ln_flo ! flooding or not READ(25,*) READ(25,*) flu_beta ! fraction of meltwater percolating READ(25,*) READ(25,*) e_thr_flu ! permeability threshold for flushing READ(25,*) READ(25,*) frtr_si_phy ! fractionation coeff in snow ice READ(25,*) READ(25,*) d_br_mol ! molecular diffusivity of brine READ(25,*) READ(25,*) d_br_tur ! turbulent diffusivity of brine READ(25,*) READ(25,*) ra_c ! critical rayleigh number over which convection starts READ(25,*) READ(25,*) ra_smooth ! coefficient to smooth the hyperbolic tangential for ra_c READ(25,*) READ(25,'(a2)') c_gravdr ! type of gravity drainage READ(25,*) READ(25,'(a3)') c_sbr ! type of brine salinity for salt advection READ(25,*) READ(25,'(a3)') c_perm ! type of permeability READ(25,*) READ(25,'(a3)') c_permeff ! type of effective permeability READ(25,*) READ(25,*) delta_cw ! Cox and weeks gravity drainage parameter READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) READ(25,*) emig READ(25,*) READ(25,*) fpar_fsw READ(25,*) READ(25,*) qpar_fsw READ(25,*) READ(25,*) c_rad_scheme READ(25,*) READ(25,*) c_rad_discr READ(25,*) READ(25,*) rad_inot_s_dry ! surface transmission parameter, dry snow READ(25,*) READ(25,*) rad_inot_s_wet ! surface transmission parameter, wet snow READ(25,*) READ(25,*) rad_inot_i_dry ! surface transmission parameter, dry ice READ(25,*) READ(25,*) rad_inot_i_wet ! surface transmission parameter, wet ice READ(25,*) READ(25,*) h_not_s ! SSL thickness, snow READ(25,*) READ(25,*) h_not_i ! SSL thickness, ice READ(25,*) READ(25,*) rad_kappa_s_su_d ! surface extinction coefficient, dry snow READ(25,*) READ(25,*) rad_kappa_s_su_m ! surface extinction coefficient, melting snow READ(25,*) READ(25,*) rad_kappa_i_su_d ! surface extinction coefficient, cold ice READ(25,*) READ(25,*) rad_kappa_i_su_m ! surface extinction coefficient, melting ice READ(25,*) READ(25,*) rad_kappa_s_de_d ! depth extinction coefficient, dry snow READ(25,*) READ(25,*) rad_kappa_s_de_m ! depth extinction coefficient, wet snow READ(25,*) READ(25,*) rad_kappa_i_de_d ! attenuation coefficient, cold ice READ(25,*) READ(25,*) rad_kappa_i_de_m ! attenuation coefficient, melting ice READ(25,*) WRITE(numout,*) ' n_i :', n_i WRITE(numout,*) ' n_s :', n_s WRITE(numout,*) ' parsub :', parsub WRITE(numout,*) ' ln_evap :', ln_evap WRITE(numout,*) ' tabq_ano :', tabq_ano WRITE(numout,*) ' ln_grd :', ln_grd WRITE(numout,*) ' ln_flu :', ln_flu WRITE(numout,*) ' ln_flo :', ln_flo WRITE(numout,*) ' flu_beta :', flu_beta WRITE(numout,*) ' frtr_si_phy:', frtr_si_phy WRITE(numout,*) ' d_br_mol :', d_br_mol WRITE(numout,*) ' d_br_tur :', d_br_tur WRITE(numout,*) ' ra_c :', ra_c WRITE(numout,*) ' ra_smooth :', ra_smooth WRITE(numout,*) ' c_gravdr :', c_gravdr WRITE(numout,*) ' c_sbr :', c_sbr WRITE(numout,*) ' delta_cw :', delta_cw WRITE(numout,*) ' emig :', emig WRITE(numout,*) ' fpar_fsw :', fpar_fsw WRITE(numout,*) ' qpar_fsw :', qpar_fsw WRITE(numout,*) ' c_rad_scheme:', c_rad_scheme WRITE(numout,*) ' c_rad_discr: ', c_rad_discr WRITE(numout,*) ' rad_inot_s_dry : ', rad_inot_s_dry WRITE(numout,*) ' rad_inot_s_wet : ', rad_inot_s_wet WRITE(numout,*) ' rad_inot_i_dry : ', rad_inot_i_dry WRITE(numout,*) ' rad_inot_i_wet : ', rad_inot_i_wet WRITE(numout,*) ' h_not_s : ', h_not_s WRITE(numout,*) ' h_not_i : ', h_not_i WRITE(numout,*) ' rad_kappa_s_su_d : ', rad_kappa_s_su_d WRITE(numout,*) ' rad_kappa_s_su_m : ', rad_kappa_s_su_m WRITE(numout,*) ' rad_kappa_i_su_d : ', rad_kappa_i_su_d WRITE(numout,*) ' rad_kappa_i_su_m : ', rad_kappa_i_su_m WRITE(numout,*) ' rad_kappa_s_de_d : ', rad_kappa_s_de_d WRITE(numout,*) ' rad_kappa_s_de_m : ', rad_kappa_s_de_m WRITE(numout,*) ' rad_kappa_i_de_d : ', rad_kappa_i_de_d WRITE(numout,*) ' rad_kappa_i_de_m : ', rad_kappa_i_de_m WRITE(numout,*) CLOSE(25) !------------------------------------------------------------------------------ RETURN END