Skip to content

Commit

Permalink
adding first version of v3.3.
Browse files Browse the repository at this point in the history
  • Loading branch information
JanStreffing committed Nov 26, 2024
1 parent f6526a7 commit 6b3d3a6
Show file tree
Hide file tree
Showing 17 changed files with 1,563 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
components:
- xios-2.5-yac
- rnfmap-awicm-3.1
- oifs-43r3-awicm-3.2.1
- fesom-2.6
- oasis3mct-6.0-YAC
coupling_changes:
- sed -i '/COUPLENEMOECE = /s/.TRUE./.FALSE./g' oifs-43r3/src/ifs/module/yommcc.F90
- sed -i '/COUPLEFESOM2 = /s/.FALSE./.TRUE./g' oifs-43r3/src/ifs/module/yommcc.F90
- sed -i '/COUPLENEMOFOCI = /s/.TRUE./.FALSE./g' oifs-43r3/src/ifs/module/yommcc.F90

82 changes: 81 additions & 1 deletion configs/setups/awicm3/awicm3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,18 @@ general:
- rnfmap/rnfmap.env.yaml
oasis_with_yac: True
xios_interp_order: 1
v3.3:
major_version: v3.3
couplings:
- fesom-2.6+oifs-43r3-awicm-3.2.1+xios-2.5-yac+oasis3mct6
add_include_models:
- xios
add_further_reading:
- oifs/oifs43.env.yaml
- xios/xios.env.yaml
- rnfmap/rnfmap.env.yaml
oasis_with_yac: True
xios_interp_order: 1
v3.4:
major_version: v3.4
couplings:
Expand Down Expand Up @@ -268,6 +280,26 @@ oifs:
NAERAD:
NSOLARSPECTRUM: "1"
NAERANT_SCALE: "1"
"v3.3":
with_xios: True
namelist_dir: ${general.esm_namelist_dir}/oifs/${version}/awicm3/v3.3
mip: "cmip6"
wam: true
add_namelist_changes:
fort.4:
NAMCT0:
LXIOS: TRUE
NAMIO_SERV:
NPROC_IO: 2
NPROCESS_LEVEL: 5
NIO_SERV_METHOD: 2
NMSG_LEVEL_CLIENT: 0
NMSG_LEVEL_SERVER: 1
NAEPHY:
LECURR: true
NAERAD:
NSOLARSPECTRUM: "1"
NAERANT_SCALE: "1"
"v3.4":
version: "48r1"
with_xios: True
Expand Down Expand Up @@ -518,6 +550,35 @@ fesom:
albsnm: 0.77
albi: 0.6
albim: 0.43
"v3.3":
version: "2.6"
namelist_dir: "${esm_namelist_dir}/fesom2/2.6/awicm3/v3.3/"
add_namelist_changes:
namelist.config:
ale_def:
which_ALE: 'zstar'
namelist.oce:
oce_dyn:
SPP: true
k_gm_max: 3000
k_gm_rampmax: 40.0
k_gm_rampmin: 30
scaling_ferreira: true
scaling_fesom14: true
oce_tra:
surf_relax_s: "${surf_relax_s}"

