gotm-model / code

Source code for the General Ocean Turbulence Model
https://gotm.net
GNU General Public License v2.0
53 stars 44 forks source link

Remove namelist based configuration #15

Open bolding opened 3 years ago

bolding commented 3 years ago

Remove all namelist based configuration except for turbulence and util (used by external 3D models - notably FVCOM). Maintaining the namelists configuration will be time consuming and error-prone and will not benefit the work done on GOTM being able to generate its own configuration. In addition we will remove many 100 lines of obsolete code. Included will also be the removal of all the .xml based code and files.

adolfstips commented 3 years ago

Seems you forgot to say the obvious, that instead yaml configuration will be used? As long as 'some configuration" will be possible, and only the double procedure/possibility will be removed, this is fine for me,..

hburchard commented 3 years ago

I fully agree. Specifically since the yaml files are nicely and clearly commented.

bolding commented 3 years ago

as Jorn just pointed out:

BTW this will break GOTM-GUI compat

jornbr commented 3 years ago

Yes, to elaborate: GOTM-GUI would need a significant update to deal with yaml configuration and such an update is currently not planned. But in my opinion that should not stop the clean-up of GOTM. To deal with this I'd propose to point GOTM-GUI explicitly to the latest GOTM that still includes nml support (v6), likely be adding GOTM as submodule in the GOTM-GUI repository.

bolding commented 3 years ago

I've created the nonml branch - https://github.com/gotm-model/code/tree/nonml

Please have a look and help remove all traces of namelist.

git difftool -y ..master - might be your friend

I've grepped for namelist, _nml, nml and namlst - and most of those are removed.

The new code passes the automatic tests - except for gfortran6 (but that is a different issue).

poplarShift commented 7 months ago

Relatedly, is my impression correct that internally, GOTM still works with namelists, and that these are populated from the gotm.yaml file step by step throughout the code?

bolding commented 7 months ago

no - GOTM works with YAML formatted configuration files - .https://yaml.org/

when we moved from namelists to YAML we kept support for both for a while - but in the upcoming version 7 namelists will dropped.