This repo contains a patch for the ICON release-2024.07. The patch includes missing GPU ports for the official ICON-CLM namelist setup. It consists of two parts:
icon-clm_2024.07_2024.patchicon-clm_2024.07_cdnc.patch
which are merged to the final patch file icon-clm_2024.07_gpu.patch.
Thus, the code to create the whole patch is the following:
git clone -b release-2024.07-public [email protected]:icon/icon-model.git
cd icon-model
# Apply 2024 patch
git apply ../icon-clm_2024.07_2024.patch
git add .
git commit -m "GPU patch for ICON-CLM (until end of 2024)"
# Apply custom manual patch
git apply ../icon-clm_2024.07_cdnc.patch
git add .
git commit -m "Custom GPU patch for lscale_cdnc"
# Combine into one final patch
git reset --soft HEAD~2
git commit -m "GPU patch for ICON-CLM (2024 + lscale_cdnc)"
git format-patch -1 HEAD --stdout > ../icon-clm_2024.07_gpu.patch
- Cleanup in radiation and aerosol code parts
- GPU port of
irad_o3 = 5(transient ozone climatology) - GPU port of
irad_aero = 18(transient aerosol datasets) - GPU port of
icpl_aero_gscp = 3(MODIS climatology for cloud-droplet number) - GPU port of HPBL output diagnostic
git clone -b release-2024.07-public [email protected]:icon/icon-model.git
cd icon-model
git remote add nwp [email protected]:icon/icon-nwp.git
git fetch nwp
git cherry-pick 1aa9faedeed9eb6fd334dbfe4740220880a5b130 -X theirs
git cherry-pick d2cf99cb78690339a62758db6259c4318adb3af5 -X theirs
git cherry-pick 2907e622f0aa57f588cdf9ca1e77817744cfb641 || (git ls-files -u | awk '{print $4}' | xargs -I {} git checkout 2907e622f0 -- {} && git add . && GIT_EDITOR="vim -c ':wq'" git cherry-pick --continue)
git cherry-pick 82bacb0f77789c5c004c22df2327aaddcd36e5ad -X theirs
git cherry-pick 395d65d06345c40ff1690997a6160c48fa6b563c || (git ls-files -u | awk '{print $4}' | xargs -I {} git checkout 395d65d063 -- {} && git add . && GIT_EDITOR="vim -c ':wq'" git cherry-pick --continue)
git reset --soft HEAD~5
git commit -m "GPU patch for ICON-CLM"
git format-patch -1 HEAD --stdout > ../icon-clm_2024.07_2024.patch
This port had to be done manually, since the codebase changed. In fact, lscale_cdnc
has been replaced in newer ICON versions. See MR 1826.