Skip to content

Refactoring the DataCoupler

  • remove obsolete YamlConfName and type from tests/data/template_conf_datacoupler_forcing.yaml and other templates
  • in both test scripts (data coupler and ece3 toy model): use a unique folder and delete it before starting, to avoid having too much output accumulate
  • move the platform-specific module loading to a separate file and have this file included by both test scripts (for the data coupler and ece3 toy model),_ using BSC_MACHINE=marenostrum4 and ECPLATFORM=hpc2020 env variables to detect which machine.
  • purge all big files from the repository (including recently uploaded `tests/data/ece3-toy-model/)
  • test on hpc2020 platform
  • test slurm submission on both platforms mn4 and hpc2020
  • integrate the changes applied in ReadMe in branch #9 (closed)
  • integrate and test the changes in carbon-tracker branch #8
  • rename ModelName to model_name in the toy model
  • restore support for pythoncompat and fortran models, using toy_model.py and a pre-generated namelist for the ifs toy model with only sst and sic
  • move the code that writes grid/mask/corners/areas to the preprocessor script.
  • set the GridInfo parameter from the ifs_grid argument in run_example.sh and translate to appropriate nx value (e.g. 128 grid -> 88838 points)
  • replacing the tests/data/convert-ece4pyreader-grids.sh with an equivalent python script that raeds the name of the variable directly from YAML.conf using sources/data-coupler/DataCouplerPreprocessor.py functions + adapt . convert-ece4pyreader-grids.sh to only convert what is needed, perhaps with [ -f $SOMEFILE ] && do_something OR replace the conversion script with a python equivalent
  • rename AMIP to CO2FLUX in the co2flux data coupler, this also will break the conversion script (unless it's replaced with a python one)
  • for creating the toy model namelist inside the data coupler preprocessor : create the structure as a nested dict and write out the .yaml file. Not needed for now, but could be when we need to have 2 different partitions (e.g. the global and nx partitions).
Edited by Amirpasha Mozaffari