Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
395532a
First M7 import before compiling test
Dec 5, 2023
a3c6e27
include some m7 F90 files
Dec 5, 2023
e25fa03
Fix compilation issues
Dec 18, 2023
c8fd981
100% compiled
Dec 19, 2023
0a667a8
include m7 files
Dec 21, 2023
000c4ae
Update for successful Ctest
Jan 12, 2024
11231bc
Pass ab2a forecast experiment
Jan 17, 2024
38e822a
configuration issues
Jan 23, 2024
9e557e2
include logical to test if photolyis initialization was run
vhuijnen Feb 12, 2024
0e66401
increase number of available fields
vhuijnen Feb 12, 2024
fc77cce
increase nr fields, part 2
vhuijnen Feb 12, 2024
83c8c4b
Revert to original coupling with optical depth computation
vhuijnen Feb 12, 2024
3c58af8
first batch of clean-up code
vhuijnen Feb 14, 2024
f6ad016
OIFS-505 Fixed compile issue using GNU compiler in hamm7_interface.F90
Feb 28, 2024
1928bf5
Add ifs-tests for m7
RCHG Mar 6, 2024
0372425
[tests] Add AER namelists
plesager Mar 7, 2024
d4bd083
Pull request #2: Synch with Lianghai version
Apr 10, 2024
eccecf6
Pull request #3: M7 going through with Intel
Apr 30, 2024
6298969
Pull request #4: Solved ifs-test for m7 using Lianghai Wu changes in …
RCHG May 1, 2024
5a7678c
OIFS-531 M7 code memory leak fixed
May 30, 2024
d464f04
Pull request #5: Resolve segmentation fault for M7 with LAERRRTM=F
RCHG Jun 28, 2024
6877405
Pull request #10: Add conversion of mass-flux to number particle emi…
RCHG Jul 8, 2024
e73aa97
Pull request #11: Move M7 code into its own dir OIFS-524
RCHG Jul 18, 2024
4e0bb9f
Pull request #8: Fix T255-M7 test under GNU (OIFS-512)
Jul 19, 2024
60aeca5
Moved m7 modules to m7/module/ and m7 non-used modules to m7_nonused
RCHG Jul 23, 2024
7c506af
OIFS-546 fix aerosol optical properties bugs
Aug 2, 2024
c20e544
use runtime path for M7 mie tables
Aug 16, 2024
8a2a431
Pull request #15: Fix aerosol properties computed by HAMM7 (OIFS-546)
Aug 22, 2024
e3f4fa5
Pull request #13: Import 43r3 updates from 2024 first semester OIFS-544
Sep 20, 2024
08620a5
dust number unit and snow mass bug and ssa asy bug
Sep 20, 2024
b400d3c
output 12 is overwritten
Sep 20, 2024
3c70058
fix ssa asy output bug
Sep 21, 2024
ab25d5e
Pull request #16: Hotfix chem-only, fix M7 SO4aq (OIFS-563)
Sep 23, 2024
3abfdfd
OIFS-561 OIFS-554 wet deposition different scavenging fields in conv …
Nov 21, 2024
8bbf159
fix re_evaporation fields
Nov 22, 2024
eb5d101
revert tendency updates
Nov 22, 2024
62979d4
ignore unavaliable soil_type fieds
Jan 8, 2025
c45516c
Clean up, remove debug statements
plesager Jan 21, 2025
948659c
Remove unneeded and potentially dangerous initialization
plesager Jan 22, 2025
57eab6f
Pull request #19: Update M7-based ifs-test, fixes for GNU
Jan 24, 2025
353b837
Allow users to set LMCCIEC_COMPO in the namelist
plesager Jan 27, 2025
8388998
Add Gong+SST scheme from HAM
plesager Feb 3, 2025
7e92065
Remove unused M7 code and cleanup license
plesager Feb 3, 2025
24f0384
Bring changes for the simple sulfur scheme (untested)
plesager Feb 4, 2025
5669f41
Remove unneeded code and cleanup comments
plesager Mar 4, 2025
05ef6e6
Fix issues OIFS-587 and OIFS-588
plesager Mar 4, 2025
c8b9c3e
Enforce minimum value for Ice Number Concentration
plesager Mar 6, 2025
90b7244
Pull request #22: Fix use of CDNC in the Khairoutdinov and Kogan auto…
kokkola Mar 10, 2025
1a785b7
Pull request #23: OIFS-565 Limit Meyer ice nucleation and remove last…
Mar 12, 2025
d5920f5
Fix aerosol drydep for M7 and apply it in its ifs-test
plesager Mar 12, 2025
e3ec22d
Nucleation work, switches, new parameters for calculation, new diagno…
tommibergman May 14, 2025
2c43db7
Pull request #27: Support for single precision
Apr 29, 2025
d069288
Pull request #7: Read emissions at the correct time step
Apr 29, 2025
78c8c2b
Add and correct diagnostics
tommibergman May 22, 2025
921604f
Implementation of Morales & Nenes activation with only prescribed sig…
Mar 28, 2025
f6ac80a
Delete NAERACT and use NCLOUDACT with activation. Add default scheme …
Apr 15, 2025
12dbae9
Fix DrHook handler in new aactivation module
plesager Apr 22, 2025
2ce6699
Switch to F2008 version of Morales & Nenes
plesager Apr 25, 2025
a06c88b
Ensure that fraction of activated particles is set in case of M&N
plesager Apr 28, 2025
f457391
Added modewise activated fraction calculations.
May 27, 2025
863ae5d
Add diagnostic of aerosol optical properties at various wavelengths
Jan 30, 2025
57ded0d
Fix lwc unit and rain formation rates (OIFS-590 OIFS-591)
Feb 12, 2025
812bf0d
OIFS-574 Add simplified sulfur scheme as a chemistry scheme (M7 only)
Jan 21, 2025
9a4d238
Fix merge function issue and bit of cleanup
Mar 18, 2025
e880cef
Make on-line sea-salt emission consistent
Apr 4, 2025
ae680ff
Account for prescribed oxidant fields for sulfur scheme
Apr 14, 2025
064a36f
Add comment OIFS-592
Feb 14, 2025
c624d7d
Rename ZTSO4 as ZTSO4_GAS
plesager May 7, 2025
fa3c3ed
Fix Reff_liq
plesager May 7, 2025
042bfe4
Fix Reff_liq further
plesager May 13, 2025
98fe9b3
Remove duplicated photolysis code
plesager May 14, 2025
6bb09c3
Skip wavelength init if not used
plesager May 14, 2025
4dc96f0
Fix a couple of HOOK tags
plesager May 16, 2025
a035b29
Remove unused elements from YGFL type
plesager May 16, 2025
74bbe52
Remove dbg print
plesager May 16, 2025
3efe797
Cleanup
plesager May 28, 2025
f7ae527
Cleanup
plesager Jun 3, 2025
5fa6b02
Pull request #34: Fix BC/OA mass densities OIFS-602
Jun 3, 2025
1338288
Pull request #17: Setup for CSC machines (Puhti, ...)
tommibergman Jun 10, 2025
0990858
Pull request #36: Fix broken use cases (not using M7 or 137 levels)
Jun 19, 2025
269bb12
Pull request #38: Fix SimChem/HAMM7 interface and nucleation compuati…
Jun 24, 2025
590168c
Fix M7 aerosol optical properties for LW radiation
AntonLaakso Jun 25, 2025
5e01fac
Hotfix: Avoid double weighting of M7 aerosol properties
AntonLaakso Jul 2, 2025
608219f
Initialize unused data returned by interface with M7
plesager Jul 8, 2025
33d9070
Ensure that computed aerosol optical properties are sent back
plesager Jul 11, 2025
ebc694f
Adding cloud top level index to wet deposition to reduce computation
Jul 10, 2025
5fa4d94
Pull request #44: Fix aerosols diagnostics and timing of aerosols opt…
Aug 6, 2025
b1a5634
Pull request #46: OIFS-612 constrain pmfu and fix inconsistent dims
Sep 2, 2025
8f48af1
Pull request #47: Disentangle reading of emissions and SO2 oxidants
Sep 3, 2025
a2d91bd
Pull request #45: OIFS-615 Fix incorrect boundary layer index calcula…
tommibergman Sep 3, 2025
b6945e4
Pull request #48: Fix some indexing and bounds (OIFS-618) for M7 aero…
Sep 4, 2025
aab13af
Pull request #49: Correct call to read and update of SO2 oxidants
Sep 11, 2025
6774160
Pull request #50: Use one oxidants file and do not limit AOD/SSA/ASYM
Sep 18, 2025
8b86246
Pull request #51: OIFS-622 Fix sulfate in fullchem runs
tommibergman Sep 23, 2025
aff53ec
Pull request #54: Bug fix use of minimum ice concentration
Oct 9, 2025
c18ec81
Hotfix from EC-Earth 4
plesager Oct 10, 2025
a624f1b
Pull request #31: Implement CMIP6/7 stratospheric aerosols
AntonLaakso Oct 10, 2025
58146eb
Pull request #57: Use HAM routine for seasalt, update BC/OC densities…
Oct 29, 2025
d63e6d7
Pull request #58: Fix use of min/def CDNC in MBN activation (OIFS-637)
holopaie Nov 4, 2025
521c8d3
Pull request #52: Bugfix/aerosol output at diagnostic wavelengths
Nov 4, 2025
6b7b1f3
Pull request #59: Remove erroneous zeroing of some emissions fluxes
tommibergman Nov 26, 2025
a3cee74
Pull request #61: Bug fix interpolation of refractive indices in OP d…
Nov 27, 2025
4ca64d6
Pull request #60: Fix CMIP stratospheric aerosols
Nov 27, 2025
1f6d62a
Hotfix from ECE4 - Avoid double accounting of aerosols in stratosphere
plesager Dec 3, 2025
0307bba
Pull request #63: Correct use of in-cloud values for cloud variables …
holopaie Dec 16, 2025
b94d9b7
add pcflx
Dec 3, 2025
3055a03
resotring refractive index array assignment
Dec 4, 2025
5c03f21
using optical properties at radiation steps for in between
Dec 11, 2025
3f53d32
Remove unneeded initialization of variables
plesager Dec 18, 2025
1a7efae
Pull request #66: Update dry-to-wet radius conversion factor for seasalt
Dec 18, 2025
9b7476b
Pull request #65: Fix date handling in CMIP strat aero (restart and l…
Jan 14, 2026
bec3334
Pull request #64: OIFS-632 Back port PM diagnostics from CAMS/IFS
tommibergman Jan 14, 2026
9cee655
Pull request #69: Bugfix OIFS-665 (double counting dust/ss emissions)…
Jan 28, 2026
af7c68a
Pull request #70: Fix double addition of CDNC and ICNC tendencies in …
holopaie Jan 28, 2026
864d571
Pull request #71: OIFS-688 Fix AOP diagnostic for NRADFR/=-1
Feb 12, 2026
b69abcd
ECE4 HotFix (OpenMP) handling of strataero remap flag
JanStreffing Feb 15, 2026
6c06cfd
Pull request #56: OIFS-586 Add Tegen dust emission scheme
Feb 19, 2026
e84aaa0
Pull request #68: OIFS-661 Add support to BSC MN5 platform
vacondio Feb 23, 2026
4342010
Pull request #74: Remove condition on zwlarge for MBN cloud activatio…
Mar 11, 2026
1b4b177
ECE4 HotFix - Fix to compile with GNU
plesager Mar 11, 2026
7438bb8
Pull request #75: Fix Tegen dust and Single Precision (MBN activation…
Mar 13, 2026
2cf1804
Fix bugs introduced during rebased
plesager May 10, 2026
41b7c12
Pull request #77: OIFS-672 Remove double counting of coagulated parti…
May 20, 2026
52e7fe1
Pull request #73: OpenMP fixes in radiation
May 20, 2026
1ff5f7e
Pull request #79: Update MN5 arch and fix ifs-test launch script
vacondio May 20, 2026
ec44277
Pull request #78: Enforce double precision in SO2-to-SO4 simplified c…
May 27, 2026
a38f73a
Pull request #80: Read Tegen dust climatology only if used
May 29, 2026
d26e031
Pull request #81: Fix ice Reff in case of MBN cloud activation scheme
Jun 12, 2026
7e1a9c9
Reconcile SP and DP computations
plesager Jun 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/build/
/install/
/*.log
/slurm-????????.out

# ecbundle (cloned at build time by openifs-bundle)
/ecbundle/
Expand All @@ -21,4 +22,4 @@ __pycache__/
.DS_Store

# User-specific Docker config
scripts/docker/config/my_config.yml
scripts/docker/config/my_config.yml
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/default
43 changes: 43 additions & 0 deletions arch/bsc/mn5-gpp/gnu/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Source me to get the correct configure/build/run environment

# Store tracing and disable (module is *way* too verbose)
{ tracing_=${-//[^x]/}; set +x; } 2>/dev/null

module_load() {
echo "+ module load $*"
module load $*
}
module_unload() {
echo "+ module unload $*"
module unload $*
}
module_purge() {
echo "+ module purge"
module purge
}

module_purge
module_load gcc/12.3.0
module_load openmpi/4.1.5-gcc
module_load hdf5/1.14.1-2-gcc-openmpi
module_load pnetcdf/1.12.3-gcc-openmpi
module_load netcdf/c-4.9.2_fortran-4.6.1_cxx4-4.3.1_hdf5-1.14.1-2_pnetcdf-1.12.3-gcc-openmpi
module_load cmake/3.29.2
module_load aec/1.1.2-gcc
module_load mkl/2024.1
module_load python/3.12.1-gcc
module_load ucx/1.16.0-gcc
module_load fftw/3.3.10-gcc-ompi

# Setting required for bit reproducibility with Intel MKL:
export MKL_CBWR=AUTO,STRICT

# Record the RPATH in the executable
export LD_RUN_PATH=$LD_LIBRARY_PATH

# Undo stack size limitation enforced by Python module (prevent segfault during
# runtime)
ulimit -s unlimited

# Restore tracing to stored setting
{ if [[ -n "$tracing_" ]]; then set -x; else set +x; fi } 2>/dev/null
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/gnu/final.cmake
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/gnu/modulefile.in
46 changes: 46 additions & 0 deletions arch/bsc/mn5-gpp/intel/intelmpi/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Source me to get the correct configure/build/run environment

# Store tracing and disable (module is *way* too verbose)
{ tracing_=${-//[^x]/}; set +x; } 2>/dev/null

module_load() {
echo "+ module load $*"
module load $*
}
module_unload() {
echo "+ module unload $*"
module unload $*
}
module_purge() {
echo "+ module purge"
module purge
}

module_purge
module_load intel/2023.2.0
module_load impi/2021.10.0
module_load hdf5/1.14.1-2
module_load pnetcdf/1.12.3
module_load netcdf/2023-06-14
module_load fftw/3.3.10
module_load mkl/2024.1
module_load ucx/1.16.0
module_load aec/1.1.2
module_load cmake/3.29.2
module_load python/3.12.1

export TBBMALLOC_DIR="/apps/GPP/ONEAPI/2023.2.0/tbb/2021.10.0/lib/intel64/gcc4.8"
export TBBROOT="/apps/GPP/ONEAPI/2023.2.0/tbb/2021.10.0"

# Setting required for bit reproducibility with Intel MKL:
export MKL_CBWR=AUTO,STRICT

# Record the RPATH in the executable
export LD_RUN_PATH=$LD_LIBRARY_PATH

# Undo stack size limitation enforced by Python module (prevent segfault during
# runtime)
ulimit -s unlimited

# Restore tracing to stored setting
{ if [[ -n "$tracing_" ]]; then set -x; else set +x; fi } 2>/dev/null
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/intel/intelmpi/final.cmake
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/intel/intelmpi/modulefile.in
46 changes: 46 additions & 0 deletions arch/bsc/mn5-gpp/intel/openmpi/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Source me to get the correct configure/build/run environment

# Store tracing and disable (module is *way* too verbose)
{ tracing_=${-//[^x]/}; set +x; } 2>/dev/null

module_load() {
echo "+ module load $*"
module load $*
}
module_unload() {
echo "+ module unload $*"
module unload $*
}
module_purge() {
echo "+ module purge"
module purge
}

module_purge
module_load intel/2023.2.0
module_load openmpi/4.1.5
module_load hdf5/1.14.1-2-openmpi
module_load pnetcdf/1.12.3-openmpi
module_load netcdf/2023-06-14-ompi
module_load fftw/3.3.10-openmpi
module_load mkl/2024.1
module_load ucx/1.16.0
module_load aec/1.1.2
module_load cmake/3.29.2
module_load python/3.12.1

export TBBMALLOC_DIR=/apps/GPP/ONEAPI/2023.2.0/tbb/2021.10.0/lib/intel64/gcc4.8
export TBBROOT=/apps/GPP/ONEAPI/2023.2.0/tbb/2021.10.0/

# Setting required for bit reproducibility with Intel MKL:
export MKL_CBWR=AUTO,STRICT

# Record the RPATH in the executable
export LD_RUN_PATH=$LD_LIBRARY_PATH

# Undo stack size limitation enforced by Python module (prevent segfault during
# runtime)
ulimit -s unlimited

# Restore tracing to stored setting
{ if [[ -n "$tracing_" ]]; then set -x; else set +x; fi } 2>/dev/null
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/intel/openmpi/final.cmake
1 change: 1 addition & 0 deletions arch/bsc/mn5-gpp/intel/openmpi/modulefile.in
1 change: 1 addition & 0 deletions arch/csc/final.cmake
1 change: 1 addition & 0 deletions arch/csc/lumi/default
49 changes: 49 additions & 0 deletions arch/csc/lumi/gnu/11.2.0/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Source me to get the correct configure/build/run environment

# Store tracing and disable (module is *way* too verbose)
{ tracing_=${-//[^x]/}; set +x; } 2>/dev/null

module_load() {
echo "+ module load $*"
module load $*
}
module_unload() {
echo "+ module unload $*"
module unload $*
}
module_purge() {
echo "+ module purge"
module purge
}

# Unload all modules to be certain
module_purge

# Load modules
module_load LUMI/22.12
module_load partition/C
module_load EasyBuild-user

module_load PrgEnv-gnu/8.3.3
module_load gcc/11.2.0
module_load cray-mpich/8.1.23
module_load cray-libsci

module_load cray-fftw/3.3.10.3
module_load cray-hdf5/1.12.2.1
module_load cray-netcdf/4.9.0.1
#module_load eigen/3.3.7
#module_load cmake/3.20.2
#module_load ninja/1.10.0
#module_load fcm/2019.05.0
module_load libaec/1.0.6-cpeGNU-22.12


# Setting required for bit reproducibility with Intel MKL:
export MKL_CBWR=AUTO,STRICT

# Record the RPATH in the executable
export LD_RUN_PATH=$LD_LIBRARY_PATH

# Restore tracing to stored setting
{ if [[ -n "$tracing_" ]]; then set -x; else set +x; fi } 2>/dev/null
1 change: 1 addition & 0 deletions arch/csc/lumi/gnu/11.2.0/final.cmake
1 change: 1 addition & 0 deletions arch/csc/lumi/gnu/11.2.0/modulefile.in
1 change: 1 addition & 0 deletions arch/csc/mahti/default
47 changes: 47 additions & 0 deletions arch/csc/mahti/gnu/11.2.0/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Source me to get the correct configure/build/run environment

# Store tracing and disable (module is *way* too verbose)
{ tracing_=${-//[^x]/}; set +x; } 2>/dev/null

module_load() {
echo "+ module load $*"
module load $*
}
module_unload() {
echo "+ module unload $*"
module unload $*
}
module_purge() {
echo "+ module purge"
module purge
}

# Unload all modules to be certain
module_purge

# Load modules
module_load gcc/11.2.0

module_load openmpi/4.1.2
module_load mpich/4.0.1
module_load netlib-scalapack/2.1.0
module_load openblas/0.3.18-omp
#module_load intel-oneapi-mkl/2022.1.0
module_load fftw/3.3.10-mpi
module_load netcdf-fortran/4.5.3
module_load netcdf-c/4.8.1
module_load hdf5/1.10.7-mpi
module_load cmake/3.21.4
module_load libaec/1.0.5

# Correct python version and libraries
#module_load geoconda

# Setting required for bit reproducibility with Intel MKL:
export MKL_CBWR=AUTO,STRICT

# Record the RPATH in the executable
export LD_RUN_PATH=$LD_LIBRARY_PATH

# Restore tracing to stored setting
{ if [[ -n "$tracing_" ]]; then set -x; else set +x; fi } 2>/dev/null
1 change: 1 addition & 0 deletions arch/csc/mahti/gnu/11.2.0/final.cmake
1 change: 1 addition & 0 deletions arch/csc/mahti/gnu/11.2.0/modulefile.in
1 change: 1 addition & 0 deletions arch/csc/modulefile.in
Loading