SUBROUTINE ice_bio_param ! ! This routine reads bio.param ! (c) Martin Vancoppenolle, Oct 2014 ! ! version: 3.04 ! INCLUDE 'type.com' INCLUDE 'para.com' INCLUDE 'const.com' INCLUDE 'ice.com' INCLUDE 'thermo.com' INCLUDE 'bio.com' INTEGER :: & numbio = 500 ! : reference number for bio.param WRITE(numout,*) ' ** ice_bio_param : ' WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~' WRITE(numout,*) ! !-----------------------------------------------------------------------------! ! 1) Reads namelist !-----------------------------------------------------------------------------! ! WRITE(numout,*) ' Biological parameters ... ' WRITE(numout,*) OPEN( unit = numbio , file='bio.param', status='old' ) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) ! Process switches for biogeochemistry READ(numbio,*) c_grid READ(numbio,*) READ(numbio,*) h_skel READ(numbio,*) READ(numbio,*) e_thr_bal READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) ln_trbo ! activate basal entrapment for tracers READ(numbio,*) READ(numbio,*) ln_trsi ! activate snow-ice entrapment for tracers READ(numbio,*) READ(numbio,*) ln_trdiff ! activate tracer diffusion READ(numbio,*) READ(numbio,*) ln_trremp ! activate tracer remapping READ(numbio,*) READ(numbio,*) ln_lim_dsi ! activate DSi limitation READ(numbio,*) READ(numbio,*) ln_lim_no3 ! activate NO3 limitation READ(numbio,*) READ(numbio,*) ln_lim_po4 ! activate PO4 limitation READ(numbio,*) READ(numbio,*) ln_lim_lig ! activate light limitation READ(numbio,*) READ(numbio,*) ln_lim_tem ! activate temperature inhibition READ(numbio,*) READ(numbio,*) ln_lim_sal ! activate brine salinity inhibition READ(numbio,*) READ(numbio,*) ln_lys ! activate lysis READ(numbio,*) READ(numbio,*) ln_rem ! activate remineralization READ(numbio,*) READ(numbio,*) ln_syn ! activate diatom synthesis READ(numbio,*) READ(numbio,*) ln_bubform ! activate gas bubble formation READ(numbio,*) READ(numbio,*) ln_bubrise ! activate gas bubble rise READ(numbio,*) READ(numbio,*) ln_gasflux ! activate gas flux to ATM READ(numbio,*) READ(numbio,*) ln_carbon ! activate carbon cycle READ(numbio,*) READ(numbio,*) ln_ikaite ! activate ikaite READ(numbio,*) READ(numbio,*) ln_decoupNC ! N cycle diconnected from C cycle READ(numbio,*) READ(numbio,*) ln_decoupPC ! P cycle diconnected from C cycle READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) ! gas exchange parameters READ(numbio,*) READ(numbio,*) i_gasflux ! type of gas flux formulation READ(numbio,*) READ(numbio,*) brines_ar ! brines aspect ratio READ(numbio,*) READ(numbio,*) bub_form_rate ! gas bubble formation rate READ(numbio,*) READ(numbio,*) bub_diss_rate ! gas bubble dissolution rate READ(numbio,*) READ(numbio,*) h_bl_gas ! gas bubble dissolution rate READ(numbio,*) READ(numbio,*) e_thr_gasflux ! brine volume fraction threshold for surface gas flux READ(numbio,*) READ(numbio,*) e_thr_bubrise ! brine volume fraction permeability for bubble rise READ(numbio,*) READ(numbio,*) sursat_gas ! %Saturation tolerated in brines READ(numbio,*) READ(numbio,*) nn_carbonate ! Roy (1) or Mehrbach (2) set of constants READ(numbio,*) READ(numbio,*) caco3_time ! CaCO3 precipitation/dissolution time constant READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) nn_bio_opt ! type of biological model READ(numbio,*) READ(numbio,*) READ(numbio,*) ! physiological parameters READ(numbio,*) astar_alg ! specific att coeff ( m-1 / ( mg chla m-3 ) ) READ(numbio,*) READ(numbio,*) fdet_alg ! fraction of attenuation due to detrital mater compared to algal attenuation (Arrigo) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) pp_presc ! prescribed primary production (mmol C m-3 s-1) READ(numbio,*) READ(numbio,*) mumax_bio ! maximal specific growth rate (s-1) READ(numbio,*) READ(numbio,*) klys_bio ! loss rate READ(numbio,*) READ(numbio,*) krsp_bio ! respiration time constant READ(numbio,*) READ(numbio,*) krem_bio ! remineralization time constant READ(numbio,*) READ(numbio,*) frem_bio ! fraction of diatom loss that is remineralized in Si READ(numbio,*) READ(numbio,*) ksyn_N ! intensity of N flux VS C flux READ(numbio,*) READ(numbio,*) klys_N READ(numbio,*) READ(numbio,*) krsp_N READ(numbio,*) READ(numbio,*) krem_N READ(numbio,*) READ(numbio,*) ksyn_P READ(numbio,*) READ(numbio,*) klys_P READ(numbio,*) READ(numbio,*) krsp_P READ(numbio,*) READ(numbio,*) krem_P READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) nn_phs ! type of photosynthesis parameterization READ(numbio,*) READ(numbio,*) ek_bio ! light adaptation parameter (muE m-2 s-1) READ(numbio,*) READ(numbio,*) alpha_bio ! photosynthetic efficiency READ(numbio,*) READ(numbio,*) chla_c ! chlorophyll to carbon ratio (g/g) READ(numbio,*) READ(numbio,*) Estar ! Irradiance where PAR is minimum (muE m-2 s-1) READ(numbio,*) READ(numbio,*) nn_lys ! Type of lysis (1-prescribed, 2-temperature dependent) READ(numbio,*) READ(numbio,*) nn_rem ! Type of remineralization (1-prescribed, 2-temperature dependent) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) si_c ! silicate to carbon ratio (mol/mol) READ(numbio,*) READ(numbio,*) no3_c ! nitrate to carbon ratio (mol/mol) READ(numbio,*) READ(numbio,*) po4_c ! phosphorus to carbon ratio (mol/mol) READ(numbio,*) READ(numbio,*) oxy_c ! oxygen quota in algal cells (mol/mol) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) READ(numbio,*) khs_si_bio ! half saturatio ct for Si uptake (mmol m-3) READ(numbio,*) READ(numbio,*) khs_n_bio ! half saturatio ct for NO3 uptake (mmol m-3) READ(numbio,*) READ(numbio,*) khs_p_bio ! half saturation ct for PO4 uptake (mmol m-3) READ(numbio,*) READ(numbio,*) rg_bio ! temperature dependence of algal physiology (degC-1) READ(numbio,*) READ(numbio,*) rg_bac ! temperature dependence of bacterial respiration (degC-1) READ(numbio,*) READ(numbio,*) nn_lim_sal ! Type of salinity limitation 1=Arrigo, 2=4th order gaussian, 3=sine, 4=gaussian, 5=gaussian with 3rd order arg READ(numbio,*) READ(numbio,*) lim_sal_wid ! Width of salinity limitation (case 4) READ(numbio,*) READ(numbio,*) lim_sal_smax ! Salinity at which limitation equals 1 (case 4) CLOSE( numbio ) ! Writes in the output file WRITE(numout,*) ' c_grid : ', c_grid WRITE(numout,*) ' h_skel : ', h_skel WRITE(numout,*) ' e_thr_bal : ', e_thr_bal WRITE(numout,*) ' ln_trbo : ', ln_trbo WRITE(numout,*) ' ln_trsi : ', ln_trsi WRITE(numout,*) ' ln_trdiff : ', ln_trdiff WRITE(numout,*) ' ln_trremp : ', ln_trremp WRITE(numout,*) ' ln_lim_dsi: ', ln_lim_dsi WRITE(numout,*) ' ln_lim_no3: ', ln_lim_no3 WRITE(numout,*) ' ln_lim_po4: ', ln_lim_po4 WRITE(numout,*) ' ln_lim_lig: ', ln_lim_lig WRITE(numout,*) ' ln_lim_tem: ', ln_lim_tem WRITE(numout,*) ' ln_lim_sal: ', ln_lim_sal WRITE(numout,*) ' ln_lys : ', ln_lys WRITE(numout,*) ' ln_rem : ', ln_rem WRITE(numout,*) ' ln_syn : ', ln_syn WRITE(numout,*) ' ln_bubform: ', ln_bubform WRITE(numout,*) ' ln_bubrise: ', ln_bubrise WRITE(numout,*) ' ln_gasflux: ', ln_gasflux WRITE(numout,*) ' ln_carbon : ', ln_carbon WRITE(numout,*) ' ln_ikaite : ', ln_ikaite WRITE(numbio,*) ' ln_decoupNC:', ln_decoupNC WRITE(numout,*) WRITE(numout,*) ' nn_init : ', nn_init WRITE(numout,*) ' cdsi_ini : ', cdsi_ini WRITE(numout,*) ' cno3_ini : ', cno3_ini WRITE(numout,*) ' cpo4_ini : ', cpo4_ini WRITE(numout,*) ' cdaf_ini : ', cdaf_ini WRITE(numout,*) ' ceoC_ini : ', ceoC_ini WRITE(numout,*) ' cdic_ini : ', cdic_ini WRITE(numout,*) ' calk_ini : ', calk_ini WRITE(numout,*) ' cika_ini : ', cika_ini WRITE(numout,*) ' coxy_ini : ', coxy_ini WRITE(numout,*) ' cnit_ini : ', cnit_ini WRITE(numout,*) ' carg_ini : ', carg_ini WRITE(numout,*) ' cco2_ini : ', cco2_ini WRITE(numout,*) ' ccal_ini : ', ccal_ini WRITE(numbio,*) ' caon_ini : ', caon_ini WRITE(numbio,*) ' ceon_ini : ', ceon_ini WRITE(numbio,*) ' caop_ini : ', caop_ini WRITE(numbio,*) ' ceop_ini : ', ceop_ini WRITE(numout,*) ' cno3_w : ', cno3_w WRITE(numout,*) ' cpo4_w : ', cpo4_w WRITE(numout,*) ' cdsi_w : ', cdsi_w WRITE(numout,*) ' cdaf_w : ', cdaf_w WRITE(numout,*) ' ceoC_w : ', ceoC_w WRITE(numout,*) ' cdic_w : ', cdic_w WRITE(numout,*) ' calk_w : ', calk_w WRITE(numout,*) ' cika_w : ', cika_w WRITE(numout,*) ' coxy_w : ', coxy_w WRITE(numout,*) ' cnit_w : ', cnit_w WRITE(numout,*) ' carg_w : ', carg_w WRITE(numout,*) ' cco2_w : ', cco2_w WRITE(numout,*) ' ccal_w : ', ccal_w WRITE(numbio,*) ' caon_w : ', caon_w WRITE(numbio,*) ' ceon_w : ', ceon_w WRITE(numout,*) ' mr_oxy : ', mr_oxy WRITE(numout,*) ' mr_nit : ', mr_nit WRITE(numout,*) ' mr_arg : ', mr_arg WRITE(numout,*) ' mr_co2 : ', mr_co2 WRITE(numout,*) WRITE(numout,*) ' i_gasflux : ', i_gasflux WRITE(numout,*) ' brines_ar : ', brines_ar WRITE(numout,*) ' bub_form_rate : ', bub_form_rate WRITE(numout,*) ' bub_diss_rate : ', bub_diss_rate WRITE(numout,*) ' h_bl_gas : ', h_bl_gas WRITE(numout,*) ' e_thr_gasflux : ', e_thr_gasflux WRITE(numout,*) ' e_thr_bubrise : ', e_thr_bubrise WRITE(numout,*) ' sursat_gas : ', sursat_gas WRITE(numout,*) ' nn_carbonate : ', nn_carbonate WRITE(numout,*) ' caco3_time : ', caco3_time WRITE(numout,*) WRITE(numout,*) ' nn_bio_opt: ', nn_bio_opt WRITE(numout,*) ' astar_alg : ', astar_alg WRITE(numout,*) ' fdet_alg : ', fdet_alg WRITE(numout,*) ' pp_presc : ', pp_presc WRITE(numout,*) ' mumax_bio : ', mumax_bio WRITE(numout,*) ' klys_bio : ', klys_bio WRITE(numout,*) ' krsp_bio : ', krsp_bio WRITE(numout,*) ' krem_bio : ', krem_bio WRITE(numout,*) ' frem_bio : ', frem_bio WRITE(numout,*) ' ksyn_N : ', ksyn_N WRITE(numout,*) ' klys_N : ', klys_N WRITE(numout,*) ' krsp_N : ', krsp_N WRITE(numout,*) ' krem_N : ', krem_N WRITE(numout,*) ' ksyn_P : ', ksyn_P WRITE(numout,*) ' klys_P : ', klys_P WRITE(numout,*) ' krsp_P : ', krsp_P WRITE(numout,*) ' krem_P : ', krem_P WRITE(numout,*) ' nn_phs : ', nn_phs WRITE(numout,*) ' ek_bio : ', ek_bio WRITE(numout,*) ' alpha_bio : ', alpha_bio WRITE(numout,*) ' chla_c : ', chla_c WRITE(numout,*) ' Estar : ', Estar WRITE(numout,*) ' nn_lys : ', nn_lys WRITE(numout,*) ' nn_rem : ', nn_rem WRITE(numout,*) ' si_c : ', si_c WRITE(numout,*) ' no3_c : ', no3_c WRITE(numout,*) ' po4_c : ', po4_c WRITE(numout,*) ' oxy_c : ', oxy_c WRITE(numout,*) ' khs_si_bio: ', khs_si_bio WRITE(numout,*) ' khs_n_bio : ', khs_n_bio WRITE(numout,*) ' khs_p_bio : ', khs_p_bio WRITE(numout,*) ' rg_bio : ', rg_bio WRITE(numout,*) ' rg_bac : ', rg_bac WRITE(numout,*) ' nn_lim_sal: ', nn_lim_sal WRITE(numout,*) ' lim_sal_wid : ', lim_sal_wid WRITE(numout,*) ' lim_sal_smax : ', lim_sal_smax WRITE(numout,*) WRITE(numout,*) WRITE(numout,*) ' End of ice_bio_param ' WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' WRITE(numout,*) ! !-----------------------------------------------------------------------------! !-- End of ice_bio_param -- RETURN END