diff --git a/configs/components/amip/amip.yaml b/configs/components/amip/amip.yaml index d6a523d28..cbe7474eb 100644 --- a/configs/components/amip/amip.yaml +++ b/configs/components/amip/amip.yaml @@ -17,7 +17,7 @@ amip: ## clean_command: rm -rf bin; cd src; make clean; cd .. comp_command: rm -rf bin; mkdir bin; cd src; make ; cd .. ; cp bin/amip-forcing.exe ./bin/amip - git-repository: https://gitlab.dkrz.de/ec-earth/amip-forcing.git + git-repository: https://gitlab.dkrz.de/ec-earth/amip-forcing-ece4.git install_bins: bin/amip ## ## Directories @@ -79,7 +79,7 @@ amip: namelist.amip: NAMAMIP: RunLengthSec: "${runtime_seconds}" - TimeStepSec: "84600" + TimeStepSec: "86400" FixYear: "0" StartYear: "1850" FileListSST: ${input_in_work.sst_forcing} diff --git a/configs/components/fesom/fesom-2.6.yaml b/configs/components/fesom/fesom-2.6.yaml index 32ed11d3f..59fef2c8a 100644 --- a/configs/components/fesom/fesom-2.6.yaml +++ b/configs/components/fesom/fesom-2.6.yaml @@ -128,6 +128,13 @@ fesom: whichEVP: 0 alpha_evp: 250 # constant that control numerical stability of mEVP. beta_evp: 250 # constant that control numerical stability of mEVP. + CORE3: + nx: 211567 + mesh_dir: "${fesom.mesh_base_dir}/core3/" + nproc: 128 + whichEVP: 1 + alpha_evp: 300 # constant that control numerical stability of mEVP. + beta_evp: 300 # constant that control numerical stability of mEVP. pi: nx: 3140 mesh_dir: "${fesom.mesh_base_dir}/pi/" @@ -179,6 +186,11 @@ fesom: whichEVP: 1 alpha_evp: 500 # constant that control numerical stability of mEVP. beta_evp: 500 # constant that control numerical stability of mEVP. + DARS2: + nx: 3146761 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. ROS2: nx: 26306560 whichEVP: 1 @@ -624,6 +636,8 @@ fesom: grid: feom v_feom: grid: feom + FCO2_feom: + grid: feom taux_oce: grid: feom tauy_oce: @@ -656,6 +670,8 @@ fesom: grid: feom v10w_oce: grid: feom + XCO2_oce: + grid: feom wiso_fields: diff --git a/configs/components/fesom/fesom-2.7.yaml b/configs/components/fesom/fesom-2.7.yaml new file mode 100644 index 000000000..359ff823f --- /dev/null +++ b/configs/components/fesom/fesom-2.7.yaml @@ -0,0 +1,719 @@ +# FESOM2 YAML CONFIGURATION FILE +# +fesom: + model: fesom + branch: "2.7.0" + version: "2.7" + type: ocean + + comp_command: mkdir -p build; cd build; cmake -DENABLE_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc --all` + clean_command: ${defaults.clean_command} + + # MA This variable needs to be set true in every version of fesom-2.1 (choose_ block + # below) whose source code contains the icebergs implementation + with_icb: false + use_icebergs: false + use_icesheet_coupling: false + + wiso_code: false + with_wiso: false + with_recom: false + + required_plugins: + - "git+https://github.com/esm-tools-plugins/tar_binary_restarts" + + choose_version: + "2.7": + branch: "2.7.0" + "2.7.2": + branch: "2.7.2" + "2.7.3": + branch: "2.7.3" + "2.7-main": + branch: "main" + #namelist_dir: "${model_dir}/config/" + + destination: "fesom-2.7" + install_bins: bin/fesom.x + git-repository: + - https://github.com/FESOM/fesom2.git + contact: "jan.streffing(at)awi.de, patrick.scholz(at)awi.de miguel.andres-martinez(at)awi.de, paul.gierz(at)awi.de" + + restart_rate: "12" + restart_unit: "m" + restart_first: 12 + restart_flag: "last" + + tar_binary_restarts: True + + time_step: 1800 + resolution: CORE2 + + comp_executable: fesom.x + executable: fesom + + mesh_rotated: false + old_mesh_format: false + with_part_format: false + time_dimension: "time" + + pool_dir: "${computer.pool_directories.pool}" + + choose_computer.name: + levante: + pool_dir: "${computer.pool_directories.pool}/AWICM/" + climate_data_dir: "${pool_dir}/FESOM2/INITIAL/phc3.0/" + forcing_data_dir: "${pool_dir}/FESOM2/FORCING/" + mesh_base_dir: "${pool_dir}/FESOM2/MESHES_FESOM2.1/" + albedo: + climate_data_dir: "${pool_dir}/FESOM/hydrography/" + mesh_base_dir: "${pool_dir}/FESOM/meshes_default/" + + setup_dir: "${model_dir}" + bin_dir: "${setup_dir}/bin" + climate_data_dir: "${pool_dir}/FESOM2/hydrography/phc3.0/" + forcing_data_dir: "${pool_dir}/forcing/" + mesh_base_dir: "${pool_dir}/FESOM2/meshes/" + ini_data_dir: "${pool_dir}/pool-data/" + namelist_dir: "${esm_namelist_dir}/fesom2/${version}/" + + opbnd_dir: "somepath" + tide_forcing_dir: "somepath" + + steps_per_day: "$(( 86400 / ${time_step} ))" + + asforcing: JRA55 + + namelists: + - namelist.config + - namelist.cvmix + - namelist.dyn + - namelist.forcing + - namelist.ice + - namelist.icepack + - namelist.io + - namelist.oce + - namelist.tra + - namelist.transit + + whichEVP: 0 # 0=EVP, 1=mEVP, 2=aEVP + # See: Kimmritz et. al 2015 & 2016: https://doi.org/10.1016/j.jcp.2015.04.051, https://doi.org/10.1016/j.ocemod.2016.03.004 + choose_resolution: + CORE2: + nx: 126858 + mesh_dir: "${fesom.mesh_base_dir}/core2/" + nproc: 288 + whichEVP: 0 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + CORE3: + nx: 211567 + mesh_dir: "${fesom.mesh_base_dir}/core3/" + nproc: 128 + whichEVP: 1 + alpha_evp: 300 # constant that control numerical stability of mEVP. + beta_evp: 300 # constant that control numerical stability of mEVP. + pi: + nx: 3140 + mesh_dir: "${fesom.mesh_base_dir}/pi/" + nproc: 4 + whichEVP: 0 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + LGM: + nx: 95239 + mesh_dir: "/home/a/a270064/bb1029/inputs/mesh_glac1d_m1_512/" + nproc: 1024 + whichEVP: 0 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + GLOB: + nx: 830305 + whichEVP: 1 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + CAVCORE2: + nx: 72411 + mesh_dir: "/work/ollie/pscholz/mesh_fesom2.0/cavity_72k/" + nproc: 288 + whichEVP: 0 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + PI_ICEv2: + nx: 132273 + whichEVP: 0 + alpha_evp: 250 # constant that control numerical stability of mEVP. + beta_evp: 250 # constant that control numerical stability of mEVP. + D3: + nx: 3160340 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + orca25: + nx: 912469 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + DART: + nx: 3160340 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + DARS: + nx: 3160340 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + DARS2: + nx: 3146761 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + ROS2: + nx: 26306560 + whichEVP: 1 + alpha_evp: 900 # constant that control numerical stability of mEVP. + beta_evp: 900 # constant that control numerical stability of mEVP. + HR: + nx: 1306775 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + jane: + nx: 33348172 + whichEVP: 1 + alpha_evp: 900 # constant that control numerical stability of mEVP. + beta_evp: 900 # constant that control numerical stability of mEVP. + SO3: + nx: 11087062 + whichEVP: 1 + alpha_evp: 800 # constant that control numerical stability of mEVP. + beta_evp: 800 # constant that control numerical stability of mEVP. + Arc01_fesom2: + nx: 753179 + whichEVP: 1 + alpha_evp: 500 # constant that control numerical stability of mEVP. + beta_evp: 500 # constant that control numerical stability of mEVP. + + + restart_in_files: + par_oce_restart: par_oce_restart + par_ice_restart: par_ice_restart + + restart_in_in_work: + par_oce_restart: fesom.${parent_date!syear}.oce.restart/*.nc + par_ice_restart: fesom.${parent_date!syear}.ice.restart/*.nc + fesom_raw_restart_info: fesom_raw_restart/*.info + fesom_raw_restart: fesom_raw_restart/np${nproc}/*.dump + fesom_bin_restart_info: fesom_bin_restart/*.info + fesom_bin_restart: fesom_bin_restart/np${nproc}/* + wiso_restart: fesom.${parent_date!syear}.wiso.restart.nc + icb_restart: iceberg.restart #.${parent_date!syear!month} + icb_restart_ISM: iceberg.restart.ISM + restart_in_sources: + par_oce_restart: fesom.${parent_date!syear}.oce.restart/*.nc + par_ice_restart: fesom.${parent_date!syear}.ice.restart/*.nc + fesom_raw_restart_info: fesom_raw_restart/*.info + fesom_raw_restart: fesom_raw_restart/np${nproc}/*.dump + fesom_bin_restart_info: fesom_bin_restart/*.info + fesom_bin_restart: fesom_bin_restart/np${nproc}/* + wiso_restart: fesom.${parent_date!syear}.wiso.restart.nc + icb_restart: iceberg.restart #.${parent_date!syear!month} + icb_restart_ISM: iceberg.restart.ISM + + restart_out_files: + par_oce_restart: par_oce_restart + par_ice_restart: par_ice_restart + fesom_raw_restart_info: fesom_raw_restart_info + fesom_raw_restart: fesom_raw_restart + fesom_bin_restart_info: fesom_bin_restart_info + fesom_bin_restart: fesom_bin_restart + + restart_out_in_work: + par_oce_restart: fesom.${end_date!syear}.oce.restart/*.nc + par_ice_restart: fesom.${end_date!syear}.ice.restart/*.nc + fesom_raw_restart_info: fesom_raw_restart/*.info + fesom_raw_restart: fesom_raw_restart/np${nproc}/*.dump + fesom_raw_restart_tar: fesom_raw_restart.tar.* + fesom_bin_restart_info: fesom_bin_restart/*.info + fesom_bin_restart: fesom_bin_restart/np${nproc}/* + fesom_bin_restart_tar: fesom_bin_restart.tar.* + wiso_restart: fesom.${end_date!syear}.wiso.restart.nc + icb_restart: iceberg.restart #.${parent_date!syear} + icb_restart_ISM: iceberg.restart.ISM + restart_out_sources: + par_oce_restart: fesom.${end_date!syear}.oce.restart/*.nc + par_ice_restart: fesom.${end_date!syear}.ice.restart/*.nc + fesom_raw_restart_info: fesom_raw_restart/*.info + fesom_raw_restart: fesom_raw_restart/np${nproc}/*.dump + fesom_raw_restart_tar: fesom_raw_restart.tar.* + fesom_bin_restart_info: fesom_bin_restart/*.info + fesom_bin_restart: fesom_bin_restart/np${nproc}/* + fesom_bin_restart_tar: fesom_bin_restart.tar.* + wiso_restart: fesom.${end_date!syear}.wiso.restart.nc + icb_restart: iceberg.restart #.${parent_date!syear} + icb_restart_ISM: iceberg.restart.ISM + + outdata_sources: + fesom: "*.fesom.*.nc" + outdata_targets: + fesom: "*.fesom.*.nc" + + choose_with_icb: + True: + required_plugins: + - "git+https://github.com/esm-tools-plugins/fesom_icb_pism" + + prepcompute_recipe: + - "compile_model" + - "_show_simulation_info" + - "create_new_files" + - "create_empty_folders" + - "prepare_coupler_files" + - "assemble" + - "log_used_files" + - "wait_for_iterative_coupling" + - "prep_icebergs" # Plugin + - "copy_files_to_thisrun" + - "modify_namelists" + - "apply_iceberg_calving_to_namelists" # Plugin + - "modify_files" + - "copy_files_to_work" + - "report_missing_files" + - "compute_and_log_file_checksums" + - "_write_finalized_config" + - "database_entry" + + use_icebergs: True # turns on icebergs + use_icesheet_coupling: True # initializes new icebergs every restart + update_icebergs: True + + icb_inputs: [longitude,latitude,length,height,scaling,felem] + + add_restart_in_files: + icb_restart: icb_restart + icb_restart_ISM: icb_restart_ISM + + add_restart_out_files: + icb_restart: icb_restart + icb_restart_ISM: icb_restart_ISM + + add_outdata_targets: + buoys_track: "buoys_track.nc_${run_datestamp}" + + add_outdata_sources: + buoys_track: "buoys_track.nc" + + choose_general.iterative_coupling: + True: + choose_general.chunk_number: + 1: + disch_file: "${ini_disch_file}" + "*": + disch_file: "${general.experiment_couple_dir}/latest_discharge.nc" + '*': + use_landice_water: False + + choose_use_icesheet_coupling: + true: + choose_general.run_number: + 1: + iceberg_dir: "${ini_iceberg_dir}" + "*": + iceberg_dir: "${general.experiment_couple_dir}" + + add_input_files: + num_non_melted_icb_file: "num_non_melted_icb_file" + + "*": + iceberg_dir: "${ini_iceberg_dir}" + + choose_update_icebergs: + true: + add_input_sources: + "[[icb_inputs-->ICB_INPUT]]": ${iceberg_dir}/icb_ICB_INPUT.dat + num_non_melted_icb_file: "${iceberg_dir}/num_non_melted_icb_file" + + false: + add_input_sources: + "[[icb_inputs-->ICB_INPUT]]": ${iceberg_dir}/icb_ICB_INPUT.dat_@YEAR@0101-@YEAR@1231 + num_non_melted_icb_file: "${iceberg_dir}/num_non_melted_icb_file_@YEAR@0101-@YEAR@1231" + + add_input_in_work: + latitude: "icb_latitude.dat" + longitude: "icb_longitude.dat" + length: "icb_length.dat" + height: "icb_height.dat" + scaling: "icb_scaling.dat" + felem: "icb_felem.dat" + num_non_melted_icb_file: "num_non_melted_icb_file" + + add_input_files: + latitude: "latitude" + longitude: "longitude" + length: "length" + height: "height" + scaling: "scaling" + felem: "felem" + #num_non_melted_icb_file: "num_non_melted_icb_file" + + log_files: + clock: clock + mesh_diag: mesh_diag + + log_in_work: + clock: fesom.clock + mesh_diag: fesom.mesh.diag.nc + + log_sources: + clock: fesom.clock + mesh_diag: fesom.mesh.diag.nc + + file_movements: + fesom_raw_restart_in: + all_directions: move + fesom_raw_restart_out: + all_directions: move + fesom_raw_restart_info_in: + all_directions: move + fesom_raw_restart_info_out: + all_directions: move + fesom_raw_restart_tar_out: + all_directions: move + fesom_bin_restart_in: + all_directions: move + fesom_bin_restart_out: + all_directions: move + fesom_bin_restart_info_in: + all_directions: move + fesom_bin_restart_info_out: + all_directions: move + fesom_bin_restart_tar_out: + all_directions: move + + choose_tar_binary_restarts: + True: + add_restart_out_files: + fesom_raw_restart_tar: fesom_raw_restart_tar + + # Is it a branchoff experiment? + branchoff: "$(( ${lresume} and ${general.run_number}==1 ))" + choose_branchoff: + # Makes sure the new in the namelist make an earlier date than that of + # of the clock to avoid cold starts for branching off experiments + true: + daynew: "${startday}" + yearnew: "$(( ${initial_date!syear} - 1 ))" + false: + daynew: "${initial_date!sdoy}" + yearnew: "${initial_date!syear}" + add_restart_in_files: + fesom_raw_restart_info: fesom_raw_restart_info + fesom_raw_restart: fesom_raw_restart + fesom_bin_restart_info: fesom_bin_restart_info + fesom_bin_restart: fesom_bin_restart + + + + namelist_changes: + namelist.config: + clockinit: + daynew: "${daynew}" + yearnew: "${yearnew}" + calendar: + include_fleapyear: "${leapyear}" + paths: + MeshPath: "${mesh_dir}" + ClimateDataPath: "${climate_data_dir}" + ResultPath: "${work_dir}" + timestep: + step_per_day: "${steps_per_day}" + run_length: "${restart_rate}" + run_length_unit: "${restart_unit}" + restart_log: + restart_length: "${restart_rate}" + restart_length_unit: "${restart_unit}" + inout: + restartflag: "${restart_flag}" + output_length: "${restart_rate}" + output_length_unit: "${restart_unit}" + restart_length: "${restart_rate}" + run_config: + lwiso: "${with_wiso}" + icebergs: + use_icebergs: "${use_icebergs}" + use_icesheet_coupling: "${use_icesheet_coupling}" + steps_per_ib_step: 8 + + + namelist.forcing: + + forcing_exchange_coeff: + Ce_atm_oce: ${Ce_atm_oce} + Ch_atm_oce: ${Ch_atm_oce} + Cd_atm_oce: ${Cd_atm_oce} + Ce_atm_ice: ${Ce_atm_ice} + Ch_atm_ice: ${Ch_atm_ice} + Cd_atm_ice: ${Cd_atm_ice} + + forcing_bulk: + AOMIP_drag_coeff: ${AOMIP_drag_coeff} + ncar_bulk_formulae: ${ncar_bulk_formulae} + ncar_bulk_z_wind: ${ncar_bulk_z_wind} + ncar_bulk_z_tair: ${ncar_bulk_z_tair} + ncar_bulk_z_shum: ${ncar_bulk_z_shum} + + nam_sbc: + nm_xwind_file: "${forcing_data_dir}/${forcing_folder}/${xwind_prefix}" + nm_ywind_file: "${forcing_data_dir}/${forcing_folder}/${ywind_prefix}" + nm_humi_file: "${forcing_data_dir}/${forcing_folder}/${humi_prefix}" + nm_qsr_file: "${forcing_data_dir}/${forcing_folder}/${qsr_prefix}" + nm_qlw_file: "${forcing_data_dir}/${forcing_folder}/${qlw_prefix}" + nm_tair_file: "${forcing_data_dir}/${forcing_folder}/${tair_prefix}" + nm_prec_file: "${forcing_data_dir}/${forcing_folder}/${prec_prefix}" + nm_snow_file: "${forcing_data_dir}/${forcing_folder}/${snow_prefix}" + nm_mslp_file: "${forcing_data_dir}/${forcing_folder}/${mslp_prefix}" + + nm_xwind_var: ${nm_xwind_var} + nm_ywind_var: ${nm_ywind_var} + nm_humi_var: ${nm_humi_var} + nm_qsr_var: ${nm_qsr_var} + nm_qlw_var: ${nm_qlw_var} + nm_tair_var: ${nm_tair_var} + nm_prec_var: ${nm_prec_var} + nm_snow_var: ${nm_snow_var} + nm_mslp_var: ${nm_mslp_var} + + nm_nc_iyear: ${nm_nc_iyear} + nm_nc_imm: ${nm_nc_imm} + nm_nc_idd: ${nm_nc_idd} + nm_nc_freq: ${nm_nc_freq} + nm_nc_tmid: ${nm_nc_tmid} + l_xwind: ${l_xwind} + l_ywind: ${l_ywind} + l_humi: ${l_humi} + l_qsr: ${l_qsr} + l_qlw: ${l_qlw} + l_tair: ${l_tair} + l_prec: ${l_prec} + l_mslp: ${l_mslp} + l_cloud: ${l_cloud} + l_snow: ${l_snow} + + nm_runoff_file: "${forcing_data_dir}/${forcing_folder}/${runoff_file}" + nm_sss_data_file: "${forcing_data_dir}/${forcing_folder}/${sss_data_file}" + + runoff_data_source: ${runoff_data_source} + sss_data_source: ${sss_data_source} + namelist.ice: + ice_dyn: + whichEVP: ${whichEVP} + alpha_evp: ${alpha_evp} + beta_evp: ${beta_evp} + + with_cavity: false + choose_with_cavity: + true: + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + + use_landice_water: False + choose_general.iterative_coupling: + true: + add_output_targets: + fesom: "*.fesom.*.nc" + + choose_general.chunk_number: + 1: + use_landice_water: False + "*": + use_landice_water: True + + fwf_path: "${general.experiment_couple_dir}" + + add_namelist_changes: + namelist.forcing: + land_ice: + use_landice_water: "${use_landice_water}" + landice_start_mon: 1 + landice_end_mon: 12 + fwf_path: "${fwf_path}" + '*': + use_landice_water: False + + lasttime: "$(( 86400 - ${time_step}))" + currentday: "${current_date!sdoy}" + choose_currentday: + "1": + starttime: "0.0000000000000" + startday: 1 + '*': + starttime: "86400.0000000000" + startday: "$(( ${start_date!sdoy} - 1 ))" + + choose_lresume: + false: + create_config: + fesom.clock: + - "<--append-- 0.0000000000000 ${initial_date!sdoy} ${initial_date!syear}" + - "<--append-- 0.0000000000000 ${initial_date!sdoy} ${initial_date!syear}" + true: + create_config: + fesom.clock: + - "<--append-- ${lasttime} ${parent_date!sdoy} ${parent_date!syear}" + - "<--append-- ${starttime} ${startday} ${start_date!syear}" + + bin_in_work: + bin: "${executable}" + lib: "lib/fesom/libfesom.so" + + bin_sources: + bin: "${bin_dir}/${comp_executable}" + lib: "${fesom.model_dir}/build/lib/libfesom.so" + + + + config_files: + config: config + cvmix: cvmix + dyn: dyn + forcing: forcing + ice: ice + icepack: icepack + io: io + oce: oce + tra: tra + transit: transit + + config_sources: + config: "${namelist_dir}/namelist.config" + cvmix: "${namelist_dir}/namelist.cvmix" + dyn: "${namelist_dir}/namelist.dyn" + forcing: "${namelist_dir}/namelist.forcing" + ice: "${namelist_dir}/namelist.ice" + icepack: "${namelist_dir}/namelist.icepack" + io: "${namelist_dir}/namelist.io" + oce: "${namelist_dir}/namelist.oce" + tra: "${namelist_dir}/namelist.tra" + transit: "${namelist_dir}/namelist.transit" + + config_in_work: + config: "namelist.config" + cvmix: "namelist.cvmix" + dyn: "namelist.dyn" + forcing: "namelist.forcing" + ice: "namelist.ice" + icepack: "namelist.icepack" + io: "namelist.io" + oce: "namelist.oce" + tra: "namelist.tra" + transit: "namelist.transit" + + coupling_fields: + sst_feom: + grid: feom + sit_feom: + grid: feom + sie_feom: + grid: feom + snt_feom: + grid: feom + u_feom: + grid: feom + v_feom: + grid: feom + FCO2_feom: + grid: feom + taux_oce: + grid: feom + tauy_oce: + grid: feom + taux_ico: + grid: feom + tauy_ico: + grid: feom + prec_oce: + grid: feom + snow_oce: + grid: feom + evap_oce: + grid: feom + subl_oce: + grid: feom + heat_oce: + grid: feom + heat_ico: + grid: feom + heat_swo: + grid: feom + hydr_oce: + grid: feom + calv_oce: + grid: feom + enth_oce: + grid: feom + u10w_oce: + grid: feom + v10w_oce: + grid: feom + XCO2_oce: + grid: feom + + + wiso_fields: + - o18w_oce + - hdow_oce + - o16w_oce + - o18i_oce + - hdoi_oce + - o16i_oce + - w1_oce + - w2_oce + - w3_oce + - i1_oce + - i2_oce + - i3_oce + + + choose_with_wiso: + True: + add_restart_in_files: + wiso_restart: wiso_restart + add_restart_out_files: + wiso_restart: wiso_restart + add_coupling_fields: + "[[wiso_fields-->FIELD]]": + grid: feom + + + grids: + feom: + name: feom + nx: ${nx} + ny: 1 + oasis_grid_type: "U" + oyac_grid_type: "GC" + oyac_io_per_node: 4 + number_of_overlapping_points: 0 # oasis P-value + + + further_reading: + - fesom/fesom.forcing.yaml + - fesom/fesom.env.yaml + + # ------------------------ + # RECIPE + # ------------------------ + tidy_recipe: + - "tidy_coupler" + - "tar_binary_restarts" # Plugin + - "assemble" + - "check_for_unknown_files" + - "log_used_files" + - "throw_away_some_infiles" + - "copy_stuff_back_from_work" + - "copy_all_results_to_exp" + - "clean_run_dir" + diff --git a/configs/components/lpj_guess/lpj_guess.cmip.yaml b/configs/components/lpj_guess/lpj_guess.cmip.yaml new file mode 100644 index 000000000..6ce7b67ae --- /dev/null +++ b/configs/components/lpj_guess/lpj_guess.cmip.yaml @@ -0,0 +1,51 @@ +# LPJ-GUESS CMIP Configuration +# +# This file provides CMIP-specific defaults for LPJ-GUESS. +# Set lpj_guess.mip to "cmip6" or "cmip7" to select the appropriate defaults. +# Individual settings can still be overridden in the runscript. + +lpj_guess: + # Default MIP version and scenario + mip: "cmip7" + scenario: piControl + + # CO2 forcing file paths + co2_file_cmip6: ${lpj_guess.input_dir}/cmip6_forcing/mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc + co2_file_cmip7: ${lpj_guess.input_dir}/cmip7_forcing/co2_input4MIPs_GHGConcentrations_CMIP_CR-CMIP-1-0-0_gm_1750-2022.nc + co2_workname_cmip6: mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc + co2_workname_cmip7: co2_input4MIPs_GHGConcentrations_CMIP_CR-CMIP-1-0-0_gm_1750-2022.nc + + choose_mip: + "cmip6": + co2_source_file: ${co2_file_cmip6} + co2_work_file: ${co2_workname_cmip6} + ndep_cmip_dir: "" + use_luh3_input: 0 # CMIP6 uses LUH2 text files + + "cmip7": + co2_source_file: ${co2_file_cmip7} + co2_work_file: ${co2_workname_cmip7} + + ndep_cmip_dir: "../ndep/" + + use_luh3_input: 1 # CMIP7 uses LUH3 NetCDF files + luh3_input_dir: ${lpj_guess.input_dir}/land_use/regridded/ + use_luh3_yearly_transitions: 0 + file_luh3_transitions_dir: "${lpj_guess.input_dir}/land_use/transitions_yearly" + file_luh3_transitions: "${lpj_guess.input_dir}/land_use/regridded/multiple-transitions_input4MIPs_landState_CMIP_UofMD-landState-3-1-1_gn_0850-2023_${lpj_guess.mygrid}.nc" + file_luh3_states: "${lpj_guess.input_dir}/land_use/regridded/multiple-states_input4MIPs_landState_CMIP_UofMD-landState-3-1-1_gn_0850-2024_${lpj_guess.mygrid}.nc" + file_luh3_management: "${lpj_guess.input_dir}/land_use/regridded/multiple-management_input4MIPs_landState_CMIP_UofMD-landState-3-1-1_gn_0850-2024_${lpj_guess.mygrid}.nc" + run_landcover: 1 + run_natural: 1 + run_crop: 1 + run_pasture: 1 + run_barren: 0 # Disabled for LUH3 - calculated as residual internally + run_urban: 1 + run_peatland: 1 # Disabled for now. + firemodel: BLAZE + + choose_scenario: + "piControl": + fixed_CO2: 1850 + fixed_ndep: 1850 + fixed_LU: 1850 diff --git a/configs/components/lpj_guess/lpj_guess.yaml b/configs/components/lpj_guess/lpj_guess.yaml index 7098cfcb1..46fb2ecbf 100644 --- a/configs/components/lpj_guess/lpj_guess.yaml +++ b/configs/components/lpj_guess/lpj_guess.yaml @@ -8,7 +8,13 @@ lpj_guess: model: lpj_guess - version: 4.1.1 + version: 4.1.2 + + required_plugins: + - "git+https://github.com/JanStreffing/lpjg2nc2" + + further_reading: + - lpj_guess/lpj_guess.cmip.yaml metadata: Institute: Lund Universitiy @@ -25,18 +31,22 @@ lpj_guess: git-repository: https://gitlab.dkrz.de/ec-earth/lpj-guess4.1.1.git destination: lpj_guess branch: main - #comp_command: "mkdir -p ${model_dir}/build; cd ${model_dir}/build; cmake ..; make -j8" comp_command: "mkdir -p build; cd build; cmake ..; make -j8" setup_dir: "${model_dir}" bin_dir: "${setup_dir}/bin" install_bins: "build/guess" clean_command: "rm -rf build" - executable: guess + executable: guess_TL255 execution_command: ${executable} ${runscript_name} #resolution: TL159 #if it's not set i dosen't work! resolution: TL255 #if it's not set i dosen't work! - TM5: false + TM5: 0 + + # Enumeration for parallel run directories (run1, run2, ..., runN) + nproc: 8 + proc_list_entry: '[str(x) for x in range(1,${nproc}+1)]' + proc_list: $(( ${proc_list_entry} )) choose_version: 4.1.1: @@ -47,8 +57,12 @@ lpj_guess: runscript_name: run_coupled_4_1_2.ins git-repository: https://git.smhi.se/e8891/lpjg-4.1.git branch: lpj_guess_awiesm3 - mygrid: TL255 - maxgrid: 25215 + install_bins: build/guess + executable: guess + 4.1.3: + runscript_name: run_coupled_4_1_2.ins + git-repository: https://git.smhi.se/jan.streffing/lpjg-4.1.git + branch: 4.1.3 install_bins: build/guess executable: guess @@ -64,6 +78,11 @@ lpj_guess: # Some recommended defaults (restart for old experiment yes or no?) lresume: false time_step: 86400 + nyear_spinup: 10 + + # Fire model selection: BLAZE, GLOBFIRM, NOFIRE + # Set to BLAZE to enable SIMFIRE/BLAZE fire module + firemodel: NOFIRE choose_lresume: false: @@ -73,19 +92,84 @@ lpj_guess: # Some commonly used variables in other ESM-Tools components (but optional) input_dir: ${pool_dir}/lpj-guess/ + out_date_folder: "${end_date!syear!smonth!sday}" + + # CMIP N deposition directory (empty string to disable, otherwise full path with trailing /) + ndep_input_dir: ${input_dir}/ndep/${resolution}/ + + # Output mode: + # esm_tools_copy: slow but reliable, many files + # collect_txt: combile into one run1 folder for ec2cmor2 few files, fast + # convert_netcdf (future) + output_mode: collect_txt + choose_output_mode: + esm_tools_copy: + # Define files to ignore + ignore_files: + outputs: outputs + log: log + ignore_in_work: + # Ignore output files with the same name + outputs: "output/*.out" + # Ignore log files + log: "*.log" + # Ignore input directories (created during setup) + ndep_dir: "ndep" + landuse_dir: "landuse" + ignore_sources: + outputs: "output/*.out" + log: "*.log" + + # Output data - enumerate over all run directories to preserve structure + # Uses proc_list enumeration (defined above via nproc) + outdata_files: + "lpjg_run_[[proc_list-->PROC_NUM]]": "lpjg_run_PROC_NUM" + outdata_in_work: + "lpjg_run_[[proc_list-->PROC_NUM]]": "runPROC_NUM/output/*.out" + outdata_sources: + "lpjg_run_[[proc_list-->PROC_NUM]]": "runPROC_NUM/*" - # Define files to ignore - ignore_files: - outputs: outputs - log: log - ignore_in_work: - # Ignore output files with the same name - outputs: "output/*.out" - # Ignore log files - log: "*.log" - ignore_sources: - outputs: "output/*.out" - log: "*.log" + collect_txt: + # In collect_txt mode, esm_tools does NOT copy output files. + # Instead, a separate slurm job combines runX/output/*.out into + # single .out files per pattern (for ec2cmor2 preprocessing). + combine_njobs: 8 + + ignore_files: + outputs: outputs + log: log + ignore_in_work: + outputs: "output/*.out" + log: "*.log" + ndep_dir: "ndep" + landuse_dir: "landuse" + ignore_sources: + outputs: "output/*.out" + log: "*.log" + + outdata_files: {} + outdata_in_work: {} + outdata_sources: {} + + scripts_files: + combine1: combine1 + scripts_sources: + combine1: "${esm_function_dir}/components/lpj_guess/subjob_combine.sh" + scripts_targets: + combine1: "${general.experiment_scripts_dir}/${model}/subjob_combine.sh" + + workflow: + next_run_triggered_by: tidy + subjobs: + Combine_LPJG: + batch_or_shell: batch + order_in_cluster: concurrent + run_on_queue: ${computer.partitions.pp.name} + run_after: tidy + script_dir: ${base_dir}/${expid}/scripts/lpj_guess + submit_to_batch_system: true + script: "subjob_combine.sh ${general.thisrun_dir}/work ${lpj_guess.experiment_outdata_dir} ${general.run_datestamp} ${lpj_guess.combine_njobs}" + nproc: 1 namelist_dir: ${general.esm_namelist_dir}/lpj_guess/ gridlist_dir: ${input_dir}/gridlists/ @@ -107,6 +191,69 @@ lpj_guess: bin_sources: bin_tag: ${model_dir}/bin/${executable} + lpjg_parent_state: $((${parent_date!syear}+1)) + lpjg_end_state: $((${end_date!syear}+1)) + + restart_in_files: + state: state + restart_in_in_work: + state: lpjg_state_${lpjg_parent_state}/* + restart_in_sources: + state: lpjg_state_${lpjg_parent_state}/* + restart_out_files: + state: state + restart_out_in_work: + state: lpjg_state_${lpjg_end_state}/* + restart_out_sources: + state: lpjg_state_${lpjg_end_state}/* + + # Soil type file + slt_dir: ${input_dir}/slt/ + + + # SIMFIRE/BLAZE fire input directory + # Files: simfire_monthly_ba.nc (12 months), annual_population_density.nc (1850-2025) + fire_input_dir: ${input_dir}/fire/${resolution}/ + + # N deposition forcing files - link from input to work/ndep with renamed filenames + forcing_files: + soil_layer_type: soil_layer_type + drynhx: drynhx + drynoy: drynoy + wetnhx: wetnhx + wetnoy: wetnoy + peat: peat + simfire_ba: simfire_ba + simfire_popdens: simfire_popdens + forcing_sources: + soil_layer_type: ${slt_dir}/slt_${resolution}.nc + drynhx: ${ndep_input_dir}/drynhx_${resolution}_hist_d1.nc + drynoy: ${ndep_input_dir}/drynoy_${resolution}_hist_d1.nc + wetnhx: ${ndep_input_dir}/wetnhx_${resolution}_hist_d1.nc + wetnoy: ${ndep_input_dir}/wetnoy_${resolution}_hist_d1.nc + peat: ${input_dir}/peat/${resolution}_peat_frac.txt + simfire_ba: ${fire_input_dir}/simfire_monthly_ba.nc + simfire_popdens: ${fire_input_dir}/annual_population_density.nc + "soil_layer_type_[[proc_list-->PROC_NUM]]": ${slt_dir}/slt_${resolution}.nc + "drynhx_[[proc_list-->PROC_NUM]]": ${ndep_input_dir}/drynhx_${resolution}_hist_d1.nc + "drynoy_[[proc_list-->PROC_NUM]]": ${ndep_input_dir}/drynoy_${resolution}_hist_d1.nc + "wetnhx_[[proc_list-->PROC_NUM]]": ${ndep_input_dir}/wetnhx_${resolution}_hist_d1.nc + "wetnoy_[[proc_list-->PROC_NUM]]": ${ndep_input_dir}/wetnoy_${resolution}_hist_d1.nc + forcing_in_work: + soil_layer_type: slt_${resolution}.nc + drynhx: ndep/drynhx2.nc + drynoy: ndep/drynoy2.nc + wetnhx: ndep/wetnhx2.nc + wetnoy: ndep/wetnoy2.nc + peat: landuse/peat_frac.txt + simfire_ba: fire/simfire_monthly_ba.nc + simfire_popdens: fire/annual_population_density.nc + "soil_layer_type_[[proc_list-->PROC_NUM]]": runPROC_NUM/slt_${resolution}.nc + "drynhx_[[proc_list-->PROC_NUM]]": runPROC_NUM/ndep/drynhx2.nc + "drynoy_[[proc_list-->PROC_NUM]]": runPROC_NUM/ndep/drynoy2.nc + "wetnhx_[[proc_list-->PROC_NUM]]": runPROC_NUM/ndep/wetnhx2.nc + "wetnoy_[[proc_list-->PROC_NUM]]": runPROC_NUM/ndep/wetnoy2.nc + choose_resolution: # Note: # Tco grids only work with version 43r3. @@ -199,8 +346,6 @@ lpj_guess: computer: add_export_vars: myfortrancompiler: $FC - #mygrid: TL159 - mygrid: TL255 OASIS_ANCHOR: ../../../oasis NETCDF_C_DIR: $NETCDFROOT NETCDF_F_DIR: $NETCDFFROOT diff --git a/configs/components/lpj_guess/subjob_combine.sh b/configs/components/lpj_guess/subjob_combine.sh new file mode 100755 index 000000000..4fa3f00f8 --- /dev/null +++ b/configs/components/lpj_guess/subjob_combine.sh @@ -0,0 +1,51 @@ +#!/bin/bash -e +############################################################################### +# Combine LPJ-GUESS parallel run output files into single .out files +# for ec2cmor2 preprocessing. +# +# Called as an esm_tools subjob after tidy. +# Requires: pip package lpjg2nc2 (provides combine_runs.py) +# +# Feb 2026 +# AWI Bremerhaven +############################################################################### + +echo "################################################################################" +echo " LPJ-GUESS combine_runs (ec2cmor2 prep) " +echo "################################################################################" +echo "" +echo "$(date):: Starting LPJ-GUESS output combination" +echo "" + +thisrun_work_dir=$1 +outdata_dir=$2 +run_datestamp=$3 +njobs=$4 + +# Construct paths +input_path="${thisrun_work_dir}" +output_path="${outdata_dir}/${run_datestamp}/run1" + +echo "$(date):: Configuration:" +echo "$(date):: input_path = ${input_path}" +echo "$(date):: output_path = ${output_path}" +echo "$(date):: run_datestamp = ${run_datestamp}" +echo "$(date):: njobs = ${njobs}" + +# Create output directory +mkdir -p "${output_path}" + +# Run combine_runs.py with --no-split +echo "$(date):: Running combine_runs.py --no-split" +combine_runs "${input_path}" --no-split -o "${output_path}" -j "${njobs}" +rc=$? + +if [ $rc -eq 0 ]; then + echo "$(date):: Successfully combined LPJ-GUESS output" + echo "$(date):: Output in: ${output_path}" +else + echo "$(date):: ERROR: combine_runs failed with exit code ${rc}" + exit $rc +fi + +echo "$(date):: Done" diff --git a/configs/components/oasis3mct/oasis3mct.yaml b/configs/components/oasis3mct/oasis3mct.yaml index 5077d1fd4..e3f8d651f 100644 --- a/configs/components/oasis3mct/oasis3mct.yaml +++ b/configs/components/oasis3mct/oasis3mct.yaml @@ -59,6 +59,7 @@ oasis3mct: - '4.0-awicm-3.2' - '5.0-smhi' - '5.0-geomar' + - '5.1' - '6.0-YAC' choose_version: '2.8-paleodyn': @@ -87,8 +88,8 @@ oasis3mct: 4.0-awicm-frontiers: branch: awicm-3-frontiers 5.0-smhi: - branch: main - git-repository: https://git.smhi.se/ec-earth/vendor/oasis/oasis3-mct-5.git + branch: cray_ftn_fixes + git-repository: https://git.smhi.se/jan.streffing/oasis3-mct-5 comp_command: 'mkdir -p build; cd build; cmake ..; make -j 1; mkdir -p ../include/; cp lib/psmile/libpsmile.a lib/psmile/mct/libmct.a lib/psmile/mct/mpeu/libmpeu.a lib/psmile/scrip/libscrip.a ../lib; cd ..; find . -type f \( -name "*.o" -o -name "*.mod" \) ! -path "./include/*" -exec cp -t include/ {} +; mkdir -p arch_ecearth; ln -fs ../lib ../include arch_ecearth/' 5.0-geomar: # this version is taken directly from the CERFACS gitlab @@ -107,6 +108,10 @@ oasis3mct: clean_command: 'rm -rf INSTALL_OASIS.ESMTOOLS' # this is how we should do it but it does not work #clean_command: 'export ESM_OASIS_DIR=${model_dir} ; cd util/make_dir/ ; make -f TopMakefileOasis3 realclean ; cd ../../ ; rm -rf build lib/libpsmile.a lib/libscrip.a lib/libmct.a lib/libmpeu.a' + '5.1': + branch: '5.1' + git-repository: https://git.smhi.se/jan.streffing/oasis3-mct-5 + comp_command: 'mkdir -p build; cd build; cmake ..; make -j 1; mkdir -p ../include/; cp lib/psmile/libpsmile.a lib/psmile/mct/libmct.a lib/psmile/mct/mpeu/libmpeu.a lib/psmile/scrip/libscrip.a ../lib; cd ..; find . -type f \( -name "*.o" -o -name "*.mod" \) ! -path "./include/*" -exec cp -t include/ {} +; mkdir -p arch_ecearth; ln -fs ../lib ../include arch_ecearth/' ec-earth: branch: ec-earth-version foci: diff --git a/configs/components/oifs/append_to_namelist.sh b/configs/components/oifs/append_to_namelist.sh new file mode 100755 index 000000000..eb0bed7eb --- /dev/null +++ b/configs/components/oifs/append_to_namelist.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# Usage: ./append_namelist.sh input.txt target.f90 + +input_file="$1" +target_file="$2" + +echo "Appending $input_file to $target_file" +echo "" >> "$target_file" +cat "$input_file" >> "$target_file" +echo "" >> "$target_file" diff --git a/configs/components/oifs/oifs.yaml b/configs/components/oifs/oifs.yaml index e848a80bc..4848e44a4 100644 --- a/configs/components/oifs/oifs.yaml +++ b/configs/components/oifs/oifs.yaml @@ -1,10 +1,14 @@ # #OIFS standalone YAML FILE # +#general: # missing when doing esm_master get-oifs-48r1 +# with_co2_oce_coupling: false +# with_co2_veg_coupling: false +# oifs: model: oifs executable: oifs - execution_command: ${executable} -e ${oifs.input_expid} + execution_command: ${executable} -v ecmwf -e ${oifs.input_expid} version: 43r3 major_version: 43r3 source_code_permissions: 700 @@ -16,6 +20,7 @@ oifs: required_plugins: - "git+https://github.com/esm-tools-plugins/postprocess" - "git+https://github.com/esm-tools-plugins/preprocess" + - "git+https://github.com/JanStreffing/append_to_namelist" description: | The OpenIFS atmosphere model based on ECMWF IFS @@ -52,10 +57,8 @@ oifs: namelist_dir: ${general.esm_namelist_dir}/oifs/${version}/ cmip5_data_dir: ${input_dir}/../cmip5_data cmip6_data_dir: ${input_dir}/../cmip6_data - cmip7_data_dir: ${input_dir}/../cmip7_data cmip5_data_dir_nml: ${cmip5_data_dir} cmip6_data_dir_nml: ${cmip6_data_dir} - cmip7_data_dir_nml: ${cmip7_data_dir} restart_dir: "" in_date_folder: "${parent_date!syear!smonth!sday}" out_date_folder: "${end_date!syear!smonth!sday}" @@ -114,6 +117,8 @@ oifs: - 43r3-v1 - 43r3-v2 - 48r1 + - 48r1v1 + - 48r1v2 choose_version: 40r1: @@ -338,12 +343,22 @@ oifs: destination: oifs-48r1 with_xios: false major_version: 48r1 - 48r1_lpjg_branch: - branch: '73997159375996b6f2ec9013ce1dbe8a67ba772e' + 48r1v1: + branch: '48r1v1' comp_command: "./openifs-bundle create; ./openifs-bundle build --threads=32 --openifs-only --without-double-precision --install; chmod -R ${source_code_permissions} .; git config core.fileMode false; mv install/bin/ifsMASTER.SP install/bin/OpenIFS" clean_command: rm -rf build install executable: OpenIFS - git-repository: https://git.smhi.se/sager/oifs48r1 + git-repository: https://git.smhi.se/jan.streffing/oifs48r1.git + install_bins: install/bin/OpenIFS + destination: oifs-48r1 + with_xios: false + major_version: 48r1 + 48r1v2: + branch: '48r1v2' + comp_command: "./openifs-bundle create; ./openifs-bundle build --threads=32 --openifs-only --without-double-precision --install; chmod -R ${source_code_permissions} .; git config core.fileMode false; mv install/bin/ifsMASTER.SP install/bin/OpenIFS" + clean_command: rm -rf build install + executable: OpenIFS + git-repository: https://git.smhi.se/jan.streffing/oifs48r1.git install_bins: install/bin/OpenIFS destination: oifs-48r1 with_xios: false @@ -360,7 +375,7 @@ oifs: nlev: ${levels_number} prepifs_expid: gu5a prepifs_startdate: 19820101 - mip: "cmip5" + mip: "cmip7" o3_scheme: "default" scenario: "amip-prepifs" output: "default" @@ -832,6 +847,7 @@ oifs: # XIOS output oifsnc: ${input_expid}_*_${start_date!syear!smonth!sday}_*.nc atm: atm_* + atmos: atmos.* outdata_sources: # old grib based output @@ -842,6 +858,7 @@ oifs: # XIOS output oifsnc: ${input_expid}_*_${start_date!syear!smonth!sday}_*.nc atm: atm_* + atmos: atmos.* #====================================================================================== @@ -866,6 +883,7 @@ oifs: outdata_files: oifsnc: oifsnc atm: atm + atmos: atmos 0: outdata_files: ICMGG: ICMGG @@ -990,7 +1008,7 @@ oifs: YI_NL%LMASSFIX: ".true." YL_NL%LMASSFIX: ".true." YQ_NL%LMASSFIX: ".true." - 3: #DestinE 48r1 settings + 3: add_namelist_changes: fort.4: NAMDYN: @@ -1014,6 +1032,11 @@ oifs: YR_NL%LINTLIN: ".true." YS_NL%BETAMFBC: -1 YS_NL%LINTLIN: ".true." + YS_NL%LMASSFIX: ".true." + YR_NL%LMASSFIX: ".true." + YI_NL%LMASSFIX: ".true." + YL_NL%LMASSFIX: ".true." + YQ_NL%LMASSFIX: ".true." choose_cloudfixer: @@ -1139,6 +1162,7 @@ oifs: NAMPPC: LRSACC: ".true." # reset accumulation of fluxes further_reading: + - oifs/oifs48.tuning.yaml - oifs/oifs48.env.yaml - oifs/oifs48.cmip.yaml @@ -1495,6 +1519,44 @@ oifs: method: "${preprocess_method}" type: shell + append_to_namelist: + append_to_namelist_shell: + method: "${append_to_namelist_method}" + type: shell + + append_to_namelist_method: "" + choose_general.with_co2_oce_coupling: + true: + choose_general.with_co2_veg_coupling: + true: + append_to_namelist_method: " + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_oce.nml + ${thisrun_config_dir}/fort.4; + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_veg.nml + ${thisrun_config_dir}/fort.4; + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_terminator.nml + ${thisrun_config_dir}/fort.4" + false: + append_to_namelist_method: " + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_oce.nml + ${thisrun_config_dir}/fort.4; + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_terminator.nml + ${thisrun_config_dir}/fort.4" + false: + choose_general.with_co2_veg_coupling: + true: + append_to_namelist_method: " + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_veg.nml + ${thisrun_config_dir}/fort.4; + ${general.esm_function_dir}/components/oifs/append_to_namelist.sh + ${namelist_dir}/namcompo_emis_co2_terminator.nml + ${thisrun_config_dir}/fort.4" #====================================================================================== # POSTPROCESS @@ -1541,6 +1603,7 @@ oifs: - "write_env" - "preprocess" - "modify_namelists" + - "append_to_namelist" - "modify_files" - "copy_files_to_work" - "report_missing_files" diff --git a/configs/components/oifs/oifs48.cmip.yaml b/configs/components/oifs/oifs48.cmip.yaml index 6d33153bb..2c2840a5d 100644 --- a/configs/components/oifs/oifs48.cmip.yaml +++ b/configs/components/oifs/oifs48.cmip.yaml @@ -1,4 +1,5 @@ oifs: + cmip7_data_dir: ${input_dir}/cmip7-data choose_mip: "cmip5": add_namelist_changes: @@ -40,8 +41,29 @@ oifs: NAMECECMIP: SCENARIONAME: "SSP1-2.6" "cmip7": + choose_scenario: + "piControl": + spinup_year: 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: '${spinup_year}' + NAERAD: + LCMIP_STRATAER_CMIP7: True + LCMIP_STRATAER_BCKGD: False + NCMIPFIXYR: '${spinup_year}' add_namelist_changes: fort.4: NAMECECMIP: - LCMIP7: ".true." - CMIP7DATADIR: "${oifs.cmip7_data_dir_nml}" + LCMIP7: True + LCMIP6: False + CMIP7DATADIR: '${cmip7_data_dir}' + LMACV2SP: True + LMACV2SP_CCNF: True + NAERAD: + NO3CMIP: 7 + CO3DATADIR: '${cmip7_data_dir}' + CCMIP_STRAT_FULL: '/work/ab0246/a270092/input/oifs-48r1/cmip7-data/strat_aer/CMIP7_stratospheric_aerosols_opt_EC_EARTH_historical_1750-2023_2-2-1_${levels}.nc' + CCMIP_STRAT_FULL_CLIM: '/work/ab0246/a270092/input/oifs-48r1/cmip7-data/strat_aer/CMIP7_stratospheric_aerosols_opt_EC_EARTH_climatology2-2-1_${levels}.nc' + NAMMCC: + LRDALB: True diff --git a/configs/components/oifs/oifs48.env.yaml b/configs/components/oifs/oifs48.env.yaml index 049f54da0..8a318563a 100644 --- a/configs/components/oifs/oifs48.env.yaml +++ b/configs/components/oifs/oifs48.env.yaml @@ -4,8 +4,8 @@ computer: choose_computer.name: levante: - compiler_mpi: gnu11_ompi4 - iolibraries: system_gnu_libs + compiler_mpi: intel2022_openmpi + iolibraries: system_intel_libs load_python: True add_export_vars: DATA: "${general.work_dir}" @@ -14,7 +14,16 @@ computer: OIFS_LOGFILE: '${oifs.model_dir}/build/oifs_test_log.txt' DR_HOOK_IGNORE_SIGNALS: '-1' OIFS_DATA_DIR: "/p/project/chhb19/streffing1/input/oifs-48r1/" - MKL_CBWR: AUTO,STRICT + # MKL_CBWR: AUTO,STRICT # DISABLED: kills performance by disabling vectorization + OMP_SCHEDULE: STATIC + OMP_STACKSIZE: 512M + # Intel MKL performance optimizations + MKL_NUM_THREADS: "1" + MKL_DYNAMIC: "FALSE" + # Intel MPI collective optimizations + I_MPI_ADJUST_ALLREDUCE: "3" + I_MPI_ADJUST_BCAST: "1" + I_MPI_DEBUG: "0" juwels: compiler_mpi: intel2025_psmpi @@ -26,7 +35,32 @@ computer: GRIB_SAMPLES_PATH: '${oifs.model_dir}/build/share/eccodes/ifs_samples/grib1_mlgrib2' OIFS_LOGFILE: '${oifs.model_dir}/build/oifs_test_log.txt' DR_HOOK_IGNORE_SIGNALS: '-1' + OMP_SCHEDULE: STATIC + OMP_STACKSIZE: 512M + albedo: + add_module_actions: + - "unload eccodes" + add_export_vars: + MKL_CBWR: AUTO,STRICT + DATA: "${general.work_dir}" + LD_LIBRARY_PATH[(3)]: '$LD_LIBRARY_PATH:${thisrun_work_dir}/lib/oifs/' + GRIB_SAMPLES_PATH: '${oifs.model_dir}/build/share/eccodes/ifs_samples/grib1_mlgrib2' + OIFS_LOGFILE: '${oifs.model_dir}/build/oifs_test_log.txt' + DR_HOOK_IGNORE_SIGNALS: '-1' + OMP_SCHEDULE: STATIC + OMP_STACKSIZE: 512M + + aleph: + add_export_vars: + DATA: "${general.work_dir}" + LD_LIBRARY_PATH[(3)]: '$LD_LIBRARY_PATH:${thisrun_work_dir}/lib/oifs/' + PATH: '$PATH:${oifs.model_dir}/install/bin/' + GRIB_SAMPLES_PATH: '${oifs.model_dir}/build/share/eccodes/ifs_samples/grib1_mlgrib2' + OIFS_LOGFILE: '${oifs.model_dir}/build/oifs_test_log.txt' + DR_HOOK_IGNORE_SIGNALS: '-1' + OMP_SCHEDULE: STATIC + OMP_STACKSIZE: 512M '*': add_export_vars: MKL_CBWR: AUTO,STRICT @@ -35,5 +69,7 @@ computer: GRIB_SAMPLES_PATH: '${oifs.model_dir}/build/share/eccodes/ifs_samples/grib1_mlgrib2' OIFS_LOGFILE: '${oifs.model_dir}/build/oifs_test_log.txt' DR_HOOK_IGNORE_SIGNALS: '-1' + OMP_SCHEDULE: STATIC + OMP_STACKSIZE: 512M diff --git a/configs/components/oifs/oifs48.tuning.yaml b/configs/components/oifs/oifs48.tuning.yaml new file mode 100644 index 000000000..72038c55e --- /dev/null +++ b/configs/components/oifs/oifs48.tuning.yaml @@ -0,0 +1,15 @@ +oifs: + add_namelist_changes: + fort.4: + NAERAD: + LAER3D: False + NRADFR: -3 + NDECOLAT: 0 + NAMGWWMS: + GGAUSSB: -0.5 + choose_resolution: + '*': + add_add_namelist_changes: + fort.4: + NAMCLDP: + RVICE: 0.16 diff --git a/configs/components/rnfmap/rnfmap.env.yaml b/configs/components/rnfmap/rnfmap.env.yaml index 59d491f3f..c6e08144c 100644 --- a/configs/components/rnfmap/rnfmap.env.yaml +++ b/configs/components/rnfmap/rnfmap.env.yaml @@ -70,8 +70,15 @@ computer: RNF_NETCDFF_INCLUDE: '"-I$NETCDFFROOT/include"' RNF_NETCDFF_LIB: '"-L$NETCDFFROOT/lib -lnetcdff"' # compilers and compile switches - RNF_FFLAGS: '"-r8 -fp-model precise -align array32byte -O3 -qopenmp -g -traceback -convert big_endian -march=core-avx2 -mtune=core-avx2"' # -qoverride-limits -fast-transcendentals -m64 -fma -pc64"' - RNF_CFLAGS: '"-fp-model precise -O3 -g -traceback -qopt-report=0 -fpe0 -qopenmp -march=core-avx2 -mtune=core-avx2"' # -qoverride-limits -fast-transcendentals -m64 -fma -pc64"' + choose_computer.compiler_suite: + gcc: + add_export_vars: + RNF_FFLAGS: '"-fdefault-real-8 -march=znver2 -mtune=znver2 -O3 -fopenmp -g -fbacktrace -fconvert=big-endian -fallow-argument-mismatch"' + RNF_CFLAGS: '"-march=znver2 -mtune=znver2 -O3 -fopenmp -g"' + intel-oneapi: + add_export_vars: + RNF_FFLAGS: '"-r8 -fp-model precise -align array32byte -O3 -qopenmp -g -traceback -convert big_endian -march=core-avx2 -mtune=core-avx2"' + RNF_CFLAGS: '"-fp-model precise -O3 -g -traceback -qopt-report=0 -fpe0 -qopenmp -march=core-avx2 -mtune=core-avx2"' aleph: diff --git a/configs/components/rnfmap/rnfmap.yaml b/configs/components/rnfmap/rnfmap.yaml index fd85c252c..fc8a57408 100644 --- a/configs/components/rnfmap/rnfmap.yaml +++ b/configs/components/rnfmap/rnfmap.yaml @@ -29,6 +29,7 @@ rnfmap: - foci211 - v1.0 - v1.1 + - v1.2 runoff_file: '${input_dir}/runoff_maps${runoff_maps_name}.nc' @@ -67,6 +68,12 @@ rnfmap: - rnfmap/rnfmap.env.yaml destination: rnfmap runoff_file: '${input_dir}/runoff_maps${runoff_maps_name}_v1.1.nc' + v1.2: + branch: '1.2' + further_reading: + - rnfmap/rnfmap.env.yaml + destination: rnfmap + runoff_file: '${input_dir}/runoff_maps${runoff_maps_name}_v1.1.nc' agrif: branch: agrif diff --git a/configs/components/xios/xios.env.yaml b/configs/components/xios/xios.env.yaml index d48f15c65..1f6ac4b74 100644 --- a/configs/components/xios/xios.env.yaml +++ b/configs/components/xios/xios.env.yaml @@ -1,6 +1,5 @@ computer: choose_computer.name: - ollie: + levante: add_module_actions: - - "unload netcdf" - - "load netcdf/4.4.1.1_intel_mpi" + - "load perl" diff --git a/configs/components/xios/xios.yaml b/configs/components/xios/xios.yaml index 21328a235..21e555714 100644 --- a/configs/components/xios/xios.yaml +++ b/configs/components/xios/xios.yaml @@ -34,6 +34,7 @@ xios: - 2.5_r1910_ogcm - 2.5_smhi - 2.5_ece + - 2.5.1 branch: esm-tools @@ -145,6 +146,47 @@ xios: branch: main comp_command: export XIOS_TOPLEVEL=${model_dir}; ./make_xios --arch ${archfile} --netcdf_lib netcdf4_par ${use_oasis} --job 24 --prod; cp bin/xios_server.exe bin/xios.x # XIOS with oasis dependencies and oasis support + 2.5.1: + git-repository: https://gitlab.dkrz.de/ec-earth/xios-2.5-ece.git + choose_computer.useMPI: # JS: This entire block is a missnomer. It's not the MPI thats imporant but the compiler cray ftn vs intel. + cray_mpich: + archfile: ESMTOOLS_generic_oasis_cray + intelmpi: + archfile: ESMTOOLS_generic_oasis_intel + parastationmpi: + archfile: ESMTOOLS_generic_oasis_intel + "*": + foo: bar + # MA: yet another block, this time for albedo. We cannot fix this now, but in the + # future we should adopt the compiler suite logic for the other computers. Already + # included in ESM-Tools clickup + choose_computer.compiler_suite: + gcc: + archfile: ESMTOOLS_generic_oasis_gcc + intel-oneapi: + archfile: ESMTOOLS_levante_oasis_intel + "*": + foo: bar + # JS: On levante this switch has yet another name. Again only the compiler part matters. + choose_computer.name: + levante: + choose_computer.compiler_mpi: + gnu11_ompi4: + archfile: ESMTOOLS_generic_oasis_gcc + "*": + archfile: ESMTOOLS_levante_oasis_intel + juwels: + choose_computer.compiler_mpi: + gnu2023_ompi2023: + archfile: ESMTOOLS_generic_oasis_gcc + gnu2024_ompi2024: + archfile: ESMTOOLS_generic_oasis_gcc + "*": + foo: bar + use_oasis: --use_oasis oasis3_mct + branch: 2.5.1 + comp_command: export XIOS_TOPLEVEL=${model_dir}; ./make_xios --arch ${archfile} --netcdf_lib netcdf4_par ${use_oasis} --job 24 --prod; cp bin/xios_server.exe bin/xios.x + # XIOS with oasis dependencies and oasis support "2.5-yac": git-repository: https://gitlab.dkrz.de/ec-earth/xios-2.5.git choose_computer.useMPI: # JS: This entire block is a missnomer. It's not the MPI thats imporant but the compiler cray ftn vs intel. @@ -374,5 +416,5 @@ xios: bin_sources: server: ${bin_dir}/xios.x - further_reading: - - xios/xios.env.yaml + #further_reading: + # - xios/xios.env.yaml diff --git a/configs/couplings/awicm3_v3.4.0/awicm3_v3.4.0.yaml b/configs/couplings/awicm3_v3.4.0/awicm3_v3.4.0.yaml new file mode 100644 index 000000000..2c2f1ed2e --- /dev/null +++ b/configs/couplings/awicm3_v3.4.0/awicm3_v3.4.0.yaml @@ -0,0 +1,10 @@ +components: +- xios-2.5.1 +- rnfmap-v1.2 +- oifs-48r1v1 +- fesom-2.7.2 +- oasis3mct-5.1 +coupling_changes: +- sed -i 's/xios-2.5+/xios/g' oifs-48r1/bundle.yml +- sed -i 's/xios\/build_ecearth/xios/g' oifs-48r1/bundle.yml +- sed -i 's/oasis3-mct-5.2/oasis/g' oifs-48r1/bundle.yml diff --git a/configs/couplings/awicm3_v3.4.1/awicm3_v3.4.1.yaml b/configs/couplings/awicm3_v3.4.1/awicm3_v3.4.1.yaml new file mode 100644 index 000000000..0bb496d65 --- /dev/null +++ b/configs/couplings/awicm3_v3.4.1/awicm3_v3.4.1.yaml @@ -0,0 +1,10 @@ +components: +- xios-2.5.1 +- rnfmap-v1.2 +- oifs-48r1v2 +- fesom-2.7.3 +- oasis3mct-5.1 +coupling_changes: +- sed -i 's/xios-2.5+/xios/g' oifs-48r1/bundle.yml +- sed -i 's/xios\/build_ecearth/xios/g' oifs-48r1/bundle.yml +- sed -i 's/oasis3-mct-5.2/oasis/g' oifs-48r1/bundle.yml diff --git a/configs/couplings/awiesm3_v3.4.0/awiesm3_v3.4.0.yaml b/configs/couplings/awiesm3_v3.4.0/awiesm3_v3.4.0.yaml new file mode 100644 index 000000000..8219f418d --- /dev/null +++ b/configs/couplings/awiesm3_v3.4.0/awiesm3_v3.4.0.yaml @@ -0,0 +1,11 @@ +components: +- xios-2.5.1 +- rnfmap-v1.2 +- oifs-48r1v1 +- fesom-2.7.2 +- oasis3mct-5.1 +- lpj_guess-4.1.3 +coupling_changes: +- sed -i 's/xios-2.5+/xios/g' oifs-48r1/bundle.yml +- sed -i 's/xios\/build_ecearth/xios/g' oifs-48r1/bundle.yml +- sed -i 's/oasis3-mct-5.2/oasis/g' oifs-48r1/bundle.yml diff --git a/configs/couplings/awiesm3_v3.4.1/awiesm3_v3.4.1.yaml b/configs/couplings/awiesm3_v3.4.1/awiesm3_v3.4.1.yaml new file mode 100644 index 000000000..97f6d6367 --- /dev/null +++ b/configs/couplings/awiesm3_v3.4.1/awiesm3_v3.4.1.yaml @@ -0,0 +1,11 @@ +components: +- xios-2.5.1 +- rnfmap-v1.2 +- oifs-48r1v2 +- fesom-2.7.3 +- oasis3mct-5.1 +- lpj_guess-4.1.3 +coupling_changes: +- sed -i 's/xios-2.5+/xios/g' oifs-48r1/bundle.yml +- sed -i 's/xios\/build_ecearth/xios/g' oifs-48r1/bundle.yml +- sed -i 's/oasis3-mct-5.2/oasis/g' oifs-48r1/bundle.yml diff --git a/configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml b/configs/couplings/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml similarity index 86% rename from configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml rename to configs/couplings/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml index 47af1969b..0fc843387 100644 --- a/configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml +++ b/configs/couplings/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2/fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2.yaml @@ -1,8 +1,8 @@ components: - xios-2.5-ece - rnfmap-v1.1 -- oifs-48r1_lpjg_branch -- fesom-2.6-main +- oifs-48r1 +- fesom-2.7 - oasis3mct-5.0-smhi - lpj_guess-4.1.2 coupling_changes: diff --git a/configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5/fesom-2.6-main+oifs-48r1+xios-2.5.yaml b/configs/couplings/fesom-2.7+oifs-48r1+xios-2.5/fesom-2.7+oifs-48r1+xios-2.5.yaml similarity index 96% rename from configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5/fesom-2.6-main+oifs-48r1+xios-2.5.yaml rename to configs/couplings/fesom-2.7+oifs-48r1+xios-2.5/fesom-2.7+oifs-48r1+xios-2.5.yaml index 3a1be4d87..23ef2b695 100644 --- a/configs/couplings/fesom-2.6-main+oifs-48r1+xios-2.5/fesom-2.6-main+oifs-48r1+xios-2.5.yaml +++ b/configs/couplings/fesom-2.7+oifs-48r1+xios-2.5/fesom-2.7+oifs-48r1+xios-2.5.yaml @@ -2,8 +2,8 @@ components: - xios-2.5-ece - rnfmap-v1.1 - oifs-48r1 -- fesom-2.6-main -- oasis3mct-4.0-awicm-3.2 +- fesom-2.7 +- oasis3mct-5.0-smhi coupling_changes: - sed -i 's/xios-2.5+/xios/g' oifs-48r1/bundle.yml - sed -i 's/xios\/build_ecearth/xios/g' oifs-48r1/bundle.yml diff --git a/configs/couplings/lpj_guess-4.1.2+oasis/lpj_guess-4.1.2+oasis.yaml b/configs/couplings/lpj_guess-4.1.2+oasis/lpj_guess-4.1.2+oasis.yaml new file mode 100644 index 000000000..0d6387062 --- /dev/null +++ b/configs/couplings/lpj_guess-4.1.2+oasis/lpj_guess-4.1.2+oasis.yaml @@ -0,0 +1,3 @@ +components: +- oasis3mct-5.0-smhi +- lpj_guess-4.1.2 diff --git a/configs/couplings/lpjg-spinup_v3.4.0/lpjg-spinup_v3.4.0.yaml b/configs/couplings/lpjg-spinup_v3.4.0/lpjg-spinup_v3.4.0.yaml new file mode 100644 index 000000000..82db6a8b7 --- /dev/null +++ b/configs/couplings/lpjg-spinup_v3.4.0/lpjg-spinup_v3.4.0.yaml @@ -0,0 +1,3 @@ +components: +- lpj_guess-4.1.3 +- oasis3mct-5.1 diff --git a/configs/machines/albedo.yaml b/configs/machines/albedo.yaml index 76aa27862..fcdae7e20 100644 --- a/configs/machines/albedo.yaml +++ b/configs/machines/albedo.yaml @@ -81,7 +81,7 @@ computer: compiler_module: gcc/12.1.0 mkl_module: intel-oneapi-mkl/2022.1.0 mkl_root: /albedo/soft/sw/spack-sw/intel-oneapi-mkl/2022.1.0-akthm3n/mkl/2022.1.0 - mpi_module: openmpi/4.1.3-gcc12.1.0 + mpi_module: openmpi/4.1.3 hdf5_module: hdf5/1.12.2-openmpi4.1.3-gcc12.1.0 netcdfc_module: netcdf-c/4.8.1-openmpi4.1.3-gcc12.1.0 netcdff_module: netcdf-fortran/4.5.4-openmpi4.1.3-gcc12.1.0 @@ -105,6 +105,7 @@ computer: compiler_module: intel-oneapi-compilers/2022.1.0 mkl_module: intel-oneapi-mkl/2022.1.0-gcc12.1.0 mkl_root: /albedo/soft/sw/spack-sw/intel-oneapi-mkl/2022.1.0-akthm3n/mkl/2022.1.0 + tbb_root: /albedo/soft/sw/spack-sw/intel-oneapi-mkl/2022.1.0-akthm3n/tbb/latest mpi_module: openmpi/4.1.3-intel2021.6.0 hdf5_module: hdf5/1.12.2-openmpi4.1.3-intel2021.6.0 netcdfc_module: netcdf-c/4.8.1-openmpi4.1.3-intel2021.6.0 @@ -124,6 +125,8 @@ computer: NETCDFROOT: "/albedo/soft/sw/spack-sw/netcdf-c/4.8.1-vvxxdc3/" NETCDFFROOT: "/albedo/soft/sw/spack-sw/netcdf-fortran/4.5.4-uwfs3bu/" ECCODESROOT: "/albedo/soft/sw/spack-sw/eccodes/2.25.0-vn2k575/" + # TBB library + TBBROOT: "/albedo/soft/sw/spack-sw/intel-oneapi-mkl/2022.1.0-akthm3n/tbb/latest" module_actions: # Ensure a clean environment before start: @@ -142,6 +145,7 @@ computer: - "load ${netcdff_module}" - "load ${netcdfcxx_module}" - "load ${eccodes_module}" + - "load libaec" # General Tools: - "load cdo/2.0.5" - "load nco/5.0.1" @@ -193,6 +197,7 @@ computer: LAPACK_LIB: "'-L${mkl_root} -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lm -ldl'" LD_LIBRARY_PATH[(1)]: ${mkl_root}/lib/intel64:$LD_LIBRARY_PATH + LD_LIBRARY_PATH[(2)]: ${tbb_root}/lib/intel64/gcc4.8:$LD_LIBRARY_PATH PATH[(1)]: "$PERL5LIB/../bin:$PATH" PATH[(2)]: "$PATH:$ECCODESROOT/bin" #$HDF5ROOT/bin:$NETCDFFROOT/bin:$NETCDFROOT/bin:$ECCODESROOT/bin:$PATH diff --git a/configs/machines/aleph.yaml b/configs/machines/aleph.yaml index 266f681fc..839e92394 100644 --- a/configs/machines/aleph.yaml +++ b/configs/machines/aleph.yaml @@ -55,6 +55,7 @@ computer: mpicc: cc cc: cc cxx: CC + c++_lib: cray-c++-rts module_actions: - "unload craype" @@ -63,14 +64,13 @@ computer: - "load pbs" - "load cray-mpich/7.7.3" - "load craype-x86-skylake" - - "load cmake/3.14.0" + - "load cmake/3.28.3" - "load cray-hdf5-parallel/1.10.2.0" - "load cray-netcdf-hdf5parallel/4.6.1.3" - "load cdo/1.9.5" - "load fftw/2.1.5.9" - "load nco/4.9.4" - "load proj4/5.1.0" - - "load python/3.9.1" - "list" export_vars: @@ -84,6 +84,8 @@ computer: NETCDF_CXX_INCLUDE_DIRECTORIES: $NETCDFROOT/include NETCDF_CXX_LIBRARIES: $NETCDFROOT/lib + AEC_ROOT: /proj/awi/software/HPC_LIBRARIES/PrgEnv-cray-6.0.4/libs + # For OASIS3-MCT5 from CERFACS OASIS_NETCDF: $NETCDF_DIR OASIS_NETCDFF: $NETCDF_DIR @@ -113,6 +115,8 @@ computer: # Important for eccodes to work CRAYPE_LINK_TYPE: dynamic + LD_LIBRARY_PATH: $AEC_ROOT/lib64:$LD_LIBRARY_PATH + label_format: '"[@MODEL@]%l:"' launcher_flags_per_component: "-n @nproc@ -N @nproc_per_node@ -d @cpus_per_proc@ env OMP_NUM_THREADS=@omp_num_threads@ diff --git a/configs/machines/levante.yaml b/configs/machines/levante.yaml index ad777760b..f566c569c 100644 --- a/configs/machines/levante.yaml +++ b/configs/machines/levante.yaml @@ -157,6 +157,8 @@ computer: MPI_LIB: "\"$(mpif90 -show |sed -e 's/^[^ ]*//' -e 's/-[I][^ ]*//g')\"" intel2022_impi2021: + launcher_flags: "-l --mpi=pmi2" # Fix for Intel MPI PMI2_Job_GetId errors + python_version: "python3" # ESM-Tools vars necessary for ``system_libs`` case mod_netcdf_c: netcdf-c/4.8.1-intel-oneapi-mpi-2021.5.0-intel-2021.5.0 mod_netcdf_f: netcdf-fortran/4.5.3-intel-oneapi-mpi-2021.5.0-intel-2021.5.0 @@ -177,6 +179,7 @@ computer: MPI_LIB: "\"$(mpiifort -show |sed -e 's/^[^ ]*//' -e 's/-[I][^ ]*//g')\"" intel2022_openmpi: + python_version: "python3" # ESM-Tools vars necessary for ``system_libs`` case mod_netcdf_c: netcdf-c/4.8.1-openmpi-4.1.2-intel-2021.5.0 mod_netcdf_f: netcdf-fortran/4.5.3-openmpi-4.1.2-intel-2021.5.0 @@ -343,16 +346,20 @@ computer: LD_RUN_PATH: $LD_LIBRARY_PATH AEC_ROOT: /sw/spack-levante/libaec-1.0.5-gij7yv aec_ROOT: /sw/spack-levante/libaec-1.0.5-gij7yv + UCXROOT: /sw/spack-levante/ucx-1.12.0-nlas56 HDF5ROOT: /sw/spack-levante/hdf5-1.12.1-tvymb5 HDF5_C_INCLUDE_DIRECTORIES: $HDF5ROOT/include HDF5_ROOT: $HDF5ROOT - MPIROOT: "\"$(mpif90 -show | perl -lne 'm{ -I(.*?)/include } and print $1')\"" NetCDF_C_ROOT: /sw/spack-levante/netcdf-c-4.8.1-2k3cmu NetCDF_Fortran_ROOT: /sw/spack-levante/netcdf-fortran-4.5.3-k6xq5g NETCDF_PATH: $NetCDF_C_ROOT NETCDF_ROOT: $NetCDF_Fortran_ROOT NETCDFROOT: $NetCDF_C_ROOT NETCDFFROOT: $NetCDF_Fortran_ROOT + NETCDF_Fortran_INCLUDE_DIRECTORIES: $NETCDFFROOT/include + NETCDF_C_INCLUDE_DIRECTORIES: $NETCDFROOT/include + NETCDF_CXX_INCLUDE_DIRECTORIES: $NETCDFROOT/include + NETCDF_CXX_LIBRARIES: $NETCDFROOT/lib TBBROOT: /sw/spack-levante/intel-oneapi-compilers-2022.0.1-an2cbq/tbb/2021.5.0 TBBMALLOC_DIR: $TBBROOT/lib/intel64/gcc4.8 MPI_HOME: /sw/spack-levante/openmpi-4.1.2-yfwe6t @@ -360,7 +367,7 @@ computer: mpi_ROOT: /sw/spack-levante/openmpi-4.1.2-yfwe6t MPI_DIR: /sw/spack-levante/openmpi-4.1.2-yfwe6t mpi_DIR: /sw/spack-levante/openmpi-4.1.2-yfwe6t - LD_LIBRARY_PATH: $MPI_HOME/lib:$NetCDF_C_ROOT/lib:$NetCDF_Fortran_ROOT/lib:$HDF5ROOT/lib:$AEC_ROOT/lib:$TBBMALLOC_DIR:$LD_LIBRARY_PATH + LD_LIBRARY_PATH: $MPI_HOME/lib:$NetCDF_C_ROOT/lib:$NetCDF_Fortran_ROOT/lib:$HDF5ROOT/lib:$AEC_ROOT/lib:$UCXROOT/lib:$TBBMALLOC_DIR:$LD_LIBRARY_PATH LD_LIBRARY_PATH[(0)]: /sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH system_intel_impi_libs: #Copy paste from DE IFS env.sh @@ -379,13 +386,16 @@ computer: HDF5ROOT: /sw/spack-levante/hdf5-1.12.1-jmeuy3 HDF5_C_INCLUDE_DIRECTORIES: $HDF5ROOT/include HDF5_ROOT: $HDF5ROOT - MPIROOT: "\"$(mpif90 -show | perl -lne 'm{ -I(.*?)/include } and print $1')\"" NetCDF_C_ROOT: /sw/spack-levante/netcdf-c-4.8.1-7dq6g2 NetCDF_Fortran_ROOT: /sw/spack-levante/netcdf-fortran-4.5.3-r5r3ev NETCDF_PATH: $NetCDF_C_ROOT NETCDF_ROOT: $NetCDF_Fortran_ROOT NETCDFROOT: $NetCDF_C_ROOT NETCDFFROOT: $NetCDF_Fortran_ROOT + NETCDF_Fortran_INCLUDE_DIRECTORIES: $NETCDFFROOT/include + NETCDF_C_INCLUDE_DIRECTORIES: $NETCDFROOT/include + NETCDF_CXX_INCLUDE_DIRECTORIES: $NETCDFROOT/include + NETCDF_CXX_LIBRARIES: $NETCDFROOT/lib TBBROOT: /sw/spack-levante/intel-oneapi-compilers-2022.0.1-an2cbq/tbb/2021.5.0 TBBMALLOC_DIR: $TBBROOT/lib/intel64/gcc4.8 MPI_HOME: /sw/spack-levante/openmpi-4.1.2-yfwe6t diff --git a/configs/setups/awicm3/awicm3.yaml b/configs/setups/awicm3/awicm3.yaml index 1ef66611c..f137a0ece 100644 --- a/configs/setups/awicm3/awicm3.yaml +++ b/configs/setups/awicm3/awicm3.yaml @@ -9,6 +9,8 @@ general: lresume: False coupled_setup: True + with_co2_oce_coupling: False + with_co2_veg_coupling: False include_models: - fesom @@ -27,6 +29,8 @@ general: - 'v3.2.2' - 'v3.3.0' - 'v3.3.1' + - 'v3.4.0' + - 'v3.4.1' - 'develop' - 'frontiers-xios' @@ -109,10 +113,22 @@ general: - xios oasis_with_yac: False xios_interp_order: 1 + v3.4.0: + major_version: v3.4 + couplings: + - awicm3_v3.4.0 + add_include_models: + - xios + oasis_with_yac: False + xios_interp_order: 1 + v3.4.1: + major_version: v3.4 + couplings: + - awicm3_v3.4.0 develop: major_version: v3.4 couplings: - - fesom-2.6-main+oifs-48r1+xios-2.5 + - fesom-2.7+oifs-48r1+xios-2.5 add_include_models: - xios oasis_with_yac: False @@ -130,6 +146,7 @@ general: postprocessing: false post_time: "00:05:00" compute_time: "00:30:00" + parallel_file_movements: 'threads' reusable_filetypes: [input, bin, src] @@ -249,7 +266,8 @@ oifs: "v3.4": version: "48r1" with_xios: True - comp_command: "./openifs-bundle create; ./openifs-bundle build --threads=32 --openifs-only --without-double-precision --with-cplng2 --with-oifs-xios --install; mv install/bin/ifsMASTER.SP install/bin/OpenIFS" + build_type: 'release' + comp_command: "./openifs-bundle create; ./openifs-bundle build --threads=32 --openifs-only --without-double-precision --with-cplng2 --with-oifs-xios --build-type=${build_type} --install; mv install/bin/ifsMASTER.SP install/bin/OpenIFS" namelist_dir: ${general.esm_namelist_dir}/oifs/${version}/awicm3/v3.4 mip: "cmip6" wam: true @@ -364,13 +382,13 @@ fesom: nproc: 144 TL159_CORE2: nproc: 72 + build_type: "Release" # Available options: Release, Debug, Bit + comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF -DDISABLE_PARALLEL_RESTART_READ=ON ${yac_flag} -DCMAKE_BUILD_TYPE=${build_type} -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc --all` choose_general.oasis_with_yac: True: - comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF -DOASIS_WITH_YAC=ON -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc --all` + yac_flag: "-DOASIS_WITH_YAC=ON" False: - comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc --all` - "*": - comp_command: "missing" + yac_flag: "" missing_owy: "$(( 'oasis_with_yac' not in config['general'] ))" # TODO: move this to the block above when the missing option is included in choose_ blocks choose_missing_owy: @@ -391,6 +409,7 @@ fesom: restart_unit: "d" leapyear: True + tar_binary_restarts: false # Move in the future to fesom-2.0.yaml @@ -473,25 +492,23 @@ fesom: albi: 0.6 albim: 0.43 "v3.4": - version: "2.6-main" + version: "2.7" append_icmcl: "" 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 namelist.tra: tracer_phys: surf_relax_s: "${surf_relax_s}" - use_momix: false - kv0_const: false + namelist.config: + geometry: + metric_factor_zero: True + ale_def: + which_ale: 'linfs' + restart_log: + raw_restart_length_unit: "off" + bin_restart_length_unit: "off" + namelist.ice: + ice_therm: + use_meltponds: true "frontiers-xios": model_tag: "frontiers" @@ -727,7 +744,7 @@ oasis3mct: - '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.4': - mct_version: 4.0 + mct_version: "5.0" input_dir: ${pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/ rstos_file_name: 'rstos' rstas_file_name: 'rstas' @@ -1003,8 +1020,10 @@ computer: iolibraries: system_libs compiler_mpi: gnu2024_ompi2024 levante: - iolibraries: system_gnu_libs - compiler_mpi: gnu11_ompi4 + iolibraries: system_intel_libs + compiler_mpi: intel2022_openmpi + albedo: + compiler_suite: gcc '*': choose_name: juwels: diff --git a/configs/setups/awiesm3/awiesm3.yaml b/configs/setups/awiesm3/awiesm3.yaml index 08bd49e14..5b723f8b1 100644 --- a/configs/setups/awiesm3/awiesm3.yaml +++ b/configs/setups/awiesm3/awiesm3.yaml @@ -18,35 +18,78 @@ general: - oasis3mct available_versions: + - 'v3.4.0' + - 'v3.4.1' - 'develop' + - 'develop-cc' choose_version: + v3.4.0: + major_version: v3.4 + couplings: + - awiesm3_v3.4.0 + add_include_models: + - xios + oasis_with_yac: false + xios_interp_order: 1 + with_co2_tracer: false + with_co2_oce_coupling: false + with_co2_veg_coupling: false + v3.4.1: + major_version: v3.4 + couplings: + - awiesm3_v3.4.1 + add_include_models: + - xios + oasis_with_yac: false + xios_interp_order: 1 + with_co2_tracer: false + with_co2_oce_coupling: false + with_co2_veg_coupling: false develop: major_version: v3.4 couplings: - - fesom-2.6-main+oifs-48r1+xios-2.5+lpj_guess-4.1.2 + - fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2 + add_include_models: + - xios + oasis_with_yac: false + xios_interp_order: 1 + with_co2_tracer: false + with_co2_oce_coupling: false + with_co2_veg_coupling: false + + develop-cc: + major_version: v3.4 + couplings: + - fesom-2.7+oifs-48r1+xios-2.5+lpj_guess-4.1.2 add_include_models: - xios oasis_with_yac: false xios_interp_order: 1 + with_co2_tracer: true + with_co2_oce_coupling: true + with_co2_veg_coupling: true version: "v3.4" resolution: ${oifs.resolution}_${fesom.resolution} postprocessing: false post_time: "00:05:00" compute_time: "00:30:00" + parallel_file_movements: 'threads' reusable_filetypes: [input, bin, src] + with_co2_coupling: false + choose_computer.name: levante: - pool_dir: "/work/ab0246/a270092/input" + pool_dir: "/work/ab0246/a270092/input/" juwels: pool_dir: "/p/project/chhb19/jstreffi/input" aleph: pool_dir: "/proj/awi/input" albedo: - pool_dir: "/albedo/scratch/user/mandresm/test_pool/input" + pool_dir: "/albedo/pool/" "*": pool_dir: "TO-BE-DEFINED-BY-THE-USER" @@ -62,13 +105,8 @@ general: ######################################################################################### oifs: - version: "48r1_lpjg_branch" + version: "48r1" - # added 05.03.2025 - git-repository: 'https://git.smhi.se/sager/oifs48r1' - branch: 'lpj_guess_implementation' - #branch: 'invert_lpjg_recv_send+main' #use this branch if you want to use without the vegin.nc At the first timestep LPJG will recieve the data from the OIFS. - # add_prepcompute_recipe: ["oasis_rmp_rst_to_input"] pool_dir: ${general.pool_dir} @@ -79,6 +117,8 @@ oifs: ocean_resolution: "${fesom.resolution}" scenario: "historical" + mip: "cmip7" + cmip7_cmor_output: "" input_expid: awi3 # This cannot be longer than 4 characters input_dir: ${pool_dir}/oifs-${version} @@ -88,14 +128,13 @@ oifs: choose_general.major_version: "v3.4": - version: "48r1" with_xios: true + build_type: 'release' comp_command: "./openifs-bundle create; ./openifs-bundle build --threads=32 - --openifs-only --without-single-precision --with-cplng2 --with-oifs-xios - --install; chmod -R ${source_code_permissions} .; git config core.fileMode - false; mv install/bin/ifsMASTER.DP install/bin/OpenIFS" + --openifs-only --without-double-precision --with-cplng2 --with-oifs-xios + --build-type=${build_type} --install; chmod -R ${source_code_permissions} .; + git config core.fileMode false; mv install/bin/ifsMASTER.SP install/bin/OpenIFS" namelist_dir: ${general.esm_namelist_dir}/oifs/${version}/awicm3/v3.4 - mip: "cmip6" wam: true add_add_namelist_changes: fort.4: @@ -139,12 +178,12 @@ oifs: res_level: ${resolution}${levels} atm_oce_fields: [A_Qns_oce, A_Qs_all, A_Precip_liquid, A_Precip_solid, A_Evap, A_Subl, A_Q_ice, A_TauX_oce, A_TauY_oce, A_TauX_ice, A_TauY_ice, A_SST, A_Ice_frac, - A_Snow_thickness, A_Ice_temp, A_Ice_albedo, A_CurX, A_CurY, A_WindX, A_WindY] + A_Snow_thickness, A_Ice_temp, A_Ice_albedo, A_CurX, A_CurY, A_WindX, A_WindY, + A_FCO2_oce, A_XCO2_oce] atm_veg_fields: [LAILVeg, LAIHVeg, FracLVeg, FracHVeg, TypeHVeg, TypeLVeg, T2MVeg, TPVeg, SDVeg, SDensVeg, SoilTVeg.L001, SoilTVeg.L002, SoilTVeg.L003, SoilTVeg.L004, SoilMVeg.L001, SoilMVeg.L002, SoilMVeg.L003, SoilMVeg.L004, SSRVeg, SLRVeg, - SHUMVeg, PRESVeg, WSPDVeg, TMINVeg, TMAXVeg] #LASZLO OIFS block - + SHUMVeg, PRESVeg, WSPDVeg, TMINVeg, TMAXVeg, XCO2Veg, FCO2NAT, FCO2ANT, FCO2NPP] coupling_fields: "[[atm_oce_fields-->FIELD]]": grid: atma @@ -164,27 +203,101 @@ oifs: tl_o3_data_dir: ${input_dir}/${version}/climate/ ICMGG_INIT_name: "_${fesom.resolution}" + # CO2 tracer is turned on, if at least one of the couplings for co2 is active + + choose_general.with_co2_oce_coupling: + true: + add_add_add_add_add_namelist_changes: + fort.4: + NAMECECFG: + ECE_CPL_FESOM_RECOM: true + + choose_general.with_co2_veg_coupling: + true: + add_add_add_add_add_add_namelist_changes: + fort.4: + NAMECECFG: + ECE_CPL_LPJG_CO2: true + + choose_general.with_co2_tracer: + true: + branch: 'lpj_guess_implementation+co2' + namelist_changes: + fort.4: + NAMGFL: + NGHG: 1 + YGHG_NL(1)%CNAME: "CO2_GHG" + YGHG_NL(1)%IGRBCODE: 210061 + YGHG_NL(1)%LADV: TRUE + YGHG_NL(1)%LADV5: TRUE + YGHG_NL(1)%LREQOUT: TRUE + YGHG_NL(1)%LMASSFIX: TRUE + YGHG_NL(1)%LQM: FALSE + YGHG_NL(1)%LQM3D: TRUE + YGHG_NL(1)%LNEGFIX: FALSE + YGHG_NL(1)%BETAMFBC: 2 + YGHG_NL(1)%LASSIM: TRUE + NMFDIAGLEV: 2 + NOPTVFE: 1 + + NAMCOMPO: + LCHEM_DIA: .false. + LCHEM_DDFLX: .false. + LCOMPO_DDFLX_DIR: .false. + LCHEM_TROPO: .false. + LCOMPO_DCDD: .false. + NAEPHY: + LNEEONLINE: False + LWETONLINE: False + LBFASCO2: False + fesom: - version: "2.6-main" + version: "2.7" time_step: 1800 resolution: CORE2 lresume: false nproc: 72 omp_num_threads: 1 - choose_general.oasis_with_yac: + choose_general.with_co2_oce_coupling: true: - comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON - -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF - -DOASIS_WITH_YAC=ON -DCMAKE_INSTALL_PREFIX=../ ..; make install + branch: fesom2.6_recom_awiesm3_co2_coupling + recom_setting: 2p3z2d + recom_comp_flag: -DRECOM_COUPLED=ON + add_namelists: + - namelist.recom + add_config_files: + recom: recom + add_config_sources: + recom: "${namelist_dir}/namelist.recom.${recom_setting}" + tra: "${namelist_dir}/namelist.tra.recom.${recom_setting}" + io: "${namelist_dir}/namelist.io.recom.${recom_setting}" + add_config_in_work: + recom: "namelist.recom" + recom_input_path: '/work/ab0246/a270092/input/fesom2/recom/' + add_add_namelist_changes: + namelist.recom: + nam_rsbc: + nm_fe_data_file: '${recom_input_path}/${resolution}/DustClimMonthlyAlbani.nc' + nm_aen_data_file: '${recom_input_path}/${resolution}/AeolianNitrogenDep.nc' + nm_river_data_file: '${recom_input_path}/${resolution}/RiverineInput.nc' + nm_erosion_data_file: '${recom_input_path}/${resolution}/ErosionInput.nc' + nm_co2_data_file: '${recom_input_path}/MonthlyAtmCO2_gcb2023.nc' # not used but searched for by bin. TODO: test removing. + pavariables: + REcoMDataPath: '${recom_input_path}/${resolution}' + false: + recom_comp_flag: "" + + build_type: Release #Available options: Debug Release RelWithDebInfo MinSizeRel + comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON + -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF -DDISABLE_PARALLEL_RESTART_READ=ON ${recom_comp_flag} -DCMAKE_BUILD_TYPE=${build_type} -DDISABLE_MULTITHREADING=OFF + ${yac_flag} -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc --all` + choose_general.oasis_with_yac: + true: + yac_flag: "-DOASIS_WITH_YAC=ON" false: - comp_command: mkdir -p build; cd build; cmake -DOIFS_COUPLED=ON -DFESOM_COUPLED=ON - -DENABLE_OPENMP=ON -DOPENMP_REPRODUCIBLE=OFF -DDISABLE_MULTITHREADING=OFF - -DVERBOSE=OFF -DCMAKE_INSTALL_PREFIX=../ ..; make install -j `nproc - --all` - "*": - comp_command: "missing" + yac_flag: "" missing_owy: "$(( 'oasis_with_yac' not in config['general'] ))" # TODO: move this to the block above when the missing option is included in choose_ blocks choose_missing_owy: @@ -205,13 +318,10 @@ fesom: restart_unit: "d" leapyear: true + tar_binary_restarts: false - - # Move in the future to fesom-2.0.yaml mesh_dir: "${pool_dir}/$(( '${resolution}'.lower() ))/" - surf_relax_s: "0.0" - namelist_changes: namelist.config: restart_log: @@ -220,33 +330,21 @@ fesom: choose_general.major_version: "v3.4": - version: "2.6-main" add_namelist_changes: namelist.config: + geometry: + metric_factor_zero: True 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}" - + which_ale: 'linfs' + restart_log: + raw_restart_length_unit: "off" + bin_restart_length_unit: "off" namelist.tra: tracer_phys: - surf_relax_s: "${surf_relax_s}" - use_momix: false - kv0_const: false + surf_relax_s: "0.0" namelist.ice: ice_therm: - albsn: 0.81 - albsnm: 0.77 - albi: 0.6 - albim: 0.43 + use_meltponds: true # Remove ICMCL_INIT forcing, which is only required for standalone simulations (form v3.2 onwards contains seasonal leaf area index, veg albedo etc.) @@ -282,24 +380,35 @@ fesom: # - fesom/fesom.io.yaml lpj_guess: - #comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=DEBUG; make -j8; cd .." #original comp_command. - comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=RELEASE; - make -j8; cd .." #without debug. - #comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_Fortran_FLAGS='-g -ggdb -fcheck=all -fbacktrace -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow' -DCMAKE_C_FLAGS='-g -O0 -fsanitize=address'; make -j8; cd .." #debuging comp_command + version: "4.1.2" + build_type: Release # Available options: Debug, Release + #comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_Fortran_FLAGS='-g -ggdb -fcheck=all -fbacktrace -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow' -DCMAKE_C_FLAGS='-g -O0 -fsanitize=address'; make -j8; cd .." + comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=${build_type}; make -j8; cd .." execution_command: ${executable} -parallel ${runscript_name} + daily_output: true + + # Automatically set mygrid to match OIFS resolution + mygrid: ${oifs.resolution} + veg_atm_fields: [GUE_LLAI, GUE_HLAI, GUE_FRAL, GUE_FRAH, GUE_TYPH, GUE_TYPL, T2M_LPJG, TPRE_LPJ, SNOC_LPJ, SNOD_LPJ, ST1L_LPJ, ST2L_LPJ, ST3L_LPJ, ST4L_LPJ, SM1L_LPJ, SM2L_LPJ, SM3L_LPJ, SM4L_LPJ, SWNR_LPJ, LWNR_LPJ, SHUM_LPJ, SPRE_LPJ, WSPD_LPJ, - TMIN_LPJ, TMAX_LPJ] + TMIN_LPJ, TMAX_LPJ, GUE_CNPP, GUE_CANT, GUE_CNAT, CO2_LPJG] - parallel_file_movements: true coupling_fields: "[[veg_atm_fields-->FIELD]]": grid: ${lpj_guess.mygrid}-land resolution: ${oifs.resolution} grids: + ${resolution}-land: + name: ${resolution}-land + nx: "${nx}" + ny: "${ny}" + oasis_grid_type: "D" + oyac_grid_type: "LL" + oyac_io_per_node: 4 lpjg: name: lpjg nx: "${nx}" @@ -307,7 +416,6 @@ lpj_guess: oasis_grid_type: "D" oyac_grid_type: "LL" oyac_io_per_node: 4 - TL159-land: name: TL159-land nx: "${nx}" @@ -329,77 +437,81 @@ lpj_guess: oasis_grid_type: "D" oyac_grid_type: "LL" oyac_io_per_node: 4 + TCO319-land: + name: TCO319-land + nx: "${nx}" + ny: "${ny}" + oasis_grid_type: "D" + oyac_grid_type: "LL" + oyac_io_per_node: 4 - choose_general.major_version: - "v3.4": - version: "4.1.2" - #proc_list_entry: '[str(x) for x in range(1,${nproc}+1)]' nproc: 128 proc_list_entry: '[str(x) for x in range(1,${nproc}+1)]' proc_list: $(( ${proc_list_entry} )) + # run_year: Chunk start year - used for restart file naming run_year: ${start_date!syear} + # initial_year: Experiment start year - for continuous output years in spinup + initial_year: ${initial_date!syear} run_month: 1 run_day: 1 runtime_seconds: "$(( ${next_date} - ${start_date} ))" ndays_per_run: "$(( ${runtime_seconds} / 86400 ))" - TM5: 0 + co2_coupling: 0 fourxCO2: false onepcCO2: false fixed_CO2: -1 fixed_ndep: -1 fixed_LU: -1 + nyear_spinup: 1 + freenyears: 0 + config_sources: tmp_yaml_file: ${namelist_dir}/lpjg_steps.yaml.j2 ins_files: ${namelist_dir}/*.ins - ece_gridlist: - ${lpj_guess.input_dir}/gridlists/gridlist_${oifs.resolution}_${fesom.resolution}.txt #is this the correct file for ece_gridlist.txt? - lpjg_cmip6_output_ins: ${namelist_dir}/lpjg_default_cmip6_output.ins + lpjg_output_ins: ${namelist_dir}/lpjg_default_cmip7_output.ins.j2 "all_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/*.ins "guess_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/guess.ins.j2 - "ecearth_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/ecearth.ins + "ecearth_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/ecearth.ins.j2 "globsoil_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/global_soiln.ins - "lpjg_cmip6_output_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/lpjg_default_cmip6_output.ins - "ece_gridlist_[[proc_list-->PROC_NUM]]": - ${lpj_guess.input_dir}/gridlists/gridlist_${oifs.resolution}_${fesom.resolution}.txt #is this the correct file for ece_gridlist.txt? + "lpjg_output_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/lpjg_default_cmip7_output.ins.j2 "tmp_yaml_file_[[proc_list-->PROC_NUM]]": ${namelist_dir}/lpjg_steps.yaml.j2 - temp_namcouple: /home/a/a270270/temp_confiles/namcouple "mock_[[proc_list-->PROC_NUM]]": ${lpj_guess.input_dir}/dirmaker config_in_work: tmp_yaml_file: lpjg_steps.yaml ins_files: /*.ins - ece_gridlist: ece_gridlist.txt #is this the correct file? - lpjg_cmip6_output_ins: lpjg_cmip6_output.ins + lpjg_output_ins: lpjg_output.ins "all_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/*.ins "guess_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/guess.ins "ecearth_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/ecearth.ins "globsoil_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/global_soiln.ins - "lpjg_cmip6_output_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/lpjg_cmip6_output.ins - "ece_gridlist_[[proc_list-->PROC_NUM]]": runPROC_NUM/ece_gridlist.txt #is this the correct file? + "lpjg_output_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/lpjg_output.ins "tmp_yaml_file_[[proc_list-->PROC_NUM]]": runPROC_NUM/lpjg_steps.yaml - temp_namcouple: namcouple "mock_[[proc_list-->PROC_NUM]]": runPROC_NUM/output/stdo_stde.log + forcing_files: + soil_layer_type: soil_layer_type + CO2: CO2 + forcing_sources: - soil_layer_type: ${lpj_guess.input_dir}/slt/slt_${mygrid}.nc - CO2: - ${lpj_guess.input_dir}/cmip6_forcing/mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc - "soil_layer_type_[[proc_list-->PROC_NUM]]": ${lpj_guess.input_dir}/slt/slt_${mygrid}.nc - "CO2_[[proc_list-->PROC_NUM]]": - ${lpj_guess.input_dir}/cmip6_forcing/mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc + soil_layer_type: ${lpj_guess.slt_dir}/slt_${lpj_guess.resolution}_${fesom.resolution}.nc + CO2: ${lpj_guess.co2_source_file} + "soil_layer_type_[[proc_list-->PROC_NUM]]": ${lpj_guess.slt_dir}/slt_${lpj_guess.resolution}_${fesom.resolution}.nc + "CO2_[[proc_list-->PROC_NUM]]": ${lpj_guess.co2_source_file} forcing_in_work: + # Work directory files use old naming (slt_ATMO.nc) that LPJ-GUESS binary expects soil_layer_type: slt_${mygrid}.nc - CO2: mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc + CO2: ${lpj_guess.co2_work_file} "soil_layer_type_[[proc_list-->PROC_NUM]]": runPROC_NUM/slt_${mygrid}.nc - "CO2_[[proc_list-->PROC_NUM]]": runPROC_NUM/mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc + "CO2_[[proc_list-->PROC_NUM]]": runPROC_NUM/${lpj_guess.co2_work_file} # Create empty folders for landuse and fire in work create_folders: @@ -409,21 +521,50 @@ lpj_guess: choose_general.run_number: 1: input_sources: - vegin: ${lpj_guess.input_dir}/vegin/vegin_${mygrid}.nc - "VegInit_[[proc_list-->PROC_NUM]]": ${lpj_guess.input_dir}/vegin/vegin_${mygrid}.nc + vegin: ${oasis3mct.input_dir}/vegin.nc + "VegInit_[[proc_list-->PROC_NUM]]": ${oasis3mct.input_dir}/vegin.nc input_in_work: vegin: vegin.nc "VegInit_[[proc_list-->PROC_NUM]]": runPROC_NUM/vegin.nc + choose_general.with_co2_veg_coupling: + true: + add_input_sources: + rst_co2_av: ${oasis3mct.input_dir}/rst_co2_av.nc + "rst_co2_avInit_[[proc_list-->PROC_NUM]]": ${oasis3mct.input_dir}/rst_co2_av.nc + add_in_work: + rst_co2_av: rst_co2_av.nc + "rst_co2_avInit_[[proc_list-->PROC_NUM]]": runPROC_NUM/rst_co2_av.nc + + choose_general.with_co2_veg_coupling: + true: + co2_coupling: 1 + + xios: xml_dir: "${general.esm_namelist_dir}/oifs/${oifs.version}/xios/" interpolation_order: 1 compression_level: 1 - regular_res_lat: 192 - regular_res_lon: 400 - config_sources: - context_ifs: ${xml_dir}/context_ifs.xml.j2 - domain_def: ${xml_dir}/domain_def.xml.j2 - file_def: ${xml_dir}/file_def.xml.j2 + truncation: "${oifs.truncation}" + choose_truncation: + TCO: + regular_res_lat: "$(( (${oifs.res_number}+1)*2 ))" #For TCO95->192 + regular_res_lon: "$(( (${oifs.res_number})*4+20 ))" #For TCO95->400 + TL: + regular_res_lat: "$(( (${oifs.res_number}+1)*2 ))" + regular_res_lon: "$(( (${oifs.res_number}+1)*4 ))" + cmip7_cmor_output: "${oifs.cmip7_cmor_output}" + choose_cmip7_cmor_output: + "cmip7_spinup": + config_sources: + context_ifs: ${xml_dir}/context_ifs.xml.j2 + domain_def: ${xml_dir}/domain_def.xml.j2 + file_def: ${xml_dir}/file_def_oifs_cmip7_spinup.xml.j2 + field_def: ${xml_dir}/field_def_cmip7.xml + "*": + config_sources: + context_ifs: ${xml_dir}/context_ifs.xml.j2 + domain_def: ${xml_dir}/domain_def.xml.j2 + file_def: ${xml_dir}/file_def.xml.j2 add_config_files: context_ifs: context_ifs ifs_xml: ifs_xml @@ -439,6 +580,7 @@ xios: rnfmap: pool_dir: ${general.pool_dir} runoff_maps_name: _${fesom.resolution} + version: v1.1 nproc: 1 omp_num_threads: ${computer.partitions.compute.cores_per_node} @@ -470,6 +612,7 @@ rnfmap: input_files: runoff_maps: runoff_maps + ######################################################################################### # Settings for OASIS @@ -491,7 +634,7 @@ oasis3mct: # "restart" files in initial coupling time step # but only if the general model setup is a cold start (i.e. general.lresume = false) lresume: true - ini_parent_date: "19500101" # not used, but needs to be present + ini_parent_date: "20590101" # not used, but needs to be present ini_parent_exp_id: "khw0030" # not used, but needs to be present ini_restart_dir: "${input_dir}" @@ -541,13 +684,34 @@ oasis3mct: SSRVeg:SLRVeg:SHUMVeg:PRESVeg:WSPDVeg' - 'TMIN_LPJ <--loctrans_min-- TMINVeg' - 'TMAX_LPJ <--loctrans_max-- TMAXVeg' - - - mct_version: 5.0 - input_dir: ${pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/ + choose_general.with_co2_veg_coupling: + true: + add_coupling_target_fields: + rst_co2_av.nc: + - 'CO2_LPJG <--loctrans_avg-- XCO2Veg' + - 'FCO2NAT:FCO2ANT:FCO2NPP <--loctrans_avg-- GUE_CNAT:GUE_CANT:GUE_CNPP' + add_merge_recv_restarts: + - rst_co2_av.nc # CO2 vegetation coupling (bidirectional LOCTRANS) + choose_general.with_co2_oce_coupling: + true: + add_coupling_target_fields: + rst_co2_ao.nc: + - 'XCO2_oce <--gauswgt_c-- A_XCO2_oce' + - 'A_FCO2_oce <--gauswgt_gss-- FCO2_feom' + + # Specify which restart files need bidirectional merging + # Use this for restart files with LOCTRANS+EXPOUT in both directions + # where both send and receive use the same restart file name in namcouple + merge_recv_restarts: + - vegin.nc # OpenIFS <-> lpjg bidirectional LOCTRANS + + mct_version: "5.0" + input_dir: ${oasis3mct.pool_dir}/cy${oifs.version}/${oifs.resolution}-${fesom.resolution}/ rstos_file_name: 'rstos' rstas_file_name: 'rstas' vegin_file_name: 'vegin' + rst_co2_ao_name: 'rst_co2_ao' + rst_co2_av_name: 'rst_co2_av' land_atmo_coupling_time_step: 86400 coupling_directions: @@ -722,18 +886,18 @@ oasis3mct: input_files: {} - input_in_work: - rmp: rmp_*.nc - areas: areas.nc - masks: masks.nc - grids: grids.nc - input_sources: rmp: ${input_dir}/${fesom.nproc}/rmp_*.nc areas: ${input_dir}/areas.nc masks: ${input_dir}/masks.nc grids: ${input_dir}/grids.nc + input_in_work: + rmp: rmp_*.nc + areas: areas.nc + masks: masks.nc + grids: grids.nc + restart_in_files: rmp: rmp rstas.nc: rstas.nc @@ -746,31 +910,6 @@ oasis3mct: rstos.nc: rstos.nc vegin.nc: vegin.nc - choose_lresume: - false: - lag: 0 - choose_general.run_number: - 1: - add_input_files: - rmp: rmp - areas: areas - masks: masks - grids: grids - true: - lag: "${time_step}" - # If ini_restart_dir is not specified in the runscript and, therefore, - # it is not a branched off experiment adds the /fesom.nproc/ to the - # sources when the run_number is 1 - load_restart_from_pool: "$(( os.path.realpath('${input_dir}') == os.path.realpath('${ini_restart_dir}') - and ${general.run_number} == 1 ))" - choose_load_restart_from_pool: - true: - add_restart_in_sources: - rmp: ${input_dir}/${fesom.nproc}/rmp_*.nc - rstas.nc: ${input_dir}/${fesom.nproc}/${rstas_file_name}.nc - rstos.nc: ${input_dir}/${fesom.nproc}/${rstos_file_name}.nc - vegin.nc: ${lpj_guess.input_dir}/vegin/vegin_${lpj_guess.mygrid}.nc - restart_in_sources: rmp: rmp_*.nc rstas.nc: rstas.nc @@ -795,10 +934,61 @@ oasis3mct: rstos.nc: rstos.nc vegin.nc: vegin.nc + choose_general.with_co2_veg_coupling: + true: + add_restart_in_files: + rst_co2_av.nc: rst_co2_av.nc + add_restart_in_in_work: + rst_co2_av.nc: rst_co2_av.nc + add_restart_out_files: + rst_co2_av.nc: rst_co2_av.nc + add_restart_out_in_work: + rst_co2_av.nc: rst_co2_av.nc + add_restart_out_sources: + rst_co2_av.nc: rst_co2_av.nc + choose_general.with_co2_oce_coupling: + true: + add_restart_in_files: + rst_co2_ao.nc: rst_co2_ao.nc + add_restart_in_in_work: + rst_co2_ao.nc: rst_co2_ao.nc + add_restart_out_files: + rst_co2_ao.nc: rst_co2_ao.nc + add_restart_out_in_work: + rst_co2_ao.nc: rst_co2_ao.nc + add_restart_out_sources: + rst_co2_ao.nc: rst_co2_ao.nc + remove_config_files: - cf - + choose_lresume: + false: + lag: 0 + choose_general.run_number: + 1: + add_input_files: + rmp: rmp + areas: areas + masks: masks + grids: grids + true: + lag: "${time_step}" + # If ini_restart_dir is not specified in the runscript and, therefore, + # it is not a branched off experiment adds the /fesom.nproc/ to the + # sources when the run_number is 1 + load_restart_from_pool: "$(( os.path.realpath('${input_dir}') == os.path.realpath('${ini_restart_dir}') + and ${general.run_number} == 1 ))" + choose_load_restart_from_pool: + true: + add_restart_in_sources: + rmp: ${input_dir}/${fesom.nproc}/rmp_*.nc + rstas.nc: ${input_dir}/${fesom.nproc}/${rstas_file_name}.nc + rstos.nc: ${input_dir}/${fesom.nproc}/${rstos_file_name}.nc + choose_general.with_co2_oce_coupling: + true: + add_restart_in_sources: + rst_co2_ao.nc: ${input_dir}/${rst_co2_ao_name}.nc computer: # Activates the taskset approach for heterogeneous parallelization, by default @@ -815,7 +1005,7 @@ computer: iolibraries: system_libs compiler_mpi: gnu2023_ompi2023 levante: - iolibraries: system_gnu_libs - compiler_mpi: gnu11_ompi4 + iolibraries: system_intel_libs + compiler_mpi: intel2022_openmpi '*': foo: bar diff --git a/configs/setups/lpjg-spinup/lpjg-spinup.yaml b/configs/setups/lpjg-spinup/lpjg-spinup.yaml new file mode 100644 index 000000000..81e02f394 --- /dev/null +++ b/configs/setups/lpjg-spinup/lpjg-spinup.yaml @@ -0,0 +1,196 @@ +######################################################################################### +######################### AWIESM3 YAML CONFIGURATION FILE ############################### +######################################################################################### +general: + + model: lpjg-spinup + + model_dir: ${esm_master_dir}/lpj_guess-${general.version} + + lresume: false + coupled_setup: true + + include_models: + - lpj_guess + - oasis3mct + + available_versions: + - 'v3.4.0' + - 'develop' + + choose_version: + v3.4.0: + couplings: + - lpjg-spinup_v3.4.0 + major_version: v3.4 + oasis_with_yac: false + with_co2_tracer: false + with_co2_oce_coupling: false + with_co2_veg_coupling: false + develop: + couplings: + - lpj_guess-4.1.2+oasis + major_version: v3.4 + oasis_with_yac: false + with_co2_tracer: false + with_co2_oce_coupling: false + with_co2_veg_coupling: false + + version: "v3.4" + resolution: TL255 + postprocessing: false + post_time: "00:05:00" + compute_time: "00:30:00" + parallel_file_movements: 'threads' + + reusable_filetypes: [input, bin, src] + + with_co2_coupling: false + + choose_computer.name: + levante: + pool_dir: "/work/ab0246/a270092/input" + juwels: + pool_dir: "/p/project/chhb19/jstreffi/input" + aleph: + pool_dir: "/proj/awi/input" + albedo: + pool_dir: "/albedo/pool/" + "*": + pool_dir: "TO-BE-DEFINED-BY-THE-USER" + + # Load general environment for the whole coupled setup + dr_hook_ignore_signals: -1 + +######################################################################################### +########### necessary changes to submodels compared to standalone setups ################ +######################################################################################### + + +lpj_guess: + version: "4.1.2" + #comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=DEBUG; make -j8; cd .." #original comp_command. + comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=RELEASE; + make -j8; cd .." #without debug. + #comp_command: "mkdir -p build; cd build; cmake .. -DOASIS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_Fortran_FLAGS='-g -ggdb -fcheck=all -fbacktrace -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow' -DCMAKE_C_FLAGS='-g -O0 -fsanitize=address'; make -j8; cd .." #debuging comp_command + execution_command: ${executable} -parallel ${runscript_name} + + resolution: TL255 + fesom_resolution: CORE2 + openifsspinup: true + daily_output: false + + # Disable CMIP N-Dep file reading for spinup - use pre-industrial constant values instead + ndep_cmip_dir: "" + + nproc: 128 + proc_list_entry: '[str(x) for x in range(1,${nproc}+1)]' + proc_list: $(( ${proc_list_entry} )) + + # run_year: Chunk start year - used for restart file naming + run_year: ${start_date!syear} + # initial_year: Experiment start year - used for continuous output years + initial_year: ${initial_date!syear} + run_month: 1 + run_day: 1 + runtime_seconds: "$(( ${next_date} - ${start_date} ))" + ndays_per_run: "$(( ${runtime_seconds} / 86400 ))" + co2_coupling: 0 + fourxCO2: f + onepcCO2: f + fixed_CO2: -1 + fixed_ndep: -1 + fixed_LU: -1 + # nyear_spinup and freenyears should only apply to the first leg. + # For continuation legs, disable the internal spinup to avoid + # re-running N-free years and causing soil C discontinuities. + choose_general.run_number: + 1: + nyear_spinup: ${nyear} + # freenyears: N limitation delay years (must be <= nyear_spinup) + # Set equal to nyear_spinup for full N limitation delay during spinup + freenyears: ${nyear} + "*": + nyear_spinup: 1 + freenyears: 0 + + config_sources: + tmp_yaml_file: ${namelist_dir}/lpjg_steps.yaml.j2 + ins_files: ${namelist_dir}/*.ins + lpjg_output_ins: ${namelist_dir}/lpjg_default_cmip7_output.ins.j2 + "all_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/*.ins + "guess_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/guess.ins.j2 + "ecearth_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/ecearth.ins.j2 + "globsoil_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/global_soiln.ins + "lpjg_output_ins_[[proc_list-->PROC_NUM]]": ${namelist_dir}/lpjg_default_cmip7_output.ins.j2 + "tmp_yaml_file_[[proc_list-->PROC_NUM]]": ${namelist_dir}/lpjg_steps.yaml.j2 + "mock_[[proc_list-->PROC_NUM]]": ${lpj_guess.input_dir}/dirmaker + + config_in_work: + tmp_yaml_file: lpjg_steps.yaml + ins_files: /*.ins + lpjg_output_ins: lpjg_output.ins + "all_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/*.ins + "guess_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/guess.ins + "ecearth_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/ecearth.ins + "globsoil_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/global_soiln.ins + "lpjg_output_ins_[[proc_list-->PROC_NUM]]": runPROC_NUM/lpjg_output.ins + "tmp_yaml_file_[[proc_list-->PROC_NUM]]": runPROC_NUM/lpjg_steps.yaml + + "mock_[[proc_list-->PROC_NUM]]": runPROC_NUM/output/stdo_stde.log + + forcing_sources: + oifs_forcing: ${lpj_guess.input_dir}/oifs_forcing/AM04_atm_cmip6_1d_1990-1999_${lpj_guess.resolution}_${lpj_guess.fesom_resolution}.nc + soil_layer_type: ${lpj_guess.slt_dir}/slt_${lpj_guess.resolution}_${lpj_guess.fesom_resolution}.nc + + forcing_in_work: + oifs_forcing: ifs_spinup_forcing/AM04_atm_cmip6_1d_1990-1999_fast_lpjgforcing.nc + soil_layer_type: slt_${lpj_guess.resolution}.nc + + add_forcing_files: + oifs_forcing: oifs_forcing + + # Create empty folders for landuse and fire in work + create_folders: + - ${work_dir}/landuse + - ${work_dir}/fire + + # Disable output copying for spinup runs + outdata_files: {} + + + +oasis3mct: + input_dir: ${oasis3mct.pool_dir}/oasis/cy48r1/${lpj_guess.resolution}-${lpj_guess.fesom_resolution} + process_ordering: + - lpj_guess + + input_sources: + areas: ${input_dir}/areas.nc + masks: ${input_dir}/masks.nc + grids: ${input_dir}/grids.nc + + input_in_work: + areas: areas.nc + masks: masks.nc + grids: grids.nc + +computer: + # Activates the taskset approach for heterogeneous parallelization, by default + # since hetjob approach doesn't seem to work (second run showing mpi/pmix + # problems) + taskset: true + merge_component_envs: + compile: true + + choose_general.major_version: + v3.4: + choose_name: + juwels: + iolibraries: system_libs + compiler_mpi: gnu2023_ompi2023 + levante: + iolibraries: system_gnu_libs + compiler_mpi: gnu11_ompi4 + '*': + foo: bar diff --git a/configs/setups/oifsamip/oifsamip.yaml b/configs/setups/oifsamip/oifsamip.yaml index 736e4a40c..b31c010bf 100644 --- a/configs/setups/oifsamip/oifsamip.yaml +++ b/configs/setups/oifsamip/oifsamip.yaml @@ -9,6 +9,8 @@ general: lresume: False coupled_setup: True + with_co2_oce_coupling: False + with_co2_veg_coupling: False include_models: - amip @@ -33,6 +35,7 @@ general: postprocessing: false post_time: "00:05:00" compute_time: "00:30:00" + parallel_file_movements: 'threads' reusable_filetypes: [input, bin, src] diff --git a/namelists/amip/namelist.amip b/namelists/amip/namelist.amip index 086da3036..981863783 100755 --- a/namelists/amip/namelist.amip +++ b/namelists/amip/namelist.amip @@ -1,6 +1,6 @@ &namamip runlengthsec = 86400 - timestepsec = 84600 + timestepsec = 86400 startyear = 1850 startmonth = 1 startday = 1 diff --git a/namelists/fesom2/2.7/namelist.config b/namelists/fesom2/2.7/namelist.config new file mode 100644 index 000000000..7913968bc --- /dev/null +++ b/namelists/fesom2/2.7/namelist.config @@ -0,0 +1,133 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 general configuration ================ +! ============================================================================ +! This file contains the main configuration parameters for FESOM2, including: +! - Model identification and run settings +! - Time stepping and simulation duration +! - Initial time/date settings +! - File paths for mesh, forcing, and output +! - Restart and logging configuration +! - Vertical coordinate system (ALE) +! - Grid geometry and rotation +! - Calendar settings +! - Model components (ice, cavities, etc.) +! - Parallel decomposition +! - Iceberg settings +! ============================================================================ + +! ============================================================================ +! RUN IDENTIFICATION +! ============================================================================ +&modelname +runid = 'fesom' ! run identifier (used in output filenames) +/ + +! ============================================================================ +! TIME STEPPING AND RUN LENGTH +! ============================================================================ +×tep +step_per_day = 36 ! number of time steps per day (determines dt = 86400/step_per_day seconds) + ! common values: 32 (45min), 48 (30min), 72 (20min), 96 (15min), 192 (7min 30sec), + ! 216 (6min 40sec), 240 (6min), 288 (5min), 360 (4min), 720 (2min), 1440 (1min), 2880 (30sec) +run_length = 1 ! total length of simulation run +run_length_unit = 'y' ! unit for run_length: 'y' (years), 'm' (months), 'd' (days), 's' (steps) +/ + +! ============================================================================ +! INITIAL TIME/DATE SETTINGS +! ============================================================================ +&clockinit +timenew = 0.0 ! initial time within the day [seconds] (0.0 = midnight) +daynew = 1 ! initial day of the month (1-31) +yearnew = 1958 ! initial year +/ + +! ============================================================================ +! MESH, INITIALIZATION & OUTPUT PATHS +! ============================================================================ +&paths +MeshPath = '/pool/data/AWICM/FESOM2/MESHES_FESOM2.1/core2/' ! path to mesh files (nod2d.out, elem2d.out, etc.) +ClimateDataPath = '/pool/data/AWICM/FESOM2/INITIAL/phc3.0/' ! path to initial conditions (temperature, salinity) +ResultPath = '/work/ab0246/$USER/runtime/fesom2/' ! path for output files and fesom.clock file +/ + +! ============================================================================ +! RESTART AND LOGGING CONFIGURATION +! ============================================================================ +&restart_log +restart_length = 1 ! frequency for netCDF restart files (required for d,h,s; y,m use 1) +restart_length_unit = 'y' ! unit: 'y' (years), 'm' (months), 'd' (days), 'h' (hours), 's' (steps), 'off' (disabled) +raw_restart_length = 1 ! frequency for raw core dump restart files +raw_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off' +bin_restart_length = 1 ! frequency for binary derived type restart files +bin_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off' +logfile_outfreq = 960 ! log file output frequency [number of time steps] +/ + +! ============================================================================ +! VERTICAL COORDINATE SYSTEM (ALE - Arbitrary Lagrangian-Eulerian) +! ============================================================================ +&ale_def +which_ALE = 'zstar' ! vertical coordinate type: + ! 'linfs' = linear free surface + ! 'zlevel' = z-level (fixed depth levels) + ! 'zstar' = z-star (terrain-following with SSH scaling) +use_partial_cell = .false. ! use partial bottom cells for better topography representation (not recommended) +/ + +! ============================================================================ +! GRID GEOMETRY AND ROTATION +! ============================================================================ +&geometry +cartesian = .false. ! use Cartesian coordinates (false = spherical Earth) +fplane = .false. ! use f-plane approximation (constant Coriolis parameter) +cyclic_length = 360 ! length of cyclic domain [degrees] (360 = global) +rotated_grid = .true. ! use rotated grid (typically for coupled models to avoid pole singularity) +force_rotation = .true. ! force grid rotation even if not coupled +alphaEuler = 50. ! first Euler angle (rotation around z-axis) [degrees] +betaEuler = 15. ! second Euler angle (rotation around new x-axis) [degrees] +gammaEuler = -90. ! third Euler angle (rotation around new z-axis) [degrees] + ! Euler angle convention: rotate first around z, then around new x, then around new z +/ + +! ============================================================================ +! CALENDAR SETTINGS +! ============================================================================ +&calendar +include_fleapyear = .true. ! include leap years in calendar (false = 365-day year, true = 365/366-day year) +/ + +! ============================================================================ +! MODEL COMPONENTS AND FEATURES +! ============================================================================ +&run_config +use_ice = .true. ! enable sea ice model +use_cavity = .false. ! enable ice shelf cavities +use_cavity_partial_cell = .false. ! use partial cells in ice shelf cavities (not recommended) +use_floatice = .false. ! enable floating ice (icebergs) +use_sw_pene = .true. ! enable shortwave radiation penetration into ocean +flag_debug = .false. ! enable debug output (verbose logging) +use_transit = .false. ! enable transient tracer module (CFCs, SF6, etc.) +/ + +! ============================================================================ +! PARALLEL DECOMPOSITION (DOMAIN PARTITIONING) +! ============================================================================ +&machine +n_levels = 2 ! number of hierarchy levels for domain decomposition +n_part = 2, 128 ! number of partitions at each level (total CPUs = product of n_part) + ! example: 2 x 128 = 256 MPI tasks + ! adjust based on mesh size and available compute resources + ! maximum scaling reached at ~300 FESOM2 2D nodes per CPU (see first line in nod2d.out for number of 2D nodes) +/ + +! ============================================================================ +! ICEBERG SETTINGS +! ============================================================================ +&icebergs +use_icesheet_coupling = .false. ! enable ice sheet model +ib_num = 1 ! number of iceberg classes +use_icebergs = .false. ! enable iceberg module +steps_per_ib_step = 8 ! ocean time steps per iceberg time step (iceberg subcycling) +ib_async_mode = 0 ! iceberg asynchronous mode (0=synchronous, 1=asynchronous) +/ diff --git a/namelists/fesom2/2.7/namelist.cvmix b/namelists/fesom2/2.7/namelist.cvmix new file mode 100644 index 000000000..5c73d9403 --- /dev/null +++ b/namelists/fesom2/2.7/namelist.cvmix @@ -0,0 +1,211 @@ +! ============================================================================ +! ========== Namelist file for FESOM2 CVMix parameterizations =============== +! ============================================================================ +! This file contains configuration for CVMix (Community Vertical Mixing) +! parameterizations: +! - TKE (Turbulent Kinetic Energy) scheme +! - IDEMIX (Internal Wave Dissipation, Energy, and Mixing) +! - PP (Pacanowski-Philander) scheme +! - KPP (K-Profile Parameterization) +! - TIDAL mixing parameterization +! +! Select the active scheme in namelist.oce (mix_scheme parameter) +! ============================================================================ + +! ============================================================================ +! TKE (TURBULENT KINETIC ENERGY) SCHEME +! ============================================================================ +¶m_tke +! --- TKE Model Parameters --- +tke_c_k = 0.1 ! TKE parameter c_k [dimensionless] +tke_c_eps = 0.7 ! TKE dissipation parameter c_eps [dimensionless] +tke_alpha = 30.0 ! TKE stability function parameter [dimensionless] + +! --- Mixing Length --- +tke_mxl_min = 1.0e-8 ! minimum mixing length [m] +tke_mxl_choice = 2 ! mixing length calculation method: + ! 1 = not implemented + ! 2 = Blanke & Delecluse option (currently only option) + +! --- Viscosity/Diffusivity Limits --- +tke_kappaM_min = 0.0 ! minimum momentum diffusivity [m²/s] +tke_kappaM_max = 100.0 ! maximum momentum diffusivity [m²/s] + +! --- Boundary Conditions --- +tke_cd = 3.75 ! surface boundary condition parameter + ! 3.75 for Dirichlet BC, 1.0 for Neumann BC + +! --- TKE Minimum Values --- +tke_surf_min = 1.0e-4 ! minimum surface TKE [m²/s²] +tke_min = 1.0e-6 ! minimum interior TKE [m²/s²] + +! --- Langmuir Turbulence --- +tke_dolangmuir = .false. ! include Langmuir turbulence parameterization +/ + +! ============================================================================ +! IDEMIX (INTERNAL WAVE ENERGY PARAMETERIZATION) +! ============================================================================ +! Based on Olbers & Eden (2013) and von Pollmann et al. (2017) +! ============================================================================ +¶m_idemix +! --- Time Scales --- +idemix_tau_v = 172800.0 ! vertical symmetrization time scale [s] (2 days) +idemix_tau_h = 1296000.0 ! horizontal symmetrization time scale [s] (15 days) + +! --- Spectral Parameters --- +idemix_gamma = 1.570 ! spectral shape constant [dimensionless] (order 1) +idemix_jstar = 5.0 ! spectral bandwidth in vertical modes [dimensionless] +idemix_mu0 = 0.33333333 ! dissipation parameter [dimensionless] + +! --- Energy Forcing --- +idemix_sforcusage = 0.2 ! fraction of surface forcing used [dimensionless] +idemix_n_hor_iwe_prop_iter = 5 ! iterations for horizontal wave propagation + +! --- Surface Forcing (Wind-Generated Internal Waves) --- +idemix_surforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc' ! path to surface forcing file +idemix_surforc_vname = 'var706' ! variable name in surface forcing file + +! --- Bottom Forcing (Tidal Internal Waves) --- +!idemix_botforc_file = '/albedo/pool/FESOM/fesom2.0/forcing/idemix/forcing_idemix_final_bin/FIN_tidal_energy_gx1v6_20090205_CESMJayne_remapnn_0.40deg.nc' ! path to bottom forcing !file +!idemix_botforc_vname = 'wave_dissipation' ! variable name in bottom forcing file +idemix_botforc_file = '/albedo/pool/FESOM/fesom2.0/forcing/idemix/forcing_idemix_final_bin/FIN_STORMTIDE2_M2_plus_NYCANDER_CnoM2_bin_0.40deg.nc' ! path to bottom forcing file, +idemix_botforc_vname = 'stormt_M2_plus_nycand_CnoM2' ! variable name in bottom forcing file + +/ + +! ============================================================================ +! PP (PACANOWSKI-PHILANDER) SCHEME +! ============================================================================ +! Based on Pacanowski & Philander (1981) +! ============================================================================ +¶m_pp +! --- PP Variant --- +pp_use_fesompp = .true. ! use FESOM flavor of PP (true) or original PP (false) + +! --- Mixing Coefficients --- +pp_Av0 = 0.01 ! reference mixing coefficient [m²/s] +pp_alpha = 5.0 ! Richardson number dependency parameter [dimensionless] + ! (alpha in eq. 1 of Pacanowski & Philander 1981) +pp_exp = 2.0 ! Richardson number exponent [dimensionless] + ! (n in eq. 1 of Pacanowski & Philander 1981) + +! --- Background Mixing --- +pp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s] +pp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s] +pp_use_nonconstKvb = .true. ! use latitude and depth dependent background diffusivity +/ + +! ============================================================================ +! KPP (K-PROFILE PARAMETERIZATION) +! ============================================================================ +! Based on Large et al. (1994) with CVMix implementation options +! ============================================================================ +¶m_kpp +! --- KPP Implementation --- +kpp_use_fesomkpp = .false. ! use CVMix MOM5-like KPP (true) or MOM6-like KPP (false) + +! --- Ocean Boundary Layer (OBL) Depth Calculation --- +kpp_use_enhanceKv = .true. ! add enhanced diffusivity at base of boundary layer +kpp_use_compEkman = .true. ! compute Ekman depth limit for OBL depth +kpp_use_monob = .true. ! compute Monin-Obukhov limit for OBL depth + +! --- Interpolation Methods --- +kpp_interptype_ri = "linear" ! interpolation type for OBL depth determination: + ! 'linear', 'quadratic', 'cubic' +kpp_interptype_atobl = "LMD94" ! interpolation of viscosity/diffusivity at OBL depth: + ! 'linear', 'quadratic', 'cubic', 'LMD94' +kpp_matchtechc = "ParabolicNonLocal" ! diffusivity and non-local transport profile: + ! 'SimpleShapes', 'MatchGradient', 'MatchBoth', 'ParabolicNonLocal' + +! --- Mixing Below OBL --- +kpp_internalmix = "KPP" ! Richardson number dependent mixing below OBL: + ! 'KPP' or 'PP' +kpp_pp_Av0 = 0.01 ! mixing coefficient for PP scheme below OBL [m²/s] + +! --- Shear Mixing Parameters --- +kpp_Av0 = 5.0e-3 ! leading coefficient of shear mixing [m²/s] (default: 5e-3) +kpp_Kv0 = 5.0e-3 ! leading coefficient of shear diffusion [m²/s] +kpp_Ri0 = 0.7 ! critical Richardson number [dimensionless] (0.7 in LMD94) + +! --- Background Mixing --- +kpp_use_nonconstKvb = .true. ! use non-constant background diffusivity (FESOM1.4 formulation) +kpp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s] +kpp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s] + +! --- Sea Ice Effects --- +kpp_reduce_tauuice = .false. ! reduce wind stress (u*) under sea ice + +! --- Langmuir Options in cvmix KPP --- + +! Stokes Similarty package +! If true, use Stokes Similarty package (i.e. include wave‐related / Stokes drift +! effects in the surface layer). Triggers usage of additional routines +! that alter the shape functions, or mixing formulations, incorporating wave / +! Stokes drift effects consistent with Monin–Obukhov similarity theory +! (MOST). The code logic probably augments or replaces parts of the standard boundary +! (layer similarity (or nonlocal mixing) using a Stokes‐drift‐aware correction. +kpp_use_StokesMOST= .false. !.true. + +! approximate proportionality between surface wind velocity and stokes velocity +! U_stokes ~ kpp_A_stokes * U_wind +kpp_A_stokes = 0.005 ! a + +! Langmuir option +! Option of Langmuir enhanced mixing apply an enhancement factor to the +! turbulent velocity scale +! LWF16 - MixingCoefEnhancement = Langmuir_EFactor +! RWHGK16 - MixingCoefEnhancement = cvmix_one + ShapeNoMatchAtS/NMshapeMax * & +! (Langmuir_EFactor - cvmix_one) +! NONE - Langmuir switched off, MixingCoefEnhancement=1 +kpp_langmuir_mixing= "NONE" !"LWF16" + +! Option of Langmuir turbulence enhanced entrainment - modify the unresolved shear +! LWF16 - Li Q., Webb A., Fox-Kemper B., Craig A., Danabasoglu G., +! Large W., Vertenstein M., 2016, Langmuir mixing effects on +! global climate: WAVEWATCH III in CESM, Ocean Modelling 103 (2016) 145–160 +! +! LF17 - Li Q., Fox-Kemper B., Breivik O., Webb A., 2017, Statistical +! models of global Langmuir mixing, Ocean Modelling 113 (2017) 95–114 +! +! RWHGK16 - Reichl B., Wang D., Hara T., Ginis I. and Kukulka T, 2016, Impact +! of Sea-State-Dependent Langmuir Turbulence on the Ocean +! Response to a Tropical Cyclone, Mon. Wea. Rev., 144 +! +! NONE - +kpp_langmuir_entrainment= "NONE" !"LF17" +/ + + +! ============================================================================ +! TIDAL MIXING PARAMETERIZATION +! ============================================================================ +! Based on Simmons et al. (2004) +! ============================================================================ +¶m_tidal +! --- Tidal Mixing Scheme --- +tidal_mixscheme = "Simmons" ! tidal mixing scheme (currently only 'Simmons' implemented) + +! --- Energy Dissipation Parameters --- +tidal_efficiency = 0.2 ! mixing efficiency [dimensionless, 0-1] + ! (Gamma in Simmons et al. 2004) +tidal_lcl_mixfrac = 0.33 ! local dissipation fraction [dimensionless] + ! (q in Simmons et al. 2004) + ! fraction of tidal energy dissipated locally vs radiated away + +! --- Vertical Structure --- +tidal_vert_decayscale = 500.0 ! vertical decay scale [m] + ! (zeta in Simmons et al. 2004) + ! controls vertical distribution of tidal mixing + +! --- Diffusivity Limits --- +tidal_max_coeff = 50e-4 ! maximum tidal diffusivity [m²/s] + +! --- Spatial Limits --- +tidal_depth_cutoff = 0.0 ! minimum depth for tidal mixing [m, positive downward] + ! (0.0 = compute everywhere) + +! --- Bottom Forcing (Tidal Energy Input) --- +tidal_botforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +/ + diff --git a/namelists/fesom2/2.7/namelist.dyn b/namelists/fesom2/2.7/namelist.dyn new file mode 100644 index 000000000..e670102bb --- /dev/null +++ b/namelists/fesom2/2.7/namelist.dyn @@ -0,0 +1,72 @@ +! ============================================================================ +! ========== Namelist file for FESOM2 momentum dynamics ====================== +! ============================================================================ +! This file contains configuration for momentum equations and dynamics: +! - Horizontal viscosity schemes and parameters +! - Momentum advection options +! - Free-slip vs no-slip boundary conditions +! - Vertical velocity splitting +! - Split-explicit barotropic subcycling +! - Energy diagnostics +! ============================================================================ + +! ============================================================================ +! HORIZONTAL VISCOSITY +! ============================================================================ +&dynamics_visc +! --- Viscosity Coefficients --- +visc_gamma0 = 0.003 ! background viscosity coefficient [m/s] + ! viscosity = gamma0 × element_length + ! keep < 0.01 m/s for numerical stability +visc_gamma1 = 0.1 ! flow-aware viscosity coefficient [dimensionless] +visc_gamma2 = 0.285 ! additional viscosity coefficient [s/m] + ! only used for easy backscatter (opt_visc=5) and dynamic backscatter (opt_visc=8) +visc_easybsreturn = 1.5 ! energy return parameter for easy backscatter [dimensionless] + +! --- Viscosity Scheme Selection --- +opt_visc = 5 ! horizontal viscosity scheme: + ! 5 = Kinematic (easy) Backscatter + ! 6 = Biharmonic flow-aware (depends on velocity Laplacian) + ! 7 = Biharmonic flow-aware (depends on velocity differences) + ! 8 = Dynamic Backscatter +check_opt_visc = .true. ! check if opt_visc=5 is valid based on resolution/Rossby radius ratio + +! --- Vertical Viscosity --- +use_ivertvisc = .true. ! use implicit vertical viscosity (recommended for stability) +/ + +! ============================================================================ +! GENERAL DYNAMICS SETTINGS +! ============================================================================ +&dynamics_general +! --- Momentum Advection --- +momadv_opt = 2 ! momentum advection option (only 2 is currently supported) + +! --- Boundary Conditions --- +use_freeslip = .false. ! enable free-slip lateral boundary conditions (false = no-slip) + +! --- Vertical Velocity Splitting --- +use_wsplit = .false. ! enable implicit/explicit splitting of vertical velocity +wsplit_maxcfl = 1.0 ! maximum allowed vertical CFL criterion (range: 0.5-1.0) + ! in older FESOM versions this was w_exp_max=1.e-3 + +! --- Energy Diagnostics --- +ldiag_KE = .false. ! enable kinetic energy diagnostics (requires additional computation) + +! --- Time Stepping --- +AB_order = 2 ! Adams-Bashforth time stepping order (2 or 3) + +! --- Split-Explicit Barotropic Subcycling --- +use_ssh_se_subcycl = .false. ! enable split-explicit subcycling for barotropic mode + ! (faster time stepping for sea surface height) +se_BTsteps = 50 ! number of barotropic subcycles per baroclinic time step +se_BTtheta = 0.14 ! implicitness parameter for barotropic solver (0-1, default: 0.14) +se_bottdrag = .true. ! include bottom drag in barotropic subcycling +se_bdrag_si = .true. ! use semi-implicit bottom drag (true) or explicit (false) +se_visc = .true. ! include viscosity in barotropic subcycling +se_visc_gamma0 = 10 ! background viscosity for barotropic mode [dimensionless] +se_visc_gamma1 = 19500 ! flow-aware viscosity for barotropic mode [dimensionless] + ! typical values: 19500 (CORE2@32spd), 2750 (CORE2@72spd) +se_visc_gamma2 = 0 ! additional viscosity for barotropic mode [dimensionless] +/ + diff --git a/namelists/fesom2/2.7/namelist.forcing b/namelists/fesom2/2.7/namelist.forcing new file mode 100644 index 000000000..604f35bd2 --- /dev/null +++ b/namelists/fesom2/2.7/namelist.forcing @@ -0,0 +1,145 @@ +! ============================================================================ +! ============= Namelist file for FESOM2 atmospheric forcing ================ +! ============================================================================ +! This file contains configuration for atmospheric forcing and surface boundary +! conditions, including: +! - Bulk formulae exchange coefficients (heat, momentum, moisture) +! - Bulk formulae options and reference heights +! - Land ice freshwater forcing +! - Age tracer configuration +! - Surface forcing data files and variables +! - Runoff and salinity restoring +! - Chlorophyll data for shortwave penetration +! ============================================================================ + +! ============================================================================ +! BULK FORMULAE EXCHANGE COEFFICIENTS +! ============================================================================ +! These coefficients control the turbulent exchange of heat, moisture, and +! momentum between the atmosphere and ocean/ice surfaces. +! ============================================================================ +&forcing_exchange_coeff +Ce_atm_oce = 0.00175 ! exchange coefficient of latent heat over open water (dimensionless) +Ch_atm_oce = 0.00175 ! exchange coefficient of sensible heat over open water (dimensionless) +Cd_atm_oce = 0.001 ! drag coefficient between atmosphere and water (dimensionless) +Ce_atm_ice = 0.00175 ! exchange coefficient of latent heat over ice (dimensionless) +Ch_atm_ice = 0.00175 ! exchange coefficient of sensible heat over ice (dimensionless) +Cd_atm_ice = 0.0012 ! drag coefficient between atmosphere and ice (dimensionless) +Swind = 0.0 ! parameterization for coupled current feedback (0.0 = disabled) + ! non-zero values reduce wind stress based on ocean surface currents +/ + +! ============================================================================ +! BULK FORMULAE OPTIONS +! ============================================================================ +! Configuration for bulk formulae calculations (turbulent fluxes). +! Reference heights must match the forcing data specifications. +! ============================================================================ +&forcing_bulk +AOMIP_drag_coeff = .false. ! use AOMIP drag coefficient formulation (false = use standard) +ncar_bulk_formulae = .true. ! use NCAR bulk formulae (Large & Yeager 2004, 2009) +ncar_bulk_z_wind = 10.0 ! reference height for wind forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +ncar_bulk_z_tair = 10.0 ! reference height for air temperature forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +ncar_bulk_z_shum = 10.0 ! reference height for specific humidity forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +/ + +! ============================================================================ +! LAND ICE FRESHWATER FORCING +! ============================================================================ +! Configuration for freshwater input from land ice (glaciers, ice sheets). +! Requires use_landice_water=.true. in namelist.config to enable output. +! ============================================================================ +&land_ice +use_landice_water = .false. ! enable land ice freshwater forcing +landice_start_mon = 5 ! start month for land ice forcing (1-12) +landice_end_mon = 10 ! end month for land ice forcing (1-12) +fwf_path = '' ! path to land ice freshwater flux data files +/ + +! ============================================================================ +! AGE TRACER CONFIGURATION +! ============================================================================ +! Configuration for passive age tracer (tracks water mass age). +! Requires use_age_tracer=.true. in namelist.config to enable output. +! ============================================================================ +&age_tracer +use_age_tracer = .false. ! enable age tracer computation +use_age_mask = .false. ! use spatial mask for age tracer initialization +age_tracer_path = '' ! path to age tracer mask file (if use_age_mask=.true.) +age_start_year = 2000 ! year to start age tracer (tracer age = 0 at this year) +/ + +! ============================================================================ +! SURFACE BOUNDARY CONDITION (FORCING DATA) +! ============================================================================ +! Specification of atmospheric forcing data files and variables. +! File paths are relative to the run directory. +! ============================================================================ +&nam_sbc + ! --- Forcing file paths --- + nm_xwind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with zonal wind speeds + nm_ywind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with meridional wind speeds + nm_xstre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with zonal wind stress + nm_ystre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with meridional wind stress + nm_humi_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss.' ! name of file with air humidity + nm_qsr_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds.' ! name of file with short wave radiation + nm_qlw_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds.' ! name of file with long wave radiation + 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 + + ! --- Variable names in netCDF forcing files --- + 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 + + ! --- Time axis configuration in forcing files --- + nm_nc_iyear = 1948 ! initial year of forcing data time axis + nm_nc_imm = 1 ! initial month of forcing data time axis (1-12) + nm_nc_idd = 1 ! initial day of forcing data time axis (1-31) + nm_nc_freq = 1 ! number of data points per day (1=daily, 4=6-hourly, etc.) + nm_nc_tmid = 1 ! time stamp position: 1=mid-point, 0=start of interval + y_perpetual = .false. ! use perpetual year forcing (repeat single year) + + ! --- Enable/disable individual forcing fields --- + l_xwind = .true. ! use zonal wind forcing + l_ywind = .true. ! use meridional wind forcing + l_humi = .true. ! use specific humidity forcing + l_qsr = .true. ! use shortwave radiation forcing + l_qlw = .true. ! use longwave radiation forcing + l_tair = .true. ! use air temperature forcing + l_prec = .true. ! use precipitation forcing + l_mslp = .false. ! use mean sea level pressure forcing + l_cloud = .false. ! use cloud cover forcing + l_snow = .true. ! use snow precipitation forcing + + ! --- Runoff configuration --- + runoff_data_source = 'JRA55' ! runoff data source: 'Dai09', 'JRA55, 'CORE2', or 'NONE' + nm_runoff_file = '' ! path to runoff data + + ! --- Sea surface salinity restoring --- + sss_data_source = 'CORE2' ! SSS restoring data source: 'CORE2', 'WOA', or 'NONE' + nm_sss_data_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/PHC2_salx.nc' ! path to SSS restoring data file, e.g. PHC2_salx.nc + + ! --- Chlorophyll data for shortwave penetration --- + chl_data_source = 'Sweeney' ! chlorophyll data source: 'Sweeney' (monthly climatology) or 'None' (constant) + ! requires use_sw_pene=.true. in namelist.config + nm_chl_data_file = '/pool/data/AWICM/FESOM2/FORCING/Sweeney/Sweeney_2005.nc' ! chlorophyll data file (if Sweeney) + chl_const = 0.1 ! constant chlorophyll concentration [mg/m³] (if chl_data_source='None') + + ! --- Runoff mapper (distributes runoff over coastal area) --- + use_runoff_mapper = .false. ! enable runoff mapper (spreads runoff spatially) + runoff_basins_file = '' ! runoff basin mapping file + runoff_radius = 500000. ! radius for runoff spreading [m] (if use_runoff_mapper=.true.) +/ diff --git a/namelists/fesom2/2.7/namelist.ice b/namelists/fesom2/2.7/namelist.ice new file mode 100644 index 000000000..8b29ce4bf --- /dev/null +++ b/namelists/fesom2/2.7/namelist.ice @@ -0,0 +1,98 @@ +! ============================================================================ +! ============== Namelist file for FESOM2 sea ice model ===================== +! ============================================================================ +! This file contains configuration for sea ice dynamics and thermodynamics: +! - EVP (Elastic-Viscous-Plastic) rheology options +! - Ice strength and deformation parameters +! - Ocean-ice drag +! - Ice thermodynamics and thickness distribution +! - Albedo parameterizations +! ============================================================================ + +! ============================================================================ +! SEA ICE DYNAMICS +! ============================================================================ +&ice_dyn +! --- EVP Rheology Options --- +whichEVP = 0 ! EVP solver type: + ! 0 = standard EVP + ! 1 = modified EVP (mEVP) + ! 2 = adaptive EVP (aEVP) + +! --- Ice Strength Parameters --- +Pstar = 30000.0 ! ice strength parameter [N/m²] (typical: 20000-30000) +ellipse = 2.0 ! aspect ratio of yield curve ellipse (dimensionless) +c_pressure = 20.0 ! ice concentration parameter for strength computation (dimensionless) + +! --- Ice Deformation --- +delta_min = 1.0e-11 ! minimum strain rate for viscosity regularization [s⁻¹] + +! --- EVP Subcycling --- +evp_rheol_steps = 120 ! number of EVP subcycles per ice time step + +! --- mEVP Stability Parameters (for whichEVP=1) --- +alpha_evp = 250 ! mEVP stability constant (adjust with resolution) +beta_evp = 250 ! mEVP stability constant (adjust with resolution) + +! --- aEVP Tuning (for whichEVP=2) --- +c_aevp = 0.15 ! aEVP tuning constant (adjust with resolution) + +! --- Ocean-Ice Coupling --- +Cd_oce_ice = 0.0055 ! drag coefficient between ocean and ice (dimensionless, typical: 0.0055) + +! --- Numerical Stabilization --- +ice_gamma_fct = 0.5 ! smoothing parameter for ice dynamics (0.0-1.0) +ice_diff = 0.0 ! artificial diffusion for numerical stability [m²/s] +theta_io = 0.0 ! rotation angle for ice-ocean stress [degrees] + +! --- Time Stepping --- +ice_ave_steps = 1 ! ice time step = ice_ave_steps × ocean time step +/ + +! ============================================================================ +! SEA ICE THERMODYNAMICS +! ============================================================================ +&ice_therm +! --- Ice Properties --- +Sice = 4.0 ! bulk ice salinity [ppt] (typical range: 3.2-5.0) + +! --- Ice Thickness Distribution --- +iclasses = 7 ! number of ice thickness categories (default: 7) + ! set to 15 if using EM distribution (new_iceclasses=.true.) +new_iclasses = .false. ! use ice thickness distribution from EM observations + ! (Castro-Morales et al., JGR, 2013) +h_cutoff = 3.0 ! thickness cutoff for new_iclasses [m] + +! --- Lead Closing Parameters --- +h0 = 0.5 ! lead closing parameter for Northern Hemisphere [m] +h0_s = 0.5 ! lead closing parameter for Southern Hemisphere [m] + +! --- Minimum Thresholds --- +hmin = 0.01 ! minimum ice thickness [m] +armin = 0.01 ! minimum ice concentration (dimensionless) + +! --- Emissivity (Longwave Radiation) --- +emiss_ice = 0.97 ! emissivity of snow/ice surface (dimensionless, 0-1) +emiss_wat = 0.97 ! emissivity of open water (dimensionless, 0-1) + +! --- Albedo (Shortwave Radiation) --- +albsn = 0.81 ! albedo of frozen snow (dimensionless, 0-1) +albsnm = 0.77 ! albedo of melting snow (dimensionless, 0-1) +albi = 0.7 ! albedo of frozen ice (dimensionless, 0-1) +albim = 0.68 ! albedo of melting ice (dimensionless, 0-1) +albw = 0.1 ! albedo of open water (dimensionless, 0-1) +open_water_albedo = 0 ! open water albedo scheme: + ! 0 = default (constant albw) + ! 1 = Taylor et al. + ! 2 = Briegleb et al. + +! --- Thermal Conductivity --- +con = 2.1656 ! thermal conductivity of ice [W/m/K] +consn = 0.31 ! thermal conductivity of snow [W/m/K] + +! --- Snow Distribution --- +snowdist = .true. ! distribute snow depth according to ice thickness distribution + +! --- Melting Parameters --- +c_melt = 0.5 ! constant in concentration equation for melting conditions (0-1) +/ diff --git a/namelists/fesom2/2.7/namelist.icepack b/namelists/fesom2/2.7/namelist.icepack new file mode 100644 index 000000000..3fa487147 --- /dev/null +++ b/namelists/fesom2/2.7/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 = .true. + 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/namelists/fesom2/2.7/namelist.io b/namelists/fesom2/2.7/namelist.io new file mode 100644 index 000000000..82707cab6 --- /dev/null +++ b/namelists/fesom2/2.7/namelist.io @@ -0,0 +1,343 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 output configuration ================= +! ============================================================================ +! This file contains configuration for model output and diagnostics: +! - Diagnostic flags for optional output fields +! - General output settings (compression, rotation) +! - Output variable list with frequency and precision +! - Complete catalog of all available output fields +! +! See the output catalog at the end of this file for all possible variables. +! Some outputs require specific flags in &diag_list or other namelists. +! ============================================================================ + +! ============================================================================ +! DIAGNOSTIC FLAGS +! ============================================================================ +! Enable/disable optional diagnostic computations and outputs. +! Setting these to .true. enables additional output fields (see catalog below). +! ============================================================================ +&diag_list +ldiag_solver = .false. ! enables solver diagnostics (convergence, iterations) +lcurt_stress_surf = .false. ! enables 'curl_surf' output (vorticity of surface stress) +ldiag_curl_vel3 = .false. ! enables 'curl_u' output (relative vorticity from 3D velocity) +ldiag_Ri = .false. ! enables Richardson number diagnostics ('shear', 'Ri') +ldiag_turbflux = .false. ! enables turbulent flux diagnostics ('KvdTdz', 'KvdSdz') +ldiag_salt3D = .false. ! enables 3D salinity diagnostics +ldiag_dMOC = .false. ! enables 'dMOC' output (density MOC diagnostics) +ldiag_DVD = .false. ! enables 'DVD' output (Discrete Variance Decay diagnostics) +ldiag_forc = .false. ! enables 'FORC' output (comprehensive forcing diagnostics) +ldiag_extflds = .false. ! enables extended field diagnostics +ldiag_destine = .false. ! enables heat content computation ('hc300m', 'hc700m', 'hc') +ldiag_trflx = .false. ! enables tracer flux diagnostics ('utemp', 'vtemp', 'usalt', 'vsalt') +ldiag_uvw_sqr = .false. ! enables 'UVW_SQR' output (squared velocities: u2, v2, w2) +ldiag_trgrd_xyz = .false. ! enables 'TRGRD_XYZ' output (horizontal & vertical tracer gradients) +/ + +! ============================================================================ +! GENERAL OUTPUT SETTINGS +! ============================================================================ +&nml_general +io_listsize = 120 ! total number of streams to allocate. Shall be larger or equal to the number of streams in &nml_list (max. 150) +vec_autorotate = .false. ! unrotate vector fields (velocities, winds) before writing to output files +compression_level = 1 ! compression level for netCDF output (1=fastest, 9=smallest) +/ + +! ============================================================================ +! OUTPUT VARIABLE LIST +! ============================================================================ +! Format: 'variable_id', frequency, unit, precision +! frequency = output frequency (integer) +! unit = 'y' (yearly), 'm' (monthly), 'd' (daily), 'h' (hourly), 's' (steps) +! precision = 4 (single precision) or 8 (double precision) +! ============================================================================ +&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, + 'MLD3 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'm', 4, + 'salt ',1, 'm', 8, + 'N2 ',1, 'm', 4, + 'Kv ',1, 'm', 4, + 'u ',1, 'm', 4, + 'v ',1, 'm', 4, + 'unod ',1, 'm', 4, + 'vnod ',1, 'm', 4, + 'w ',1, 'm', 4, + 'Av ',1, 'm', 4, + 'bolus_u ',1, 'm', 4, + 'bolus_v ',1, 'm', 4, + 'bolus_w ',1, 'm', 4, + 'fw ',1, 'm', 4, + 'fh ',1, 'm', 4, + 'otracers ',1, 'm', 4, +/ + +! ============================================================================ +! COMPLETE CATALOG OF ALL POSSIBLE OUTPUT FIELDS +! ============================================================================ +! Below is a comprehensive list of all valid io_list IDs available in FESOM2. +! To enable any field, copy the line to the &nml_list section above. +! NOTE: Some fields require specific flags to be enabled (see comments). +! ============================================================================ + +! --- 2D OCEAN SURFACE FIELDS --- +! 'sst ',1, 'm', 4, ! sea surface temperature [C] +! 'sss ',1, 'm', 4, ! sea surface salinity [psu] +! 'ssh ',1, 'm', 4, ! sea surface elevation [m] +! 'vve_5 ',1, 'm', 4, ! vertical velocity at 5th level [m/s] +! 't_star ',1, 'm', 4, ! air temperature [C] +! 'qsr ',1, 'm', 4, ! solar radiation [W/s^2] + +! --- 3D OCEAN FIELDS --- +! 'temp ',1, 'm', 4, ! temperature [C] +! 'salt ',1, 'm', 8, ! salinity [psu] +! 'sigma0 ',1, 'm', 4, ! potential density [kg/m3] +! 'u ',1, 'm', 4, ! zonal velocity [m/s] +! 'v ',1, 'm', 4, ! meridional velocity [m/s] +! 'unod ',1, 'm', 4, ! zonal velocity at nodes [m/s] +! 'vnod ',1, 'm', 4, ! meridional velocity at nodes [m/s] +! 'w ',1, 'm', 4, ! vertical velocity [m/s] +! 'otracers ',1, 'm', 4, ! all other tracers if applicable +! 'age ',1, 'm', 4, ! water age tracer [year] (require use_age_tracer=.true.) + +! --- 2D SSH DIAGNOSTIC VARIABLES --- +! 'ssh_rhs ',1, 'm', 4, ! ssh rhs [m/s] +! 'ssh_rhs_old',1, 'm', 4, ! ssh rhs old [m/s] +! 'd_eta ',1, 'm', 4, ! dssh from solver [m] +! 'hbar ',1, 'm', 4, ! ssh n+0.5 tstep [m] +! 'hbar_old ',1, 'm', 4, ! ssh n-0.5 tstep [m] +! 'dhe ',1, 'm', 4, ! dhbar @ elem [m] + +! --- SEA ICE FIELDS (require use_ice=.true.) --- +! 'uice ',1, 'm', 4, ! ice velocity x [m/s] +! 'vice ',1, 'm', 4, ! ice velocity y [m/s] +! 'a_ice ',1, 'm', 4, ! ice concentration [%] +! 'm_ice ',1, 'm', 4, ! ice height per unit area [m] +! 'thdgrice ',1, 'm', 4, ! thermodynamic growth rate ice [m/s] +! 'thdgrarea ',1, 'm', 4, ! thermodynamic growth rate ice concentration [frac/s] +! 'dyngrarea' ,1, 'm', 4, ! dynamic growth rate ice concentration [frac/s] +! 'dyngrice ',1, 'm', 4, ! dynamic growth rate ice [m/s] +! 'thdgrsn ',1, 'm', 4, ! thermodynamic growth rate snow [m/s] +! 'dyngrsnw ',1, 'm', 4, ! dynamic growth rate snow [m/s] +! 'flice ',1, 'm', 4, ! flooding growth rate ice [m/s] +! 'm_snow ',1, 'm', 4, ! snow height per unit area [m] +! 'h_ice ',1, 'm', 4, ! ice thickness over ice-covered fraction [m] +! 'h_snow ',1, 'm', 4, ! snow thickness over ice-covered fraction [m] +! 'fw_ice ',1, 'm', 4, ! fresh water flux from ice ['m/s'] +! 'fw_snw ',1, 'm', 4, ! fresh water flux from snow ['m/s'] + +! --- SEA ICE DEBUG VARIABLES (require use_ice=.true.) --- +! 'strength_ice',1, 'm', 4, ! ice strength [?] +! 'inv_areamass',1, 'm', 4, ! inv_areamass [?] +! 'rhs_a ',1, 'm', 4, ! rhs_a [?] +! 'rhs_m ',1, 'm', 4, ! rhs_m [?] +! 'sgm11 ',1, 'm', 4, ! sgm11 [?] +! 'sgm12 ',1, 'm', 4, ! sgm12 [?] +! 'sgm22 ',1, 'm', 4, ! sgm22 [?] +! 'eps11 ',1, 'm', 4, ! eps11 [?] +! 'eps12 ',1, 'm', 4, ! eps12 [?] +! 'eps22 ',1, 'm', 4, ! eps22 [?] +! 'u_rhs_ice ',1, 'm', 4, ! u_rhs_ice [?] +! 'v_rhs_ice ',1, 'm', 4, ! v_rhs_ice [?] +! 'metric_fac',1, 'm', 4, ! metric_fac [?] +! 'elevat_ice',1, 'm', 4, ! elevat_ice [?] +! 'uwice ',1, 'm', 4, ! uwice [?] +! 'vwice ',1, 'm', 4, ! vwice [?] +! 'twice ',1, 'm', 4, ! twice [?] +! 'swice ',1, 'm', 4, ! swice [?] + +! --- MIXED LAYER DEPTH --- +! 'MLD1 ',1, 'm', 4, ! Mixed Layer Depth [m] Large et al. 1997, bvfreq(nz, node) > db_max +! 'MLD2 ',1, 'm', 4, ! Mixed Layer Depth [m] Levitus treshold, rhopot(nz)-rhopot(1) > 0.125_WP kg/m +! 'MLD3 ',1, 'm', 4, ! Mixed Layer Depth [m] Griffies 2016 , rhopot(nz)-rhopot(1) > 0.03_WP kg/m + +! --- HEAT CONTENT (require ldiag_destine=.true.) --- +! 'hc300m ',1, 'm', 4, ! Vertically integrated heat content upper 300m [J m**-2] +! 'hc700m ',1, 'm', 4, ! Vertically integrated heat content upper 700m [J m**-2] +! 'hc ',1, 'm', 4, ! Vertically integrated heat content total column [J m**-2] + +! --- WATER ISOTOPES IN SEA ICE (require lwiso=.true.) --- +! 'h2o18_ice ',1, 'm', 4, ! h2o18 concentration in sea ice [kmol/m**3] +! 'hDo16_ice ',1, 'm', 4, ! hDo16 concentration in sea ice [kmol/m**3] +! 'h2o16_ice ',1, 'm', 4, ! h2o16 concentration in sea ice [kmol/m**3] + +! --- FRESHWATER FLUX (require use_landice_water=.true.) --- +! 'landice ',1, 'm', 4, ! freshwater flux [m/s] + +! --- SURFACE FORCING --- +! 'tx_sur ',1, 'm', 4, ! zonal wind str. to ocean [N/m2] +! 'ty_sur ',1, 'm', 4, ! meridional wind str. to ocean [N/m2] +! 'curl_surf ',1, 'm', 4, ! vorticity of the surface stress [none] (require lcurt_stress_surf=.true.) +! 'fh ',1, 'm', 4, ! heat flux [W/m2] +! 'fw ',1, 'm', 4, ! fresh water flux [m/s] +! 'atmice_x ',1, 'm', 4, ! stress atmice x [N/m2] +! 'atmice_y ',1, 'm', 4, ! stress atmice y [N/m2] +! 'atmoce_x ',1, 'm', 4, ! stress atmoce x [N/m2] +! 'atmoce_y ',1, 'm', 4, ! stress atmoce y [N/m2] +! 'iceoce_x ',1, 'm', 4, ! stress iceoce x [N/m2] +! 'iceoce_y ',1, 'm', 4, ! stress iceoce y [N/m2] +! 'alpha ',1, 'm', 4, ! thermal expansion [none] +! 'beta ',1, 'm', 4, ! saline contraction [none] +! 'dens_flux ',1, 'm', 4, ! density flux [kg/(m3*s)] +! 'runoff ',1, 'm', 4, ! river runoff [m/s] +! 'evap ',1, 'm', 4, ! evaporation [m/s] +! 'prec ',1, 'm', 4, ! precipitation rain [m/s] +! 'snow ',1, 'm', 4, ! precipitation snow [m/s] +! 'tair ',1, 'm', 4, ! surface air temperature [°C] +! 'shum ',1, 'm', 4, ! specific humidity [] +! 'swr ',1, 'm', 4, ! short wave radiation [W/m^2] +! 'lwr ',1, 'm', 4, ! long wave radiation [W/m^2] +! 'uwind ',1, 'm', 4, ! 10m zonal surface wind velocity [m/s] +! 'vwind ',1, 'm', 4, ! 10m merid. surface wind velocity [m/s] +! 'virtsalt ',1, 'm', 4, ! virtual salt flux [m/s*psu] +! 'relaxsalt ',1, 'm', 4, ! relaxation salt flux [m/s*psu] +! 'realsalt ',1, 'm', 4, ! real salt flux from sea ice [m/s*psu] + +! --- KPP VERTICAL MIXING (require mix_scheme_nmb==1,17,3,37) --- +! 'kpp_obldepth',1, 'm', 4, ! KPP ocean boundary layer depth [m] +! 'kpp_sbuoyflx',1, 'm', 4, ! surface buoyancy flux [m2/s3] + +! --- RECOM 2D BIOGEOCHEMISTRY (require use_REcoM=.true. and __recom) --- +! 'dpCO2s ',1, 'm', 4, ! Difference of oceanic pCO2 minus atmospheric pCO2 [uatm] +! 'pCO2s ',1, 'm', 4, ! Partial pressure of oceanic CO2 [uatm] +! 'CO2f ',1, 'm', 4, ! CO2-flux into the surface water [mmolC/m2/d] +! 'O2f ',1, 'm', 4, ! O2-flux into the surface water [mmolO/m2/d] +! 'Hp ',1, 'm', 4, ! Mean of H-plus ions in the surface water [mol/kg] +! 'aFe ',1, 'm', 4, ! Atmospheric iron input [umolFe/m2/s] +! 'aN ',1, 'm', 4, ! Atmospheric DIN input [mmolN/m2/s] +! 'benN ',1, 'm', 4, ! Benthos Nitrogen [mmol] +! 'benC ',1, 'm', 4, ! Benthos Carbon [mmol] +! 'benSi ',1, 'm', 4, ! Benthos silicon [mmol] +! 'benCalc ',1, 'm', 4, ! Benthos calcite [mmol] +! 'NPPn ',1, 'm', 4, ! Mean NPP nanophytoplankton [mmolC/m2/d] +! 'NPPd ',1, 'm', 4, ! Mean NPP diatoms [mmolC/m2/d] +! 'GPPn ',1, 'm', 4, ! Mean GPP nanophytoplankton [mmolC/m2/d] +! 'GPPd ',1, 'm', 4, ! Mean GPP diatoms [mmolC/m2/d] +! 'NNAn ',1, 'm', 4, ! Net N-assimilation nanophytoplankton [mmolN/m2/d] +! 'NNAd ',1, 'm', 4, ! Net N-assimilation diatoms [mmolN/m2/d] +! 'Chldegn ',1, 'm', 4, ! Chlorophyll degradation nanophytoplankton [1/d] +! 'Chldegd ',1, 'm', 4, ! Chlorophyll degradation diatoms [1/d] +! 'NPPc ',1, 'm', 4, ! Mean NPP coccolithophores [mmolC/(m2*d)] +! 'GPPc ',1, 'm', 4, ! Mean GPP coccolithophores [mmolC/m2/d] +! 'NNAc ',1, 'm', 4, ! Net N-assimilation coccolithophores [mmolN/(m2*d)] +! 'Chldegc ',1, 'm', 4, ! Chlorophyll degradation coccolithophores [1/d] + +! --- RECOM 3D BIOGEOCHEMISTRY (require use_REcoM=.true. and __recom) --- +! 'PAR ',1, 'm', 4, ! PAR [W/m2] +! 'respmeso ',1, 'm', 4, ! Respiration rate of mesozooplankton [mmolC/m2/d] +! 'respmacro ',1, 'm', 4, ! Respiration rate of macrozooplankton [mmolC/m2/d] +! 'respmicro ',1, 'm', 4, ! Respiration rate of microzooplankton [mmolC/m2/d] +! 'calcdiss ',1, 'm', 4, ! Calcite dissolution [mmolC/m2/d] +! 'calcif ',1, 'm', 4, ! Calcification [mmolC/m2/d] +! 'aggn ',1, 'm', 4, ! Aggregation of small phytoplankton [mmolC/m2/d] +! 'aggd ',1, 'm', 4, ! Aggregation of diatoms [mmolC/m2/d] +! 'aggc ',1, 'm', 4, ! Aggregation of coccolithophores [mmolC/m2/d] +! 'docexn ',1, 'm', 4, ! DOC excretion by small phytoplankton [mmolC/m2/d] +! 'docexd ',1, 'm', 4, ! DOC excretion by diatoms [mmolC/m2/d] +! 'docexc ',1, 'm', 4, ! DOC excretion by coccolithophores [mmolC/m2/d] +! 'respn ',1, 'm', 4, ! Respiration by small phytoplankton [mmolC/m2/d] +! 'respd ',1, 'm', 4, ! Respiration by diatoms [mmolC/m2/d] +! 'respc ',1, 'm', 4, ! Respiration by coccolithophores [mmolC/(m2*d)] +! 'NPPn3D ',1, 'm', 4, ! Net primary production of small phytoplankton [mmolC/m2/d] +! 'NPPd3D ',1, 'm', 4, ! Net primary production of diatoms [mmolC/m2/d] +! 'NPPc3D ',1, 'm', 4, ! Net primary production of coccolithophores [mmolC/m2/d] + +! --- WATER ISOTOPES IN OCEAN (require lwiso=.true.) --- +! 'h2o18 ',1, 'm', 4, ! h2o18 concentration [kmol/m**3] +! 'hDo16 ',1, 'm', 4, ! hDo16 concentration [kmol/m**3] +! 'h2o16 ',1, 'm', 4, ! h2o16 concentration [kmol/m**3] + +! --- NEUTRAL SLOPES --- +! 'slopetap_x',1, 'm', 4, ! neutral slope tapered X [none] +! 'slopetap_y',1, 'm', 4, ! neutral slope tapered Y [none] +! 'slopetap_z',1, 'm', 4, ! neutral slope tapered Z [none] +! 'slope_x ',1, 'm', 4, ! neutral slope X [none] +! 'slope_y ',1, 'm', 4, ! neutral slope Y [none] +! 'slope_z ',1, 'm', 4, ! neutral slope Z [none] + +! --- MIXING AND DYNAMICS --- +! 'N2 ',1, 'm', 4, ! brunt väisälä [1/s2] +! 'Kv ',1, 'm', 4, ! vertical diffusivity Kv [m2/s] +! 'Av ',1, 'm', 4, ! vertical viscosity Av [m2/s] + +! --- VISCOSITY TENDENCIES (require dynamics%opt_visc==8) --- +! 'u_dis_tend',1, 'm', 4, ! horizontal velocity viscosity tendency [m/s] +! 'v_dis_tend',1, 'm', 4, ! meridional velocity viscosity tendency [m/s] +! 'u_back_tend',1, 'm', 4, ! horizontal velocity backscatter tendency [m2/s2] +! 'v_back_tend',1, 'm', 4, ! meridional velocity backscatter tendency [m2/s2] +! 'u_total_tend',1, 'm', 4,! horizontal velocity total viscosity tendency [m/s] +! 'v_total_tend',1, 'm', 4,! meridional velocity total viscosity tendency [m/s] + +! --- FERRARI/GM PARAMETERISATION (require Fer_GM=.true.) --- +! 'bolus_u ',1, 'm', 4, ! GM bolus velocity U [m/s] +! 'bolus_v ',1, 'm', 4, ! GM bolus velocity V [m/s] +! 'bolus_w ',1, 'm', 4, ! GM bolus velocity W [m/s] +! 'fer_K ',1, 'm', 4, ! GM, stirring diff. [m2/s] +! 'fer_scal ',1, 'm', 4, ! GM surface scaling [] +! 'fer_C ',1, 'm', 4, ! GM, depth independent speed [m/s] +! 'cfl_z ',1, 'm', 4, ! vertical CFL criteria [?] + +! --- DENSITY MOC DIAGNOSTICS (require ldiag_dMOC=.true.) --- +! 'dMOC ',1, 'm', 4, ! fluxes for density MOC (multiple variables) + +! --- PRESSURE GRADIENT FORCE --- +! 'pgf_x ',1, 'm', 4, ! zonal pressure gradient force [m/s^2] +! 'pgf_y ',1, 'm', 4, ! meridional pressure gradient force [m/s^2] + +! --- ALE LAYER THICKNESS --- +! 'hnode ',1, 'm', 4, ! vertice layer thickness [m] +! 'hnode_new ',1, 'm', 4, ! hnode_new [m] +! 'helem ',1, 'm', 4, ! elemental layer thickness [m] + +! --- OIFS/IFS INTERFACE (require __oifs or __ifsinterface) --- +! 'alb ',1, 'm', 4, ! ice albedo [none] +! 'ist ',1, 'm', 4, ! ice surface temperature [K] +! 'qsi ',1, 'm', 4, ! ice heat flux [W/m^2] +! 'qso ',1, 'm', 4, ! oce heat flux [W/m^2] +! 'enthalpy ',1, 'm', 4, ! enthalpy of fusion [W/m^2] +! 'qcon ',1, 'm', 4, ! conductive heat flux [W/m^2] +! 'qres ',1, 'm', 4, ! residual heat flux [W/m^2] +! 'runoff_liquid',1, 'm', 4, ! liquid water runoff [m/s] +! 'runoff_solid',1, 'm', 4, ! solid water runoff [m/s] + +! --- ICEBERG OUTPUTS (require use_icebergs=.true.) --- +! 'icb ',1, 'm', 4, ! iceberg outputs (multiple variables) + +! --- TKE MIXING DIAGNOSTICS (require mix_scheme_nmb==5 or 56) --- +! 'TKE ',1, 'm', 4, ! TKE diagnostics (multiple variables) + +! --- IDEMIX MIXING DIAGNOSTICS (require mod(mix_scheme_nmb,10)==6) --- +! 'IDEMIX ',1, 'm', 4, ! IDEMIX diagnostics (multiple variables) + +! --- TIDAL MIXING DIAGNOSTICS (require mod(mix_scheme_nmb,10)==7) --- +! 'TIDAL ',1, 'm', 4, ! TIDAL diagnostics (multiple variables) + +! --- FORCING DIAGNOSTICS (require ldiag_forc=.true.) --- +! 'FORC ',1, 'm', 4, ! forcing diagnostics (multiple variables) + +! --- DISCRETE VARIANCE DECAY (require ldiag_DVD=.true.) --- +! 'DVD ',1, 'm', 4, ! DVD diagnostics (multiple variables) + +! --- SPLIT-EXPLICIT SUBCYCLING (require dynamics%use_ssh_se_subcycl=.true.) --- +! 'SPLIT-EXPL',1, 'm', 4, ! split-explicit diagnostics (multiple variables) + +! --- SQUARED VELOCITIES (require ldiag_uvw_sqr=.true.) --- +! 'UVW_SQR ',1, 'm', 4, ! squared velocities (u2, v2, w2) + +! --- TRACER GRADIENTS (require ldiag_trgrd_xyz=.true.) --- +! 'TRGRD_XYZ ',1, 'm', 4, ! horizontal and vertical tracer gradients + +! ============================================================================ +! END OF CATALOG +! ============================================================================ diff --git a/namelists/fesom2/2.7/namelist.oce b/namelists/fesom2/2.7/namelist.oce new file mode 100644 index 000000000..c0dc986bd --- /dev/null +++ b/namelists/fesom2/2.7/namelist.oce @@ -0,0 +1,76 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 ocean dynamics ====================== +! ============================================================================ +! This file contains configuration for ocean dynamics and parameterizations: +! - Bottom drag and vertical viscosity +! - Gent-McWilliams (GM) eddy parameterization +! - Redi isopycnal diffusion +! - Vertical mixing schemes (KPP, PP) +! - Convection parameters +! - Tidal forcing +! ============================================================================ + +! ============================================================================ +! OCEAN DYNAMICS AND PARAMETERIZATIONS +! ============================================================================ +&oce_dyn +! --- Basic ocean dynamics parameters --- +C_d = 0.0025 ! bottom drag coefficient (dimensionless, typical: 0.0025) +A_ver = 1.e-4 ! background vertical viscosity [m²/s] +scale_area = 5.8e9 ! reference element area for viscosity/diffusivity scaling [m²] + +! --- Salt Plume Parameterization --- +SPP = .false. ! enable Salt Plume Parameterization (for brine rejection under sea ice) + +! --- Gent-McWilliams (GM) Eddy Parameterization --- +Fer_GM = .true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 1000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 1 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1.0 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1.0 ! Resol 8 if (ciso == .true.) otherwise -> 4 +use_MEDUSA = .false. ! Main switch for the sediment model MEDUSA +sedflx_num = 0 ! if 0: no file from MEDUSA is read but default sediment +bottflx_num = 4 ! if ciso&ciso_14: =8; if .not.ciso_14: =6; no ciso: =4 +use_atbox = .false. +add_loopback = .false. ! add loopback fluxes through rivers to the surface +lb_tscale = 1.0 ! /year: fraction of loopback fluxes yearly added to the surface +/ + +&pasinking +Vdet_a = 0.0288 ! [1/day] +Vcalc = 0.0144 ! [1/day] +/ + +&painitialization_N +cPhyN = 0.2d0 +cHetN = 0.2d0 +cZoo2N = 0.2d0 +/ + +&paArrhenius +recom_Tref = 288.15d0 ! [K] +C2K = 273.15d0 ! Conversion from degrees C to K +Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function +reminSi = 0.02d0 +k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 +/ + +&palimiter_function +NMinSlope = 50.d0 +SiMinSlope = 1000.d0 +NCmin = 0.04d0 !0.05d0 +NCmin_d = 0.04d0 !0.05d0 +NCmin_c = 0.04d0 ! NEW +SiCmin = 0.04d0 +k_Fe = 0.04d0 +k_Fe_d = 0.12d0 +k_Fe_c = 0.09d0 ! NEW +k_si = 4.d0 +P_cm = 3.0d0 ! [1/day] Rate of C-specific photosynthesis +P_cm_d = 3.5d0 +P_cm_c = 2.8d0 ! NEW +/ + +&palight_calculations +k_w = 0.04d0 ! [1/m] Light attenuation coefficient +a_chl = 0.03d0 ! [1/m * 1/(mg Chl)] Chlorophyll specific attenuation coefficients +/ + +&paphotosynthesis +alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] +alfa_d = 0.19d0 ! An initial slope of the P-I curve +alfa_c = 0.10d0 ! NEW +parFrac = 0.43d0 +/ + +&paassimilation +V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake +V_cm_fact_d = 0.7d0 +V_cm_fact_c = 0.7d0 ! NEW +NMaxSlope = 1000.d0 ! Max slope for limiting function +SiMaxSlope = 1000.d0 +NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) +NCmax_d = 0.2d0 +NCmax_c = 0.15d0 ! NEW +SiCmax = 0.8d0 +NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C +NCUptakeRatio_d = 0.2d0 +NCUptakeRatio_c = 0.2d0 ! NEW +SiCUptakeRatio = 0.2d0 +k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake +k_din_d = 1.0d0 +k_din_c = 0.9d0 ! NEW +Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 +Chl2N_max_d = 4.2d0 +Chl2N_max_c = 3.5d0 ! NEW +res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant +res_phy_d = 0.01d0 +res_phy_c = 0.01d0 ! NEW +biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis +biosynthSi = 0.d0 +/ + +&pairon_chem +totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand +ligandStabConst = 100.d0 ! [m3/mumol] order 100. Ligand-free iron stability constant +/ + +&pazooplankton +graz_max = 0.31d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilonr = 0.09d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_het = 0.028d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 +loss_het = 0.04d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +pzDia = 1.0d0 !0.5d0 ! Maximum diatom preference +sDiaNsq = 0.d0 +pzPhy = 0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) +sPhyNsq = 0.d0 +pzCocco = 0.666d0 ! NEW (8/12) +sCoccoNsq = 0.d0 ! NEW +pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq = 0.d0 ! NEW 3Zoo +tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. +/ + +&pasecondzooplankton +graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +fecal_rate_n = 0.104d0 ! [1/day] Temperature dependent N degradation of \ +fecal_rate_c = 0.236d0 +fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo +fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo +pzDia2 = 1.5d0 !1.d0 ! Maximum diatom preference +sDiaNsq2 = 0.d0 +pzPhy2 = 0.5d0 ! Maximum diatom preference +sPhyNsq2 = 0.d0 +pzCocco2 = 0.5d0 ! NEW +sCoccoNsq2 = 0.d0 ! NEW +pzHet = 1.5d0 !0.8d0 ! Maximum diatom preference +sHetNsq = 0.d0 +pzMicZoo2 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq2 = 0.d0 +t1_zoo2 = 28145.d0 ! Krill temp. function constant1 +t2_zoo2 = 272.5d0 ! Krill temp. function constant2 +t3_zoo2 = 105234.d0 ! Krill temp. function constant3 +t4_zoo2 = 274.15d0 ! Krill temp. function constant3 +/ + +&pathirdzooplankton +graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss +loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) +res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) +pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference +sDiaNsq3 = 0.d0 ! NEW 3Zoo +pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sPhyNsq3 = 0.d0 ! NEW 3Zoo +pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! +sCoccoNsq3 = 0.d0 ! NEW 3Zoo +/ + +&pagrazingdetritus +pzDet = 0.5d0 ! Maximum small detritus prefence by first zooplankton +sDetNsq = 0.d0 +pzDetZ2 = 0.5d0 ! Maximum large detritus preference by first zooplankton +sDetZ2Nsq = 0.d0 +pzDet2 = 0.5d0 ! Maximum small detritus prefence by second zooplankton +sDetNsq2 = 0.d0 +pzDetZ22 = 0.5d0 ! Maximum large detritus preference by second zooplankton +sDetZ2Nsq2 = 0.d0 +/ + +&paaggregation +agg_PD = 0.165d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for DetN +agg_PP = 0.015d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for PhyN and DiaN (plankton) +/ + +&padin_rho_N +rho_N = 0.11d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) (Remineralization of DON) +/ + +&padic_rho_C1 +rho_C1 = 0.1d0 ! [1/day] Temperature dependent C degradation of extracellular organic C (EOC) +/ + +&paphytoplankton_N +lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds +lossN_d = 0.05d0 +lossN_c = 0.05d0 ! NEW +/ + +&paphytoplankton_C +lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon +lossC_d = 0.10d0 +lossC_c = 0.10d0 ! NEW +/ + +&paphytoplankton_ChlA +deg_Chl = 0.25d0 !0.2d0 !0.25d0 ! [1/day] +deg_Chl_d = 0.15d0 !0.2d0 !0.15d0 +deg_Chl_c = 0.2d0 ! NEW (has been 0.5) +/ + +&padetritus_N +gfin = 0.3d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) +grazEff2 = 0.8d0 ! [] Grazing efficiency (fraction of grazing flux into second zooplankton pool) +grazEff3 = 0.8d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into microzooplankton pool) +reminN = 0.165d0 ! [1/day] Temperature dependent remineralisation rate of detritus +/ + +&padetritus_C +reminC = 0.15d0 ! [1/day] Temperature dependent remineralisation rate of detritus +rho_c2 = 0.1d0 ! [1/day] Temperature dependent C degradation of TEP-C +/ + +&paheterotrophs +lossN_z = 0.1d0 +lossC_z = 0.1d0 +/ + +&paseczooloss +lossN_z2 = 0.02d0 +lossC_z2 = 0.02d0 +/ + +&pathirdzooloss +lossN_z3 = 0.05d0 ! NEW 3Zoo +lossC_z3 = 0.05d0 ! NEW 3Zoo +/ + +&paco2lim ! NEW +Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 +a_co2_phy = 1.162e+00 ! [dimensionless] +a_co2_dia = 1.040e+00 ! [dimensionless] +a_co2_cocco = 1.109e+00 ! [dimensionless] +a_co2_calc = 1.102e+00 ! [dimensionless] +b_co2_phy = 4.888e+01 ! [mol/kg] +b_co2_dia = 2.890e+01 ! [mol/kg] +b_co2_cocco = 3.767e+01 ! [mol/kg] +b_co2_calc = 4.238e+01 ! [mol/kg] +c_co2_phy = 2.255e-01 ! [kg/mol] +c_co2_dia = 8.778e-01 ! [kg/mol] +c_co2_cocco = 3.912e-01 ! [kg/mol] +c_co2_calc = 7.079e-01 ! [kg/mol] +d_co2_phy = 1.023e+07 ! [kg/mol] +d_co2_dia = 2.640e+06 ! [kg/mol] +d_co2_cocco = 9.450e+06 ! [kg/mol] +d_co2_calc = 1.343e+07 ! [kg/mol] +/ + +&pairon +Fe2N = 0.033d0 ! Fe2C * 6.625 +Fe2N_benthos = 0.15d0 ! test, default was 0.14 Fe2C_benthos * 6.625 - will have to be tuned. [umol/m2/day] +kScavFe = 0.07d0 +dust_sol = 0.02d0 ! Dissolution of Dust for bioavaliable +RiverFeConc = 100 +/ + +&pacalc +calc_prod_ratio = 0.02 +calc_diss_guts = 0.0d0 +calc_diss_rate = 0.005714 ! 20.d0/3500.d0 +calc_diss_rate2 = 0.005714d0 +calc_diss_omegac = 0.197d0 ! NEW DISS Value from Aumont et al. 2015, will be used with OmegaC_diss flag +calc_diss_exp = 1.d0 ! NEW DISS Exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag +/ + +&pabenthos_decay_rate +decayRateBenN = 0.005d0 +decayRateBenC = 0.005d0 +decayRateBenSi = 0.005d0 +q_NC_Denit = 0.86d0 ! N:C quota of the denitrification process +/ + +&paco2_flux_param +permil = 0.000000976 ! 1.e-3/1024.5d0 ! Converting DIC from [mmol/m3] to [mol/kg] +permeg = 1.e-6 ! [atm/uatm] Changes units from uatm to atm +!X1 = exp(-5.d0*log(10.d0)) ! Lowest ph-value = 7.7 (phlo) +!X2 = exp(-9.d0*log(10.d0)) ! Highest ph-value = 9.5 (phhi) +Xacc = 1.e-12 ! Accuracy for ph-iteration (phacc) +CO2_for_spinup = 278.d0 ! [uatm] Atmospheric partial pressure of CO2 +/ + +&paalkalinity_restoring +surf_relax_Alk = 3.2e-07 !10.d0/31536000.d0 +/ + +&paballasting +rho_POC = 1033.d0 ! kg m-3; density of POC (see Table 1 in Cram et al., 2018) +rho_PON = 1033.d0 ! kg m-3; density of PON (see Table 1 in Cram et al., 2018) +rho_CaCO3 = 2830.d0 ! kg m-3; density of CaCO3 (see Table 1 in Cram et al., 2018) +rho_opal = 2090.d0 ! kg m-3; density of Opal (see Table 1 in Cram et al., 2018) +rho_ref_part = 1230.d0 ! kg m-3; reference particle density (see Cram et al., 2018) +rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram et al., 2018) +visc_ref_water = 0.00158d0 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) +w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus +w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus +depth_scaling1 = 0.015d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted +depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted +max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) +/ + +&paciso +ciso_init = .false. ! initial fractionation of bulk organic matter +ciso_14 = .false. ! include inorganic radiocarbon +ciso_organic_14 = .false. ! include organic radiocarbon +lambda_14 = 3.8561e-12 ! corresponding to 1 year = 365.00 days +delta_CO2_13 = -6.61 ! atmospheric d13C (permil), global-mean value +big_delta_CO2_14(1) = 0. ! atmospheric D14C (permil), northern hemisphere polewards of 30°N +big_delta_CO2_14(2) = 0. ! atmospheric D14C (permil), (sub) tropical zone 30°N - 30°S +big_delta_CO2_14(3) = 0. ! atmospheric D14C (permil), southern hemisphere polewards of 30°S +atbox_spinup = .false. +cosmic_14_init = 2.0 +/ + diff --git a/namelists/fesom2/2.7/namelist.tra b/namelists/fesom2/2.7/namelist.tra new file mode 100644 index 000000000..5c81b332c --- /dev/null +++ b/namelists/fesom2/2.7/namelist.tra @@ -0,0 +1,118 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 tracer configuration ================= +! ============================================================================ +! This file contains configuration for ocean tracers (temperature, salinity, +! and passive tracers): +! - Tracer list and advection/diffusion schemes +! - Initial conditions (3D ocean and 2D sea ice) +! - Biharmonic diffusion options +! - Vertical diffusion and time stepping +! - Physical parameterizations (mixing, restoring) +! ============================================================================ + +! ============================================================================ +! TRACER ARRAY ALLOCATION +! ============================================================================ +&tracer_listsize +num_tracers = 100 ! number of tracers to allocate (must be ≥ actual number of tracers) +/ + +! ============================================================================ +! TRACER LIST AND ADVECTION SCHEMES +! ============================================================================ +! Format: ID, horizontal_advection, vertical_advection, horizontal_diffusion, Kh_factor, Kv_factor +! Advection schemes: 'MFCT' (Multidimensional FCT), 'UPW1' (1st-order upwind), 'QR4C' (4th-order) +! Diffusion schemes: 'FCT' (Flux-Corrected Transport), 'NON' (none) +! Order switches : hor./vert. Ord.=1.0 --> 4th order, =0.0 --> 3rd order, =0.5 --> mixed 3rd&4th order +! ============================================================================ +! nml_tracer_list = +! idx, hor. Adv, vert. Adv., use FCT, hor.Ord., vert. Ord. +! 1 , 'MFCT' , 'QR4C' , 'FCT ' , 1. , 1. , ! temperature +! 2 , 'MFCT' , 'QR4C' , 'FCT ' , 1. , 1. , ! salinity +!101 , 'UPW1' , 'UPW1' , 'NON ' , 0. , 0. ! example passive tracer +&tracer_list +nml_tracer_list = +1 , 'MFCT', 'QR4C', 'FCT ', 0., 1., +2 , 'MFCT', 'QR4C', 'FCT ', 0., 1., +!101, 'UPW1', 'UPW1', 'NON ', 0., 0. +/ + +! ============================================================================ +! 3D TRACER INITIAL CONDITIONS (OCEAN) +! ============================================================================ +&tracer_init3d +n_ic3d = 2 ! number of 3D tracers to initialize from files +idlist = 2, 1 ! tracer IDs to initialize (1=temperature, 2=salinity) +filelist = 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! netCDF files in ClimateDataPath (one per tracer) +varlist = 'salt', 'temp' ! variable names in the netCDF files +t_insitu = .true. ! if true, convert in-situ temperature to potential temperature +/ + +! ============================================================================ +! 2D TRACER INITIAL CONDITIONS (SEA ICE) +! ============================================================================ +&tracer_init2d +n_ic2d = 3 ! number of 2D tracers to initialize from files +idlist = 1, 2, 3 ! tracer IDs (1=ice concentration, 2=ice thickness, 3=snow thickness) +filelist = 'a_ice.nc', 'm_ice.nc', 'm_snow.nc' ! netCDF files in ClimateDataPath +varlist = 'a_ice', 'm_ice', 'm_snow' ! variable names in the netCDF files +ini_ice_from_file = .false. ! enable initialization from files (false = use default values) +/ + +! ============================================================================ +! TRACER GENERAL SETTINGS +! ============================================================================ +&tracer_general +! --- Biharmonic Diffusion --- +! Recommended for very high resolution runs (where Redi is typically disabled) +smooth_bh_tra = .false. ! enable biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! background biharmonic diffusion coefficient [dimensionless] +gamma1_tra = 0.0125 ! flow-aware biharmonic diffusion coefficient [dimensionless] +gamma2_tra = 0. ! additional biharmonic diffusion coefficient [dimensionless] + +! --- Vertical Diffusion and Time Stepping --- +i_vert_diff = .true. ! use implicit vertical diffusion (recommended for stability) +AB_order = 2 ! Adams-Bashforth time stepping order (2 or 3) +/ + +! ============================================================================ +! TRACER PHYSICS AND PARAMETERIZATIONS +! ============================================================================ +&tracer_phys +! --- Monin-Obukhov Mixing (TB04) --- +use_momix = .false. ! enable Monin-Obukhov mixing (Timmermann & Beckmann 2004) +momix_lat = -50.0 ! latitude threshold for TB04 [degrees] (90 = global, -50 = south of 50°S) +momix_kv = 0.01 ! mixing coefficient within MO length [m²/s] + +! --- Convective Instability Mixing --- +use_instabmix = .true. ! enhance mixing for unstable stratification (convection) +instabmix_kv = 0.1 ! mixing coefficient for unstable stratification [m²/s] + +! --- Wind Mixing (PP scheme only) --- +use_windmix = .false. ! enhance near-surface mixing by wind (for PP mixing stability) +windmix_kv = 1.e-3 ! wind mixing coefficient [m²/s] +windmix_nl = 2 ! number of surface layers for wind mixing + +! --- Shear Instability (KPP) --- +diff_sh_limit = 5.0e-3 ! maximum diffusivity due to shear instability [m²/s] (for KPP) + +! --- Background Diffusivity --- +Kv0_const = .true. ! use constant background vertical diffusivity +K_ver = 1.0e-5 ! background vertical diffusivity [m²/s] +K_hor = 0. ! background horizontal diffusivity [m²/s] + +! --- Double Diffusion (KPP) --- +double_diffusion = .false. ! enable double diffusion parameterization (for KPP) + +! --- Surface Restoring --- +surf_relax_T = 0.0 ! surface temperature restoring coefficient [m/s] (0 = disabled) +surf_relax_S = 1.929e-06 ! surface salinity restoring coefficient [m/s] +balance_salt_water = .true. ! balance virtual salt flux with freshwater flux + +! --- Climatology Restoring --- +clim_relax = 0.0 ! 3D climatology restoring coefficient [1/s] (0 = disabled) + +! --- Reference Salinity --- +ref_sss_local = .true. ! use local reference SSS (true) or global constant (false) +ref_sss = 34. ! global reference salinity [psu] (if ref_sss_local=false) +/ diff --git a/namelists/fesom2/2.7/namelist.transit b/namelists/fesom2/2.7/namelist.transit new file mode 100644 index 000000000..80313df59 --- /dev/null +++ b/namelists/fesom2/2.7/namelist.transit @@ -0,0 +1,53 @@ +! ============================================================================ +! ========== Namelist file for FESOM2 transient tracers ===================== +! ============================================================================ +! This file contains configuration for transient tracer simulations: +! - Radioactive isotopes (14C, 39Ar) +! - Chlorofluorocarbons (CFC-11, CFC-12) +! - Sulfur hexafluoride (SF6) +! - Anthropogenic vs paleoclimate simulations +! - Atmospheric boundary conditions +! - Decay constants +! +! Requires use_transit=.true. in namelist.config +! ============================================================================ + +! ============================================================================ +! TRANSIENT TRACER CONFIGURATION +! ============================================================================ +&transit_param +! --- Enable Individual Tracers --- +l_r14c = .false. ! enable radiocarbon (14C/C ratio) +l_r39ar = .false. ! enable 39Ar/Ar ratio +l_f11 = .false. ! enable CFC-11 (chlorofluorocarbon) +l_f12 = .false. ! enable CFC-12 (chlorofluorocarbon) +l_sf6 = .false. ! enable SF6 (sulfur hexafluoride) + +! --- Simulation Type --- +anthro_transit = .false. ! anthropogenic transient tracer simulation (modern era) +paleo_transit = .false. ! paleoclimate transient tracer simulation + +! --- Time Series Configuration --- +length_transit = 1 ! length of atmospheric forcing time series + ! use 166 for anthro_transit=.true. (1765-2020) +ti_start_transit = 1 ! starting time index in forcing file + ! use 1 for D14C, 80 for CFC-12 + +! --- Atmospheric Forcing File --- +ifile_transit = '/work/ab0246/a270108/fesom2_recom_config/input-for-awiesm/Table_CO2_isoC_CFCs1112_SF6.txt' + ! path to atmospheric boundary condition file + +! --- Atmospheric Concentrations (Global Mean) --- +r14c_a = 1.0000 ! atmospheric 14C/C ratio [dimensionless] +r39ar_a = 1.0000 ! atmospheric 39Ar/Ar ratio [dimensionless] +xarg_a = 9.34e-3 ! atmospheric Argon mole fraction [dimensionless] +xco2_a = 284.32e-6 ! atmospheric CO2 mole fraction [dimensionless] (preindustrial: 284.32 ppm) + +! --- Initial Ocean Concentrations (Global Mean) --- +dic_0 = 2.00 ! mixed layer DIC concentration [mol/m³] +arg_0 = 0.01 ! mixed layer Argon concentration [mol/m³] + +! --- Radioactive Decay Constants --- +decay14 = 3.8561e-12 ! decay constant of 14C [1/s] (half-life: 5700 years, 1 year = 365.0 days) +decay39 = 8.1708e-11 ! decay constant of 39Ar [1/s] (half-life: 269 years, 1 year = 365.0 days) +/ diff --git a/namelists/fesom2/CMIP7_HR/namelist.config b/namelists/fesom2/CMIP7_HR/namelist.config new file mode 100644 index 000000000..3206011ec --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.config @@ -0,0 +1,133 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 general configuration ================ +! ============================================================================ +! This file contains the main configuration parameters for FESOM2, including: +! - Model identification and run settings +! - Time stepping and simulation duration +! - Initial time/date settings +! - File paths for mesh, forcing, and output +! - Restart and logging configuration +! - Vertical coordinate system (ALE) +! - Grid geometry and rotation +! - Calendar settings +! - Model components (ice, cavities, etc.) +! - Parallel decomposition +! - Iceberg settings +! ============================================================================ + +! ============================================================================ +! RUN IDENTIFICATION +! ============================================================================ +&modelname +runid = 'fesom' ! run identifier (used in output filenames) +/ + +! ============================================================================ +! TIME STEPPING AND RUN LENGTH +! ============================================================================ +×tep +step_per_day = 96 ! number of time steps per day (determines dt = 86400/step_per_day seconds) + ! common values: 32 (45min), 48 (30min), 72 (20min), 96 (15min), 192 (7min 30sec), + ! 216 (6min 40sec), 240 (6min), 288 (5min), 360 (4min), 720 (2min), 1440 (1min), 2880 (30sec) +run_length = 1 ! total length of simulation run +run_length_unit = 'y' ! unit for run_length: 'y' (years), 'm' (months), 'd' (days), 's' (steps) +/ + +! ============================================================================ +! INITIAL TIME/DATE SETTINGS +! ============================================================================ +&clockinit +timenew = 0.0 ! initial time within the day [seconds] (0.0 = midnight) +daynew = 1 ! initial day of the month (1-31) +yearnew = 1948 ! initial year +/ + +! ============================================================================ +! MESH, INITIALIZATION & OUTPUT PATHS +! ============================================================================ +&paths +MeshPath = '/pool/data/AWICM/FESOM2/MESHES_FESOM2.1/core2/' ! path to mesh files (nod2d.out, elem2d.out, etc.) +ClimateDataPath = '/pool/data/AWICM/FESOM2/INITIAL/phc3.0/' ! path to initial conditions (temperature, salinity) +ResultPath = '/work/ab0246/$USER/runtime/fesom2/' ! path for output files and fesom.clock file +/ + +! ============================================================================ +! RESTART AND LOGGING CONFIGURATION +! ============================================================================ +&restart_log +restart_length = 1 ! frequency for netCDF restart files (required for d,h,s; y,m use 1) +restart_length_unit = 'm' ! unit: 'y' (years), 'm' (months), 'd' (days), 'h' (hours), 's' (steps), 'off' (disabled) +raw_restart_length = 1 ! frequency for raw core dump restart files +raw_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off' +bin_restart_length = 1 ! frequency for binary derived type restart files +bin_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off' +logfile_outfreq = 1680 ! log file output frequency [number of time steps] +/ + +! ============================================================================ +! VERTICAL COORDINATE SYSTEM (ALE - Arbitrary Lagrangian-Eulerian) +! ============================================================================ +&ale_def +which_ALE = 'zstar' ! vertical coordinate type: + ! 'linfs' = linear free surface + ! 'zlevel' = z-level (fixed depth levels) + ! 'zstar' = z-star (terrain-following with SSH scaling) +use_partial_cell = .false. ! use partial bottom cells for better topography representation (not recommended) +/ + +! ============================================================================ +! GRID GEOMETRY AND ROTATION +! ============================================================================ +&geometry +cartesian = .false. ! use Cartesian coordinates (false = spherical Earth) +fplane = .false. ! use f-plane approximation (constant Coriolis parameter) +cyclic_length = 360 ! length of cyclic domain [degrees] (360 = global) +rotated_grid = .true. ! use rotated grid (typically for coupled models to avoid pole singularity) +force_rotation = .true. ! force grid rotation even if not coupled +alphaEuler = 50. ! first Euler angle (rotation around z-axis) [degrees] +betaEuler = 15. ! second Euler angle (rotation around new x-axis) [degrees] +gammaEuler = -90. ! third Euler angle (rotation around new z-axis) [degrees] + ! Euler angle convention: rotate first around z, then around new x, then around new z +/ + +! ============================================================================ +! CALENDAR SETTINGS +! ============================================================================ +&calendar +include_fleapyear = .true. ! include leap years in calendar (false = 365-day year, true = 365/366-day year) +/ + +! ============================================================================ +! MODEL COMPONENTS AND FEATURES +! ============================================================================ +&run_config +use_ice = .true. ! enable sea ice model +use_cavity = .false. ! enable ice shelf cavities +use_cavity_partial_cell = .false. ! use partial cells in ice shelf cavities (not recommended) +use_floatice = .false. ! enable floating ice (icebergs) +use_sw_pene = .true. ! enable shortwave radiation penetration into ocean +flag_debug = .false. ! enable debug output (verbose logging) +use_transit = .false. ! enable transient tracer module (CFCs, SF6, etc.) +/ + +! ============================================================================ +! PARALLEL DECOMPOSITION (DOMAIN PARTITIONING) +! ============================================================================ +&machine +n_levels = 2 ! number of hierarchy levels for domain decomposition +n_part = 2, 128 ! number of partitions at each level (total CPUs = product of n_part) + ! example: 2 x 128 = 256 MPI tasks + ! adjust based on mesh size and available compute resources + ! maximum scaling reached at ~300 FESOM2 2D nodes per CPU (see first line in nod2d.out for number of 2D nodes) +/ + +! ============================================================================ +! ICEBERG SETTINGS +! ============================================================================ +&icebergs +use_icesheet_coupling = .false. ! enable ice sheet model +ib_num = 1 ! number of iceberg classes +use_icebergs = .false. ! enable iceberg module +steps_per_ib_step = 8 ! ocean time steps per iceberg time step (iceberg subcycling) +ib_async_mode = 0 ! iceberg asynchronous mode (0=synchronous, 1=asynchronous) +/ diff --git a/namelists/fesom2/CMIP7_HR/namelist.cvmix b/namelists/fesom2/CMIP7_HR/namelist.cvmix new file mode 100644 index 000000000..60c92543d --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.cvmix @@ -0,0 +1,168 @@ +! ============================================================================ +! ========== Namelist file for FESOM2 CVMix parameterizations =============== +! ============================================================================ +! This file contains configuration for CVMix (Community Vertical Mixing) +! parameterizations: +! - TKE (Turbulent Kinetic Energy) scheme +! - IDEMIX (Internal Wave Dissipation, Energy, and Mixing) +! - PP (Pacanowski-Philander) scheme +! - KPP (K-Profile Parameterization) +! - TIDAL mixing parameterization +! +! Select the active scheme in namelist.oce (mix_scheme parameter) +! ============================================================================ + +! ============================================================================ +! TKE (TURBULENT KINETIC ENERGY) SCHEME +! ============================================================================ +¶m_tke +! --- TKE Model Parameters --- +tke_c_k = 0.1 ! TKE parameter c_k [dimensionless] +tke_c_eps = 0.7 ! TKE dissipation parameter c_eps [dimensionless] +tke_alpha = 30.0 ! TKE stability function parameter [dimensionless] + +! --- Mixing Length --- +tke_mxl_min = 1.0e-8 ! minimum mixing length [m] +tke_mxl_choice = 2 ! mixing length calculation method: + ! 1 = not implemented + ! 2 = Blanke & Delecluse option (currently only option) + +! --- Viscosity/Diffusivity Limits --- +tke_kappaM_min = 0.0 ! minimum momentum diffusivity [m²/s] +tke_kappaM_max = 100.0 ! maximum momentum diffusivity [m²/s] + +! --- Boundary Conditions --- +tke_cd = 3.75 ! surface boundary condition parameter + ! 3.75 for Dirichlet BC, 1.0 for Neumann BC + +! --- TKE Minimum Values --- +tke_surf_min = 1.0e-4 ! minimum surface TKE [m²/s²] +tke_min = 1.0e-6 ! minimum interior TKE [m²/s²] + +! --- Langmuir Turbulence --- +tke_dolangmuir = .false. ! include Langmuir turbulence parameterization +/ + +! ============================================================================ +! IDEMIX (INTERNAL WAVE ENERGY PARAMETERIZATION) +! ============================================================================ +! Based on Olbers & Eden (2013) and von Pollmann et al. (2017) +! ============================================================================ +¶m_idemix +! --- Time Scales --- +idemix_tau_v = 172800.0 ! vertical symmetrization time scale [s] (2 days) +idemix_tau_h = 1296000.0 ! horizontal symmetrization time scale [s] (15 days) + +! --- Spectral Parameters --- +idemix_gamma = 1.570 ! spectral shape constant [dimensionless] (order 1) +idemix_jstar = 5.0 ! spectral bandwidth in vertical modes [dimensionless] +idemix_mu0 = 0.33333333 ! dissipation parameter [dimensionless] + +! --- Energy Forcing --- +idemix_sforcusage = 0.2 ! fraction of surface forcing used [dimensionless] +idemix_n_hor_iwe_prop_iter = 5 ! iterations for horizontal wave propagation + +! --- Surface Forcing (Wind-Generated Internal Waves) --- +idemix_surforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc' ! path to surface forcing file +idemix_surforc_vname = 'var706' ! variable name in surface forcing file + +! --- Bottom Forcing (Tidal Internal Waves) --- +idemix_botforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' ! path to bottom forcing file, +idemix_botforc_vname = 'wave_dissipation' ! variable name in bottom forcing file +/ + +! ============================================================================ +! PP (PACANOWSKI-PHILANDER) SCHEME +! ============================================================================ +! Based on Pacanowski & Philander (1981) +! ============================================================================ +¶m_pp +! --- PP Variant --- +pp_use_fesompp = .true. ! use FESOM flavor of PP (true) or original PP (false) + +! --- Mixing Coefficients --- +pp_Av0 = 0.01 ! reference mixing coefficient [m²/s] +pp_alpha = 5.0 ! Richardson number dependency parameter [dimensionless] + ! (alpha in eq. 1 of Pacanowski & Philander 1981) +pp_exp = 2.0 ! Richardson number exponent [dimensionless] + ! (n in eq. 1 of Pacanowski & Philander 1981) + +! --- Background Mixing --- +pp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s] +pp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s] +pp_use_nonconstKvb = .true. ! use latitude and depth dependent background diffusivity +/ + +! ============================================================================ +! KPP (K-PROFILE PARAMETERIZATION) +! ============================================================================ +! Based on Large et al. (1994) with CVMix implementation options +! ============================================================================ +¶m_kpp +! --- KPP Implementation --- +kpp_use_fesomkpp = .false. ! use CVMix MOM5-like KPP (true) or MOM6-like KPP (false) + +! --- Ocean Boundary Layer (OBL) Depth Calculation --- +kpp_use_enhanceKv = .true. ! add enhanced diffusivity at base of boundary layer +kpp_use_compEkman = .true. ! compute Ekman depth limit for OBL depth +kpp_use_monob = .true. ! compute Monin-Obukhov limit for OBL depth + +! --- Interpolation Methods --- +kpp_interptype_ri = "linear" ! interpolation type for OBL depth determination: + ! 'linear', 'quadratic', 'cubic' +kpp_interptype_atobl = "LMD94" ! interpolation of viscosity/diffusivity at OBL depth: + ! 'linear', 'quadratic', 'cubic', 'LMD94' +kpp_matchtechc = "ParabolicNonLocal" ! diffusivity and non-local transport profile: + ! 'SimpleShapes', 'MatchGradient', 'MatchBoth', 'ParabolicNonLocal' + +! --- Mixing Below OBL --- +kpp_internalmix = "KPP" ! Richardson number dependent mixing below OBL: + ! 'KPP' or 'PP' +kpp_pp_Av0 = 0.01 ! mixing coefficient for PP scheme below OBL [m²/s] + +! --- Shear Mixing Parameters --- +kpp_Av0 = 5.0e-3 ! leading coefficient of shear mixing [m²/s] (default: 5e-3) +kpp_Kv0 = 5.0e-3 ! leading coefficient of shear diffusion [m²/s] +kpp_Ri0 = 0.7 ! critical Richardson number [dimensionless] (0.7 in LMD94) + +! --- Background Mixing --- +kpp_use_nonconstKvb = .true. ! use non-constant background diffusivity (FESOM1.4 formulation) +kpp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s] +kpp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s] + +! --- Sea Ice Effects --- +kpp_reduce_tauuice = .false. ! reduce wind stress (u*) under sea ice +/ + +! ============================================================================ +! TIDAL MIXING PARAMETERIZATION +! ============================================================================ +! Based on Simmons et al. (2004) +! ============================================================================ +¶m_tidal +! --- Tidal Mixing Scheme --- +tidal_mixscheme = "Simmons" ! tidal mixing scheme (currently only 'Simmons' implemented) + +! --- Energy Dissipation Parameters --- +tidal_efficiency = 0.2 ! mixing efficiency [dimensionless, 0-1] + ! (Gamma in Simmons et al. 2004) +tidal_lcl_mixfrac = 0.33 ! local dissipation fraction [dimensionless] + ! (q in Simmons et al. 2004) + ! fraction of tidal energy dissipated locally vs radiated away + +! --- Vertical Structure --- +tidal_vert_decayscale = 500.0 ! vertical decay scale [m] + ! (zeta in Simmons et al. 2004) + ! controls vertical distribution of tidal mixing + +! --- Diffusivity Limits --- +tidal_max_coeff = 50e-4 ! maximum tidal diffusivity [m²/s] + +! --- Spatial Limits --- +tidal_depth_cutoff = 0.0 ! minimum depth for tidal mixing [m, positive downward] + ! (0.0 = compute everywhere) + +! --- Bottom Forcing (Tidal Energy Input) --- +tidal_botforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +/ + diff --git a/namelists/fesom2/CMIP7_HR/namelist.dyn b/namelists/fesom2/CMIP7_HR/namelist.dyn new file mode 100644 index 000000000..d3dc30107 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.dyn @@ -0,0 +1,72 @@ +! ============================================================================ +! ========== Namelist file for FESOM2 momentum dynamics ====================== +! ============================================================================ +! This file contains configuration for momentum equations and dynamics: +! - Horizontal viscosity schemes and parameters +! - Momentum advection options +! - Free-slip vs no-slip boundary conditions +! - Vertical velocity splitting +! - Split-explicit barotropic subcycling +! - Energy diagnostics +! ============================================================================ + +! ============================================================================ +! HORIZONTAL VISCOSITY +! ============================================================================ +&dynamics_visc +! --- Viscosity Coefficients --- +visc_gamma0 = 0.005 ! background viscosity coefficient [m/s] + ! viscosity = gamma0 × element_length + ! keep < 0.01 m/s for numerical stability +visc_gamma1 = 0.2 ! flow-aware viscosity coefficient [dimensionless] +visc_gamma2 = 0.285 ! additional viscosity coefficient [s/m] + ! only used for easy backscatter (opt_visc=5) and dynamic backscatter (opt_visc=8) +visc_easybsreturn = 1.5 ! energy return parameter for easy backscatter [dimensionless] + +! --- Viscosity Scheme Selection --- +opt_visc = 7 ! horizontal viscosity scheme: + ! 5 = Kinematic (easy) Backscatter + ! 6 = Biharmonic flow-aware (depends on velocity Laplacian) + ! 7 = Biharmonic flow-aware (depends on velocity differences) + ! 8 = Dynamic Backscatter +check_opt_visc = .true. ! check if opt_visc=5 is valid based on resolution/Rossby radius ratio + +! --- Vertical Viscosity --- +use_ivertvisc = .true. ! use implicit vertical viscosity (recommended for stability) +/ + +! ============================================================================ +! GENERAL DYNAMICS SETTINGS +! ============================================================================ +&dynamics_general +! --- Momentum Advection --- +momadv_opt = 2 ! momentum advection option (only 2 is currently supported) + +! --- Boundary Conditions --- +use_freeslip = .false. ! enable free-slip lateral boundary conditions (false = no-slip) + +! --- Vertical Velocity Splitting --- +use_wsplit = .true. ! enable implicit/explicit splitting of vertical velocity +wsplit_maxcfl = 1.0 ! maximum allowed vertical CFL criterion (range: 0.5-1.0) + ! in older FESOM versions this was w_exp_max=1.e-3 + +! --- Energy Diagnostics --- +ldiag_KE = .false. ! enable kinetic energy diagnostics (requires additional computation) + +! --- Time Stepping --- +AB_order = 2 ! Adams-Bashforth time stepping order (2 or 3) + +! --- Split-Explicit Barotropic Subcycling --- +use_ssh_se_subcycl = .false. ! enable split-explicit subcycling for barotropic mode + ! (faster time stepping for sea surface height) +se_BTsteps = 50 ! number of barotropic subcycles per baroclinic time step +se_BTtheta = 0.14 ! implicitness parameter for barotropic solver (0-1, default: 0.14) +se_bottdrag = .true. ! include bottom drag in barotropic subcycling +se_bdrag_si = .true. ! use semi-implicit bottom drag (true) or explicit (false) +se_visc = .true. ! include viscosity in barotropic subcycling +se_visc_gamma0 = 10 ! background viscosity for barotropic mode [dimensionless] +se_visc_gamma1 = 19500 ! flow-aware viscosity for barotropic mode [dimensionless] + ! typical values: 19500 (CORE2@32spd), 2750 (CORE2@72spd) +se_visc_gamma2 = 0 ! additional viscosity for barotropic mode [dimensionless] +/ + diff --git a/namelists/fesom2/CMIP7_HR/namelist.forcing b/namelists/fesom2/CMIP7_HR/namelist.forcing new file mode 100644 index 000000000..e2b7e3ca0 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.forcing @@ -0,0 +1,145 @@ +! ============================================================================ +! ============= Namelist file for FESOM2 atmospheric forcing ================ +! ============================================================================ +! This file contains configuration for atmospheric forcing and surface boundary +! conditions, including: +! - Bulk formulae exchange coefficients (heat, momentum, moisture) +! - Bulk formulae options and reference heights +! - Land ice freshwater forcing +! - Age tracer configuration +! - Surface forcing data files and variables +! - Runoff and salinity restoring +! - Chlorophyll data for shortwave penetration +! ============================================================================ + +! ============================================================================ +! BULK FORMULAE EXCHANGE COEFFICIENTS +! ============================================================================ +! These coefficients control the turbulent exchange of heat, moisture, and +! momentum between the atmosphere and ocean/ice surfaces. +! ============================================================================ +&forcing_exchange_coeff +Ce_atm_oce = 0.00175 ! exchange coefficient of latent heat over open water (dimensionless) +Ch_atm_oce = 0.00175 ! exchange coefficient of sensible heat over open water (dimensionless) +Cd_atm_oce = 0.001 ! drag coefficient between atmosphere and water (dimensionless) +Ce_atm_ice = 0.00175 ! exchange coefficient of latent heat over ice (dimensionless) +Ch_atm_ice = 0.00175 ! exchange coefficient of sensible heat over ice (dimensionless) +Cd_atm_ice = 0.0012 ! drag coefficient between atmosphere and ice (dimensionless) +Swind = 0.0 ! parameterization for coupled current feedback (0.0 = disabled) + ! non-zero values reduce wind stress based on ocean surface currents +/ + +! ============================================================================ +! BULK FORMULAE OPTIONS +! ============================================================================ +! Configuration for bulk formulae calculations (turbulent fluxes). +! Reference heights must match the forcing data specifications. +! ============================================================================ +&forcing_bulk +AOMIP_drag_coeff = .false. ! use AOMIP drag coefficient formulation (false = use standard) +ncar_bulk_formulae = .true. ! use NCAR bulk formulae (Large & Yeager 2004, 2009) +ncar_bulk_z_wind = 10.0 ! reference height for wind forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +ncar_bulk_z_tair = 10.0 ! reference height for air temperature forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +ncar_bulk_z_shum = 10.0 ! reference height for specific humidity forcing [m] + ! CORE2, JRA55-do: 10m; JRA55, NCEP: 2m +/ + +! ============================================================================ +! LAND ICE FRESHWATER FORCING +! ============================================================================ +! Configuration for freshwater input from land ice (glaciers, ice sheets). +! Requires use_landice_water=.true. in namelist.config to enable output. +! ============================================================================ +&land_ice +use_landice_water = .false. ! enable land ice freshwater forcing +landice_start_mon = 5 ! start month for land ice forcing (1-12) +landice_end_mon = 10 ! end month for land ice forcing (1-12) +fwf_path = '' ! path to land ice freshwater flux data files +/ + +! ============================================================================ +! AGE TRACER CONFIGURATION +! ============================================================================ +! Configuration for passive age tracer (tracks water mass age). +! Requires use_age_tracer=.true. in namelist.config to enable output. +! ============================================================================ +&age_tracer +use_age_tracer = .false. ! enable age tracer computation +use_age_mask = .false. ! use spatial mask for age tracer initialization +age_tracer_path = '' ! path to age tracer mask file (if use_age_mask=.true.) +age_start_year = 2000 ! year to start age tracer (tracer age = 0 at this year) +/ + +! ============================================================================ +! SURFACE BOUNDARY CONDITION (FORCING DATA) +! ============================================================================ +! Specification of atmospheric forcing data files and variables. +! File paths are relative to the run directory. +! ============================================================================ +&nam_sbc + ! --- Forcing file paths --- + nm_xwind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with zonal wind speeds + nm_ywind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with meridional wind speeds + nm_xstre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with zonal wind stress + nm_ystre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with meridional wind stress + nm_humi_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss.' ! name of file with air humidity + nm_qsr_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds.' ! name of file with short wave radiation + nm_qlw_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds.' ! name of file with long wave radiation + 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 + + ! --- Variable names in netCDF forcing files --- + 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 + + ! --- Time axis configuration in forcing files --- + nm_nc_iyear = 1948 ! initial year of forcing data time axis + nm_nc_imm = 1 ! initial month of forcing data time axis (1-12) + nm_nc_idd = 1 ! initial day of forcing data time axis (1-31) + nm_nc_freq = 1 ! number of data points per day (1=daily, 4=6-hourly, etc.) + nm_nc_tmid = 1 ! time stamp position: 1=mid-point, 0=start of interval + y_perpetual = .false. ! use perpetual year forcing (repeat single year) + + ! --- Enable/disable individual forcing fields --- + l_xwind = .true. ! use zonal wind forcing + l_ywind = .true. ! use meridional wind forcing + l_humi = .true. ! use specific humidity forcing + l_qsr = .true. ! use shortwave radiation forcing + l_qlw = .true. ! use longwave radiation forcing + l_tair = .true. ! use air temperature forcing + l_prec = .true. ! use precipitation forcing + l_mslp = .false. ! use mean sea level pressure forcing + l_cloud = .false. ! use cloud cover forcing + l_snow = .true. ! use snow precipitation forcing + + ! --- Runoff configuration --- + runoff_data_source = 'JRA55' ! runoff data source: 'Dai09', 'JRA55, 'CORE2', or 'NONE' + nm_runoff_file = '' ! path to runoff data + + ! --- Sea surface salinity restoring --- + sss_data_source = 'CORE2' ! SSS restoring data source: 'CORE2', 'WOA', or 'NONE' + nm_sss_data_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/PHC2_salx.nc' ! path to SSS restoring data file, e.g. PHC2_salx.nc + + ! --- Chlorophyll data for shortwave penetration --- + chl_data_source = 'None' ! chlorophyll data source: 'Sweeney' (monthly climatology) or 'None' (constant) + ! requires 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' ! chlorophyll data file (if Sweeney) + chl_const = 0.1 ! constant chlorophyll concentration [mg/m³] (if chl_data_source='None') + + ! --- Runoff mapper (distributes runoff over coastal area) --- + use_runoff_mapper = .false. ! enable runoff mapper (spreads runoff spatially) + runoff_basins_file = '' ! runoff basin mapping file + runoff_radius = 500000. ! radius for runoff spreading [m] (if use_runoff_mapper=.true.) +/ diff --git a/namelists/fesom2/CMIP7_HR/namelist.ice b/namelists/fesom2/CMIP7_HR/namelist.ice new file mode 100644 index 000000000..158c8a221 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.ice @@ -0,0 +1,98 @@ +! ============================================================================ +! ============== Namelist file for FESOM2 sea ice model ===================== +! ============================================================================ +! This file contains configuration for sea ice dynamics and thermodynamics: +! - EVP (Elastic-Viscous-Plastic) rheology options +! - Ice strength and deformation parameters +! - Ocean-ice drag +! - Ice thermodynamics and thickness distribution +! - Albedo parameterizations +! ============================================================================ + +! ============================================================================ +! SEA ICE DYNAMICS +! ============================================================================ +&ice_dyn +! --- EVP Rheology Options --- +whichEVP = 1 ! EVP solver type: + ! 0 = standard EVP + ! 1 = modified EVP (mEVP) + ! 2 = adaptive EVP (aEVP) + +! --- Ice Strength Parameters --- +Pstar = 30000.0 ! ice strength parameter [N/m²] (typical: 20000-30000) +ellipse = 2.0 ! aspect ratio of yield curve ellipse (dimensionless) +c_pressure = 20.0 ! ice concentration parameter for strength computation (dimensionless) + +! --- Ice Deformation --- +delta_min = 1.0e-11 ! minimum strain rate for viscosity regularization [s⁻¹] + +! --- EVP Subcycling --- +evp_rheol_steps = 120 ! number of EVP subcycles per ice time step + +! --- mEVP Stability Parameters (for whichEVP=1) --- +alpha_evp = 500 ! mEVP stability constant (adjust with resolution) +beta_evp = 500 ! mEVP stability constant (adjust with resolution) + +! --- aEVP Tuning (for whichEVP=2) --- +c_aevp = 0.15 ! aEVP tuning constant (adjust with resolution) + +! --- Ocean-Ice Coupling --- +Cd_oce_ice = 0.0055 ! drag coefficient between ocean and ice (dimensionless, typical: 0.0055) + +! --- Numerical Stabilization --- +ice_gamma_fct = 0.5 ! smoothing parameter for ice dynamics (0.0-1.0) +ice_diff = 0.0 ! artificial diffusion for numerical stability [m²/s] +theta_io = 0.0 ! rotation angle for ice-ocean stress [degrees] + +! --- Time Stepping --- +ice_ave_steps = 1 ! ice time step = ice_ave_steps × ocean time step +/ + +! ============================================================================ +! SEA ICE THERMODYNAMICS +! ============================================================================ +&ice_therm +! --- Ice Properties --- +Sice = 4.0 ! bulk ice salinity [ppt] (typical range: 3.2-5.0) + +! --- Ice Thickness Distribution --- +iclasses = 7 ! number of ice thickness categories (default: 7) + ! set to 15 if using EM distribution (new_iceclasses=.true.) +new_iclasses = .false. ! use ice thickness distribution from EM observations + ! (Castro-Morales et al., JGR, 2013) +h_cutoff = 3.0 ! thickness cutoff for new_iclasses [m] + +! --- Lead Closing Parameters --- +h0 = 0.5 ! lead closing parameter for Northern Hemisphere [m] +h0_s = 0.5 ! lead closing parameter for Southern Hemisphere [m] + +! --- Minimum Thresholds --- +hmin = 0.01 ! minimum ice thickness [m] +armin = 0.01 ! minimum ice concentration (dimensionless) + +! --- Emissivity (Longwave Radiation) --- +emiss_ice = 0.97 ! emissivity of snow/ice surface (dimensionless, 0-1) +emiss_wat = 0.97 ! emissivity of open water (dimensionless, 0-1) + +! --- Albedo (Shortwave Radiation) --- +albsn = 0.81 ! albedo of frozen snow (dimensionless, 0-1) +albsnm = 0.77 ! albedo of melting snow (dimensionless, 0-1) +albi = 0.7 ! albedo of frozen ice (dimensionless, 0-1) +albim = 0.68 ! albedo of melting ice (dimensionless, 0-1) +albw = 0.1 ! albedo of open water (dimensionless, 0-1) +open_water_albedo = 0 ! open water albedo scheme: + ! 0 = default (constant albw) + ! 1 = Taylor et al. + ! 2 = Briegleb et al. + +! --- Thermal Conductivity --- +con = 2.1656 ! thermal conductivity of ice [W/m/K] +consn = 0.31 ! thermal conductivity of snow [W/m/K] + +! --- Snow Distribution --- +snowdist = .true. ! distribute snow depth according to ice thickness distribution + +! --- Melting Parameters --- +c_melt = 0.5 ! constant in concentration equation for melting conditions (0-1) +/ diff --git a/namelists/fesom2/CMIP7_HR/namelist.icepack b/namelists/fesom2/CMIP7_HR/namelist.icepack new file mode 100644 index 000000000..3fa487147 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/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 = .true. + 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/namelists/fesom2/CMIP7_HR/namelist.io b/namelists/fesom2/CMIP7_HR/namelist.io new file mode 100644 index 000000000..00fbbdd79 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.io @@ -0,0 +1,359 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 output configuration ================= +! ============================================================================ +! This file contains configuration for model output and diagnostics: +! - Diagnostic flags for optional output fields +! - General output settings (compression, rotation) +! - Output variable list with frequency and precision +! - Complete catalog of all available output fields +! +! See the output catalog at the end of this file for all possible variables. +! Some outputs require specific flags in &diag_list or other namelists. +! ============================================================================ + +! ============================================================================ +! DIAGNOSTIC FLAGS +! ============================================================================ +! Enable/disable optional diagnostic computations and outputs. +! Setting these to .true. enables additional output fields (see catalog below). +! ============================================================================ +&diag_list +ldiag_solver = .false. ! enables solver diagnostics (convergence, iterations) +lcurt_stress_surf = .false. ! enables 'curl_surf' output (vorticity of surface stress) +ldiag_curl_vel3 = .false. ! enables 'curl_u' output (relative vorticity from 3D velocity) +ldiag_Ri = .false. ! enables Richardson number diagnostics ('shear', 'Ri') +ldiag_turbflux = .false. ! enables turbulent flux diagnostics ('KvdTdz', 'KvdSdz') +ldiag_salt3D = .false. ! enables 3D salinity diagnostics +ldiag_dMOC = .false. ! enables 'dMOC' output (density MOC diagnostics) +ldiag_DVD = .false. ! enables 'DVD' output (Discrete Variance Decay diagnostics) +ldiag_forc = .false. ! enables 'FORC' output (comprehensive forcing diagnostics) +ldiag_extflds = .false. ! enables extended field diagnostics +ldiag_destine = .false. ! enables heat content computation ('hc300m', 'hc700m', 'hc') +ldiag_trflx = .false. ! enables tracer flux diagnostics ('utemp', 'vtemp', 'usalt', 'vsalt') +ldiag_uvw_sqr = .false. ! enables 'UVW_SQR' output (squared velocities: u2, v2, w2) +ldiag_trgrd_xyz = .false. ! enables 'TRGRD_XYZ' output (horizontal & vertical tracer gradients) +ldiag_cmor = .true. ! enables CMOR diagnostics for CMIP6/CMIP7 ('tos', 'sos', 'pbo', 'volo', etc.) +/ + +! ============================================================================ +! GENERAL OUTPUT SETTINGS +! ============================================================================ +&nml_general +io_listsize = 120 ! total number of streams to allocate. Shall be larger or equal to the number of streams in &nml_list (max. 150) +vec_autorotate = .false. ! unrotate vector fields (velocities, winds) before writing to output files +compression_level = 1 ! compression level for netCDF output (1=fastest, 9=smallest) +/ + +! ============================================================================ +! OUTPUT VARIABLE LIST +! ============================================================================ +! Format: 'variable_id', frequency, unit, precision +! frequency = output frequency (integer) +! unit = 'y' (yearly), 'm' (monthly), 'd' (daily), 'h' (hourly), 's' (steps) +! precision = 4 (single precision) or 8 (double precision) +! ============================================================================ +&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, + 'MLD3 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'm', 4, + 'salt ',1, 'm', 8, + 'N2 ',1, 'm', 4, + 'Kv ',1, 'm', 4, + 'u ',1, 'm', 4, + 'v ',1, 'm', 4, + 'unod ',1, 'm', 4, + 'vnod ',1, 'm', 4, + 'w ',1, 'm', 4, + 'Av ',1, 'm', 4, + 'bolus_u ',1, 'm', 4, + 'bolus_v ',1, 'm', 4, + 'bolus_w ',1, 'm', 4, + 'fw ',1, 'm', 4, + 'fh ',1, 'm', 4, + 'otracers ',1, 'm', 4, +/ + +! ============================================================================ +! COMPLETE CATALOG OF ALL POSSIBLE OUTPUT FIELDS +! ============================================================================ +! Below is a comprehensive list of all valid io_list IDs available in FESOM2. +! To enable any field, copy the line to the &nml_list section above. +! NOTE: Some fields require specific flags to be enabled (see comments). +! ============================================================================ + +! --- 2D OCEAN SURFACE FIELDS --- +! 'sst ',1, 'm', 4, ! sea surface temperature [C] +! 'sss ',1, 'm', 4, ! sea surface salinity [psu] +! 'ssh ',1, 'm', 4, ! sea surface elevation [m] +! 'vve_5 ',1, 'm', 4, ! vertical velocity at 5th level [m/s] +! 't_star ',1, 'm', 4, ! air temperature [C] +! 'qsr ',1, 'm', 4, ! solar radiation [W/s^2] + +! --- 3D OCEAN FIELDS --- +! 'temp ',1, 'm', 4, ! temperature [C] +! 'salt ',1, 'm', 8, ! salinity [psu] +! 'sigma0 ',1, 'm', 4, ! potential density [kg/m3] +! 'u ',1, 'm', 4, ! zonal velocity [m/s] +! 'v ',1, 'm', 4, ! meridional velocity [m/s] +! 'unod ',1, 'm', 4, ! zonal velocity at nodes [m/s] +! 'vnod ',1, 'm', 4, ! meridional velocity at nodes [m/s] +! 'w ',1, 'm', 4, ! vertical velocity [m/s] +! 'otracers ',1, 'm', 4, ! all other tracers if applicable +! 'age ',1, 'm', 4, ! water age tracer [year] (require use_age_tracer=.true.) + +! --- 2D SSH DIAGNOSTIC VARIABLES --- +! 'ssh_rhs ',1, 'm', 4, ! ssh rhs [m/s] +! 'ssh_rhs_old',1, 'm', 4, ! ssh rhs old [m/s] +! 'd_eta ',1, 'm', 4, ! dssh from solver [m] +! 'hbar ',1, 'm', 4, ! ssh n+0.5 tstep [m] +! 'hbar_old ',1, 'm', 4, ! ssh n-0.5 tstep [m] +! 'dhe ',1, 'm', 4, ! dhbar @ elem [m] + +! --- SEA ICE FIELDS (require use_ice=.true.) --- +! 'uice ',1, 'm', 4, ! ice velocity x [m/s] +! 'vice ',1, 'm', 4, ! ice velocity y [m/s] +! 'a_ice ',1, 'm', 4, ! ice concentration [%] +! 'm_ice ',1, 'm', 4, ! ice height per unit area [m] +! 'thdgrice ',1, 'm', 4, ! thermodynamic growth rate ice [m/s] +! 'thdgrarea ',1, 'm', 4, ! thermodynamic growth rate ice concentration [frac/s] +! 'dyngrarea' ,1, 'm', 4, ! dynamic growth rate ice concentration [frac/s] +! 'dyngrice ',1, 'm', 4, ! dynamic growth rate ice [m/s] +! 'thdgrsn ',1, 'm', 4, ! thermodynamic growth rate snow [m/s] +! 'dyngrsnw ',1, 'm', 4, ! dynamic growth rate snow [m/s] +! 'flice ',1, 'm', 4, ! flooding growth rate ice [m/s] +! 'm_snow ',1, 'm', 4, ! snow height per unit area [m] +! 'h_ice ',1, 'm', 4, ! ice thickness over ice-covered fraction [m] +! 'h_snow ',1, 'm', 4, ! snow thickness over ice-covered fraction [m] +! 'fw_ice ',1, 'm', 4, ! fresh water flux from ice ['m/s'] +! 'fw_snw ',1, 'm', 4, ! fresh water flux from snow ['m/s'] + +! --- SEA ICE DEBUG VARIABLES (require use_ice=.true.) --- +! 'strength_ice',1, 'm', 4, ! ice strength [?] +! 'inv_areamass',1, 'm', 4, ! inv_areamass [?] +! 'rhs_a ',1, 'm', 4, ! rhs_a [?] +! 'rhs_m ',1, 'm', 4, ! rhs_m [?] +! 'sgm11 ',1, 'm', 4, ! sgm11 [?] +! 'sgm12 ',1, 'm', 4, ! sgm12 [?] +! 'sgm22 ',1, 'm', 4, ! sgm22 [?] +! 'eps11 ',1, 'm', 4, ! eps11 [?] +! 'eps12 ',1, 'm', 4, ! eps12 [?] +! 'eps22 ',1, 'm', 4, ! eps22 [?] +! 'u_rhs_ice ',1, 'm', 4, ! u_rhs_ice [?] +! 'v_rhs_ice ',1, 'm', 4, ! v_rhs_ice [?] +! 'metric_fac',1, 'm', 4, ! metric_fac [?] +! 'elevat_ice',1, 'm', 4, ! elevat_ice [?] +! 'uwice ',1, 'm', 4, ! uwice [?] +! 'vwice ',1, 'm', 4, ! vwice [?] +! 'twice ',1, 'm', 4, ! twice [?] +! 'swice ',1, 'm', 4, ! swice [?] + +! --- MIXED LAYER DEPTH --- +! 'MLD1 ',1, 'm', 4, ! Mixed Layer Depth [m] Large et al. 1997, bvfreq(nz, node) > db_max +! 'MLD2 ',1, 'm', 4, ! Mixed Layer Depth [m] Levitus treshold, rhopot(nz)-rhopot(1) > 0.125_WP kg/m +! 'MLD3 ',1, 'm', 4, ! Mixed Layer Depth [m] Griffies 2016 , rhopot(nz)-rhopot(1) > 0.03_WP kg/m + +! --- HEAT CONTENT (require ldiag_destine=.true.) --- +! 'hc300m ',1, 'm', 4, ! Vertically integrated heat content upper 300m [J m**-2] +! 'hc700m ',1, 'm', 4, ! Vertically integrated heat content upper 700m [J m**-2] +! 'hc ',1, 'm', 4, ! Vertically integrated heat content total column [J m**-2] + +! --- WATER ISOTOPES IN SEA ICE (require lwiso=.true.) --- +! 'h2o18_ice ',1, 'm', 4, ! h2o18 concentration in sea ice [kmol/m**3] +! 'hDo16_ice ',1, 'm', 4, ! hDo16 concentration in sea ice [kmol/m**3] +! 'h2o16_ice ',1, 'm', 4, ! h2o16 concentration in sea ice [kmol/m**3] + +! --- FRESHWATER FLUX (require use_landice_water=.true.) --- +! 'landice ',1, 'm', 4, ! freshwater flux [m/s] + +! --- SURFACE FORCING --- +! 'tx_sur ',1, 'm', 4, ! zonal wind str. to ocean [N/m2] +! 'ty_sur ',1, 'm', 4, ! meridional wind str. to ocean [N/m2] +! 'curl_surf ',1, 'm', 4, ! vorticity of the surface stress [none] (require lcurt_stress_surf=.true.) +! 'fh ',1, 'm', 4, ! heat flux [W/m2] +! 'fw ',1, 'm', 4, ! fresh water flux [m/s] +! 'atmice_x ',1, 'm', 4, ! stress atmice x [N/m2] +! 'atmice_y ',1, 'm', 4, ! stress atmice y [N/m2] +! 'atmoce_x ',1, 'm', 4, ! stress atmoce x [N/m2] +! 'atmoce_y ',1, 'm', 4, ! stress atmoce y [N/m2] +! 'iceoce_x ',1, 'm', 4, ! stress iceoce x [N/m2] +! 'iceoce_y ',1, 'm', 4, ! stress iceoce y [N/m2] +! 'alpha ',1, 'm', 4, ! thermal expansion [none] +! 'beta ',1, 'm', 4, ! saline contraction [none] +! 'dens_flux ',1, 'm', 4, ! density flux [kg/(m3*s)] +! 'runoff ',1, 'm', 4, ! river runoff [m/s] +! 'evap ',1, 'm', 4, ! evaporation [m/s] +! 'prec ',1, 'm', 4, ! precipitation rain [m/s] +! 'snow ',1, 'm', 4, ! precipitation snow [m/s] +! 'tair ',1, 'm', 4, ! surface air temperature [°C] +! 'shum ',1, 'm', 4, ! specific humidity [] +! 'swr ',1, 'm', 4, ! short wave radiation [W/m^2] +! 'lwr ',1, 'm', 4, ! long wave radiation [W/m^2] +! 'uwind ',1, 'm', 4, ! 10m zonal surface wind velocity [m/s] +! 'vwind ',1, 'm', 4, ! 10m merid. surface wind velocity [m/s] +! 'virtsalt ',1, 'm', 4, ! virtual salt flux [m/s*psu] +! 'relaxsalt ',1, 'm', 4, ! relaxation salt flux [m/s*psu] +! 'realsalt ',1, 'm', 4, ! real salt flux from sea ice [m/s*psu] + +! --- KPP VERTICAL MIXING (require mix_scheme_nmb==1,17,3,37) --- +! 'kpp_obldepth',1, 'm', 4, ! KPP ocean boundary layer depth [m] +! 'kpp_sbuoyflx',1, 'm', 4, ! surface buoyancy flux [m2/s3] + +! --- RECOM 2D BIOGEOCHEMISTRY (require use_REcoM=.true. and __recom) --- +! 'dpCO2s ',1, 'm', 4, ! Difference of oceanic pCO2 minus atmospheric pCO2 [uatm] +! 'pCO2s ',1, 'm', 4, ! Partial pressure of oceanic CO2 [uatm] +! 'CO2f ',1, 'm', 4, ! CO2-flux into the surface water [mmolC/m2/d] +! 'O2f ',1, 'm', 4, ! O2-flux into the surface water [mmolO/m2/d] +! 'Hp ',1, 'm', 4, ! Mean of H-plus ions in the surface water [mol/kg] +! 'aFe ',1, 'm', 4, ! Atmospheric iron input [umolFe/m2/s] +! 'aN ',1, 'm', 4, ! Atmospheric DIN input [mmolN/m2/s] +! 'benN ',1, 'm', 4, ! Benthos Nitrogen [mmol] +! 'benC ',1, 'm', 4, ! Benthos Carbon [mmol] +! 'benSi ',1, 'm', 4, ! Benthos silicon [mmol] +! 'benCalc ',1, 'm', 4, ! Benthos calcite [mmol] +! 'NPPn ',1, 'm', 4, ! Mean NPP nanophytoplankton [mmolC/m2/d] +! 'NPPd ',1, 'm', 4, ! Mean NPP diatoms [mmolC/m2/d] +! 'GPPn ',1, 'm', 4, ! Mean GPP nanophytoplankton [mmolC/m2/d] +! 'GPPd ',1, 'm', 4, ! Mean GPP diatoms [mmolC/m2/d] +! 'NNAn ',1, 'm', 4, ! Net N-assimilation nanophytoplankton [mmolN/m2/d] +! 'NNAd ',1, 'm', 4, ! Net N-assimilation diatoms [mmolN/m2/d] +! 'Chldegn ',1, 'm', 4, ! Chlorophyll degradation nanophytoplankton [1/d] +! 'Chldegd ',1, 'm', 4, ! Chlorophyll degradation diatoms [1/d] +! 'NPPc ',1, 'm', 4, ! Mean NPP coccolithophores [mmolC/(m2*d)] +! 'GPPc ',1, 'm', 4, ! Mean GPP coccolithophores [mmolC/m2/d] +! 'NNAc ',1, 'm', 4, ! Net N-assimilation coccolithophores [mmolN/(m2*d)] +! 'Chldegc ',1, 'm', 4, ! Chlorophyll degradation coccolithophores [1/d] + +! --- RECOM 3D BIOGEOCHEMISTRY (require use_REcoM=.true. and __recom) --- +! 'PAR ',1, 'm', 4, ! PAR [W/m2] +! 'respmeso ',1, 'm', 4, ! Respiration rate of mesozooplankton [mmolC/m2/d] +! 'respmacro ',1, 'm', 4, ! Respiration rate of macrozooplankton [mmolC/m2/d] +! 'respmicro ',1, 'm', 4, ! Respiration rate of microzooplankton [mmolC/m2/d] +! 'calcdiss ',1, 'm', 4, ! Calcite dissolution [mmolC/m2/d] +! 'calcif ',1, 'm', 4, ! Calcification [mmolC/m2/d] +! 'aggn ',1, 'm', 4, ! Aggregation of small phytoplankton [mmolC/m2/d] +! 'aggd ',1, 'm', 4, ! Aggregation of diatoms [mmolC/m2/d] +! 'aggc ',1, 'm', 4, ! Aggregation of coccolithophores [mmolC/m2/d] +! 'docexn ',1, 'm', 4, ! DOC excretion by small phytoplankton [mmolC/m2/d] +! 'docexd ',1, 'm', 4, ! DOC excretion by diatoms [mmolC/m2/d] +! 'docexc ',1, 'm', 4, ! DOC excretion by coccolithophores [mmolC/m2/d] +! 'respn ',1, 'm', 4, ! Respiration by small phytoplankton [mmolC/m2/d] +! 'respd ',1, 'm', 4, ! Respiration by diatoms [mmolC/m2/d] +! 'respc ',1, 'm', 4, ! Respiration by coccolithophores [mmolC/(m2*d)] +! 'NPPn3D ',1, 'm', 4, ! Net primary production of small phytoplankton [mmolC/m2/d] +! 'NPPd3D ',1, 'm', 4, ! Net primary production of diatoms [mmolC/m2/d] +! 'NPPc3D ',1, 'm', 4, ! Net primary production of coccolithophores [mmolC/m2/d] + +! --- WATER ISOTOPES IN OCEAN (require lwiso=.true.) --- +! 'h2o18 ',1, 'm', 4, ! h2o18 concentration [kmol/m**3] +! 'hDo16 ',1, 'm', 4, ! hDo16 concentration [kmol/m**3] +! 'h2o16 ',1, 'm', 4, ! h2o16 concentration [kmol/m**3] + +! --- NEUTRAL SLOPES --- +! 'slopetap_x',1, 'm', 4, ! neutral slope tapered X [none] +! 'slopetap_y',1, 'm', 4, ! neutral slope tapered Y [none] +! 'slopetap_z',1, 'm', 4, ! neutral slope tapered Z [none] +! 'slope_x ',1, 'm', 4, ! neutral slope X [none] +! 'slope_y ',1, 'm', 4, ! neutral slope Y [none] +! 'slope_z ',1, 'm', 4, ! neutral slope Z [none] + +! --- MIXING AND DYNAMICS --- +! 'N2 ',1, 'm', 4, ! brunt väisälä [1/s2] +! 'Kv ',1, 'm', 4, ! vertical diffusivity Kv [m2/s] +! 'Av ',1, 'm', 4, ! vertical viscosity Av [m2/s] + +! --- VISCOSITY TENDENCIES (require dynamics%opt_visc==8) --- +! 'u_dis_tend',1, 'm', 4, ! horizontal velocity viscosity tendency [m/s] +! 'v_dis_tend',1, 'm', 4, ! meridional velocity viscosity tendency [m/s] +! 'u_back_tend',1, 'm', 4, ! horizontal velocity backscatter tendency [m2/s2] +! 'v_back_tend',1, 'm', 4, ! meridional velocity backscatter tendency [m2/s2] +! 'u_total_tend',1, 'm', 4,! horizontal velocity total viscosity tendency [m/s] +! 'v_total_tend',1, 'm', 4,! meridional velocity total viscosity tendency [m/s] + +! --- FERRARI/GM PARAMETERISATION (require Fer_GM=.true.) --- +! 'bolus_u ',1, 'm', 4, ! GM bolus velocity U [m/s] +! 'bolus_v ',1, 'm', 4, ! GM bolus velocity V [m/s] +! 'bolus_w ',1, 'm', 4, ! GM bolus velocity W [m/s] +! 'fer_K ',1, 'm', 4, ! GM, stirring diff. [m2/s] +! 'fer_scal ',1, 'm', 4, ! GM surface scaling [] +! 'fer_C ',1, 'm', 4, ! GM, depth independent speed [m/s] +! 'cfl_z ',1, 'm', 4, ! vertical CFL criteria [?] + +! --- DENSITY MOC DIAGNOSTICS (require ldiag_dMOC=.true.) --- +! 'dMOC ',1, 'm', 4, ! fluxes for density MOC (multiple variables) + +! --- PRESSURE GRADIENT FORCE --- +! 'pgf_x ',1, 'm', 4, ! zonal pressure gradient force [m/s^2] +! 'pgf_y ',1, 'm', 4, ! meridional pressure gradient force [m/s^2] + +! --- ALE LAYER THICKNESS --- +! 'hnode ',1, 'm', 4, ! vertice layer thickness [m] +! 'hnode_new ',1, 'm', 4, ! hnode_new [m] +! 'helem ',1, 'm', 4, ! elemental layer thickness [m] + +! --- OIFS/IFS INTERFACE (require __oifs or __ifsinterface) --- +! 'alb ',1, 'm', 4, ! ice albedo [none] +! 'ist ',1, 'm', 4, ! ice surface temperature [K] +! 'qsi ',1, 'm', 4, ! ice heat flux [W/m^2] +! 'qso ',1, 'm', 4, ! oce heat flux [W/m^2] +! 'enthalpy ',1, 'm', 4, ! enthalpy of fusion [W/m^2] +! 'qcon ',1, 'm', 4, ! conductive heat flux [W/m^2] +! 'qres ',1, 'm', 4, ! residual heat flux [W/m^2] +! 'runoff_liquid',1, 'm', 4, ! liquid water runoff [m/s] +! 'runoff_solid',1, 'm', 4, ! solid water runoff [m/s] + +! --- ICEBERG OUTPUTS (require use_icebergs=.true.) --- +! 'icb ',1, 'm', 4, ! iceberg outputs (multiple variables) + +! --- TKE MIXING DIAGNOSTICS (require mix_scheme_nmb==5 or 56) --- +! 'TKE ',1, 'm', 4, ! TKE diagnostics (multiple variables) + +! --- IDEMIX MIXING DIAGNOSTICS (require mod(mix_scheme_nmb,10)==6) --- +! 'IDEMIX ',1, 'm', 4, ! IDEMIX diagnostics (multiple variables) + +! --- TIDAL MIXING DIAGNOSTICS (require mod(mix_scheme_nmb,10)==7) --- +! 'TIDAL ',1, 'm', 4, ! TIDAL diagnostics (multiple variables) + +! --- FORCING DIAGNOSTICS (require ldiag_forc=.true.) --- +! 'FORC ',1, 'm', 4, ! forcing diagnostics (multiple variables) + +! --- DISCRETE VARIANCE DECAY (require ldiag_DVD=.true.) --- +! 'DVD ',1, 'm', 4, ! DVD diagnostics (multiple variables) + +! --- SPLIT-EXPLICIT SUBCYCLING (require dynamics%use_ssh_se_subcycl=.true.) --- +! 'SPLIT-EXPL',1, 'm', 4, ! split-explicit diagnostics (multiple variables) + +! --- SQUARED VELOCITIES (require ldiag_uvw_sqr=.true.) --- +! 'UVW_SQR ',1, 'm', 4, ! squared velocities (u2, v2, w2) + +! --- TRACER GRADIENTS (require ldiag_trgrd_xyz=.true.) --- +! 'TRGRD_XYZ ',1, 'm', 4, ! horizontal and vertical tracer gradients + +! --- CMOR DIAGNOSTICS FOR CMIP6/CMIP7 (require ldiag_cmor=.true.) --- +! 'tos ',1, 'm', 8, ! sea surface temperature [degC] (CMOR standard) +! 'sos ',1, 'm', 8, ! sea surface salinity [psu] (CMOR standard) +! 'pbo ',1, 'm', 8, ! sea water pressure at sea floor [Pa] +! 'opottemptend',1, 'm', 8,! ocean potential temperature tendency [W/m^2] +! 'volo ',1, 'm', 8, ! ocean volume [m^3] (global scalar) +! 'soga ',1, 'm', 8, ! global mean sea water salinity [psu] (global scalar) +! 'thetaoga ',1, 'm', 8, ! global mean sea water potential temperature [degC] (global scalar) +! 'siarean ',1, 'm', 8, ! sea ice area Northern hemisphere [10^12 m^2] (global scalar) +! 'siareas ',1, 'm', 8, ! sea ice area Southern hemisphere [10^12 m^2] (global scalar) +! 'siextentn ',1, 'm', 8, ! sea ice extent Northern hemisphere [10^12 m^2] (global scalar) +! 'siextents ',1, 'm', 8, ! sea ice extent Southern hemisphere [10^12 m^2] (global scalar) +! 'sivoln ',1, 'm', 8, ! sea ice volume Northern hemisphere [10^9 m^3] (global scalar) +! 'sivols ',1, 'm', 8, ! sea ice volume Southern hemisphere [10^9 m^3] (global scalar) + +! ============================================================================ +! END OF CATALOG +! ============================================================================ diff --git a/namelists/fesom2/CMIP7_HR/namelist.oce b/namelists/fesom2/CMIP7_HR/namelist.oce new file mode 100644 index 000000000..8ec72f6f7 --- /dev/null +++ b/namelists/fesom2/CMIP7_HR/namelist.oce @@ -0,0 +1,76 @@ +! ============================================================================ +! ============ Namelist file for FESOM2 ocean dynamics ====================== +! ============================================================================ +! This file contains configuration for ocean dynamics and parameterizations: +! - Bottom drag and vertical viscosity +! - Gent-McWilliams (GM) eddy parameterization +! - Redi isopycnal diffusion +! - Vertical mixing schemes (KPP, PP) +! - Convection parameters +! - Tidal forcing +! ============================================================================ + +! ============================================================================ +! OCEAN DYNAMICS AND PARAMETERIZATIONS +! ============================================================================ +&oce_dyn +! --- Basic ocean dynamics parameters --- +C_d = 0.0025 ! bottom drag coefficient (dimensionless, typical: 0.0025) +A_ver = 1.e-4 ! background vertical viscosity [m²/s] +scale_area = 5.8e9 ! reference element area for viscosity/diffusivity scaling [m²] + +! --- Salt Plume Parameterization --- +SPP = .true. ! enable Salt Plume Parameterization (for brine rejection under sea ice) + +! --- Gent-McWilliams (GM) Eddy Parameterization --- +Fer_GM = .false. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 3000.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 = 4.0 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = 3.0 ! Resol freenyears to avoid fatal error +! Default: nyear_spinup=1, freenyears=0 (no spinup, no N limitation delay) +nyear_spinup {{lpj_guess.nyear_spinup | default(1)}} +freenyears {{lpj_guess.freenyears | default(0)}} + ! ecev3 - set to 1 ifintercropgrass 1 ! Whether to grow grass as cover crop between growing periods @@ -39,13 +45,14 @@ ifintercropgrass 1 ! Whether to grow grass as cover crop between growing periods param "file_ndep" (str "") ! NB! MUST be cru_ncep version of this file ! CMIP N deposition - replaces file_ndep -!param "ndep_cmip_dir" (str "D:/DATA/J/MODELDATA/ndep/cmip6/") ! Windows PC -!param "ndep_cmip_dir" (str "/proj/rescue/users/sm_paumi/osm_output/HST1/ndep/") ! Tetralith ! param "ndep_cmip_dir" (str "../ndep/") -param "ndep_cmip_dir" (str "") +param "ndep_cmip_dir" (str "{{lpj_guess.ndep_cmip_dir}}") ! if (param["ndep_cmip_dir"].str != "") { // PaulM - ECE4 hack - option to run without ndep ! PaulM - ECE4 hack - edited +! CMIP CO2 forcing file (set by choose_mip block based on mip version) +param "file_co2" (str "{{lpj_guess.co2_work_file | default('mole_fraction_of_carbon_dioxide_in_air_input4MIPs_lpjg.nc')}}") + ! Whether to use soil water content and soil temperature sent from IFS (1), or use GUESS' own ! hydrology (driven by precipitation) and analytic soil temperature (0). param "useifssoilmoist" (num 0) @@ -63,11 +70,14 @@ param "nrcp" (num 0) ! State file name and directory ! For saving and reading .bin files. !state_path "./" -param "state_path" (str "../../../restart/lpj_guess/") ! directory containing the .bin state files +param "state_path" (str "../") ! directory containing the .bin state files param "state_name" (str "lpjg") ! state filenames param "restart" (num {{lpj_guess.restart_num}}) ! ! 1: restart from .bin files. 0: start from bare ground ! PaulM ECE4 hack - changed to 0 +! Number of years in IFS spinup forcing file (must match the forcing NetCDF time dimension) +param "nyearifs" (num {{lpj_guess.nyearifs | default(10)}}) + ! Paths to IFS spinup data - MUST have trailing "/" (linux/unix systems) or "\" (Windows) ! NSC ECE 3p1: @@ -95,17 +105,47 @@ coordinates_precision 6 ! optimesm & rescue TESTING ! PaulM ECE4 hack - changed below npatch 5 ! number of replicate patches to simulate -run_landcover 0 ! whether to use (and change) landcover fractions (1) or not (0) -run_urban 0 ! whether to simulate urban land (1) or not (0) -run_crop 0 ! whether to simulate crop vegetation (1) or not (0) -run_forest 0 ! whether to simulate managed forest (1) or not (0) -run_pasture 0 ! whether to simulate pasture (1) or not (0) -run_natural 1 ! whether to simulate natural vegetation (1) or not (0) -run_peatland 0 ! whether to simulate peatland (1) or not (0) -run_barren 0 ! whether to simulate barren land (1) or not (0) +! LUH3 NetCDF land use input (0 = use text files, 1 = use NetCDF LUH3 files) +use_luh3_input {{lpj_guess.use_luh3_input | default(0)}} +{% if lpj_guess.use_luh3_input | default(0) == 1 %} +file_luh3_states "{{lpj_guess.file_luh3_states | default('../landuse/luh3_states.nc')}}" +file_luh3_management "{{lpj_guess.file_luh3_management | default('../landuse/luh3_management.nc')}}" +{% if lpj_guess.use_luh3_yearly_transitions | default(0) == 1 %} +! Yearly transition files mode +use_luh3_yearly_transitions 1 +file_luh3_transitions_dir "{{lpj_guess.file_luh3_transitions_dir}}/{{lpj_guess.resolution | lower}}/" +file_luh3_transitions "" +{% else %} +! Single transition file mode +file_luh3_transitions "{{lpj_guess.file_luh3_transitions | default('../landuse/luh3_transitions.nc')}}" +{% endif %} +! Override LUH2 text files to empty strings when using LUH3 NetCDF +param "file_lu" (str "") +param "file_lucrop" (str "") +param "file_Nfert" (str "") +param "file_grossLUC" (str "") +{% endif %} + +run_landcover {{lpj_guess.run_landcover | default(0)}} ! whether to use (and change) landcover fractions (1) or not (0) + +run_urban {{lpj_guess.run_urban | default(0)}} ! whether to simulate urban land (1) or not (0) +run_crop {{lpj_guess.run_crop | default(0)}} ! whether to simulate crop vegetation (1) or not (0) +run_forest {{lpj_guess.run_forest | default(0)}} ! whether to simulate managed forest (1) or not (0) +run_pasture {{lpj_guess.run_pasture | default(0)}} ! whether to simulate pasture (1) or not (0) +run_natural {{lpj_guess.run_natural | default(1)}} ! whether to simulate natural vegetation (1) or not (0) +run_peatland {{lpj_guess.run_peatland | default(0)}} ! whether to simulate peatland (1) or not (0) +run_barren {{lpj_guess.run_barren | default(0)}} ! whether to simulate barren land (1) or not (0) + +! Peatland fraction input file (only used when run_peatland = 1) +{% if lpj_guess.run_peatland | default(0) == 1 %} +param "file_peat" (str "../landuse/peat_frac.txt") +{% endif %} !printcmip 0 ! Whether to print CMIP output !printcmipdaily 0 ! Whether to print daily CMIP output !ifmethane 1 +{% if lpj_guess.daily_alloc_output | default(0) == 1 %} +file_daily_alloc "daily_alloc.out" +{% endif %} diff --git a/namelists/lpj_guess/landcover.ins b/namelists/lpj_guess/landcover.ins index 066090236..191607dbb 100644 --- a/namelists/lpj_guess/landcover.ins +++ b/namelists/lpj_guess/landcover.ins @@ -17,6 +17,7 @@ param "file_lucrop" (str "") param "file_lupasture" (str "") param "file_lunatural" (str "") param "file_luforest" (str "") +param "file_peat" (str "") param "file_woodharv_frac" (str "") param "file_woodharv_cmass" (str "") param "file_Nfert_st" (str "") diff --git a/namelists/lpj_guess/landuse.ins b/namelists/lpj_guess/landuse.ins index 0ff829d55..c0abe0a34 100644 --- a/namelists/lpj_guess/landuse.ins +++ b/namelists/lpj_guess/landuse.ins @@ -4,6 +4,7 @@ param "file_lu" (str "../landuse/lu_luh2.txt") param "file_lucrop" (str "../landuse/crop_luh2.txt") param "file_Nfert" (str "../landuse/nfert_luh2.txt") param "file_grossLUC" (str "../landuse/gross_luh2.txt") +param "file_peat" (str "../landuse/peat_frac.txt") ! Tetralith paths: !param "file_lu" (str "/proj/rescue/users/sm_paumi/osm_output/HST1/landuse/lu_luh2.txt") diff --git a/namelists/lpj_guess/lpjg_default_cmip6_output.ins b/namelists/lpj_guess/lpjg_default_cmip6_output.ins index bb87839f0..b4ac59cf6 100644 --- a/namelists/lpj_guess/lpjg_default_cmip6_output.ins +++ b/namelists/lpj_guess/lpjg_default_cmip6_output.ins @@ -156,18 +156,18 @@ file_shrubFrac_monthly "shrubFrac_monthly.out" file_tran_monthly "tran_monthly.out" file_treeFrac_monthly "treeFrac_monthly.out" file_tsl_monthly "tsl_monthly.out" -file_ec_daily "ec_daily.out" -file_evspsblpot_daily "evspsblpot_daily.out" -file_lai_daily "lai_daily.out" -file_mrsll_daily "mrsll_daily.out" -file_mrso_daily "mrso_daily.out" -file_mrsol_daily "mrsol_daily.out" -file_mrsos_daily "mrsos_daily.out" -file_mrro_daily "mrro_daily.out" -file_prCrop_daily "prCrop_daily.out" -file_tran_daily "tran_daily.out" -file_tsl_daily "tsl_daily.out" -file_prveg_daily "prveg_daily.out" +!file_ec_daily "ec_daily.out" +!file_evspsblpot_daily "evspsblpot_daily.out" +!file_lai_daily "lai_daily.out" +!file_mrsll_daily "mrsll_daily.out" +!file_mrso_daily "mrso_daily.out" +!file_mrsol_daily "mrsol_daily.out" +!file_mrsos_daily "mrsos_daily.out" +!file_mrro_daily "mrro_daily.out" +!file_prCrop_daily "prCrop_daily.out" +!file_tran_daily "tran_daily.out" +!file_tsl_daily "tsl_daily.out" +!file_prveg_daily "prveg_daily.out" file_pastureFrac_yearly "pasturefrac_yearly.out" file_fVegOther_monthly "fVegOther_monthly.out" file_fco2antt_monthly "fco2antt_monthly.out" diff --git a/namelists/lpj_guess/lpjg_default_cmip7_output.ins.j2 b/namelists/lpj_guess/lpjg_default_cmip7_output.ins.j2 new file mode 100644 index 000000000..79b72fa0c --- /dev/null +++ b/namelists/lpj_guess/lpjg_default_cmip7_output.ins.j2 @@ -0,0 +1,179 @@ +file_baresoilFrac_yearly "baresoilFrac_yearly.out" +file_residualFrac_yearly "residualFrac_yearly.out" +file_cLand_yearly "cLand_yearly.out" +file_cLitter_yearly "cLitter_yearly.out" +file_cLitterLut_yearly "cLitterLut_yearly.out" +file_cProduct_yearly "cProduct_yearly.out" +file_cProductLut_yearly "cProductLut_yearly.out" +file_cropFrac_yearly "cropFrac_yearly.out" +file_cSoil_yearly "cSoil_yearly.out" +file_cSoilLut_yearly "cSoilLut_yearly.out" +file_cVeg_yearly "cVeg_yearly.out" +file_cVegLut_yearly "cVegLut_yearly.out" +file_fracInLut_yearly "fracInLut_yearly.out" +file_fracLut_yearly "fracLut_yearly.out" +file_fracOutLut_yearly "fracOutLut_yearly.out" +file_grassFrac_yearly "grassFrac_yearly.out" +file_shrubFrac_yearly "shrubFrac_yearly.out" +file_treeFrac_yearly "treeFrac_yearly.out" +file_vegFrac_yearly "vegFrac_yearly.out" +file_burntFractionAll_yearly "burntFractionAll_yearly.out" +file_burntFractionAll_monthly "burntFractionAll_monthly.out" +file_cLand_monthly "cLand_monthly.out" +file_cLitterCwd_monthly "cLitterCwd_monthly.out" +file_cLitterSubSurf_monthly "cLitterSubSurf_monthly.out" +file_cLitterSurf_monthly "cLitterSurf_monthly.out" +file_cOther_monthly "cOther_monthly.out" +file_cropFracC3_monthly "cropFracC3_monthly.out" +file_cropFracC4_monthly "cropFracC4_monthly.out" +file_cSoil_monthly "cSoil_monthly.out" +file_cStem_monthly "cStem_monthly.out" +file_cTotFireLut_monthly "cTotFireLut_monthly.out" +file_evspsblpot_monthly "evspsblpot_monthly.out" +file_fAnthDisturb_monthly "fAnthDisturb_monthly.out" +file_fBNF_monthly "fBNF_monthly.out" +file_fCLandToOcean_monthly "fCLandToOcean_monthly.out" +file_fDeforestToAtmos_monthly "fDeforestToAtmos_monthly.out" +file_fDeforestToProduct_monthly "fDeforestToProduct_monthly.out" +file_fFireAll_monthly "fFireAll_monthly.out" +file_fFireNat_monthly "fFireNat_monthly.out" +file_fHarvestToAtmos_monthly "fHarvestToAtmos_monthly.out" +file_fLitterFire_monthly "fLitterFire_monthly.out" +file_fLuc_monthly "fLuc_monthly.out" +file_fLulccAtmLut_monthly "fLulccAtmLut_monthly.out" +!file_fLulccProductLut_monthly "fLulccProductLut_monthly.out" +!file_fLulccResidueLut_monthly "fLulccResidueLut_monthly.out" +file_fNAnthDisturb_monthly "fNAnthDisturb_monthly.out" +file_fNdep_monthly "fNdep_monthly.out" +file_fNfert_monthly "fNfert_monthly.out" +file_fNgas_monthly "fNgas_monthly.out" +file_fNgasFire_monthly "fNgasFire_monthly.out" +file_fNgasNonFire_monthly "fNgasNonFire_monthly.out" +file_fNLandToOcean_monthly "fNLandToOcean_monthly.out" +file_fNleach_monthly "fNleach_monthly.out" +file_fNLitterSoil_monthly "fNLitterSoil_monthly.out" +file_fNloss_monthly "fNloss_monthly.out" +file_fNnetmin_monthly "fNnetmin_monthly.out" +file_fNProduct_monthly "fNProduct_monthly.out" +file_fNup_monthly "fNup_monthly.out" +file_fNVegLitter_monthly "fNVegLitter_monthly.out" +file_fProductDecomp_monthly "fProductDecomp_monthly.out" +file_fProductDecompLut_monthly "fProductDecompLut_monthly.out" +file_fracLut_monthly "fracLut_monthly.out" +file_fVegFire_monthly "fVegFire_monthly.out" +file_gppGrass_monthly "gppGrass_monthly.out" +file_gppLut_monthly "gppLut_monthly.out" +file_gppTree_monthly "gppTree_monthly.out" +file_grassFracC3_monthly "grassFracC3_monthly.out" +file_grassFracC4_monthly "grassFracC4_monthly.out" +file_irrLut_monthly "irrLut_monthly.out" +file_laiLut_monthly "laiLut_monthly.out" +file_mrroLut_monthly "mrroLut_monthly.out" +file_mrsll_monthly "mrsll_monthly.out" +file_mrsol_monthly "mrsol_monthly.out" +file_mrsoLut_monthly "mrsoLut_monthly.out" +file_mrsosLut_monthly "mrsosLut_monthly.out" +file_necbLut_monthly "necbLut_monthly.out" +file_nep_monthly "nep_monthly.out" +file_netAtmosLandCO2Flux_monthly "netAtmosLandCO2Flux_monthly.out" +file_nLand_monthly "nLand_monthly.out" +file_nLeaf_monthly "nLeaf_monthly.out" +file_nLitter_monthly "nLitter_monthly.out" +file_nLitterCwd_monthly "nLitterCwd_monthly.out" +file_nLitterSubSurf_monthly "nLitterSubSurf_monthly.out" +file_nLitterSurf_monthly "nLitterSurf_monthly.out" +file_nMineral_monthly "nMineral_monthly.out" +file_nMineralNH4_monthly "nMineralNH4_monthly.out" +file_nMineralNO3_monthly "nMineralNO3_monthly.out" +file_nOther_monthly "nOther_monthly.out" +file_nppGrass_monthly "nppGrass_monthly.out" +file_nppLut_monthly "nppLut_monthly.out" +file_nppTree_monthly "nppTree_monthly.out" +file_nProduct_monthly "nProduct_monthly.out" +file_nRoot_monthly "nRoot_monthly.out" +file_nSoil_monthly "nSoil_monthly.out" +file_nStem_monthly "nStem_monthly.out" +file_nwdFracLut_monthly "nwdFracLut_monthly.out" +file_nVeg_monthly "nVeg_monthly.out" +file_fN2O_monthly "fN2O_monthly.out" +file_fNOx_monthly "fNOx_monthly.out" +file_pastureFracC3_monthly "pastureFracC3_monthly.out" +file_pastureFracC4_monthly "pastureFracC4_monthly.out" +file_prCrop_monthly "prCrop_monthly.out" +file_raGrass_monthly "raGrass_monthly.out" +file_raLeaf_monthly "raLeaf_monthly.out" +file_raLut_monthly "raLut_monthly.out" +file_raOther_monthly "raOther_monthly.out" +file_raRoot_monthly "raRoot_monthly.out" +file_raStem_monthly "raStem_monthly.out" +file_raTree_monthly "raTree_monthly.out" +file_rhLitter_monthly "rhLitter_monthly.out" +file_rhLut_monthly "rhLut_monthly.out" +file_rhSoil_monthly "rhSoil_monthly.out" +file_treeFracBdlDcd_monthly "treeFracBdlDcd_monthly.out" +file_treeFracBdlEvg_monthly "treeFracBdlEvg_monthly.out" +file_treeFracNdlDcd_monthly "treeFracNdlDcd_monthly.out" +file_treeFracNdlEvg_monthly "treeFracNdlEvg_monthly.out" +file_vegFrac_monthly "vegFrac_monthly.out" +file_vegHeightTree_monthly "vegHeightTree_monthly.out" +file_baresoilFrac_monthly "baresoilFrac_monthly.out" +file_cLeaf_monthly "cLeaf_monthly.out" +file_cLitter_monthly "cLitter_monthly.out" +file_cProduct_monthly "cProduct_monthly.out" +file_cRoot_monthly "cRoot_monthly.out" +file_cropFrac_monthly "cropFrac_monthly.out" +file_cSoilFast_monthly "cSoilFast_monthly.out" +file_cSoilMedium_monthly "cSoilMedium_monthly.out" +file_cSoilSlow_monthly "cSoilSlow_monthly.out" +file_cVeg_monthly "cVeg_monthly.out" +file_evspsblsoi_monthly "evspsblsoi_monthly.out" +file_evspsblveg_monthly "evspsblveg_monthly.out" +file_evspsbl_monthly "evspsbl_monthly.out" +file_fFire_monthly "fFire_monthly.out" +!file_fGrazing_monthly "fGrazing_monthly.out" +!file_fHarvest_monthly "fHarvest_monthly.out" +file_fLitterSoil_monthly "fLitterSoil_monthly.out" +file_fVegLitter_monthly "fVegLitter_monthly.out" +file_gpp_monthly "gpp_monthly.out" +file_grassFrac_monthly "grassFrac_monthly.out" +file_lai_monthly "lai_monthly.out" +file_landCoverFrac_monthly "landCoverFrac_monthly.out" +file_mrro_monthly "mrro_monthly.out" +file_mrros_monthly "mrros_monthly.out" +file_mrso_monthly "mrso_monthly.out" +file_mrfso_monthly "mrfso_monthly.out" +file_mrsos_monthly "mrsos_monthly.out" +file_nbp_monthly "nbp_monthly.out" +file_npp_monthly "npp_monthly.out" +file_pastureFrac_monthly "pastureFrac_monthly.out" +file_prveg_monthly "prveg_monthly.out" +file_ra_monthly "ra_monthly.out" +file_residualFrac_monthly "residualFrac_monthly.out" +file_rGrowth_monthly "rGrowth_monthly.out" +file_rh_monthly "rh_monthly.out" +file_rMaint_monthly "rMaint_monthly.out" +file_shrubFrac_monthly "shrubFrac_monthly.out" +file_tran_monthly "tran_monthly.out" +file_treeFrac_monthly "treeFrac_monthly.out" +file_tsl_monthly "tsl_monthly.out" +{% if lpj_guess.daily_output | default(true) %} +file_ec_daily "ec_daily.out" +file_evspsblpot_daily "evspsblpot_daily.out" +file_lai_daily "lai_daily.out" +file_mrsll_daily "mrsll_daily.out" +file_mrso_daily "mrso_daily.out" +file_mrsol_daily "mrsol_daily.out" +file_mrsos_daily "mrsos_daily.out" +file_mrro_daily "mrro_daily.out" +file_prCrop_daily "prCrop_daily.out" +file_tran_daily "tran_daily.out" +file_tsl_daily "tsl_daily.out" +file_prveg_daily "prveg_daily.out" +{% endif %} +file_pastureFrac_yearly "pasturefrac_yearly.out" +file_fVegOther_monthly "fVegOther_monthly.out" +file_fco2antt_monthly "fco2antt_monthly.out" +file_fco2nat_monthly "fco2nat_monthly.out" +file_snw_monthly "snw_monthly.out" +file_snc_monthly "snc_monthly.out" +file_snd_monthly "snd_monthly.out" diff --git a/namelists/lpj_guess/lpjg_steps.yaml.j2 b/namelists/lpj_guess/lpjg_steps.yaml.j2 index 076b0e5fb..60c3221c2 100644 --- a/namelists/lpj_guess/lpjg_steps.yaml.j2 +++ b/namelists/lpj_guess/lpjg_steps.yaml.j2 @@ -7,13 +7,15 @@ run_year: {{lpj_guess.run_year}} run_month: {{lpj_guess.run_month}} run_day: {{lpj_guess.run_day}} ndays_per_run: {{lpj_guess.ndays_per_run}} +# initial_year: Experiment start year for continuous output (only for spinup) +initial_year: {{lpj_guess.initial_year | default(lpj_guess.run_year)}} # Grid configuration -mygrid: "{{lpj_guess.mygrid}}" -maxgrid: {{lpj_guess.maxgrid | default(-1)}} +mygrid: "{{lpj_guess.resolution}}" # Coupling and experiment configuration -TM5: {{lpj_guess.TM5 | default(false) | lower}} +TM5: {{lpj_guess.co2_coupling | default(0) | lower}} +OPENIFSSPINUP: {{lpj_guess.openifsspinup | default(false) | lower}} # Experiment flags (boolean) fourxCO2: {{lpj_guess.fourxCO2 | default(false) | lower}} @@ -22,4 +24,17 @@ onepcCO2: {{lpj_guess.onepcCO2 | default(false) | lower}} # Fixed year settings (integer, -1 = disabled) fixed_CO2: {{lpj_guess.fixed_CO2 | default(-1)}} fixed_ndep: {{lpj_guess.fixed_ndep | default(-1)}} -fixed_LU: {{lpj_guess.fixed_LU | default(-1)}} +fixed_LU: {{lpj_guess.fixed_landuse_year | default(lpj_guess.fixed_LU) | default(-1)}} + +# CMIP version - provide both for compatibility with old and new binaries +# New binaries read 'mip', old binaries read 'cmip_co2_version' +mip: {{lpj_guess.mip | default("cmip6")}} +{% if lpj_guess.mip is defined %} +{% if lpj_guess.mip == "cmip7" %} +cmip_co2_version: 7 +{% else %} +cmip_co2_version: 6 +{% endif %} +{% else %} +cmip_co2_version: 6 +{% endif %} diff --git a/namelists/lpj_guess/paths_forcing.j2 b/namelists/lpj_guess/paths_forcing.j2 index df4c9d62b..d146c1a45 100755 --- a/namelists/lpj_guess/paths_forcing.j2 +++ b/namelists/lpj_guess/paths_forcing.j2 @@ -28,3 +28,20 @@ param "flux_dir" (str "{{lpj_guess.forcing_dir}}/2013_02_12/euroflux/") ! Location of subset of WATCH diurnal data param "watch_dir" (str "{{lpj_guess.forcing_dir}}/2013_02_12/watch_subset") + +{% if lpj_guess.use_luh3_input is defined and lpj_guess.use_luh3_input == 1 %} +! ============================================================================ +! LUH3 NetCDF land use forcing (CMIP7) +! Note: run_landcover 1 is set in landcover.ins, not here +! ============================================================================ +use_luh3_input 1 +file_luh3_states "{{general.work_dir}}/landuse/luh3_states.nc" +file_luh3_transitions "{{general.work_dir}}/landuse/luh3_transitions.nc" +file_luh3_management "{{general.work_dir}}/landuse/luh3_management.nc" + +! Override LUH2 text files to empty strings when using LUH3 NetCDF +param "file_lu" (str "") +param "file_lucrop" (str "") +param "file_Nfert" (str "") +param "file_grossLUC" (str "") +{% endif %} diff --git a/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml new file mode 100644 index 000000000..1a134fbf6 --- /dev/null +++ b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml @@ -0,0 +1 @@ +&NAMCOMPO_EMIS THIS%SPECIES='CO2_GHG', THIS%SECTOR='co2of', THIS%PARAMID=210067, THIS%SCALING=-1.0 / diff --git a/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml new file mode 100644 index 000000000..77d1773c6 --- /dev/null +++ b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml @@ -0,0 +1 @@ +&NAMCOMPO_EMIS / ! ← mandatory empty terminator diff --git a/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml new file mode 100644 index 000000000..933d0cc31 --- /dev/null +++ b/namelists/oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml @@ -0,0 +1,3 @@ +&NAMCOMPO_EMIS THIS%SPECIES='CO2_GHG', THIS%SECTOR='co2nbf', THIS%PARAMID=210068, THIS%SCALING=-1.0 / +&NAMCOMPO_EMIS THIS%SPECIES='CO2_GHG', THIS%SECTOR='co2apf', THIS%PARAMID=210069, THIS%SCALING=-1.0 / +&NAMCOMPO_EMIS THIS%SPECIES='CO2_GHG', THIS%SECTOR='co2fire', THIS%PARAMID=210080, THIS%SCALING=-1.0 / diff --git a/namelists/oifs/48r1/xios/field_def.xml b/namelists/oifs/48r1/xios/field_def.xml index 0edf41dba..ac1e931e1 100644 --- a/namelists/oifs/48r1/xios/field_def.xml +++ b/namelists/oifs/48r1/xios/field_def.xml @@ -210,6 +210,7 @@ + @@ -233,6 +234,7 @@ + @@ -256,6 +258,7 @@ + diff --git a/namelists/oifs/48r1/xios/field_def_cmip6.xml b/namelists/oifs/48r1/xios/field_def_cmip6.xml new file mode 100644 index 000000000..bab7a9e6d --- /dev/null +++ b/namelists/oifs/48r1/xios/field_def_cmip6.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @tas_min + + + + + @tas_max + + + + + + + + + + tisr/21600 + + + + (tisr-tsr)/21600 + + + + -ttr/21600 + + + + ssr/21600 + + + + str/21600 + + + + + + sqrt(sfcWind_u*sfcWind_u + sfcWind_v*sfcWind_v) + + + + + @sfcWind_max + + + + 1000.0 * @sd / @rsn + + + + (sd>0.0)?asn:$missing_value + + + + (sd>0.0)?tsn:$missing_value + + + + -sshf/21600 + + + + -slhf/21600 + + + + 100*tcc + + + + 1000*tp/21600 + + + + 1000*sf/21600 + + + + + + 100*exp(17.62*((d2m-273.15)/(d2m-30.03)-(t2m-273.15)/(t2m-30.03))) + + + + + + + + -1000*e/21600 + + + + ewss/21600 + + + + nsss/21600 + + + + sqrt(ewss*ewss + nsss*nsss)/21600 + + + + + + + + + + + + + + + + z_pl/9.81 + + + + + + diff --git a/namelists/oifs/48r1/xios/field_def_cmip7.xml b/namelists/oifs/48r1/xios/field_def_cmip7.xml new file mode 100644 index 000000000..a9c62a180 --- /dev/null +++ b/namelists/oifs/48r1/xios/field_def_cmip7.xml @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -ttr/21600 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tisr/21600 + + + + (tisr-tsr)/21600 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/namelists/oifs/48r1/xios/field_def_lpjg_safe.xml b/namelists/oifs/48r1/xios/field_def_lpjg_safe.xml new file mode 100644 index 000000000..57fa434e1 --- /dev/null +++ b/namelists/oifs/48r1/xios/field_def_lpjg_safe.xml @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @tas_min + + + + + @tas_max + + + + + + + + + + tisr/21600 + + + + (tisr-tsr)/21600 + + + + -ttr/21600 + + + + ssr/21600 + + + + str/21600 + + + + + + sqrt(sfcWind_u*sfcWind_u + sfcWind_v*sfcWind_v) + + + + + @sfcWind_max + + + + 1000.0*sd/(rsn+1e-10) + + + + (sd>0.0)?asn:$missing_value + + + + (sd>0.0)?tsn:$missing_value + + + + -sshf/21600 + + + + -slhf/21600 + + + + 100*tcc + + + + 1000*tp/21600 + + + + 1000*sf/21600 + + + + + + 100*exp(17.62*((d2m-273.15)/(d2m-30.03+1e-10)-(t2m-273.15)/(t2m-30.03+1e-10))) + + + + + + + + -1000*e/21600 + + + + ewss/21600 + + + + nsss/21600 + + + + sqrt(ewss*ewss + nsss*nsss)/21600 + + + + + + + + + + + + + + + + z_pl/9.81 + + + + + + diff --git a/namelists/oifs/48r1/xios/file_def.xml.j2 b/namelists/oifs/48r1/xios/file_def.xml.j2 index 77ba0c00d..834fe8163 100644 --- a/namelists/oifs/48r1/xios/file_def.xml.j2 +++ b/namelists/oifs/48r1/xios/file_def.xml.j2 @@ -32,13 +32,14 @@ + @@ -57,10 +58,10 @@ description="ECE4/OIFS monthly surface fields"> - - - - + + + + @@ -70,8 +71,8 @@ - - + + @@ -183,10 +184,10 @@ - - - - + + + + @@ -198,6 +199,12 @@ description="ECE4/OIFS daily surface fields"> + + + + + + @@ -205,10 +212,10 @@ - - - - + + + + @@ -278,6 +285,10 @@ + + + + @@ -302,6 +313,26 @@ + + + + + + + + + + + + + + + + diff --git a/namelists/oifs/48r1/xios/file_def_lpjg_spinup.xml.j2 b/namelists/oifs/48r1/xios/file_def_lpjg_spinup.xml.j2 new file mode 100644 index 000000000..d3a859e21 --- /dev/null +++ b/namelists/oifs/48r1/xios/file_def_lpjg_spinup.xml.j2 @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/namelists/oifs/48r1/xios/file_def_oifs_cmip7_spinup.xml.j2 b/namelists/oifs/48r1/xios/file_def_oifs_cmip7_spinup.xml.j2 new file mode 100644 index 000000000..241389476 --- /dev/null +++ b/namelists/oifs/48r1/xios/file_def_oifs_cmip7_spinup.xml.j2 @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/namelists/xios/file_def_cmip7_spinup.xml b/namelists/xios/file_def_cmip7_spinup.xml new file mode 100644 index 000000000..f7df288d9 --- /dev/null +++ b/namelists/xios/file_def_cmip7_spinup.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/runscripts/awicm3/develop/CMOR-diag.yaml b/runscripts/awicm3/develop/CMOR-diag.yaml new file mode 100644 index 000000000..eca8ac1c4 --- /dev/null +++ b/runscripts/awicm3/develop/CMOR-diag.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "1350-01-01" + final_date: "1350-02-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + namelist.io: + diag_list: + lcmor_diag: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 1 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + #NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awicm3/develop/CORE3_SPIN.yaml b/runscripts/awicm3/develop/CORE3_SPIN.yaml new file mode 100644 index 000000000..3a90bb13a --- /dev/null +++ b/runscripts/awicm3/develop/CORE3_SPIN.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "2000-01-01" + final_date: "2050-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + time_step: 1200 + nproc: 1792 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + + lresume: true + ini_parent_exp_id: "1y_1200s" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/bb1469/a270092/runtime/awicm3-develop/1y_1200s/restart/fesom" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + NAMGWWMS: + GGAUSSB: -0.6 + + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/CORE3_SPIN_900s.yaml b/runscripts/awicm3/develop/CORE3_SPIN_900s.yaml new file mode 100644 index 000000000..c05d3a321 --- /dev/null +++ b/runscripts/awicm3/develop/CORE3_SPIN_900s.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "2000-01-01" + final_date: "2050-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + time_step: 900 + nproc: 1792 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + + lresume: true + ini_parent_exp_id: "1y_1200s" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/bb1469/a270092/runtime/awicm3-develop/1y_1200s/restart/fesom" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + NAMGWWMS: + GGAUSSB: -0.6 + + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/HIST.yaml b/runscripts/awicm3/develop/HIST.yaml new file mode 100644 index 000000000..f2a58fa3c --- /dev/null +++ b/runscripts/awicm3/develop/HIST.yaml @@ -0,0 +1,76 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "2014-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4-co2" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + profile: True + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + ini_parent_exp_id: "SPIN" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/bb1469/a270092/runtime/awicm3-develop/SPIN/restart/fesom" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1849.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1849.ice.restart/*.nc + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 6 + mip: 'cmip6' + add_namelist_changes: + fort.4: + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/L137_GAUSS.yaml b/runscripts/awicm3/develop/L137_GAUSS.yaml new file mode 100644 index 000000000..3e6d5edf5 --- /dev/null +++ b/runscripts/awicm3/develop/L137_GAUSS.yaml @@ -0,0 +1,70 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1990-01-01" + final_date: "2040-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L137" + prepifs_expid: abx4 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 6 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/LPJG_FORCING.yaml b/runscripts/awicm3/develop/LPJG_FORCING.yaml new file mode 100644 index 000000000..5bdaf00c3 --- /dev/null +++ b/runscripts/awicm3/develop/LPJG_FORCING.yaml @@ -0,0 +1,74 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "01:00:00" + initial_date: "1990-01-01" + final_date: "2000-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + tar_binary_restarts: true + +oifs: + resolution: "TL255" + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 + omp_num_threads: 2 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + NAMCUMF: + ENTSTPC3: 1 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + config_sources: + field_def: ${xml_dir}/field_def_cmip6.xml + file_def: ${xml_dir}/file_def_lpjg_spinup.xml.j2 + diff --git a/runscripts/awicm3/develop/MELDPOND.yaml b/runscripts/awicm3/develop/MELDPOND.yaml new file mode 100644 index 000000000..1c4783c9d --- /dev/null +++ b/runscripts/awicm3/develop/MELDPOND.yaml @@ -0,0 +1,85 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1400-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4-co2" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + profile: True + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + #use_meltponds: true + albsn: 0.83 + albsnm: 0.8 + albi: 0.72 + albim: 0.69 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 6 + mip: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.23 + RSNOWLIN2: 0.025 + RLCRITSNOW: 1.6E-5 + NAMGWWMS: + GGAUSSB: -0.8 + NAMCUMF: + RPRCON: 1.1E-3 + ENTRORG: 1.65E-3 + RMFDEPS: 0.25 + + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/MELDPOND_1m.yaml b/runscripts/awicm3/develop/MELDPOND_1m.yaml new file mode 100644 index 000000000..fe978bcc6 --- /dev/null +++ b/runscripts/awicm3/develop/MELDPOND_1m.yaml @@ -0,0 +1,85 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "00:05:00" + initial_date: "1350-01-01" + final_date: "1350-02-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4-co2" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + profile: True + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + albsn: 0.86 + albsnm: 0.83 + albi: 0.75 + albim: 0.72 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.23 + RSNOWLIN2: 0.025 + RLCRITSNOW: 1.6E-5 + NAMGWWMS: + GGAUSSB: -0.8 + NAMCUMF: + RPRCON: 1.1E-3 + ENTRORG: 1.65E-3 + RMFDEPS: 0.25 + + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/PICT.yaml b/runscripts/awicm3/develop/PICT.yaml new file mode 100644 index 000000000..5d79cc1ab --- /dev/null +++ b/runscripts/awicm3/develop/PICT.yaml @@ -0,0 +1,78 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1870-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4-co2" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + profile: True + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + ini_parent_exp_id: "SPIN" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/bb1469/a270092/runtime/awicm3-develop/SPIN/restart/fesom" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1849.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1849.ice.restart/*.nc + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 6 + mip: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/SPIN.yaml b/runscripts/awicm3/develop/SPIN.yaml new file mode 100644 index 000000000..93b252d8b --- /dev/null +++ b/runscripts/awicm3/develop/SPIN.yaml @@ -0,0 +1,70 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1870-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4-co2" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + profile: True + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 6 + mip: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE10_GGAUSS.yaml b/runscripts/awicm3/develop/TUNE10_GGAUSS.yaml new file mode 100644 index 000000000..ae72ab5ba --- /dev/null +++ b/runscripts/awicm3/develop/TUNE10_GGAUSS.yaml @@ -0,0 +1,69 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1990-01-01" + final_date: "2040-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE32_GAUSS.yaml b/runscripts/awicm3/develop/TUNE32_GAUSS.yaml new file mode 100644 index 000000000..90cd39759 --- /dev/null +++ b/runscripts/awicm3/develop/TUNE32_GAUSS.yaml @@ -0,0 +1,70 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1990-01-01" + final_date: "2040-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE39PI_CLD4.yaml b/runscripts/awicm3/develop/TUNE39PI_CLD4.yaml new file mode 100644 index 000000000..d145e6bbb --- /dev/null +++ b/runscripts/awicm3/develop/TUNE39PI_CLD4.yaml @@ -0,0 +1,82 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1550-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true +# albsn: 0.86 +# albsnm: 0.83 +# albi: 0.75 +# albim: 0.72 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RDEPLIQREFRATE: 0.2 + RDEPLIQREFDEPTH: 1500. + RCL_OVERLAPLIQICE: 0.4 + RCLDIFF_CONVI: 4 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE40PI_CLD5.yaml b/runscripts/awicm3/develop/TUNE40PI_CLD5.yaml new file mode 100644 index 000000000..4868321b3 --- /dev/null +++ b/runscripts/awicm3/develop/TUNE40PI_CLD5.yaml @@ -0,0 +1,82 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1550-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true +# albsn: 0.86 +# albsnm: 0.83 +# albi: 0.75 +# albim: 0.72 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RDEPLIQREFRATE: 0.2 + RDEPLIQREFDEPTH: 1500. + RCL_OVERLAPLIQICE: 0.4 + RCLDIFF_CONVI: 7 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE41PI_CLD6.yaml b/runscripts/awicm3/develop/TUNE41PI_CLD6.yaml new file mode 100644 index 000000000..3a8d1be8b --- /dev/null +++ b/runscripts/awicm3/develop/TUNE41PI_CLD6.yaml @@ -0,0 +1,75 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1550-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE42PI_FES27.yaml b/runscripts/awicm3/develop/TUNE42PI_FES27.yaml new file mode 100644 index 000000000..3a8d1be8b --- /dev/null +++ b/runscripts/awicm3/develop/TUNE42PI_FES27.yaml @@ -0,0 +1,75 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1550-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE42_FES27.yaml b/runscripts/awicm3/develop/TUNE42_FES27.yaml new file mode 100644 index 000000000..065c950fc --- /dev/null +++ b/runscripts/awicm3/develop/TUNE42_FES27.yaml @@ -0,0 +1,75 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1550-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE8_CMIP6_O3.yaml b/runscripts/awicm3/develop/TUNE8_CMIP6_O3.yaml new file mode 100644 index 000000000..3952577a6 --- /dev/null +++ b/runscripts/awicm3/develop/TUNE8_CMIP6_O3.yaml @@ -0,0 +1,66 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "1990-01-01" + final_date: "2040-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/TUNE9_RSFIX.yaml b/runscripts/awicm3/develop/TUNE9_RSFIX.yaml new file mode 100644 index 000000000..177d3d141 --- /dev/null +++ b/runscripts/awicm3/develop/TUNE9_RSFIX.yaml @@ -0,0 +1,66 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1990-01-01" + final_date: "2040-01-01" + use_venv: true + install_esm_tools_branch: "feat/awiesm3-v3.4" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + #base_dir: "/work/ab0995/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + #model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 768 + omp_num_threads: 4 + tar_binary_restarts: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: 'cmip6' + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 +oasis3mct: + use_lucia: True + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/awicm3-develop-albedo-TCO95L91-CORE2_1d.yaml b/runscripts/awicm3/develop/awicm3-develop-albedo-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..4bb174616 --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-albedo-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,54 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: paleodyn.paleodyn + compute_time: "00:10:00" + initial_date: "2000-01-01" + final_date: "2000-02-01" + base_dir: "/albedo/work/user/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + pool_dir: "/albedo/work/user/jstreffi/input" + +computer: + taskset: true + additional_flags: [ --qos=30min ] + +awicm3: + postprocessing: false + model_dir: "/albedo/home/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + pool_dir: "/albedo/work/user/mandresm/test_pool/clidyn/FESOM2/" + climate_data_dir: "${pool_dir}/hydrography/phc3.0/" + mesh_dir: "${pool_dir}/meshes/core2/" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 128 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 128 + omp_num_threads: 1 + +oasis3mct: + lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/awicm3-develop-aleph-TCO95L91-CORE2_1d.yaml b/runscripts/awicm3/develop/awicm3-develop-aleph-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..16af72821 --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-aleph-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,48 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "awiiccp" + compute_time: "00:10:00" + initial_date: "2000-01-01" + final_date: "2000-02-01" + base_dir: "/scratch/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + pool_dir: "/proj/awi/input/" + +awicm3: + postprocessing: false + model_dir: "/home/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + mesh_dir: "${pool_dir}/core2/" + climate_data_dir: "${pool_dir}/hydrography/phc3.0/" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 320 + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 1800 + nproc: 360 + omp_num_threads: 1 + +oasis3mct: + lresume: false # Set to false to generate the rst files for first leg + time_step: 1800 + +xios: + with_model: oifs + nproc: 2 + diff --git a/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DARS2_1d.yaml b/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DARS2_1d.yaml new file mode 100644 index 000000000..79ea971c2 --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DARS2_1d.yaml @@ -0,0 +1,66 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "01:30:00" + initial_date: "2000-01-01" + final_date: "2000-01-03" + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "DARS2" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 360 + nproc: 5120 + omp_num_threads: 1 + tar_binary_restarts: true + namelist_dir: "/work/bb1469/a270089/input/newfesom/" + + # branchoff + ini_parent_exp_id: "DARS2" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + lasttime: + 86000 + restart_in_sources: + par_oce_restart: '/work/ab0246/a270092/input/fesom2/restart/DARS2/fesom.1850.oce.restart/*.nc' + par_ice_restart: '/work/ab0246/a270092/input/fesom2/restart/DARS2//fesom.1850.ice.restart/*.nc' + + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + lresume: false + time_step: 900 + nproc: 512 + omp_num_threads: 1 + +oasis3mct: + lucia: true + lresume: false # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1m.yaml b/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1m.yaml new file mode 100644 index 000000000..25c8a947b --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1m.yaml @@ -0,0 +1,66 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "2000-01-01" + final_date: "2000-01-03" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "DARS2" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: true + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + tar_binary_restarts: true + namelist_dir: "/work/bb1469/a270089/input/newfesom/" + + # branchoff + ini_parent_exp_id: "DARS2" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + lasttime: + 86060 + restart_in_sources: + par_oce_restart: '/work/ab0246/a270092/input/fesom2/restart/DARS2/fesom.2000.oce.restart/*.nc' + par_ice_restart: '/work/ab0246/a270092/input/fesom2/restart/DARS2//fesom.2000.ice.restart/*.nc' + + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + lresume: false + time_step: 900 + nproc: 896 + omp_num_threads: 4 + +oasis3mct: + lucia: true + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1d.yaml b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1d.yaml similarity index 61% rename from runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1d.yaml rename to runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1d.yaml index c5ecaba0d..ff1f0fbbb 100644 --- a/runscripts/awicm3/develop/awicm3-develop-levante-TCO319L137-DART_1d.yaml +++ b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1d.yaml @@ -2,43 +2,47 @@ general: user: !ENV ${USER} setup_name: "awicm3" version: "develop" - account: "ab0995" - compute_time: "08:00:00" + account: "ab0246" + compute_time: "00:20:00" initial_date: "2000-01-01" final_date: "2000-01-03" - base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" nday: 1 nmonth: 0 nyear: 0 + parallel_file_movements: 'threads' computer: - taskset: false + taskset: true awicm3: postprocessing: false model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" fesom: - resolution: "DART" + resolution: "CORE3" restart_rate: 1 restart_unit: "d" restart_first: 1 lresume: false - time_step: 60 - nproc: 1280 - omp_num_threads: 1 + time_step: 900 + nproc: 1792 tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true oifs: - resolution: "TCO319" - levels: "L137" - prepifs_expid: abns + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 input_expid: awi3 wam: true lresume: false - time_step: 900 - nproc: 384 - omp_num_threads: 1 + time_step: 3600 + nproc: 128 + omp_num_threads: 4 oasis3mct: lresume: false # Set to false to generate the rst files for first leg diff --git a/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1m.yaml b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1m.yaml new file mode 100644 index 000000000..9e38e0ac0 --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1m.yaml @@ -0,0 +1,55 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "2000-01-01" + final_date: "2000-02-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: false + time_step: 1200 + nproc: 1792 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1y.yaml b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1y.yaml new file mode 100644 index 000000000..64ba1a5e8 --- /dev/null +++ b/runscripts/awicm3/develop/awicm3-develop-levante-TCO95L91-CORE3_1y.yaml @@ -0,0 +1,55 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "develop" + account: "ab0246" + compute_time: "08:00:00" + initial_date: "2000-01-01" + final_date: "2001-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + parallel_file_movements: 'threads' + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1200 + nproc: 1792 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + +oifs: + resolution: "TCO95" + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/develop/nohup.out b/runscripts/awicm3/develop/nohup.out new file mode 100644 index 000000000..c56a13b8a --- /dev/null +++ b/runscripts/awicm3/develop/nohup.out @@ -0,0 +1,76 @@ + OpenIFS preprocessing + ===================== + + Machine: levante5.lvt.dkrz.de + grib_set: /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/bin/grib_set + cdo -V: +Climate Data Operators version 2.0.5 (https://mpimet.mpg.de/cdo) +System: x86_64-conda-linux-gnu +CXX Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-c++ -std=gnu++14 -fPIC -DPIC -g -O2 -std=c++14 -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread +CXX version : unknown +C Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-cc -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread -pthread +C version : unknown +F77 Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-gfortran -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix +F77 version : GNU Fortran (GCC) 10.3.0 +Features: 501GB 256threads C++14 OpenMP45 Fortran PTHREADS HDF5 NC4/HDF5/threadsafe OPeNDAP UDUNITS2 PROJ XML2 MAGICS CURL FFTW3 SSE3 +Libraries: HDF5/1.12.1 proj/9.0.0 xml2/2.9.12 curl/7.86.0(h7.82.0) magics/4.11.0 +CDI data types: SizeType=size_t DateType=int64_t +CDI file types: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c nc5 + CDI library version : 2.0.5 + cgribex library version : 2.0.1 + ecCodes library version : 2.26.0 + NetCDF library version : 4.8.1 of Apr 25 2022 17:44:24 $ + hdf5 library version : 1.12.1 threadsafe + exse library version : 1.4.2 + FILE library version : 1.9.1 + + + Input dir: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs// + Output dir: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs// + InExp ID: awi3 + OutExp ID: awi3 + Start date: 20000101 + Perturb: 0 + New date: 20000101 + Initial time: 2000-01-01T00:00:00 + Start time: 2000-01-01T00:00:00 + + * Change dataDate in files: + + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///ICMGGawi3INIT with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///ICMGGawi3INIUA with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///ICMSHawi3INIT with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///cdwavein with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///sfcwindin with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///specwavein with date 20000101 + Made new file: /work/bb1469/a270092/runtime/awicm3-develop//rmp1280/run_20000101-20000101/input/oifs///uwavein with date 20000101 +Run number for internal OpenIFS timekeeping: 1 +Submitted batch job 20794094 +Initializing run_number=1 and date=2000-01-01 +First year, checking if we need to compile... + +================================================================================ +STARTING SIMULATION JOB! +Experiment ID = rmp1280 +Setup = awicm3 +This setup consists of: +- fesom +- oifs +- rnfmap +- oasis3mct +- xios +Experiment is installed in: + /work/bb1469/a270092/runtime/awicm3-develop//rmp1280 +================================================================================ +nproc: 1280 +tasks: 1280 +nproc: 128 +tasks: 1408 +nproc: 1 +tasks: 1409 +nproc: 4 +tasks: 1413 +resubmit tasks: 1413 +Submitting jobscript to batch system... +Output written by slurm: +Initializing run_number=1 and date=2000-01-01 diff --git a/runscripts/awicm3/v3.0/awicm3-v3.1-levante-TCO95L91-CORE2.yaml b/runscripts/awicm3/v3.0/awicm3-v3.1-levante-TCO95L91-CORE2.yaml new file mode 100644 index 000000000..b1c00f4b7 --- /dev/null +++ b/runscripts/awicm3/v3.0/awicm3-v3.1-levante-TCO95L91-CORE2.yaml @@ -0,0 +1,53 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.0" + account: "ab0995" + compute_time: "02:00:00" + initial_date: "2019-09-01" + final_date: "2020-12-31" + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 16 + nyear: 0 + use_venv: true + install_esm_tools_branch: "ICEOPTExpDecay" + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + pool_dir: "/work/ab0246/a270092/input/fesom2/" + mesh_dir: "${pool_dir}/core2/" + restart_rate: 16 + restart_unit: "m" + restart_first: 16 + lresume: false + time_step: 2400 + nproc: 256 + +oifs: + resolution: "TCO159" + levels: "L91" + prepifs_expid: h9wu + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 256 + omp_num_threads: 6 + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/v3.0/run_felix.yaml b/runscripts/awicm3/v3.0/run_felix.yaml new file mode 100644 index 000000000..3bec7fb27 --- /dev/null +++ b/runscripts/awicm3/v3.0/run_felix.yaml @@ -0,0 +1,51 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.0" + account: "ab0995" + compute_time: "02:00:00" + initial_date: "2019-09-01" + final_date: "2020-12-31" + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 16 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + pool_dir: "/work/ab0246/a270092/input/fesom2/" + mesh_dir: "${pool_dir}/core2/" + restart_rate: 16 + restart_unit: "m" + restart_first: 16 + lresume: false + time_step: 2400 + nproc: 256 + +oifs: + resolution: "TCO159" + levels: "L91" + prepifs_expid: h9wu + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 256 + omp_num_threads: 6 + +oasis3mct: + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml new file mode 100644 index 000000000..a8a957ad0 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/albedo/work/user/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/albedo/home/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE3" + time_step: 1200 + nproc: 1792 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "1900-01-01" + ini_restart_dir: "/albedo/pool/fesom2/restart/CORE3" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 256 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml new file mode 100644 index 000000000..2bd7565de --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "06:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 7680 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: 'd' + restart_first: 1 + ini_parent_exp_id: "lpj_spinup_HR_2000y" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 768 + omp_num_threads: 1 + mip: cmip7 + scenario: 'piControl' + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml new file mode 100644 index 000000000..72e2d8759 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1850-04-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 1 + restart_unit: 'm' + restart_first: 1 + ini_parent_exp_id: "lpj_spinup_HR_2000y" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 640 + omp_num_threads: 4 + mip: cmip7 + scenario: 'piControl' + lresume: false + +oasis3mct: + use_lucia: true + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml new file mode 100644 index 000000000..63aa50e71 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml @@ -0,0 +1,65 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1856-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + use_venv: False + install_esm_tools_branch: 'feat/awiesm3-v3.4-co2' + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 2 + restart_unit: 'y' + restart_first: 2 + branchoff: true + ini_parent_exp_id: "lpj_spinup_HR_2000y" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 900 + nproc: 896 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..b3475d8ec --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,52 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:20:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 1 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml new file mode 100644 index 000000000..c0d1f1a06 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml @@ -0,0 +1,53 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1910-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 20 + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 20 + restart_unit: "y" + restart_first: 20 + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml new file mode 100644 index 000000000..f3b83da4e --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml @@ -0,0 +1,53 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1856-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml new file mode 100644 index 000000000..fd0b25d9e --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml @@ -0,0 +1,53 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1880-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 1 + lresume: false + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml new file mode 100644 index 000000000..46a74d139 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml @@ -0,0 +1,52 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "01:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awicm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 256 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 128 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml new file mode 100644 index 000000000..330860fc6 --- /dev/null +++ b/runscripts/awicm3/v3.4.0/awicm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml @@ -0,0 +1,53 @@ +general: + user: !ENV ${USER} + setup_name: "awicm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "02:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awicm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/SPIN-HR.yaml b/runscripts/awiesm3/develop/SPIN-HR.yaml new file mode 100644 index 000000000..6de722bb6 --- /dev/null +++ b/runscripts/awiesm3/develop/SPIN-HR.yaml @@ -0,0 +1,141 @@ +general: + user: !ENV ${USER} + use_venv: False + install_esm_tools_branch: 'feat/awiesm3-v3.4-co2' + setup_name: "awiesm3" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1360-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + ini_parent_exp_id: "awiesm3-dev-TCO319L137-DARS2_branchoff_360s_1m_allinclusive_007" + ini_restart_dir: "/work/bb1469/a270089/runtime/awiesm3-develop/awiesm3-dev-TCO319L137-DARS2_branchoff_360s_1m_allinclusive_007/restart/" + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "DARS2" + restart_rate: 2 + restart_unit: 'y' + restart_first: 2 + lresume: true + time_step: 400 + nproc: 5120 #originally 512 but worked with 1152 + omp_num_threads: 2 # originally 4 but worked with 1 + tar_binary_restarts: false + namelist_dir: "/work/bb1469/a270089/input/newfesom1/" + branchoff: true + + # branchoff + ini_parent_date: "${prev_date}" + ini_restart_dir: "${general.ini_restart_dir}/fesom" + + choose_general.run_number: + 0: + lasttime: + 86100 #86340,86310,86280,86160,86100,86220,86000 + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + 1: + lasttime: + 86100 #86340,86310,86280,86160,86100,86220,86000 + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + add_namelist_changes: + namelist.config: + restart_log: + raw_restart_length_unit: "off" + bin_restart_length_unit: "off" + +lpj_guess: + # Branchoff: + lresume: true + ini_parent_exp_id: "lpj_spinup_HR_2000y" + ini_parent_date: "1349-12-31" + ini_restart_dir: "/work/bb1469/a270092/runtime/lpjg-spinup-develop/lpj_spinup_HR_2000y/restart/lpj_guess/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + restart_out_in_work: + state: /${work_dir}/lpjg_state_$(date -u -d "${initial_date}" +%Y)/* + + #Config: + nproc: 64 # originally 16 + omp_num_threads: 4 + resolution: "TCO319" + mygrid: ${resolution} + mip: cmip7 + use_luh3_input: 1 # Explicitly enable LUH3 NetCDF input + luh3_input_dir: /work/ab0246/a270092/input/lpj-guess/land_use/regridded/ + fixed_landuse_year: 1850 + run_landcover: 1 + run_natural: 1 + run_crop: 1 + run_pasture: 1 + run_barren: 0 # Disabled for LUH3 - calculated as residual internally + run_urban: 1 + run_peatland: 1 # Disabled for LUH3 + +oifs: + ifsdata_dir: "/work/bb1469/a270089/ifsdata/" + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + lresume: false + #prepifs_dir: "/work/bb1469/a270089/input/oifs-48r1/TCO319L137/" + time_step: 1200 + nproc: 768 + omp_num_threads: 4 + add_namelist_changes: + fort.4: + NAMECECMIP: + LCMIP6: False + LCMIP7: True + #CMIP6DATADIR: '/work/bb1469/a270089/input/oifs-48r1/cmip-data/' + CMIP7DATADIR: '/work/pd1284/AWIESM/oifs-48r1/cmip7-data/' + NCMIPFIXYR: 1850 + SCENARIONAME: 'SSP2-4.5' + LMACV2SP: True + LMACV2SP_CCNF: True + NAERAD: + LAER3D: False + NRADFR: -3 + NDECOLAT: 0 + NO3CMIP: 7 + CO3DATADIR: '/work/pd1284/AWIESM/oifs-48r1/cmip7-data/' + NAMCLDP: + RVICE: 0.16 + NAMGWWMS: + GGAUSSB: -0.5 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + norestart: true #Should lpj-guess restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 + #config_sources: + # file_def: '/work/ab0995/a270089/esm_tools_macv2sp_dars/namelists/oifs/48r1/xios/file_def_oifs_cmip7_spiunp.xml.j2' + # field_def: '/home/a/a270092/esm_tools/namelists/oifs/48r1/xios/field_def_cmip6.xml' + + # LPJG SPINUP FORCING: + # file_def: '/home/a/a270092/esm_tools/namelists/oifs/48r1/xios/file_def_lpjg_spinup.xml.j2' + # field_def: '/home/a/a270092/esm_tools/namelists/oifs/48r1/xios/field_def_lpjg_safe.xml' diff --git a/runscripts/awiesm3/develop/awiesm3-develop-albedo-TCO95L91-CORE3_1y.yaml b/runscripts/awiesm3/develop/awiesm3-develop-albedo-TCO95L91-CORE3_1y.yaml new file mode 100644 index 000000000..c18c370c2 --- /dev/null +++ b/runscripts/awiesm3/develop/awiesm3-develop-albedo-TCO95L91-CORE3_1y.yaml @@ -0,0 +1,103 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "clidyn.clidyn" + compute_time: "08:00:00" + initial_date: "1900-01-01" + final_date: "1904-01-01" + base_dir: "/albedo/work/user/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/albedo/home/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "1900-01-01" + ini_restart_dir: "/albedo/pool/fesom2/restart/CORE3" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + time_step: 1200 + nproc: 1792 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + restart_log: + raw_restart_length_unit: "off" + bin_restart_length_unit: "off" + +lpj_guess: + nproc: 64 + omp_num_threads: 4 + mip: "cmip7" + fixed_landuse_year: 1850 + firemodel: NOFIRE + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "1999-12-31" + ini_restart_dir: "/albedo/work/user/jstreffi/runtime/lpjg-spinup/first_test_01/restart/lpj_guess/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_1870/* + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 256 + omp_num_threads: 4 + mpi: cmip7 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + LCMIP6: False + LCMIP7: True + CMIP7DATADIR: '${input_dir}/cmip7-data/' + NCMIPFIXYR: 1850 + SCENARIONAME: 'SSP2-4.5' + LMACV2SP: True + LMACV2SP_CCNF: True + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NO3CMIP: 7 + CO3DATADIR: '${input_dir}/cmip7-data/' + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/awiesm3-develop-levante-TCO95L91-CORE2_1d.yaml b/runscripts/awiesm3/develop/awiesm3-develop-levante-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..ccc958d1d --- /dev/null +++ b/runscripts/awiesm3/develop/awiesm3-develop-levante-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,59 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "ab0995" #original account + compute_time: "00:30:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 128 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + lresume: false + nproc: 8 # originally 16 + omp_num_threads: 8 + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 256 + omp_num_threads: 1 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + +oasis3mct: + use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: false #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_10Y.yaml b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_10Y.yaml new file mode 100644 index 000000000..1963f1dc6 --- /dev/null +++ b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_10Y.yaml @@ -0,0 +1,102 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + #account: "ab0995" #original account + account: "ba0989" #new account if it works + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "2000-01-01" + #base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-v3.4/" + nday: 0 + nmonth: 0 + nyear: 10 #should be 10 + +computer: + taskset: true + # Wait indefinitely for all tasks to complete (needed for slow LPJ-GUESS cold start) + launcher_flags: "-l --wait=0" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 10 #should be 10 + restart_unit: "y" + restart_first: 10 #should be 10 + lresume: false + time_step: 1800 + #nproc: 1152 #originally 512 but worked with 1152 - for TL255 + nproc: 768 #should be 768 for TCO95 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true + +lpj_guess: + lresume: false + nproc: 8 # should be 8 + omp_num_threads: 8 # should be 8 + co2_coupling: 0 + #resolution: "TL255" + resolution: "TCO95" + mygrid: ${resolution} + # Use CMIP7 forcing (CO2 and N deposition) + mip: "cmip7" + use_luh3_input: 1 + run_landcover: 1 + run_natural: 1 + run_crop: 1 + run_pasture: 1 + run_barren: 0 # Disabled for LUH3 - calculated as residual internally + run_urban: 1 + run_peatland: 0 # Disabled for LUH3 - no peatland data in LUH3 + fixed_CO2: 1850 # For piControl - freeze CO2 at 1850 levels + fixed_ndep: 1850 # For piControl - freeze ndep at 1850 levels + fixed_LU: -1 # For piControl - freeze land use at 1850 + firemodel: BLAZE # Enable SIMFIRE/BLAZE fire module (valid: BLAZE, GLOBFIRM, NOFIRE) + + +oifs: + #resolution: TL255 + resolution: TCO95 + levels: "L91" + #prepifs_expid: abl7 #for TL255 + prepifs_expid: ab45 #for TCO95 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 #should be 512 + omp_num_threads: 8 #should be 8 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + #NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + NAMGWWMS: + GGAUSSB: -0.6 + +oasis3mct: + use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + #lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: false #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 # should be 4 + omp_num_threads: 32 # should be 32 diff --git a/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1d.yaml b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1d.yaml index 7165253de..828a336b6 100644 --- a/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1d.yaml +++ b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1d.yaml @@ -2,58 +2,99 @@ general: user: !ENV ${USER} setup_name: "awiesm3" version: "develop" - account: "ab0995" - compute_time: "00:30:00" - initial_date: "1900-01-01" - final_date: "1900-01-04" - base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + account: "ab0995" #original account + #account: "ba0989" #new account if it works + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1850-05-01" + #base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-v3.4/" nday: 1 nmonth: 0 - nyear: 0 + nyear: 0 #should be 10 computer: taskset: true + # Wait indefinitely for all tasks to complete (needed for slow LPJ-GUESS cold start) + launcher_flags: "-l --wait=0" awiesm3: postprocessing: false - model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" fesom: resolution: "CORE2" - restart_rate: 1 - restart_unit: "d" - restart_first: 1 + restart_rate: 1 #should be 10 + restart_unit: "d" #should be "y" + restart_first: 1 #should be 10 lresume: false time_step: 1800 - nproc: 1152 #originally 512 but worked with 1152 + nproc: 256 #for TL255 should be 1152 + #nproc: 768 #should be 768 for TCO95 omp_num_threads: 1 # originally 4 but worked with 1 tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true lpj_guess: lresume: false - nproc: 8 # originally 16 - omp_num_threads: 8 - + nproc: 8 # should be 8 + omp_num_threads: 8 # should be 8 + co2_coupling: 0 + resolution: "TL255" + #resolution: "TCO95" + mygrid: ${resolution} + # Use CMIP7 forcing (CO2 and N deposition) + mip: "cmip7" + use_luh3_input: 1 + run_landcover: 1 + run_natural: 1 + run_crop: 1 + run_pasture: 1 + run_barren: 0 # Disabled for LUH3 - calculated as residual internally + run_urban: 1 + run_peatland: 1 # Enable peatland with external file only works with LUH3 + fixed_CO2: 1850 # For piControl - freeze CO2 at 1850 levels + fixed_ndep: 1850 # For piControl - freeze ndep at 1850 levels + fixed_LU: 1850 # For piControl - freeze land use at 1850 + oifs: resolution: TL255 + #resolution: TCO95 levels: "L91" - prepifs_expid: abl7 + prepifs_expid: abl7 #for TL255 + #prepifs_expid: ab45 #for TCO95 input_expid: awi3 wam: true lresume: false time_step: 2400 - nproc: 512 - omp_num_threads: 2 + nproc: 128 #should be 512 + omp_num_threads: 8 #should be 8 mpi: cmip6 #for cmip6 simulations! scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + #NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + NAMGWWMS: + GGAUSSB: -0.6 oasis3mct: use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster lresume: true # Set to false to generate the rst files for first leg + #lresume: false # Set to false to generate the rst files for first leg time_step: 7200 norestart: false #Do i restart from vegin or not? xios: with_model: oifs - nproc: 4 - omp_num_threads: 32 + nproc: 4 # should be 4 + omp_num_threads: 32 # should be 32 diff --git a/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1y.yaml b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1y.yaml index f023ea25c..3e6b9678f 100644 --- a/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1y.yaml +++ b/runscripts/awiesm3/develop/awiesm3-develop-levante-TL255L91-CORE2_1y.yaml @@ -29,6 +29,10 @@ fesom: nproc: 1152 #originally 512 but worked with 1152 omp_num_threads: 1 # originally 4 but worked with 1 tar_binary_restarts: true + add_namelist_changes: + namelist.ice: + ice_therm: + use_meltponds: true lpj_guess: lresume: false @@ -47,6 +51,18 @@ oifs: omp_num_threads: 8 mpi: cmip6 #for cmip6 simulations! scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1850 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + RCL_OVERLAPLIQICE: 0.1 + NAMGWWMS: + GGAUSSB: -0.6 oasis3mct: use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster diff --git a/runscripts/awiesm3/develop/co2_coupled.yaml b/runscripts/awiesm3/develop/co2_coupled.yaml new file mode 100644 index 000000000..7092c9122 --- /dev/null +++ b/runscripts/awiesm3/develop/co2_coupled.yaml @@ -0,0 +1,86 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop-cc" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 1152 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + lresume: false + nproc: 8 # originally 16 + omp_num_threads: 8 + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 + omp_num_threads: 2 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGFL: + NGHG: 1 + YGHG_NL(1)%CNAME: "CO2_GHG" + YGHG_NL(1)%IGRBCODE: 210061 + YGHG_NL(1)%LADV: TRUE + YGHG_NL(1)%LADV5: TRUE + YGHG_NL(1)%LREQOUT: TRUE + YGHG_NL(1)%LMASSFIX: TRUE + YGHG_NL(1)%LQM: FALSE + YGHG_NL(1)%LQM3D: TRUE + YGHG_NL(1)%LNEGFIX: FALSE + YGHG_NL(1)%BETAMFBC: 2 + NAMCOMPO: + LCHEM_DIA: .false. + LCHEM_DDFLX: .false. + LCOMPO_DDFLX_DIR: .false. + LCHEM_TROPO: .false. + LCOMPO_DCDD: .false. + +oasis3mct: + use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: false #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/co2_only_passive_tracer.yaml b/runscripts/awiesm3/develop/co2_only_passive_tracer.yaml new file mode 100644 index 000000000..1d7697a52 --- /dev/null +++ b/runscripts/awiesm3/develop/co2_only_passive_tracer.yaml @@ -0,0 +1,86 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 1152 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + lresume: false + nproc: 8 # originally 16 + omp_num_threads: 8 + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 + omp_num_threads: 2 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGFL: + NGHG: 1 + YGHG_NL(1)%CNAME: "CO2_GHG" + YGHG_NL(1)%IGRBCODE: 210061 + YGHG_NL(1)%LADV: TRUE + YGHG_NL(1)%LADV5: TRUE + YGHG_NL(1)%LREQOUT: TRUE + YGHG_NL(1)%LMASSFIX: TRUE + YGHG_NL(1)%LQM: FALSE + YGHG_NL(1)%LQM3D: TRUE + YGHG_NL(1)%LNEGFIX: FALSE + YGHG_NL(1)%BETAMFBC: 2 + NAMCOMPO: + LCHEM_DIA: .false. + LCHEM_DDFLX: .false. + LCOMPO_DDFLX_DIR: .false. + LCHEM_TROPO: .false. + LCOMPO_DCDD: .false. + +oasis3mct: + use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: false #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1d.yaml b/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1d.yaml new file mode 100644 index 000000000..a0710175a --- /dev/null +++ b/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1d.yaml @@ -0,0 +1,70 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop-cc" + account: "ab0246" + compute_time: "00:10:00" + initial_date: "1900-01-01" + final_date: "1900-01-03" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 256 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 128 + omp_num_threads: 1 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1y.yaml b/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1y.yaml new file mode 100644 index 000000000..47458fa75 --- /dev/null +++ b/runscripts/awiesm3/develop/co2_read_from_lpjg_and_recom_1y.yaml @@ -0,0 +1,69 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop-cc" + account: "ab0995" + compute_time: "02:00:00" + initial_date: "1900-01-01" + final_date: "1905-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 1152 #originally 512 but worked with 1152 + omp_num_threads: 4 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: T #Do i restart from vegin or not? +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/co2_read_from_recom.yaml b/runscripts/awiesm3/develop/co2_read_from_recom.yaml new file mode 100644 index 000000000..4d05df44c --- /dev/null +++ b/runscripts/awiesm3/develop/co2_read_from_recom.yaml @@ -0,0 +1,70 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "ab0246" + compute_time: "01:00:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 256 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + lresume: false + nproc: 8 # originally 16 + omp_num_threads: 8 + +oifs: + with_co2_tracer: true + with_co2_oce_coupling: true + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + +oasis3mct: + use_lucia: false #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: false #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/core2.yaml b/runscripts/awiesm3/develop/core2.yaml new file mode 100644 index 000000000..b1e0ec940 --- /dev/null +++ b/runscripts/awiesm3/develop/core2.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "bb1469" + compute_time: "02:00:00" + initial_date: "1900-01-01" + final_date: "1910-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + lresume: false + time_step: 1800 + nproc: 768 #originally 512 but worked with 1152 + omp_num_threads: 2 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + mip: "cmip7" + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + LCMIP6: False + LCMIP7: True + CMIP7DATADIR: '/work/bb1469/a270089/input/oifs-48r1/cmip-data/' + NCMIPFIXYR: 1850 + SCENARIONAME: 'SSP2-4.5' + LMACV2SP: True + LMACV2SP_CCNF: True + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/core3_1d.yaml b/runscripts/awiesm3/develop/core3_1d.yaml new file mode 100644 index 000000000..7cb3468c1 --- /dev/null +++ b/runscripts/awiesm3/develop/core3_1d.yaml @@ -0,0 +1,74 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 600 + nproc: 1792 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 128 + omp_num_threads: 1 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/core3_3m.yaml b/runscripts/awiesm3/develop/core3_3m.yaml new file mode 100644 index 000000000..9542b97cb --- /dev/null +++ b/runscripts/awiesm3/develop/core3_3m.yaml @@ -0,0 +1,74 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop-cc" + account: "ab0246" + compute_time: "00:20:00" + initial_date: "1900-01-01" + final_date: "1900-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE3" + restart_rate: 1 + restart_unit: "m" + restart_first: 1 + lresume: false + time_step: 600 + nproc: 1792 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + lresume: false + time_step: 3600 + nproc: 128 + omp_num_threads: 2 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: true # Set to false to generate the rst files for first leg + time_step: 3600 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/develop/nohup.out b/runscripts/awiesm3/develop/nohup.out new file mode 100644 index 000000000..37f7a8112 --- /dev/null +++ b/runscripts/awiesm3/develop/nohup.out @@ -0,0 +1,255 @@ + OpenIFS preprocessing + ===================== + + Machine: levante4.lvt.dkrz.de + grib_set: /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/bin/grib_set + cdo -V: +Climate Data Operators version 2.0.5 (https://mpimet.mpg.de/cdo) +System: x86_64-conda-linux-gnu +CXX Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-c++ -std=gnu++14 -fPIC -DPIC -g -O2 -std=c++14 -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread +CXX version : unknown +C Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-cc -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread -pthread +C version : unknown +F77 Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-gfortran -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix +F77 version : GNU Fortran (GCC) 10.3.0 +Features: 501GB 256threads C++14 OpenMP45 Fortran PTHREADS HDF5 NC4/HDF5/threadsafe OPeNDAP UDUNITS2 PROJ XML2 MAGICS CURL FFTW3 SSE3 +Libraries: HDF5/1.12.1 proj/9.0.0 xml2/2.9.12 curl/7.86.0(h7.82.0) magics/4.11.0 +CDI data types: SizeType=size_t DateType=int64_t +CDI file types: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c nc5 + CDI library version : 2.0.5 + cgribex library version : 2.0.1 + ecCodes library version : 2.26.0 + NetCDF library version : 4.8.1 of Apr 25 2022 17:44:24 $ + hdf5 library version : 1.12.1 threadsafe + exse library version : 1.4.2 + FILE library version : 1.9.1 + + + Input dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs// + Output dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs// + InExp ID: awi3 + OutExp ID: awi3 + Start date: 19000101 + Perturb: 0 + New date: 19000101 + Initial time: 1900-01-01T00:00:00 + Start time: 1900-01-01T00:00:00 + + * Change dataDate in files: + + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///ICMGGawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///ICMGGawi3INIUA with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///ICMSHawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///cdwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///sfcwindin with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///specwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/input/oifs///uwavein with date 19000101 +Run number for internal OpenIFS timekeeping: 1 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36/run_19000101-19000101/config/oifs//fort.4 +Submitted batch job 20797122 +Initializing run_number=1 and date=1900-01-01 +First year, checking if we need to compile... + +================================================================================ +STARTING SIMULATION JOB! +Experiment ID = core3_36 +Setup = awiesm3 +This setup consists of: +- fesom +- oifs +- rnfmap +- lpj_guess +- oasis3mct +- xios +Experiment is installed in: + /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_36 +================================================================================ +nproc: 1792 +tasks: 1792 +nproc: 128 +tasks: 1920 +nproc: 1 +tasks: 1921 +nproc: 8 +tasks: 1929 +nproc: 4 +tasks: 1933 +resubmit tasks: 1933 +Submitting jobscript to batch system... +Output written by slurm: +Initializing run_number=1 and date=1900-01-01 +Copying standard yamls from: /home/a/a270092/esm_tools/configs/ +Copying standard namelists from: /home/a/a270092/esm_tools/namelists/ +/home/a/a270092/esm_tools/runscripts/awiesm3/develop/core3_1d.yaml + OpenIFS preprocessing + ===================== + + Machine: levante5.lvt.dkrz.de + grib_set: /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/bin/grib_set + cdo -V: +Climate Data Operators version 2.0.5 (https://mpimet.mpg.de/cdo) +System: x86_64-conda-linux-gnu +CXX Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-c++ -std=gnu++14 -fPIC -DPIC -g -O2 -std=c++14 -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread +CXX version : unknown +C Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-cc -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread -pthread +C version : unknown +F77 Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-gfortran -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix +F77 version : GNU Fortran (GCC) 10.3.0 +Features: 501GB 256threads C++14 OpenMP45 Fortran PTHREADS HDF5 NC4/HDF5/threadsafe OPeNDAP UDUNITS2 PROJ XML2 MAGICS CURL FFTW3 SSE3 +Libraries: HDF5/1.12.1 proj/9.0.0 xml2/2.9.12 curl/7.86.0(h7.82.0) magics/4.11.0 +CDI data types: SizeType=size_t DateType=int64_t +CDI file types: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c nc5 + CDI library version : 2.0.5 + cgribex library version : 2.0.1 + ecCodes library version : 2.26.0 + NetCDF library version : 4.8.1 of Apr 25 2022 17:44:24 $ + hdf5 library version : 1.12.1 threadsafe + exse library version : 1.4.2 + FILE library version : 1.9.1 + + + Input dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs// + Output dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs// + InExp ID: awi3 + OutExp ID: awi3 + Start date: 19000101 + Perturb: 0 + New date: 19000101 + Initial time: 1900-01-01T00:00:00 + Start time: 1900-01-01T00:00:00 + + * Change dataDate in files: + + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///ICMGGawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///ICMGGawi3INIUA with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///ICMSHawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///cdwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///sfcwindin with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///specwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/input/oifs///uwavein with date 19000101 +Run number for internal OpenIFS timekeeping: 1 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41/run_19000101-19000101/config/oifs//fort.4 +Submitted batch job 20808047 +Initializing run_number=1 and date=1900-01-01 +First year, checking if we need to compile... + +================================================================================ +STARTING SIMULATION JOB! +Experiment ID = core3_41 +Setup = awiesm3 +This setup consists of: +- fesom +- oifs +- rnfmap +- lpj_guess +- oasis3mct +- xios +Experiment is installed in: + /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_41 +================================================================================ +nproc: 1792 +tasks: 1792 +nproc: 128 +tasks: 1920 +nproc: 1 +tasks: 1921 +nproc: 8 +tasks: 1929 +nproc: 4 +tasks: 1933 +resubmit tasks: 1933 +Submitting jobscript to batch system... +Output written by slurm: +Initializing run_number=1 and date=1900-01-01 +Copying standard yamls from: /home/a/a270092/esm_tools/configs/ +Copying standard namelists from: /home/a/a270092/esm_tools/namelists/ +/home/a/a270092/esm_tools/runscripts/awiesm3/develop/core3_1d.yaml + OpenIFS preprocessing + ===================== + + Machine: levante4.lvt.dkrz.de + grib_set: /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/bin/grib_set + cdo -V: +Climate Data Operators version 2.0.5 (https://mpimet.mpg.de/cdo) +System: x86_64-conda-linux-gnu +CXX Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-c++ -std=gnu++14 -fPIC -DPIC -g -O2 -std=c++14 -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread +CXX version : unknown +C Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-cc -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix -fopenmp -pthread -pthread +C version : unknown +F77 Compiler: /home/conda/feedstock_root/build_artifacts/cdo_1647515505590/_build_env/bin/x86_64-conda-linux-gnu-gfortran -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/cdo_1647515505590/work=/usr/local/src/conda/cdo-2.0.5 -fdebug-prefix-map=/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg=/usr/local/src/conda-prefix +F77 version : GNU Fortran (GCC) 10.3.0 +Features: 501GB 256threads C++14 OpenMP45 Fortran PTHREADS HDF5 NC4/HDF5/threadsafe OPeNDAP UDUNITS2 PROJ XML2 MAGICS CURL FFTW3 SSE3 +Libraries: HDF5/1.12.1 proj/9.0.0 xml2/2.9.12 curl/7.86.0(h7.82.0) magics/4.11.0 +CDI data types: SizeType=size_t DateType=int64_t +CDI file types: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c nc5 + CDI library version : 2.0.5 + cgribex library version : 2.0.1 + ecCodes library version : 2.26.0 + NetCDF library version : 4.8.1 of Apr 25 2022 17:44:24 $ + hdf5 library version : 1.12.1 threadsafe + exse library version : 1.4.2 + FILE library version : 1.9.1 + + + Input dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs// + Output dir: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs// + InExp ID: awi3 + OutExp ID: awi3 + Start date: 19000101 + Perturb: 0 + New date: 19000101 + Initial time: 1900-01-01T00:00:00 + Start time: 1900-01-01T00:00:00 + + * Change dataDate in files: + + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///ICMGGawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///ICMGGawi3INIUA with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///ICMSHawi3INIT with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///cdwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///sfcwindin with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///specwavein with date 19000101 + Made new file: /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/input/oifs///uwavein with date 19000101 +Run number for internal OpenIFS timekeeping: 1 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_oce.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_veg.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/config/oifs//fort.4 +Appending /home/a/a270092/esm_tools/namelists//oifs/48r1/awicm3/v3.4/namcompo_emis_co2_terminator.nml to /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42/run_19000101-19000101/config/oifs//fort.4 +Submitted batch job 20809542 +Initializing run_number=1 and date=1900-01-01 +First year, checking if we need to compile... + +================================================================================ +STARTING SIMULATION JOB! +Experiment ID = core3_42 +Setup = awiesm3 +This setup consists of: +- fesom +- oifs +- rnfmap +- lpj_guess +- oasis3mct +- xios +Experiment is installed in: + /work/bb1469/a270092/runtime/awiesm3-develop-cc//core3_42 +================================================================================ +nproc: 1792 +tasks: 1792 +nproc: 128 +tasks: 1920 +nproc: 1 +tasks: 1921 +nproc: 8 +tasks: 1929 +nproc: 4 +tasks: 1933 +resubmit tasks: 1933 +Submitting jobscript to batch system... +Output written by slurm: +Initializing run_number=1 and date=1900-01-01 +Copying standard yamls from: /home/a/a270092/esm_tools/configs/ +Copying standard namelists from: /home/a/a270092/esm_tools/namelists/ +/home/a/a270092/esm_tools/runscripts/awiesm3/develop/core3_1d.yaml diff --git a/runscripts/awiesm3/develop/run_with_xios.yaml b/runscripts/awiesm3/develop/run_with_xios.yaml new file mode 100644 index 000000000..10201644c --- /dev/null +++ b/runscripts/awiesm3/develop/run_with_xios.yaml @@ -0,0 +1,73 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "develop-cc" + account: "ab0246" + compute_time: "00:30:00" + initial_date: "1900-01-01" + final_date: "1900-01-03" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + +fesom: + resolution: "CORE2" + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + lresume: false + time_step: 1800 + nproc: 128 #originally 512 but worked with 1152 + omp_num_threads: 1 # originally 4 but worked with 1 + tar_binary_restarts: true + +lpj_guess: + nproc: 8 # originally 16 + omp_num_threads: 8 + lresume: false + with_xios: true # Enable XIOS output for LPJ-GUESS + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + lresume: false + time_step: 2400 + nproc: 256 + omp_num_threads: 1 + mpi: cmip6 #for cmip6 simulations! + scenario: piControl #solar radiation is going to be taken always from 1850 + add_namelist_changes: + fort.4: + NAMECECMIP: + NCMIPFIXYR: 1990 + NAERAD: + NRADFR: -3 + NDECOLAT: 0 + NAMCLDP: + RVICE: 0.19 + NAMGWWMS: + GGAUSSB: -0.8 + +oasis3mct: + use_lucia: true #Set to TRUE if you want more diagnostics, if set to FALSE is ~5-10% faster + lresume: false # Set to false to generate the rst files for first leg + time_step: 7200 + norestart: T #Do i restart from vegin or not? + +xios: + with_model: + - oifs + - lpj_guess + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml new file mode 100644 index 000000000..31cec2003 --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-albedo-TCO95L91-CORE3_1y.yaml @@ -0,0 +1,67 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/albedo/work/user/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/albedo/home/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE3" + time_step: 1200 + nproc: 1792 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "1900-01-01" + ini_restart_dir: "/albedo/pool/fesom2/restart/CORE3" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + +lpj_guess: + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 256 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml new file mode 100644 index 000000000..8dfb3106b --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1d.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "06:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 7680 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: 'd' + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 768 + omp_num_threads: 1 + mip: cmip7 + scenario: 'piControl' + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml new file mode 100644 index 000000000..bff89031d --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_1m.yaml @@ -0,0 +1,79 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1850-04-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + +computer: + taskset: true + mail_type: "ALL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 1 + restart_unit: 'm' + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 640 + omp_num_threads: 4 + mip: cmip7 + scenario: 'piControl' + cmip7_cmor_output: cmip7_spinup + lresume: false + +oasis3mct: + use_lucia: true + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml new file mode 100644 index 000000000..ce7439397 --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO319L137-DARS2_2y.yaml @@ -0,0 +1,81 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1850-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + use_venv: True + install_esm_tools_branch: 'branch_for_CMIP7_HR_spinup_tag' + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 2 + restart_unit: 'y' + restart_first: 2 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 640 + omp_num_threads: 4 + mip: "cmip7" + scenario: "piControl" + lresume: false + cmip7_cmor_output: "cmip7_spinup" + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..e7e6b06b6 --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,59 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:20:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 1 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml new file mode 100644 index 000000000..87f53e26b --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_20y.yaml @@ -0,0 +1,60 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1910-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 20 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 20 + restart_unit: "y" + restart_first: 20 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml new file mode 100644 index 000000000..3bc1bbb96 --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TCO95L91-CORE2_2y.yaml @@ -0,0 +1,60 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1856-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml new file mode 100644 index 000000000..ed432a51d --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_10y.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1880-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 1 + lresume: false + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + +lpj_guess: + resolution: "TCO95" + mip: cmip7 + scenario: piControl + nproc: 8 # should be 8 + omp_num_threads: 8 # should be 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml new file mode 100644 index 000000000..ddbd28669 --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1d.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "01:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 256 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +lpj_guess: + resolution: "TL255" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 128 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml new file mode 100644 index 000000000..dafb0a53c --- /dev/null +++ b/runscripts/awiesm3/v3.4.0/awiesm3-v3.4.0-levante-TL255L91-CORE2_1y.yaml @@ -0,0 +1,59 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.0" + account: "bb1469" + compute_time: "02:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + +lpj_guess: + scenario: piControl + nproc: 64 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-albedo-TCO95L91-CORE3_1y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-albedo-TCO95L91-CORE3_1y.yaml new file mode 100644 index 000000000..fec361447 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-albedo-TCO95L91-CORE3_1y.yaml @@ -0,0 +1,67 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/albedo/work/user/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/albedo/home/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE3" + time_step: 1200 + nproc: 1792 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "1900-01-01" + ini_restart_dir: "/albedo/pool/fesom2/restart/CORE3" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.2000.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.2000.ice.restart/*.nc + +lpj_guess: + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 256 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1d.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1d.yaml new file mode 100644 index 000000000..6143853d5 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1d.yaml @@ -0,0 +1,77 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "06:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 7680 + omp_num_threads: 1 + lresume: true + restart_rate: 1 + restart_unit: 'd' + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 768 + omp_num_threads: 1 + mip: cmip7 + scenario: 'piControl' + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1m.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1m.yaml new file mode 100644 index 000000000..3834a8328 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_1m.yaml @@ -0,0 +1,79 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1850-04-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 1 + nyear: 0 + +computer: + taskset: true + mail_type: "ALL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 1 + restart_unit: 'm' + restart_first: 1 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 640 + omp_num_threads: 4 + mip: cmip7 + scenario: 'piControl' + cmip7_cmor_output: cmip7_spinup + lresume: false + +oasis3mct: + use_lucia: true + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_2y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_2y.yaml new file mode 100644 index 000000000..1a2755f74 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO319L137-DARS2_2y.yaml @@ -0,0 +1,81 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1350-01-01" + final_date: "1850-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + use_venv: True + install_esm_tools_branch: 'branch_for_CMIP7_HR_spinup_tag' + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "DARS2" + namelist_dir: "${general.esm_namelist_dir}/fesom2/CMIP7_HR" + time_step: 360 + nproc: 5120 + omp_num_threads: 2 + lresume: true + restart_rate: 2 + restart_unit: 'y' + restart_first: 2 + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/fesom2/restart/DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + par_oce_restart: /${ini_restart_dir}/fesom.1862.oce.restart/*.nc + par_ice_restart: /${ini_restart_dir}/fesom.1862.ice.restart/*.nc + +lpj_guess: + resolution: "TCO319" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: true + ini_parent_exp_id: "foo" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/work/ab0246/a270092/input/lpj-guess/restart/TCO319-DARS2/" + choose_general.run_number: + 1: + restart_in_sources: + state: /${ini_restart_dir}/lpjg_state_3350/* + +oifs: + resolution: "TCO319" + levels: "L137" + prepifs_expid: abns + input_expid: awi3 + wam: true + time_step: 1200 + nproc: 640 + omp_num_threads: 4 + mip: "cmip7" + scenario: "piControl" + lresume: false + cmip7_cmor_output: "cmip7_spinup" + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_1d.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_1d.yaml new file mode 100644 index 000000000..6bb3b8046 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_1d.yaml @@ -0,0 +1,59 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "00:20:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 1 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: false + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_20y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_20y.yaml new file mode 100644 index 000000000..abfdc9304 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_20y.yaml @@ -0,0 +1,60 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1910-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 20 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 20 + restart_unit: "y" + restart_first: 20 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_2y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_2y.yaml new file mode 100644 index 000000000..b4fc7a0b9 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TCO95L91-CORE2_2y.yaml @@ -0,0 +1,60 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "00:30:00" + initial_date: "1850-01-01" + final_date: "1856-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 2 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 2 + lresume: false + restart_rate: 2 + restart_unit: "y" + restart_first: 2 + +lpj_guess: + mip: cmip7 + scenario: piControl + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TCO95 + levels: "L91" + prepifs_expid: ab45 + input_expid: awi3 + wam: true + time_step: 3600 + nproc: 384 + omp_num_threads: 4 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 3600 + +xios: + with_model: oifs + nproc: 8 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_10y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_10y.yaml new file mode 100644 index 000000000..e3e658c2a --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_10y.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "1880-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 10 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 768 + omp_num_threads: 1 + lresume: false + restart_rate: 10 + restart_unit: "y" + restart_first: 10 + +lpj_guess: + resolution: "TCO95" + mip: cmip7 + scenario: piControl + nproc: 8 # should be 8 + omp_num_threads: 8 # should be 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1d.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1d.yaml new file mode 100644 index 000000000..5e14ef1dc --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1d.yaml @@ -0,0 +1,61 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "01:00:00" + initial_date: "1850-01-01" + final_date: "1850-01-04" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 1 + nmonth: 0 + nyear: 0 + +computer: + taskset: true + +awiesm3: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 256 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "d" + restart_first: 1 + +lpj_guess: + resolution: "TL255" + mip: cmip7 + scenario: piControl + daily_output: False + nproc: 64 + omp_num_threads: 4 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 128 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1y.yaml b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1y.yaml new file mode 100644 index 000000000..9ac62ebd9 --- /dev/null +++ b/runscripts/awiesm3/v3.4.1/awiesm3-v3.4.1-levante-TL255L91-CORE2_1y.yaml @@ -0,0 +1,59 @@ +general: + user: !ENV ${USER} + setup_name: "awiesm3" + version: "v3.4.1" + account: "bb1469" + compute_time: "02:00:00" + initial_date: "1850-01-01" + final_date: "1853-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1 + +computer: + taskset: true + mail_type: "FAIL" + +awiesm3: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}/" + +fesom: + resolution: "CORE2" + time_step: 1800 + nproc: 1152 + omp_num_threads: 1 + lresume: false + restart_rate: 1 + restart_unit: "y" + restart_first: 1 + +lpj_guess: + scenario: piControl + nproc: 64 + omp_num_threads: 8 + lresume: false + +oifs: + resolution: TL255 + levels: "L91" + prepifs_expid: abl7 + input_expid: awi3 + wam: true + time_step: 2400 + nproc: 512 + omp_num_threads: 8 + mip: cmip7 + scenario: piControl + lresume: false + +oasis3mct: + use_lucia: false + lresume: true + time_step: 7200 + +xios: + with_model: oifs + nproc: 4 + omp_num_threads: 32 diff --git a/runscripts/fesom2/fesom2.0-ollie-initial-monthly.yaml b/runscripts/fesom2/fesom2.0-ollie-initial-monthly.yaml deleted file mode 100644 index 0e7c1e581..000000000 --- a/runscripts/fesom2/fesom2.0-ollie-initial-monthly.yaml +++ /dev/null @@ -1,22 +0,0 @@ -general: - setup_name: fesom - compute_time: "00:08:00" - initial_date: '2001-01-01' - final_date: '2001-03-31' - base_dir: - nyear: 0 - nmonth: 1 - use_venv: False - -fesom: - version: 2.0 - model_dir: - pool_dir: "/work/ollie/pool/FESOM/" - mesh_dir: "/work/ollie/pool/FESOM/fesom2.0/meshes/mesh_CORE2_final/" - res: CORE2 - lresume: 0 - restart_rate: 1 - restart_first: 1 - restart_unit: 'm' - post_processing: 0 - diff --git a/runscripts/fesom2/fesom2.0-ollie-initial-yearly.yaml b/runscripts/fesom2/fesom2.0-ollie-initial-yearly.yaml deleted file mode 100644 index 541abd270..000000000 --- a/runscripts/fesom2/fesom2.0-ollie-initial-yearly.yaml +++ /dev/null @@ -1,22 +0,0 @@ -general: - setup_name: fesom - compute_time: "00:45:00" - initial_date: '2001-01-01' - final_date: '2002-12-31' - base_dir: - nyear: 1 - nmonth: 0 - - -fesom: - version: 2.0 - model_dir: - pool_dir: "/work/ollie/pool/FESOM/" - mesh_dir: "/work/ollie/pool/FESOM/fesom2.0/meshes/mesh_CORE2_final/" - res: CORE2 - lresume: 0 - restart_rate: 1 - restart_first: 1 - restart_unit: 'y' - post_processing: 0 - diff --git a/runscripts/fesom2/fesom2.6-albedo-branchoff.yaml b/runscripts/fesom2/fesom2.6-albedo-branchoff.yaml new file mode 100644 index 000000000..a81ccb406 --- /dev/null +++ b/runscripts/fesom2/fesom2.6-albedo-branchoff.yaml @@ -0,0 +1,39 @@ +general: + user: !ENV ${USER} + account: "paleodyn.paleodyn" + setup_name: fesom + compute_time: "00:30:00" + initial_date: '1959-01-01' + final_date: '1959-03-01' + base_dir: "/albedo/work/user/jstreffi/runtime/${general.setup_name}-${general.version}/" + nyear: 0 + nmonth: 1 + use_venv: False + +fesom: + version: 2.6 + model_dir: "/albedo/home/jstreffi/model_codes/fesom-2.6/" + pool_dir: "/albedo/work/user/jstreffi/input/" + mesh_dir: "/albedo/work/user/jstreffi/input/fesom2/core2/" + forcing_data_dir: "/albedo/work/user/jstreffi/input/fesom2/forcing/" + restart_rate: 1 + restart_first: 1 + restart_unit: 'm' + resolution: "CORE2" + lresume: true + time_step: 1800 + nproc: 768 + # branchoff + ini_parent_exp_id: "tuneGMRedi_Kgm1200_cm3.0_Krtapoff_h0s0.7_Scr1.0e-2_Sweeney_03" + ini_parent_date: "${prev_date}" + ini_restart_dir: "/albedo/scratch/user/pscholz/tuneGMRedi_Kgm1200_cm3.0_Krtapoff_h0s0.7_Scr1.0e-2_Sweeney_03/1/" + choose_general.run_number: + 1: + lasttime: + 84000 + restart_in_sources: + par_oce_restart: '/albedo/scratch/user/pscholz/tuneGMRedi_Kgm1200_cm3.0_Krtapoff_h0s0.7_Scr1.0e-2_Sweeney_03/1/fesom.2019.oce.restart/*.nc' + par_ice_restart: '/albedo/scratch/user/pscholz/tuneGMRedi_Kgm1200_cm3.0_Krtapoff_h0s0.7_Scr1.0e-2_Sweeney_03/1/fesom.2019.ice.restart/*.nc' + + + diff --git a/runscripts/fesom2/fesom2.6-albedo-coldstart.yaml b/runscripts/fesom2/fesom2.6-albedo-coldstart.yaml new file mode 100644 index 000000000..ee0ea3db0 --- /dev/null +++ b/runscripts/fesom2/fesom2.6-albedo-coldstart.yaml @@ -0,0 +1,27 @@ +general: + user: !ENV ${USER} + account: "paleodyn.paleodyn" + setup_name: fesom + compute_time: "00:30:00" + initial_date: '1959-01-01' + final_date: '1959-03-01' + base_dir: "/albedo/work/user/jstreffi/runtime/${general.setup_name}-${general.version}/" + nyear: 0 + nmonth: 1 + use_venv: False + +fesom: + version: 2.6 + model_dir: "/albedo/home/jstreffi/model_codes/fesom-2.6/" + pool_dir: "/albedo/work/user/jstreffi/input/" + mesh_dir: "/albedo/work/user/jstreffi/input/fesom2/core2/" + forcing_data_dir: "/albedo/work/user/jstreffi/input/fesom2/forcing/" + restart_rate: 1 + restart_first: 1 + restart_unit: 'm' + resolution: "CORE2" + lresume: false + time_step: 1800 + nproc: 768 + + diff --git a/runscripts/fesom2/fesom2.7-levante-1d.yaml b/runscripts/fesom2/fesom2.7-levante-1d.yaml new file mode 100644 index 000000000..4f63c11eb --- /dev/null +++ b/runscripts/fesom2/fesom2.7-levante-1d.yaml @@ -0,0 +1,26 @@ +general: + user: !ENV ${USER} + account: "ab0246" + setup_name: fesom + compute_time: "00:10:00" + initial_date: '1960-01-01' + final_date: '1960-01-04' + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nyear: 0 + nmonth: 0 + nday: 1 + use_venv: False + +fesom: + version: 2.7 + model_dir: "/work/ab0246/${user}/model_codes/fesom-2.7/" + pool_dir: "/work/ab0246/a270092/input/" + mesh_dir: "/work/ab0246/a270092/input/fesom2/core2/" + restart_rate: 1 + restart_first: 1 + restart_unit: 'd' + resolution: "CORE2" + lresume: false + time_step: 1800 + nproc: 128 + omp_num_threads: 2 diff --git a/runscripts/fesom2/fesom2.7-levante-1y.yaml b/runscripts/fesom2/fesom2.7-levante-1y.yaml new file mode 100644 index 000000000..bb7ce536f --- /dev/null +++ b/runscripts/fesom2/fesom2.7-levante-1y.yaml @@ -0,0 +1,31 @@ +general: + user: !ENV ${USER} + account: "ab0246" + setup_name: fesom + compute_time: "01:00:00" + initial_date: '1960-01-01' + final_date: '1961-01-01' + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nyear: 1 + nmonth: 0 + nday: 0 + use_venv: False + +fesom: + version: 2.7 + model_dir: "/work/ab0246/${user}/model_codes/fesom-2.7/" + pool_dir: "/work/ab0246/a270092/input/" + mesh_dir: "/work/ab0246/a270092/input/fesom2/core3/" + restart_rate: 1 + restart_first: 1 + restart_unit: 'y' + resolution: "CORE3" + lresume: false + time_step: 1200 + nproc: 1536 + omp_num_threads: 1 + tar_binary_restarts: true + add_namelist_changes: + namelist.config: + run_config: + use_cavity: true diff --git a/runscripts/fesom2/fesom2.7-levante-reference.yaml b/runscripts/fesom2/fesom2.7-levante-reference.yaml new file mode 100644 index 000000000..76bd65b24 --- /dev/null +++ b/runscripts/fesom2/fesom2.7-levante-reference.yaml @@ -0,0 +1,24 @@ +general: + user: !ENV ${USER} + account: "ab0246" + setup_name: fesom + compute_time: "08:00:00" + initial_date: '1958-01-01' + final_date: '2018-03-31' + base_dir: "/work/ab0246/${user}/runtime/${general.setup_name}-${general.version}/" + nyear: 20 + nmonth: 0 + use_venv: False + +fesom: + version: 2.7 + model_dir: "/work/ab0246/${user}/model_codes/fesom-2.7/" + pool_dir: "/work/ab0246/a270092/input/" + mesh_dir: "/work/ab0246/a270092/input/fesom2/core2/" + restart_rate: 20 + restart_first: 20 + restart_unit: 'y' + resolution: "CORE2" + lresume: false + time_step: 1800 + nproc: 768 diff --git a/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO319_DARS2.yaml b/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO319_DARS2.yaml new file mode 100644 index 000000000..54235c0c6 --- /dev/null +++ b/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO319_DARS2.yaml @@ -0,0 +1,45 @@ +general: + user: !ENV ${USER} + setup_name: "lpjg-spinup" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "3850-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 500 + +computer: + taskset: true + +lpjg-spinup: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + resolution: TCO319 + fesom_resolution: DARS2 + +lpj_guess: + lresume: false + nyear_spinup: 2000 + freenyears: 100 + nproc: 384 # originally 16 + omp_num_threads: 4 + resolution: TCO319 + fesom_resolution: DARS2 + mygrid: TCO319 + execution_command: ${executable} -parallel -islpjgspinup ${runscript_name} + mip: cmip7 + add_forcing_files: + co2_file: co2_file + add_forcing_sources: + co2_file: ${lpj_guess.co2_source_file} + oifs_forcing: ${lpj_guess.input_dir}/oifs_forcing/AWI-ESM3_HR_1350-1353_TCO319_DARS2.nc + add_forcing_in_work: + co2_file: ${lpj_guess.co2_work_file} + nyearifs: 4 + firemodel: BLAZE + fixed_CO2: 1850 + fixed_ndep: 1850 + fixed_LU: 1850 diff --git a/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO95_CORE2.yaml b/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO95_CORE2.yaml new file mode 100644 index 000000000..c776702ef --- /dev/null +++ b/runscripts/lpj_guess/lpj_guess_levante_spinup_TCO95_CORE2.yaml @@ -0,0 +1,41 @@ +general: + user: !ENV ${USER} + setup_name: "lpjg-spinup" + version: "develop" + account: "bb1469" + compute_time: "08:00:00" + initial_date: "1900-01-01" + final_date: "2900-01-01" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + nday: 0 + nmonth: 0 + nyear: 1000 + +computer: + taskset: true + +lpjg-spinup: + postprocessing: false + model_dir: "/work/ab0246/${user}/model_codes/${general.setup_name}-${general.version}//" + resolution: TCO95 + fesom_resolution: CORE2 + +lpj_guess: + lresume: false + nproc: 1280 # originally 16 + omp_num_threads: 4 + resolution: TCO95 + fesom_resolution: CORE2 + mygrid: TCO95 + execution_command: ${executable} -parallel -islpjgspinup ${runscript_name} + mip: cmip7 + add_forcing_files: + co2_file: co2_file + add_forcing_sources: + co2_file: ${lpj_guess.co2_source_file} + oifs_forcing: ${lpj_guess.input_dir}/oifs_forcing/AM04_atm_cmip6_1d_1900-1909_TCO95_CORE2.nc + add_forcing_in_work: + co2_file: ${lpj_guess.co2_work_file} + fixed_CO2: 1850 + fixed_ndep: 1850 + fixed_LU: 1850 diff --git a/runscripts/lpj_guess/lpj_guess_levante_spinup_TL255_CORE2.yaml b/runscripts/lpj_guess/lpj_guess_levante_spinup_TL255_CORE2.yaml new file mode 100644 index 000000000..bd69a4842 --- /dev/null +++ b/runscripts/lpj_guess/lpj_guess_levante_spinup_TL255_CORE2.yaml @@ -0,0 +1,45 @@ +general: + user: !ENV ${USER} + setup_name: "lpjg-spinup" + version: "develop" + account: "ab0995" + compute_time: "08:00:00" + initial_date: "1850-01-01" + final_date: "3850-01-01" + #base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-${general.version}/" + base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}/" + #base_dir: "/work/bb1469/${user}/runtime/${general.setup_name}-v3.4/" + nday: + nmonth: 0 + nyear: 100 + +computer: + taskset: true + +lpjg-spinup: + postprocessing: false + model_dir: "/work/ab0995/${user}/model_codes/${general.setup_name}-${general.version}//" + resolution: TL255 + fesom_resolution: CORE2 + +lpj_guess: + lresume: false + nyear_spinup: 2000 + freenyears: 100 # Optional: explicit control + nproc: 128 # originally 16 + omp_num_threads: 8 + resolution: TL255 + fesom_resolution: CORE2 + mygrid: TL255 + execution_command: ${executable} -parallel -islpjgspinup ${runscript_name} + mip: cmip7 + add_forcing_files: + co2_file: co2_file + add_forcing_sources: + co2_file: ${lpj_guess.co2_source_file} + add_forcing_in_work: + co2_file: ${lpj_guess.co2_work_file} + firemodel: BLAZE + fixed_CO2: 1850 + fixed_ndep: 1850 + fixed_LU: 1850 diff --git a/src/esm_runscripts/coupler.py b/src/esm_runscripts/coupler.py index 0986783bd..e4166e5de 100644 --- a/src/esm_runscripts/coupler.py +++ b/src/esm_runscripts/coupler.py @@ -270,12 +270,18 @@ def prepare_restarts(self, full_config): if dym_issue: sys.exit(0) + # Prepare both restart files (main and _recv) self.coupler.prepare_restarts( restart_file, all_rights, all_rightmodels, full_config ) self.coupler.prepare_restarts( restart_file + "_recv", all_lefts, all_leftmodels, full_config ) + + # After both files are created, merge _recv into main if configured + merge_recv_list = full_config[self.name].get("merge_recv_restarts", []) + if restart_file in merge_recv_list: + self.coupler.merge_restart_files(restart_file, full_config) def add_couplings(self, full_config): self.coupler.next_coupling = 1 diff --git a/src/esm_runscripts/oasis.py b/src/esm_runscripts/oasis.py index 798be6463..63f37f3dc 100644 --- a/src/esm_runscripts/oasis.py +++ b/src/esm_runscripts/oasis.py @@ -615,6 +615,25 @@ def add_restart_files(self, restart_file_label, fconfig): config["restart_in_sources"][restart_file_label] = restart_file def prepare_restarts(self, restart_file, all_fields, models, config): + """ + Prepare OASIS restart files by merging EXPOUT files. + + Parameters + ---------- + restart_file : str + Name of the restart file to create + all_fields : list + List of field names + models : list + List of model names + config : dict + Configuration dictionary + + Note + ---- + For bidirectional couplings with LOCTRANS, use merge_restart_files() + after both prepare_restarts calls to merge _recv into main file. + """ enddate = "_" + config["general"]["end_date"].format( form=9, givenph=False, givenpm=False, givenps=False ) @@ -627,12 +646,49 @@ def prepare_restarts(self, restart_file, all_fields, models, config): cwd = os.getcwd() os.chdir(config["general"]["thisrun_work_dir"]) filelist = "" - # Loop through the fields and their corresponding models and exes + # Collect coupling numbers from the specified fields to find all related EXPOUT files + # This handles bidirectional LOCTRANS+EXPOUT where both directions write to same restart + processed_files = set() + coupling_numbers = set() + + # First pass: identify coupling numbers from specified fields + initial_couplings = set() for field, model, exe in zip(all_fields, models, exes): - logger.info(f"{field}-{model}") - thesefiles = glob.glob(field + "_" + exe + "_*.nc") - logger.info(f"{thesefiles}") - for thisfile in thesefiles: + field_files = glob.glob(field + "_" + exe + "_*.nc") + for f in field_files: + # Extract coupling number (e.g., "10" from "LAILVeg_OpenIFS_10.nc") + parts = f.rsplit('_', 1) + if len(parts) == 2 and parts[1].endswith('.nc'): + coupling_num = parts[1][:-3] + initial_couplings.add((exe, coupling_num)) + + logger.info(f"Initial coupling numbers for {restart_file}: {initial_couplings}") + + # Second pass: find ALL executables writing to these coupling numbers + # (handles bidirectional EXPOUT where sending model isn't in all_fields) + for exe, coupling_num in initial_couplings: + # Find all files with this coupling number, regardless of exe + all_with_coupling = glob.glob("*_*_" + coupling_num + ".nc") + for f in all_with_coupling: + # Extract executable from filename (e.g., "lpjg" from "GUE_LLAI_lpjg_10.nc") + parts = f.rsplit('_', 2) + if len(parts) >= 3: + file_exe = parts[-2] + coupling_numbers.add((file_exe, coupling_num)) + + logger.info(f"All coupling numbers for {restart_file}: {coupling_numbers}") + + # Third pass: process all files matching these (exe, coupling_number) pairs + for exe, coupling_num in coupling_numbers: + # Find ALL fields with this exe and coupling number (handles bidirectional EXPOUT) + matching_files = glob.glob("*_" + exe + "_" + coupling_num + ".nc") + logger.info(f"Including all files for {exe} coupling {coupling_num}: {matching_files}") + + for thisfile in matching_files: + # Skip if already processed + if thisfile in processed_files: + continue + processed_files.add(thisfile) logger.info( "cdo showtime " + thisfile + " 2>/dev/null | head -n 1 | wc -w", @@ -646,6 +702,9 @@ def prepare_restarts(self, restart_file, all_fields, models, config): .decode("utf-8") .rstrip() ) + # Extract field name from filename (e.g., "T2MVeg" from "T2MVeg_OpenIFS_11.nc") + field_from_file = thisfile.rsplit('_', 2)[0] + logger.info( "cdo -O seltimestep," + str(lasttimestep) @@ -661,12 +720,12 @@ def prepare_restarts(self, restart_file, all_fields, models, config): + " onlyonetimestep.nc" ) logger.info( - "ncwa -O -a time onlyonetimestep.nc notimestep_" + field + ".nc", + "ncwa -O -a time onlyonetimestep.nc notimestep_" + field_from_file + ".nc", ) os.system( - "ncwa -O -a time onlyonetimestep.nc notimestep_" + field + ".nc" + "ncwa -O -a time onlyonetimestep.nc notimestep_" + field_from_file + ".nc" ) - filelist += "notimestep_" + field + ".nc " + filelist += "notimestep_" + field_from_file + ".nc " logger.info(filelist) # MA: -O flag added to overwrite oasis restart files in case oasis creats them # before (i.e. when using LOCTRANS) @@ -681,6 +740,7 @@ def prepare_restarts(self, restart_file, all_fields, models, config): logger.warning("nc4c merge failed, trying without it...") logger.info(cdo_merge_command) os.system(cdo_merge_command) + rmlist = glob.glob("notimestep*") rmlist.append("onlyonetimestep.nc") for rmfile in rmlist: @@ -688,6 +748,44 @@ def prepare_restarts(self, restart_file, all_fields, models, config): os.system("rm " + rmfile) os.chdir(cwd) + def merge_restart_files(self, restart_file, config): + """ + Merge _recv restart file into main restart file for bidirectional couplings. + This is called AFTER both restart files have been created. + + Parameters + ---------- + restart_file : str + Name of the main restart file + config : dict + Configuration dictionary + """ + cwd = os.getcwd() + os.chdir(config["general"]["thisrun_work_dir"]) + + recv_file = restart_file + "_recv" + if os.path.isfile(recv_file) and os.path.isfile(restart_file): + logger.info(f"Merging {recv_file} into {restart_file} for bidirectional restart") + temp_file = restart_file + ".tmp" + merge_cmd = f"cdo -O -f nc4c merge {restart_file} {recv_file} {temp_file}" + logger.info(merge_cmd) + exit_code = os.system(merge_cmd) + if exit_code != 0: + merge_cmd = f"cdo -O merge {restart_file} {recv_file} {temp_file}" + logger.warning("nc4c merge failed, trying without it...") + logger.info(merge_cmd) + exit_code = os.system(merge_cmd) + if exit_code == 0: + # Replace original with merged file + os.system(f"mv {temp_file} {restart_file}") + logger.info(f"Successfully merged {recv_file} into {restart_file}") + else: + logger.error(f"Failed to merge {recv_file} into {restart_file}") + else: + logger.warning(f"Cannot merge: {restart_file}={os.path.isfile(restart_file)}, {recv_file}={os.path.isfile(recv_file)}") + + os.chdir(cwd) + def finalize(self, destination_dir): self.namcouple += [" $END"] endline = ""