namelist.tra:
tracer_phys:
surf_relax_s: "${surf_relax_s}"
use_momix: false
kv0_const: false
namelist.ice:
ice_therm:
albsn: 0.81
albsnm: 0.77
albi: 0.6
albim: 0.43
"v3.4":
version: "2.6"
append_icmcl: ""
Expand Down Expand Up @@ -784,7 +845,7 @@ oasis3mct:
- 'A_CurX:A_CurY <--gauswgt_i-- u_feom:v_feom'
'v3.2':
version: 6.0-YAC
mct_version: 4.0
mct_version: 6.0
input_dir: ${pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/
rstos_file_name: 'rstos_uv'
rstas_file_name: 'rstas_uv'
Expand All @@ -801,6 +862,25 @@ oasis3mct:
rstos.nc:
- 'A_SST:A_Ice_frac:A_Snow_thickness:A_Ice_temp:A_Ice_albedo <--gauswgt_i-- sst_feom:sie_feom:snt_feom:ist_feom:sia_feom'
- 'A_CurX:A_CurY <--gauswgt_i-- u_feom:v_feom'
'v3.3':
version: 6.0-YAC
mct_version: 6.0
input_dir: ${pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/
rstos_file_name: 'rstos_oyac'
rstas_file_name: 'rstas_oyac'
add_process_ordering:
- xios
coupling_target_fields:
rstas.nc:
- 'heat_oce:heat_swo <--oyac_gauswgt_c-- A_Qns_oce:A_Qs_all'
- 'prec_oce:snow_oce:evap_oce:subl_oce <--oyac_gauswgt_c-- A_Precip_liquid:A_Precip_solid:A_Evap:A_Subl'
- 'heat_ico <--oyac_gauswgt_c-- A_Q_ice'
- 'taux_oce:tauy_oce:taux_ico:tauy_ico <--bicubic-- A_TauX_oce:A_TauY_oce:A_TauX_ice:A_TauY_ice'
- 'R_Runoff_atm:R_Calving_atm <--oyac_gauswgt_c-- A_Runoff:A_Calving'
- 'hydr_oce:enth_oce <--oyac_gauswgt_c-- R_Runoff_oce:R_Calving_oce'
rstos.nc:
- 'A_SST:A_Ice_frac:A_Snow_thickness:A_Ice_temp:A_Ice_albedo <--oyac_gauswgt_i-- sst_feom:sie_feom:snt_feom:ist_feom:sia_feom'
- 'A_CurX:A_CurY <--oyac_gauswgt_i-- u_feom:v_feom'
'v3.4':
mct_version: 5.0
input_dir: ${pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/
Expand Down
76 changes: 76 additions & 0 deletions namelists/fesom2/2.6/awicm3/v3.3/namelist.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
! This is the namelist file for model general configuration

&modelname
runid='fesom'
/

&timestep
step_per_day=32 !96 !96 !72 !72 !45 !72 !96
run_length=62 !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/ab0246/a270092/input/fesom2/core2/'
climatedatapath = '/work/ab0246/a270092/input/FESOM2/INITIAL/phc3.0/'
resultpath = '../result_tmp/'
/

&restart_log
restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1)
restart_length_unit='y' !output period: y, d, h, s, off
raw_restart_length=1 ! --> do core dump restart
raw_restart_length_unit='y' ! e.g. y, d, h, s, off
bin_restart_length=1 ! --> do derived type binary restart
bin_restart_length_unit='y' ! e.g. y, d, h, s, off
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=.true.
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.
flag_debug=.false.
use_transit=.false.
/

&machine
n_levels=2
n_part= 5, 128 ! 432 number of partitions on each hierarchy level
/

&icebergs
use_icesheet_coupling=.false.
ib_num=1
use_icebergs=.false.
steps_per_ib_step=8
ib_async_mode=0
/
75 changes: 75 additions & 0 deletions namelists/fesom2/2.6/awicm3/v3.3/namelist.cvmix
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
! namelist for Turbulent Kinetic Energy (TKE)
&param_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
tke_dolangmuir = .false.
/

! namelist for IDEMIX von Pollman et al. (2017)
&param_idemix
idemix_tau_v = 172800.0 ! 2days ! time scale for vertical symmetrisation (sec)
idemix_tau_h = 1296000.0 !15days ! 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 = 5.0 ! spectral bandwidth in modes (dimensionless)
idemix_mu0 = 0.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_surforc_vname= 'var706'
idemix_botforc_file = '/work/ollie/clidyn/forcing/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc'
idemix_botforc_vname= 'wave_dissipation'
/

! namelist for PP
&param_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
&param_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
&param_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 = '/albedo/work/projects/p_pool_fesom1/fesom2.0/forcing/idemix/tidal_energy_gx1v6_20090205_rgrid.nc'
/

36 changes: 36 additions & 0 deletions namelists/fesom2/2.6/awicm3/v3.3/namelist.dyn
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
&dynamics_visc
visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s).
visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity
visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option
visc_easybsreturn= 1.5

opt_visc = 5
check_opt_visc=.true. ! check if optvisc=5 is valid based on ratio resol/rossbyR
! 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

use_ivertvisc= .true.
/

&dynamics_general
momadv_opt = 2 ! option for momentum advection in moment only =2
use_freeslip = .false. ! Switch on free slip
use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity
wsplit_maxcfl= 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
ldiag_KE=.false. ! activates energy diagnostics
AB_order=2

use_ssh_se_subcycl = .false.
se_BTsteps = 50
se_BTtheta = 0.14 ! default: 0.14,
se_bottdrag = .true.
se_bdrag_si = .true. ! bottomdrag semi-implicite/explicite
se_visc = .true.
se_visc_gamma0 = 10
se_visc_gamma1 = 19500 !19500 (core2@32spd), 2750 (core2@72spd)
se_visc_gamma2 = 0
/

80 changes: 80 additions & 0 deletions namelists/fesom2/2.6/awicm3/v3.3/namelist.forcing
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
! This is the namelist file for forcing

&forcing_exchange_coeff
Ce_atm_oce=0.00175 ! exchange coeff. of latent heat over open water
Ch_atm_oce=0.00175 ! exchange coeff. of sensible heat over open water
Cd_atm_oce=0.001 ! drag coefficient between atmosphere and water
Ce_atm_ice=0.00175 ! exchange coeff. of latent heat over ice
Ch_atm_ice=0.00175 ! exchange coeff. of sensible heat over ice
Cd_atm_ice=0.0012 ! drag coefficient between atmosphere and ice
Swind =0.0 ! parameterization for coupled current feedback
/

&forcing_bulk
AOMIP_drag_coeff=.false.
ncar_bulk_formulae=.true.
ncar_bulk_z_wind=10.0 ! height at which wind forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)
ncar_bulk_z_tair=10.0 ! height at which temp forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)
ncar_bulk_z_shum=10.0 ! height at which humi forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)

