Skip to content

Merge geomar branch with neat new features#1443

Open
seb-wahl wants to merge 160 commits intoreleasefrom
geomar
Open

Merge geomar branch with neat new features#1443
seb-wahl wants to merge 160 commits intoreleasefrom
geomar

Conversation

@seb-wahl
Copy link
Contributor

@seb-wahl seb-wahl commented Feb 16, 2026

This PR finally brings GEOMAR's contributions to ESM-Tools back into release. It will allow the release branch of ESM-Tools to correctly handle

  • the latest settings from FOCIOIFS-5.0 (OIFS48r1 with NEMO5, without (working) and with (WIP) nest, used in WHIRLS project)
  • the latest settings used in FOCI-MOZ (FOCI with interactive stratospheric chemistry in ECHAM6, used in SOLVe project)
  • the latest settings used in the RESCUE project (modified ECHAM6 and JSBACH (12 tiles))
  • A draft version of ICON-FESOM that compiles and runs under piControl conditions (tuning ongoing)

seb-wahl and others added 30 commits December 10, 2024 12:17
compiles and starts, but misses (as expected) information in existing
JSBACH restart files. Cold start not yet implemented
links all currently known files correctly
running not yet tested as info from Shradda is still missing
draft version of ECHAM76-LMU that start up correctly
but still fails due to land sea mask mismatch
fixed restart setup in a hacky way (see foci.yaml)
added a new runscript for FOCIOIFS
This should be the only difference between geomar_dev and release that matters
allow different streams for restart and output for ECHAM and JSBACH
with FOCI-MOPS with the 12 tile edition
merge geomar dev into geomar branch
separate echam6 namlist templates for foci and foci_lmu
before merging this branch into geomar_dev
differences where too large for an efficient direct merge
adds dask stuff, moves post run commands to computer section
Copy link
Contributor

@mandresm mandresm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First round of minor requests and questions :)

Comment on lines +22 to +25
CFLAGS: '"-fPIC"'
CCFLAGS: '"-fPIC"'
FFLAGS: '"-fPIC"'
FCFLAGS: '"-fPIC"'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CFLAGS: '"-fPIC"'
CCFLAGS: '"-fPIC"'
FFLAGS: '"-fPIC"'
FCFLAGS: '"-fPIC"'

This can be deleted as it's already defined as a default

Comment on lines +612 to +613
input:
all_directions: copy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
input:
all_directions: copy

Consider removing this as it is already defined in the defaults as copy

Comment on lines 739 to +869
streams:
- echam
- accw
- co2
- g3bid
- g3bim
- g3bday
- g3b1hi
- glday
- aclcim
- sp6h
- glim
- spim
- ism

restartstreams:
- echam
- accw
- co2
- g3bid
- g3bim
- g3bday
- g3b1hi
- glday
- aclcim
- sp6h
- glim
- spim
- ism

Copy link
Contributor

@mandresm mandresm Feb 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @christian-stepanek, @chrisdane, @PengyangSong and @ackerlar,

In this PR we are merging efforts from GEOMAR team into release. This is important because it will make the whole thing more maintainable for them as well as for us (and because they have put quite some work to add ICON-FESOM ;) ). Before the PR is merged we will check that no model behavior is affected (as we usually do).

However, here is a change in how things are done in ECHAM until now, and I want to get your approval and keep you in the loop. In the past the list of streams, referenced above, was used both to compute the name of the output files and the restart files. However, it might be the case that some times some streams have restarts but do not have outputs, or the other way around. What @seb-wahl did here (and in the rest of the file) was to duplicate the the list of streams into a new list restartstreams and use the second one for all the operations that affect restart files. That does NOT lead to any change in behavior as the 2 lists are identical by default. However, this allows you to add new streams from your runscript to either streams or restartstreams so you can now you could have control of output and restarts independently if you need to.

If you are okay with this change please give a thumbs up to this message, if you have concerns please reply :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chrisdane, since you work with streams quite a bit and modify them, can you answer to this?

Copy link
Contributor

@mandresm mandresm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviews, comments and todos after the merge party

Comment on lines +12 to +24
#add_export_vars:
# oasis
#OIFS_OASIS_BASE: '$(pwd)/oasis'
#OIFS_OASIS_INCLUDE: '"-I$OIFS_OASIS_BASE/build/lib/psmile -I$OIFS_OASIS_BASE/build/lib/psmile/scrip -I$OIFS_OASIS_BASE/build/lib/psmile/mct -I$OIFS_OASIS_BASE/build/lib/psmile/mct/mpeu"'
#OIFS_OASIS_LIB: '"-L$OIFS_OASIS_BASE/build/lib/psmile -L$OIFS_OASIS_BASE/build/lib/psmile/scrip -L$OIFS_OASIS_BASE/build/lib/psmile/mct -L$OIFS_OASIS_BASE/build/lib/psmile/mct/mpeu -lpsmile -lmct -lmpeu -lscrip"'
# NetCDF
#OIFS_NETCDF_INCLUDE: '-I$NETCDFROOT/include'
#OIFS_NETCDF_LIB: '"-L$NETCDF_DIR/lib -lnetcdf"'
#OIFS_NETCDFF_INCLUDE: '-I$NETCDFFROOT/include'
#OIFS_NETCDFF_LIB: '"-L$NETCDFFROOT/lib -lnetcdff"'
# compiler and compiler flags
#OIFS_FC: $FC

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#add_export_vars:
# oasis
#OIFS_OASIS_BASE: '$(pwd)/oasis'
#OIFS_OASIS_INCLUDE: '"-I$OIFS_OASIS_BASE/build/lib/psmile -I$OIFS_OASIS_BASE/build/lib/psmile/scrip -I$OIFS_OASIS_BASE/build/lib/psmile/mct -I$OIFS_OASIS_BASE/build/lib/psmile/mct/mpeu"'
#OIFS_OASIS_LIB: '"-L$OIFS_OASIS_BASE/build/lib/psmile -L$OIFS_OASIS_BASE/build/lib/psmile/scrip -L$OIFS_OASIS_BASE/build/lib/psmile/mct -L$OIFS_OASIS_BASE/build/lib/psmile/mct/mpeu -lpsmile -lmct -lmpeu -lscrip"'
# NetCDF
#OIFS_NETCDF_INCLUDE: '-I$NETCDFROOT/include'
#OIFS_NETCDF_LIB: '"-L$NETCDF_DIR/lib -lnetcdf"'
#OIFS_NETCDFF_INCLUDE: '-I$NETCDFFROOT/include'
#OIFS_NETCDFF_LIB: '"-L$NETCDFFROOT/lib -lnetcdff"'
# compiler and compiler flags
#OIFS_FC: $FC

Remove this block

glob_search_file = (
f"{restart_file_path}*"
f"{config['ini_restart_dir']}{restart_file}*"
f"{config['ini_restart_date'].year}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mandresm test these changes with restarting from the pool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants