diff --git a/config/namelist.config b/config/namelist.config index ee26f087f..80fa017d4 100755 --- a/config/namelist.config +++ b/config/namelist.config @@ -6,81 +6,58 @@ runid='fesom' ×tep step_per_day=32 !96 !96 !72 !72 !45 !72 !96 -run_length= 62 !62 !62 !62 !28 +run_length= 40 !62 !62 !62 !28 run_length_unit='y' ! y, m, d, s / -&clockinit ! the model starts at +&clockinit ! the model starts at timenew=0.0 daynew=1 -yearnew=1948 +yearnew=1958 / &paths -MeshPath='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_finaltopo_mean/' -OpbndPath='' -ClimateDataPath='/work/ollie/dsidoren/input/hydrography/phc3.0/' -ForcingDataPath='/work/ollie/dsein/input/forcing/' -TideForcingPath='/work/ollie/dsein/input/tide_forcing/' -ResultPath='../results/linfs/zmeanval/3/' +MeshPath='/work/ollie/projects/clidyn/FESOM2/meshes/core2/' +ClimateDataPath='/work/ollie/projects/clidyn/FESOM2/hydrography/phc3.0/' +ResultPath='/work/ollie/nkolduno/RC12/' / -&initialization -OceClimaDataName='Winter_PHC3_ts.out' !which T/S data to initial. ocean - !'Winter_PHC3_ts.out' - !'Annual_PHC3_ts.out' -use_prepared_init_ice=.false. !how to init. ice; runid.initial_ice.nc +&restart_log +restart_length=1 !only required for d,h,s cases, y, m take 1 +restart_length_unit='y' !output period: y, d, h, s +logfile_outfreq=960 !in logfile info. output frequency, # steps / -&inout -restartflag='last' !restart from which saved record,'last','#' -restart_length=1 !only required for d,h,s cases, y, m take 1 -restart_length_unit='y' !output period: y, d, h, s -restart_offset=64 -logfile_outfreq=960 !in logfile info. output frequency, # steps -use_means=.false. !average output, if false prints out snapshots -/ - -&mesh_def -grid_type=1 !1 z-level, 2 sigma, 3 z+sigma -use_ALE=.true. ! switch on/off ALE -which_ALE='linfs' ! 'linfs','zlevel', 'zstar','zstar-weight', 'ztilde' -use_partial_cell=.false. -min_hnode=0.5 -lzstar_lev=4 +&ale_def +which_ALE='zstar' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. / &geometry cartesian=.false. fplane=.false. -betaplane=.false. -f_fplane=-1.4e-4 ![1/s] -beta_betaplane=2.0e-11 ![1/s/m] -cyclic_length=360. ![degree] -rotated_grid=.true. !option only valid for coupled model case now -alphaEuler=50. ![degree] Euler angles, convention: -betaEuler=15. ![degree] first around z, then around new x, -gammaEuler=-90. ![degree] then around new z. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now force_rotation=.false. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. / &calendar -include_fleapyear=.false. +include_fleapyear=.true. / &run_config use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. use_floatice = .false. use_sw_pene=.true. -toy_ocean=.false. ! use toy forcing/initialization +lwiso=.false. / &machine -! system_arch=1 n_levels=3 -!n_part= 2, 4, 36 ! number of partitions on each hierarchy level -n_part= 2, 12, 36 ! 864 number of partitions on each hierarchy level -!n_part= 2, 6, 36 ! 432 number of partitions on each hierarchy level -!n_part= 2, 4, 36 ! 288 number of partitions on each hierarchy level - +n_part= 2,4, 36 ! 432 number of partitions on each hierarchy level / diff --git a/config/namelist.config.linfs b/config/namelist.config.linfs new file mode 100644 index 000000000..ecbeb683e --- /dev/null +++ b/config/namelist.config.linfs @@ -0,0 +1,63 @@ +! This is the namelist file for model general configuration + +&modelname +runid='fesom' +/ + +×tep +step_per_day=32 !96 !96 !72 !72 !45 !72 !96 +run_length= 40 !62 !62 !62 !28 +run_length_unit='y' ! y, m, d, s +/ + +&clockinit ! the model starts at +timenew=0.0 +daynew=1 +yearnew=1958 +/ + +&paths +MeshPath='/work/ollie/projects/clidyn/FESOM2/meshes/core2/' +ClimateDataPath='/work/ollie/projects/clidyn/FESOM2/hydrography/phc3.0/' +ResultPath='/work/ollie/nkolduno/RC12/' +/ + +&restart_log +restart_length=1 !only required for d,h,s cases, y, m take 1 +restart_length_unit='y' !output period: y, d, h, s +logfile_outfreq=960 !in logfile info. output frequency, # steps +/ + +&ale_def +which_ALE='linfs' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. +/ + +&geometry +cartesian=.false. +fplane=.false. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now +force_rotation=.false. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. +/ + +&calendar +include_fleapyear=.true. +/ + +&run_config +use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. +use_floatice = .false. +use_sw_pene=.true. +lwiso=.false. +/ + +&machine +n_levels=3 +n_part= 2,4, 36 ! 432 number of partitions on each hierarchy level +/ diff --git a/config/namelist.config.zstar b/config/namelist.config.zstar new file mode 100644 index 000000000..80fa017d4 --- /dev/null +++ b/config/namelist.config.zstar @@ -0,0 +1,63 @@ +! This is the namelist file for model general configuration + +&modelname +runid='fesom' +/ + +×tep +step_per_day=32 !96 !96 !72 !72 !45 !72 !96 +run_length= 40 !62 !62 !62 !28 +run_length_unit='y' ! y, m, d, s +/ + +&clockinit ! the model starts at +timenew=0.0 +daynew=1 +yearnew=1958 +/ + +&paths +MeshPath='/work/ollie/projects/clidyn/FESOM2/meshes/core2/' +ClimateDataPath='/work/ollie/projects/clidyn/FESOM2/hydrography/phc3.0/' +ResultPath='/work/ollie/nkolduno/RC12/' +/ + +&restart_log +restart_length=1 !only required for d,h,s cases, y, m take 1 +restart_length_unit='y' !output period: y, d, h, s +logfile_outfreq=960 !in logfile info. output frequency, # steps +/ + +&ale_def +which_ALE='zstar' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. +/ + +&geometry +cartesian=.false. +fplane=.false. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now +force_rotation=.false. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. +/ + +&calendar +include_fleapyear=.true. +/ + +&run_config +use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. +use_floatice = .false. +use_sw_pene=.true. +lwiso=.false. +/ + +&machine +n_levels=3 +n_part= 2,4, 36 ! 432 number of partitions on each hierarchy level +/ diff --git a/config/namelist.cvmix b/config/namelist.cvmix new file mode 100644 index 000000000..00754cca1 --- /dev/null +++ b/config/namelist.cvmix @@ -0,0 +1,72 @@ +! namelist for Turbulent Kinetic Energy (TKE) +¶m_tke +tke_c_k = 0.1 +tke_c_eps = 0.7 +tke_alpha = 30.0 +tke_mxl_min = 1.0e-8 +tke_kappaM_min = 0.0 +tke_kappaM_max = 100.0 +tke_cd = 3.75 ! for Dirichlet boundary conditions +!tke_cd = 1.0 ! for Neumann boundary conditions +tke_surf_min = 1.0e-4 +tke_min = 1.0e-6 +! tke_mxl_choice ... Can only be 1 or 2, choice of calculation of mixing +! length; currently only Blanke, B., P. Delecluse option is implemented +tke_mxl_choice = 2 +/ + +! namelist for IDEMIX +¶m_idemix +idemix_tau_v = 86400.0 ! time scale for vertical symmetrisation (sec) +idemix_tau_h = 1296000.0 ! time scale for horizontal symmetrisation +idemix_gamma = 1.570 ! constant of order one derived from the shape of the spectrum in m space (dimensionless) +idemix_jstar = 10.0 ! spectral bandwidth in modes (dimensionless) +idemix_mu0 = 1.33333333 ! dissipation parameter (dimensionless) +idemix_sforcusage = 0.2 +idemix_n_hor_iwe_prop_iter = 5 ! iterations for contribution from horiz. wave propagation +idemix_surforc_file = '/work/ollie/clidyn/forcing/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc' +idemix_botforc_file = '/work/ollie/clidyn/forcing/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +/ + +! namelist for PP +¶m_pp +pp_use_fesompp = .true. ! if true use fesom flavor off PP if false use original PP of Pacanowski & Philander +pp_Av0 = 0.01 ! mixing coeff. for PP +pp_alpha = 5.0 ! alpha param eq. (1) in Pacanowski and Philander 1981 +pp_exp = 2.0 ! n param eq. (1) in Pacanowski and Philander 1981 +pp_Avbckg = 1.0e-4 ! const. pp background viscosity +pp_Kvbckg = 1.0e-5 ! const. pp background diffusivity +pp_use_nonconstKvb = .true. ! use lat and depth dependent background diffusivity +/ + +! namelist for KPP +¶m_kpp +kpp_use_fesomkpp = .false. ! if true use cvmix MOM5 like kpp if false use cvmix MOM6 like kpp +kpp_use_enhanceKv = .true. ! If true, add enhanced diffusivity at base of boundary layer +kpp_use_compEkman = .true. ! If true, compute Ekman depth limit for OBLdepth +kpp_use_monob = .true. ! If true, compute Monin-Obukhov limit for OBLdepth +kpp_interptype_ri = "linear" ! Type of interpolation in determining OBL depth: linear,quadratic,cubic +kpp_interptype_atobl= "LMD94" ! Type of interpolation of visc and diff at obl depth: linear,quadratic,cubic,LMD94 +kpp_matchtechc = "ParabolicNonLocal" ! Setting diffusivity and NLT profile functions:SimpleShapes, MatchGradient, MatchBoth, ParabolicNonLocal +kpp_internalmix = "KPP" ! Ri-number dependet mixing scheme below the OBL: 'PP' or 'KPP' +kpp_reduce_tauuice = .false. ! If True, reduce the wind stress (ustar) under sea ice. +kpp_Av0 = 5.0e-3 ! leading coefficient of shear mixing formula, units: m^2/s: default= 5e-3 +kpp_Kv0 = 5.0e-3 +kpp_Ri0 = 0.7 ! critical Richardson number value, units: unitless (0.7 in LMD94) +kpp_pp_Av0 = 0.01 ! Parameter in case of PP mixing below the OBL +kpp_use_nonconstKvb= .true. ! If True use non constant background diffusivity of Qiang from FESOM1.4 +kpp_Avbckg = 1.0e-4 ! Values for const. background viscosity and diffusivity +kpp_Kvbckg = 1.0e-5 +/ + +! namelist for TIDAL +¶m_tidal +tidal_mixscheme = "Simmons" +tidal_efficiency = 0.2 ! units: unitless (fraction); (Gamma in Simmons et al.) +tidal_vert_decayscale= 500.0 ! units: m; zeta in Simmons et al. (used to compute the vertical deposition function) +tidal_max_coeff = 50e-4 ! units: m^2/s; largest acceptable value for diffusivity +tidal_lcl_mixfrac = 0.33 !tidal dissipation efficiency (q in Simmons et al.), i.e. fraction of energy that dissipates locally +tidal_depth_cutoff = 0.0 !depth of the shallowest column where tidal mixing is computed (positive below surface) +tidal_botforc_file = '/work/ollie/pscholz/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +/ + diff --git a/config/namelist.forcing b/config/namelist.forcing index bc36172c3..ee356cacb 100755 --- a/config/namelist.forcing +++ b/config/namelist.forcing @@ -1,52 +1,63 @@ -! This is the namelist file for forcing - &forcing_exchange_coeff -Ce_atm_oce=1.75e-3 ! exchange coeff. of latent heat over open water -Ch_atm_oce=1.75e-3 ! exchange coeff. of sensible heat over open water -Cd_atm_oce=1.0e-3 ! drag coefficient between atmosphere and water -Ce_atm_ice=1.75e-3 ! exchange coeff. of latent heat over ice -Ch_atm_ice=1.75e-3 ! exchange coeff. of sensible heat over ice -Cd_atm_ice=1.2e-3 ! drag coefficient between atmosphere and ice + ce_atm_oce = 0.00175 + ch_atm_oce = 0.00175 + cd_atm_oce = 0.001 + ce_atm_ice = 0.00175 + ch_atm_ice = 0.00175 + cd_atm_ice = 0.0012 + swind = 0.0 / &forcing_bulk -AOMIP_drag_coeff=.false. -ncar_bulk_formulae=.true. + aomip_drag_coeff = .false. + ncar_bulk_formulae = .true. + ncar_bulk_z_wind = 10.0 + ncar_bulk_z_tair = 10.0 + ncar_bulk_z_shum = 10.0 / &land_ice -use_landice_water=.false. -landice_start_mon=5 -landice_end_mon=10 + use_landice_water = .false. + landice_start_mon = 5 + landice_end_mon = 10 / &nam_sbc - nm_xwind_file = '/work/ollie/dsein/input/forcing/CORE2/u_10.' ! name of file with winds, if nm_sbc=2 - nm_ywind_file = '/work/ollie/dsein/input/forcing/CORE2/v_10.' ! name of file with winds, if nm_sbc=2 - nm_humi_file = '/work/ollie/dsein/input/forcing/CORE2/q_10.' ! name of file with humidity - nm_qsr_file = '/work/ollie/dsein/input/forcing/CORE2/ncar_rad.' ! name of file with solar heat - nm_qlw_file = '/work/ollie/dsein/input/forcing/CORE2/ncar_rad.' ! name of file with Long wave - nm_tair_file = '/work/ollie/dsein/input/forcing/CORE2/t_10.' ! name of file with 2m air temperature - nm_prec_file = '/work/ollie/dsein/input/forcing/CORE2/ncar_precip.' ! name of file with total precipitation - nm_snow_file = '/work/ollie/dsein/input/forcing/CORE2/ncar_precip.' ! name of file with snow precipitation - nm_mslp_file = '/work/ollie/dsein/input/forcing/CORE2/slp.' ! air_pressure_at_sea_level - nm_xwind_var = 'U_10_MOD' ! name of variable in file with wind - nm_ywind_var = 'V_10_MOD' ! name of variable in file with wind - nm_humi_var = 'Q_10_MOD' ! name of variable in file with humidity - nm_qsr_var = 'SWDN_MOD' ! name of variable in file with solar heat - nm_qlw_var = 'LWDN_MOD' ! name of variable in file with Long wave - nm_tair_var = 'T_10_MOD' ! name of variable in file with 2m air temperature - nm_prec_var = 'RAIN' ! name of variable in file with total precipitation - nm_snow_var = 'SNOW' ! name of variable in file with total precipitation - nm_mslp_var = 'SLP' ! name of variable in file with air_pressure_at_sea_level - nm_nc_iyear = 1948 - nm_nc_imm = 1 ! initial month of time axis in netCDF - nm_nc_idd = 1 ! initial day of time axis in netCDF - nm_nc_freq = 1 ! data points per day (i.e. 86400 if the time axis is in seconds) - nm_nc_tmid = 1 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) - l_xwind=.true., l_ywind=.true., l_humi=.true., l_qsr=.true., l_qlw=.true., l_tair=.true., l_prec=.true., l_mslp=.false., l_cloud=.false., l_snow=.true. - nm_runoff_file ='/work/ollie/dsein/input/forcing/CORE2/runoff.nc' - runoff_data_source ='CORE2' !Dai09, CORE2 - nm_sss_data_file ='/work/ollie/dsein/input/forcing/CORE2/PHC2_salx.nc' - sss_data_source ='CORE2' + nm_xwind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/uas.' + nm_ywind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/vas.' + nm_humi_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/huss.' + nm_qsr_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rsds.' + nm_qlw_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rlds.' + nm_tair_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/tas.' + nm_prec_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prra.' + nm_snow_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prsn.' + nm_mslp_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/psl.' + nm_xwind_var = 'uas' + nm_ywind_var = 'vas' + nm_humi_var = 'huss' + nm_qsr_var = 'rsds' + nm_qlw_var = 'rlds' + nm_tair_var = 'tas' + nm_prec_var = 'prra' + nm_snow_var = 'prsn' + nm_mslp_var = 'psl' + nm_nc_iyear = 1900 + nm_nc_imm = 1 + nm_nc_idd = 1 + nm_nc_freq = 1 + nm_nc_tmid = 0 + l_xwind = .true. + l_ywind = .true. + l_humi = .true. + l_qsr = .true. + l_qlw = .true. + l_tair = .true. + l_prec = .true. + l_mslp = .false. + l_cloud = .false. + l_snow = .true. + nm_runoff_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc' + runoff_data_source = 'CORE2' + nm_sss_data_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc' + sss_data_source = 'CORE2' / diff --git a/config/namelist.ice b/config/namelist.ice index 4f5d512e5..bcd86f145 100755 --- a/config/namelist.ice +++ b/config/namelist.ice @@ -1,24 +1,31 @@ ! Ice namelist &ice_dyn -whichEVP=0 -Pstar=30000.0 -delta_min=1.0e-11 -evp_rheol_steps=150 -Cd_oce_ice=0.0055 -ice_gamma_fct=0.5 -ice_diff=0.0 -theta_io=0.0 !0.436 -ice_ave_steps=1 !ice step=ice_ave_steps*oce_step +whichEVP=0 ! 0=standart; 1=mEVP; 2=aEVP +Pstar=30000.0 ! [N/m^2] +ellipse=2.0 +c_pressure=20.0 ! ice concentration parameter used in ice strength computation +delta_min=1.0e-11 ! [s^(-1)] +evp_rheol_steps=120 ! number of EVP subcycles +alpha_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +beta_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +c_aevp=0.15 ! a tuning constant in aEVP. Adjust with resolution. +Cd_oce_ice=0.0055 ! drag coef. oce - ice +ice_gamma_fct=0.5 ! smoothing parameter +ice_diff=0.0 ! diffusion to stabilize +theta_io=0.0 ! rotation angle +ice_ave_steps=1 ! ice step=ice_ave_steps*oce_step / &ice_therm -Sice=4.0 -h0=.5 -emiss_ice=0.97 -emiss_wat=0.97 -albsn=0.81 -albsnm=0.77 -albi=0.7 -albim=0.68 -albw=0.1 +Sice=4.0 ! Ice salinity 3.2--5.0 ppt. +h0=.5 ! Lead closing parameter [m] +emiss_ice=0.97 ! Emissivity of Snow/Ice, +emiss_wat=0.97 ! Emissivity of open water +albsn=0.81 ! Albedo: frozen snow +albsnm=0.77 ! melting snow +albi=0.7 ! frozen ice +albim=0.68 ! melting ice +albw=0.1 ! open water +con=2.1656 ! Thermal conductivities: ice; W/m/K +consn=0.31 ! snow / diff --git a/config/namelist.icepack b/config/namelist.icepack new file mode 100644 index 000000000..ed0dd4d4c --- /dev/null +++ b/config/namelist.icepack @@ -0,0 +1,146 @@ +&env_nml ! In the original release these variables are defined in the icepack.settings + nicecat = 5 ! number of ice thickness categories + nfsdcat = 1 ! number of floe size categories + nicelyr = 4 ! number of vertical layers in the ice + nsnwlyr = 4 ! number of vertical layers in the snow + ntraero = 0 ! number of aerosol tracers (up to max_aero in ice_domain_size.F90) + trzaero = 0 ! number of z aerosol tracers (up to max_aero = 6) + tralg = 0 ! number of algal tracers (up to max_algae = 3) + trdoc = 0 ! number of dissolve organic carbon (up to max_doc = 3) + trdic = 0 ! number of dissolve inorganic carbon (up to max_dic = 1) + trdon = 0 ! number of dissolve organic nitrogen (up to max_don = 1) + trfed = 0 ! number of dissolved iron tracers (up to max_fe = 2) + trfep = 0 ! number of particulate iron tracers (up to max_fe = 2) + nbgclyr = 0 ! number of zbgc layers + trbgcz = 0 ! set to 1 for zbgc tracers (needs TRBGCS = 0 and TRBRI = 1) + trzs = 0 ! set to 1 for zsalinity tracer (needs TRBRI = 1) + trbri = 0 ! set to 1 for brine height tracer + trage = 0 ! set to 1 for ice age tracer + trfy = 0 ! set to 1 for first-year ice area tracer + trlvl = 0 ! set to 1 for level and deformed ice tracers + trpnd = 0 ! set to 1 for melt pond tracers + trbgcs = 0 ! set to 1 for skeletal layer tracers (needs TRBGCZ = 0) + ndtd = 1 ! dynamic time steps per thermodynamic time step +/ + +&grid_nml + kcatbound = 1 +/ + +&tracer_nml + tr_iage = .false. + tr_FY = .false. + tr_lvl = .false. + tr_pond_cesm = .false. + tr_pond_topo = .false. + tr_pond_lvl = .false. + tr_aero = .false. + tr_fsd = .false. +/ + +&thermo_nml + kitd = 1 + ktherm = 1 + conduct = 'bubbly' + a_rapid_mode = 0.5e-3 + Rac_rapid_mode = 10.0 + aspect_rapid_mode = 1.0 + dSdt_slow_mode = -5.0e-8 + phi_c_slow_mode = 0.05 + phi_i_mushy = 0.85 + ksno = 0.3 +/ + +&shortwave_nml + shortwave = 'ccsm3' + albedo_type = 'ccsm3' + albicev = 0.78 + albicei = 0.36 + albsnowv = 0.98 + albsnowi = 0.70 + albocn = 0.1 + ahmax = 0.3 + R_ice = 0. + R_pnd = 0. + R_snw = 1.5 + dT_mlt = 1.5 + rsnw_mlt = 1500. + kalg = 0.6 +/ + +&ponds_nml + hp1 = 0.01 + hs0 = 0. + hs1 = 0.03 + dpscale = 1.e-3 + frzpnd = 'hlid' + rfracmin = 0.15 + rfracmax = 1. + pndaspect = 0.8 +/ + +&forcing_nml + formdrag = .false. + atmbndy = 'default' + calc_strair = .true. + calc_Tsfc = .true. + highfreq = .false. + natmiter = 5 + ustar_min = 0.0005 + emissivity = 0.95 + fbot_xfer_type = 'constant' + update_ocn_f = .false. + l_mpond_fresh = .false. + tfrz_option = 'linear_salt' + oceanmixed_ice = .true. + wave_spec_type = 'none' +/ + +&dynamics_nml + kstrength = 1 + krdg_partic = 1 + krdg_redist = 1 + mu_rdg = 3 + Cf = 17. + P_star = 27000. + C_star = 20. +/ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!! Icepack output namelist !!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +&nml_list_icepack +io_list_icepack = 'aicen ',1, 'm', 4, ! Sea ice concentration + 'vicen ',1, 'm', 4, ! Volume per unit area of ice + 'vsnon ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfcn ',1, 'm', 4, ! Sea ice surf. temperature + !'iagen ',1, 'm', 4, ! Sea ice age + !'FYn ',1, 'm', 4, ! First year ice + !'lvln ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesmn',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topon',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvln ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brinen ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qicen ',1, 'm', 4, ! Sea ice enthalpy + !'sicen ',1, 'm', 4, ! Sea ice salinity + !'qsnon ',1, 'm', 4, ! Snow enthalpy + ! Average over thicknes classes + !'aice ',1, 'm', 4, ! Sea ice concentration + !'vice ',1, 'm', 4, ! Volume per unit area of ice + !'vsno ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfc ',1, 'm', 4, ! Sea ice surf. temperature + !'iage ',1, 'm', 4, ! Sea ice age + !'FY ',1, 'm', 4, ! First year ice + !'lvl ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesm ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topo ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvl ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brine ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qice ',1, 'm', 4, ! Sea ice enthalpy + !'sice ',1, 'm', 4, ! Sea ice salinity + !'qsno ',1, 'm', 4, ! Snow enthalpy + ! Other variables + !'uvel ',1, 'm', 4, ! x-component of sea ice velocity + !'vvel ',1, 'm', 4, ! y-component of sea ice velocity +/ diff --git a/config/namelist.io b/config/namelist.io new file mode 100644 index 000000000..5e47bcb8d --- /dev/null +++ b/config/namelist.io @@ -0,0 +1,51 @@ +&diag_list +ldiag_solver =.false. +lcurt_stress_surf=.false. +ldiag_curl_vel3 =.false. +ldiag_energy =.false. +ldiag_salt3D =.false. +ldiag_dMOC =.false. +ldiag_DVD =.false. +ldiag_forc =.false. +/ + +&nml_listsize +io_listsize=100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list +/ + +# for sea ice related variables use_ice should be true, otherewise there will be no output +# for 'curl_surf' to work lcurt_stress_surf must be .true. otherwise no output +# for 'fer_C', 'bolus_u', 'bolus_v', 'bolus_w', 'fer_K' to work Fer_GM must be .true. otherwise no output +# 'otracers' - all other tracers if applicable +# for 'dMOC' to work ldiag_dMOC must be .true. otherwise no output +&nml_list +io_list = 'sst ',1, 'm', 4, + 'sss ',1, 'm', 4, + 'ssh ',1, 'm', 4, + 'uice ',1, 'm', 4, + 'vice ',1, 'm', 4, + 'a_ice ',1, 'm', 4, + 'm_ice ',1, 'm', 4, + 'm_snow ',1, 'm', 4, + 'MLD1 ',1, 'm', 4, + 'MLD2 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'y', 4, + 'salt ',1, 'y', 4, + 'N2 ',1, 'y', 4, + 'Kv ',1, 'y', 4, + 'u ',1, 'y', 4, + 'v ',1, 'y', 4, + 'w ',1, 'y', 4, + 'Av ',1, 'y', 4, + 'bolus_u ',1, 'y', 4, + 'bolus_v ',1, 'y', 4, + 'bolus_w ',1, 'y', 4, + 'h2o18 ',1, 'm', 8, + 'hDo16 ',1, 'm', 8, + 'h2o16 ',1, 'm', 8, + 'h2o18_ice ',1, 'm', 4, + 'hDo16_ice ',1, 'm', 4, + 'h2o16_ice ',1, 'm', 4, +/ diff --git a/config/namelist.io.monthly b/config/namelist.io.monthly new file mode 100644 index 000000000..5e47bcb8d --- /dev/null +++ b/config/namelist.io.monthly @@ -0,0 +1,51 @@ +&diag_list +ldiag_solver =.false. +lcurt_stress_surf=.false. +ldiag_curl_vel3 =.false. +ldiag_energy =.false. +ldiag_salt3D =.false. +ldiag_dMOC =.false. +ldiag_DVD =.false. +ldiag_forc =.false. +/ + +&nml_listsize +io_listsize=100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list +/ + +# for sea ice related variables use_ice should be true, otherewise there will be no output +# for 'curl_surf' to work lcurt_stress_surf must be .true. otherwise no output +# for 'fer_C', 'bolus_u', 'bolus_v', 'bolus_w', 'fer_K' to work Fer_GM must be .true. otherwise no output +# 'otracers' - all other tracers if applicable +# for 'dMOC' to work ldiag_dMOC must be .true. otherwise no output +&nml_list +io_list = 'sst ',1, 'm', 4, + 'sss ',1, 'm', 4, + 'ssh ',1, 'm', 4, + 'uice ',1, 'm', 4, + 'vice ',1, 'm', 4, + 'a_ice ',1, 'm', 4, + 'm_ice ',1, 'm', 4, + 'm_snow ',1, 'm', 4, + 'MLD1 ',1, 'm', 4, + 'MLD2 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'y', 4, + 'salt ',1, 'y', 4, + 'N2 ',1, 'y', 4, + 'Kv ',1, 'y', 4, + 'u ',1, 'y', 4, + 'v ',1, 'y', 4, + 'w ',1, 'y', 4, + 'Av ',1, 'y', 4, + 'bolus_u ',1, 'y', 4, + 'bolus_v ',1, 'y', 4, + 'bolus_w ',1, 'y', 4, + 'h2o18 ',1, 'm', 8, + 'hDo16 ',1, 'm', 8, + 'h2o16 ',1, 'm', 8, + 'h2o18_ice ',1, 'm', 4, + 'hDo16_ice ',1, 'm', 4, + 'h2o16_ice ',1, 'm', 4, +/ diff --git a/config/namelist.oce b/config/namelist.oce index 6c89715f4..2487fc81f 100644 --- a/config/namelist.oce +++ b/config/namelist.oce @@ -2,29 +2,40 @@ &oce_dyn C_d=0.0025 ! Bottom drag, nondimensional +gamma0=0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small as possible (keep it < 0.01 m/s). +gamma1=0.1 ! [nodim], for computation of the flow aware viscosity +gamma2=0.285 ! [s/m], is only used in easy backscatter option +Div_c=.5 ! the strength of the modified Leith viscosity, nondimensional, 0.3 -- 1.0 +Leith_c=.05 ! the strength of the Leith viscosity +visc_option=5 ! 1=Harmonic Leith parameterization; + ! 2=Laplacian+Leith+biharmonic background + ! 3=Biharmonic Leith parameterization + ! 4=Biharmonic flow aware + ! 5=Kinematic (easy) Backscatter + ! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) + ! 7=Biharmonic flow aware (viscosity depends on velocity differences) + ! 8=Dynamic Backscatter +easy_bs_return= 1.5 ! coefficient for returned sub-gridscale energy, to be used with visc_option=5 (easy backscatter) A_ver= 1.e-4 ! Vertical viscosity, m^2/s -laplacian=.false. ! Use Laplacian viscosity -A_hor=0. ! 500. ! Background horizontal viscosity -A_hor_max=0. ! 8000. ! Maximum viscosity allowed (to limit Smag and Leith contributions when they are too large -Div_c=.5 ! 0.35 ! Modified Leith viscosity, nondimensional, 0.3 -- 1.0 -Leith_c=.05 ! The strength of the Leith viscosity -tau_c= 0. ! 1.5 !0.2 !1.5 ! Controls the strength of filters (1.5 and 0.2 for dt=1min and 15min, respectively) -Smag_c=0. ! 0.2 Smagorinsky viscosity, nondimensional, 0.1 --0.2 -biharmonic=.false. ! Use biharmonic viscosity -Abh0=0. ! 1.e12 ! Biharmonic viscosity, m^4/s scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area mom_adv=2 ! 1=vector CV, p1 vel, 2=sca. CV, 3=vector inv. free_slip=.false. ! Switch on free slip i_vert_visc=.true. w_split=.false. -w_exp_max=1.e-3 -SPP=.false. ! Salt Plume Parameterization +w_max_cfl=1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) ! in older FESOM it used to be w_exp_max=1.e-3 +SPP=.false. ! Salt Plume Parameterization Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 -K_GM=3000. ! GM thickness diffusivity (m2/s) -scaling_Ferreira =.true. ! GM vertical scaling after Ferreira et al.(2005) (as also implemented by Qiang in FESOM 1.4) +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1 ! Resol TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 + +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. + +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. double_diffusion=.false. ! for KPP,dd switch K_ver=1.0e-5 K_hor=3000. surf_relax_T=0.0 -surf_relax_S=1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +surf_relax_S=0.0 !1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not clim_relax=0.0 ! 1/s, geometrical information has to be supplied ref_sss_local=.true. ref_sss=34. -i_vert_diff=.true. ! true -tracer_adv =2 ! 1=MUSCL, 2=MUSCL+FCT +i_vert_diff =.true. ! true +tra_adv_hor ='MFCT' !'MUSCL', 'UPW1' +tra_adv_ver ='QR4C' !'QR4C', 'CDIFF', 'UPW1' +tra_adv_lim ='FCT' !'FCT', 'NONE' (default) +tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) +tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) +! Implemented trassers (3d restoring): +! 301 - Fram strait. +! 302 - Bering Strait +! 303 - BSO num_tracers=2 !number of all tracers tracer_ID =0,1 !their IDs (0 and 1 are reserved for temperature and salinity) / diff --git a/config/namelist.oce.no_extra_tracer b/config/namelist.oce.no_extra_tracer new file mode 100644 index 000000000..2487fc81f --- /dev/null +++ b/config/namelist.oce.no_extra_tracer @@ -0,0 +1,93 @@ +! The namelist file for the finite-volume ocean model + +&oce_dyn +C_d=0.0025 ! Bottom drag, nondimensional +gamma0=0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small as possible (keep it < 0.01 m/s). +gamma1=0.1 ! [nodim], for computation of the flow aware viscosity +gamma2=0.285 ! [s/m], is only used in easy backscatter option +Div_c=.5 ! the strength of the modified Leith viscosity, nondimensional, 0.3 -- 1.0 +Leith_c=.05 ! the strength of the Leith viscosity +visc_option=5 ! 1=Harmonic Leith parameterization; + ! 2=Laplacian+Leith+biharmonic background + ! 3=Biharmonic Leith parameterization + ! 4=Biharmonic flow aware + ! 5=Kinematic (easy) Backscatter + ! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) + ! 7=Biharmonic flow aware (viscosity depends on velocity differences) + ! 8=Dynamic Backscatter +easy_bs_return= 1.5 ! coefficient for returned sub-gridscale energy, to be used with visc_option=5 (easy backscatter) +A_ver= 1.e-4 ! Vertical viscosity, m^2/s +scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area +mom_adv=2 ! 1=vector CV, p1 vel, 2=sca. CV, 3=vector inv. +free_slip=.false. ! Switch on free slip +i_vert_visc=.true. +w_split=.false. +w_max_cfl=1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) ! in older FESOM it used to be w_exp_max=1.e-3 +SPP=.false. ! Salt Plume Parameterization +Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1 ! Resol TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 + +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. + +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. +double_diffusion=.false. ! for KPP,dd switch +K_ver=1.0e-5 +K_hor=3000. +surf_relax_T=0.0 +surf_relax_S=0.0 !1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not +clim_relax=0.0 ! 1/s, geometrical information has to be supplied +ref_sss_local=.true. +ref_sss=34. +i_vert_diff =.true. ! true +tra_adv_hor ='MFCT' !'MUSCL', 'UPW1' +tra_adv_ver ='QR4C' !'QR4C', 'CDIFF', 'UPW1' +tra_adv_lim ='FCT' !'FCT', 'NONE' (default) +tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) +tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) +! Implemented trassers (3d restoring): +! 301 - Fram strait. +! 302 - Bering Strait +! 303 - BSO +num_tracers=2 !number of all tracers +tracer_ID =0,1 !their IDs (0 and 1 are reserved for temperature and salinity) +/ + +&oce_init3d ! initial conditions for tracers +n_ic3d = 2 ! number of tracers to initialize +idlist = 1, 0 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! +filelist = 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'salt', 'temp' ! variables to read from specified files +t_insitu = .true. ! if T is insitu it will be converted to potential after reading it +/ diff --git a/config/namelist.oce.with_extra_tracer b/config/namelist.oce.with_extra_tracer new file mode 100644 index 000000000..cf75e4593 --- /dev/null +++ b/config/namelist.oce.with_extra_tracer @@ -0,0 +1,93 @@ +! The namelist file for the finite-volume ocean model + +&oce_dyn +C_d=0.0025 ! Bottom drag, nondimensional +gamma0=0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small as possible (keep it < 0.01 m/s). +gamma1=0.1 ! [nodim], for computation of the flow aware viscosity +gamma2=0.285 ! [s/m], is only used in easy backscatter option +Div_c=.5 ! the strength of the modified Leith viscosity, nondimensional, 0.3 -- 1.0 +Leith_c=.05 ! the strength of the Leith viscosity +visc_option=5 ! 1=Harmonic Leith parameterization; + ! 2=Laplacian+Leith+biharmonic background + ! 3=Biharmonic Leith parameterization + ! 4=Biharmonic flow aware + ! 5=Kinematic (easy) Backscatter + ! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) + ! 7=Biharmonic flow aware (viscosity depends on velocity differences) + ! 8=Dynamic Backscatter +easy_bs_return= 1.5 ! coefficient for returned sub-gridscale energy, to be used with visc_option=5 (easy backscatter) +A_ver= 1.e-4 ! Vertical viscosity, m^2/s +scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area +mom_adv=2 ! 1=vector CV, p1 vel, 2=sca. CV, 3=vector inv. +free_slip=.false. ! Switch on free slip +i_vert_visc=.true. +w_split=.false. +w_max_cfl=1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) ! in older FESOM it used to be w_exp_max=1.e-3 +SPP=.false. ! Salt Plume Parameterization +Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1 ! Resol TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 + +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. + +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. +double_diffusion=.false. ! for KPP,dd switch +K_ver=1.0e-5 +K_hor=3000. +surf_relax_T=0.0 +surf_relax_S=0.0 !1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not +clim_relax=0.0 ! 1/s, geometrical information has to be supplied +ref_sss_local=.true. +ref_sss=34. +i_vert_diff =.true. ! true +tra_adv_hor ='MFCT' !'MUSCL', 'UPW1' +tra_adv_ver ='QR4C' !'QR4C', 'CDIFF', 'UPW1' +tra_adv_lim ='FCT' !'FCT', 'NONE' (default) +tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) +tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) +! Implemented trassers (3d restoring): +! 301 - Fram strait. +! 302 - Bering Strait +! 303 - BSO +num_tracers=3 !number of all tracers +tracer_ID =0,1, 51 !their IDs (0 and 1 are reserved for temperature and salinity) +/ + +&oce_init3d ! initial conditions for tracers +n_ic3d = 3 ! number of tracers to initialize +idlist = 1, 0, 51 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! +filelist = 'phc3.0_winter.nc', 'phc3.0_winter.nc', 'tracer.nc' +varlist = 'salt', 'temp', 't_tracer' +t_insitu = .true. ! if T is insitu it will be converted to potential after reading it +/