COSIMA / libaccessom2

ACCESS-OM2 library
3 stars 7 forks source link

back-compatibility with old forcing.json format #75

Open aekiss opened 2 years ago

aekiss commented 2 years ago

The current libaccessom2 master has breaking changes to the forcing.json format, in particular https://github.com/COSIMA/libaccessom2/commit/a451a7f8d430077263575a0ea229f883b8d4a259 and https://github.com/COSIMA/libaccessom2/commit/467e3e2848ae50a770941325de0c2b2faa63d20d which were made to support ERA5.

Consequently the standard ACCESS-OM2 configurations are incompatible with the latest libaccessom2 - see https://github.com/COSIMA/access-om2/issues/262.

It would be much nicer to support both the old and new formats. This backwards compatibility would probably require a version number in forcing.json (which would signify the original format if absent).

aekiss commented 2 years ago

Runs with a standard config fail with the latest libaccessom2 https://github.com/COSIMA/libaccessom2/commit/70e2c46 with message

assertion failed: No forcing_product_name found in forcing config.

This assertion was added in https://github.com/COSIMA/libaccessom2/commit/a451a7f8d430077263575a0ea229f883b8d4a259.

But weirdly, these configs work with https://github.com/COSIMA/libaccessom2/commit/0ab7295 despite it being newer than https://github.com/COSIMA/libaccessom2/commit/a451a7f8d430077263575a0ea229f883b8d4a259 and https://github.com/COSIMA/libaccessom2/commit/467e3e2848ae50a770941325de0c2b2faa63d20d - see https://github.com/COSIMA/libaccessom2/commits/master

aekiss commented 2 years ago

Ah, I see - https://github.com/COSIMA/libaccessom2/commit/a451a7f8d430077263575a0ea229f883b8d4a259 and https://github.com/COSIMA/libaccessom2/commit/467e3e2848ae50a770941325de0c2b2faa63d20d were on branch 242-era5-support, which was later merged with https://github.com/COSIMA/libaccessom2/commit/0ab7295.

We should fast-forward branch 242-era5-support to https://github.com/COSIMA/libaccessom2/commit/70e2c46 (the current head of master), and change master to point to https://github.com/COSIMA/libaccessom2/commit/0ab7295 so that current configs will work with it.

242-era5-support shouldn't be merged into master until we sort out back-compatibility, at the very least providing a script to convert old forcing.json files to the new format.

aekiss commented 2 years ago

I fast-forward branch 242-era5-support to https://github.com/COSIMA/libaccessom2/commit/70e2c46 via

git fetch
git checkout master
git pull
git submodule update --init --recursive
git checkout 242-era5-support
git pull
git submodule update --init --recursive
git merge master
git submodule update --init --recursive
git push

(probably didn't need all the git submodule update --init --recursive)

Still need to change master to point to https://github.com/COSIMA/libaccessom2/commit/0ab7295

aekiss commented 2 years ago

@micaeljtoliveira, @nichannah, @aidanheerdegen, @russfiedler, @penguian, just a heads-up that I'm about to reset the commit that master points to, via

git checkout master
git reset --hard 0ab7295
git push --force

so you might notice some weirdness next time you pull.

aekiss commented 2 years ago

master and 242-era5-support are now separate, divergent branches