/

&land_ice
use_landice_water=.false.
landice_start_mon=5
landice_end_mon=10
fwf_path='./mesh/'

/

&age_tracer
use_age_tracer=.false.
use_age_mask=.false.
age_tracer_path='./mesh/'
age_start_year=2000

/

&nam_sbc
nm_xwind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with wind speeds x
nm_ywind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with wind speeds y
nm_xstre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with wind stress x
nm_ystre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with wind stress y
nm_humi_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss.' ! name of file with humidity
nm_qsr_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds.' ! name of file with solar heat
nm_qlw_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds.' ! name of file with Long wave
nm_tair_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/tas.' ! name of file with 2m air temperature
nm_prec_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation
nm_snow_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation
nm_mslp_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level
nm_xwind_var = 'uas' ! name of variable in file with wind
nm_ywind_var = 'vas' ! name of variable in file with wind
nm_xstre_var = 'uas' ! name of variable in file with wind
nm_ystre_var = 'vas' ! name of variable in file with wind
nm_humi_var = 'huss' ! name of variable in file with humidity
nm_qsr_var = 'rsds' ! name of variable in file with solar heat
nm_qlw_var = 'rlds' ! name of variable in file with Long wave
nm_tair_var = 'tas' ! name of variable in file with 2m air temperature
nm_prec_var = 'prra' ! name of variable in file with total precipitation
nm_snow_var = 'prsn' ! name of variable in file with total precipitation
nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level
nm_nc_iyear = 1900
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 = 0 ! 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_xstre=.false. l_ystre=.false. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.false. l_cloud=.false. l_snow=.true.
runoff_data_source ='CORE2' !Dai09, CORE2
nm_runoff_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/CORE2_runoff.nc'
!nm_runoff_file ='/work/ollie/qwang/FESOM2_input/mesh/CORE2_finaltopo_mean/forcing_data_on_grid/runoff_clim.nc'
!runoff_data_source ='Dai09' !Dai09, CORE2, JRA55
!runoff_climatology =.true.
sss_data_source ='CORE2'
nm_sss_data_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/PHC2_salx.nc'
chl_data_source ='None' !'Sweeney' monthly chlorophyll climatology or 'NONE' for constant chl_const (below). Make use_sw_pene=.TRUE. in namelist.config!
nm_chl_data_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/Sweeney/Sweeney_2005.nc'
chl_const = 0.1
use_runoff_mapper = .FALSE.
runoff_basins_file = 'runoff_maps_regular.nc'
runoff_radius = 500000.
/
Loading

0 comments on commit 6b3d3a6

Please sign in to comment.