Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1084 commits
Select commit Hold shift + click to select a range
c6f63d0
changed GNU compiler options for the sake of reproducibility. with the
dsidoren Dec 2, 2021
1d6f142
bug fix in viscosity option (opt_visc = 6) introduced when solving the
dsidoren Dec 2, 2021
60b46bd
Thanks Sergey!!! he provided us with a new solver code. It works same…
dsidoren Dec 2, 2021
324a566
1. OMP for Sergey's solver
dsidoren Dec 2, 2021
368dc1b
set PARMS to default for reproducibility purpose
dsidoren Dec 2, 2021
c2ea212
Merge branch 'fast_lock' into fast_lock_SH
sebhinck Dec 3, 2021
a5632f3
Use of OMP REDUCTION..
sebhinck Dec 3, 2021
79d86ea
OMP REDUCTION...
sebhinck Dec 3, 2021
191794c
Implementation of sum in 'omp_min_max_sum2'
sebhinck Dec 3, 2021
534093c
Remove unused variable
sebhinck Dec 3, 2021
ade0627
Applied some formating to benchmarking results
sebhinck Dec 3, 2021
d495414
with the recent env settings reading restarts in parallel seems to wo…
hegish Dec 6, 2021
ed3103e
use transposed output as default on aleph, otherwise it is too slow
hegish Dec 6, 2021
0d534a3
Merge pull request #254 from sebhinck/fast_lock_SH
dsidoren Dec 6, 2021
b44e6a9
update icepack tests
koldunovn Dec 6, 2021
6cf5dd7
update the rest of the tests
koldunovn Dec 6, 2021
4f20f51
hopefully tests when the model did not finished correctly will now sh…
koldunovn Dec 6, 2021
e5d33e3
fix ln: failed to create symbolic link error for repeated runs
koldunovn Dec 6, 2021
d59baf4
add check for restart, that somehow disapeared from main tests
koldunovn Dec 6, 2021
06b2552
change back compiler options for Intel compiler
koldunovn Dec 6, 2021
db31e33
Merge pull request #257 from FESOM/fast_lock_tests
dsidoren Dec 7, 2021
3299295
Merge branch 'refactoring' into fast_lock
dsidoren Dec 7, 2021
843bf69
Merge pull request #255 from sebhinck/format_benchmark_output
dsidoren Dec 7, 2021
6092d81
Merge branch 'refactoring' into fast_lock
koldunovn Dec 7, 2021
554dc43
Merge pull request #256 from FESOM/fast_lock
dsidoren Dec 7, 2021
73e2d7b
Merge branch 'refactoring' into juwels_environment
dsidoren Dec 7, 2021
0903f5f
Merge branch 'refactoring' into refactoring_part5_ice_new
dsidoren Dec 7, 2021
a3e904a
Merge pull request #252 from FESOM/juwels_environment
dsidoren Dec 7, 2021
be78851
we still need some time to integrate icepack into refactoring branch,…
koldunovn Dec 7, 2021
1a8be2c
Merge pull request #258 from FESOM/remove_icepack_tests
dsidoren Dec 7, 2021
a8c58ed
Merge branch 'refactoring' into refactoring_part5_ice_new
dsidoren Dec 7, 2021
1676364
Merge pull request #251 from FESOM/refactoring_part5_ice_new
dsidoren Dec 7, 2021
bbeec8d
remove explicit initialization of io_gather lists
hegish Dec 7, 2021
8d924ae
OMP for the ice part has been implemented. Just some small loos are l…
dsidoren Dec 7, 2021
23c6d65
add a default frequency for raw restarts to the example namelists
hegish Dec 8, 2021
4ec45c2
include depth@elem from branch workbench_dep@elem
patrickscholz Dec 8, 2021
0f19944
Merge branch 'parallel_restart' into merge_parallel_restart_in_refact…
hegish Dec 8, 2021
b0ebbf5
remove wrong description of restart subroutine (merged from 0686d)
hegish Dec 9, 2021
8e74f6a
remove unused parameter in restart procedure (merged from 5581d)
hegish Dec 9, 2021
c2a4502
add missing derived type argument
hegish Dec 9, 2021
a12429d
fixed most of OMP bugs in sea ice part
dsidoren Dec 9, 2021
8ba13a1
make use of t_ice:ice for arrays inv_areamass, inv_mass, ice_strengt…
dsidoren Dec 9, 2021
6d7308c
OMP for the ice thermodynamics (OCEAN ONLY MODE)
dsidoren Dec 9, 2021
161f82a
Merge pull request #259 from FESOM/refactoring_ice_omp
koldunovn Dec 9, 2021
de45225
use the derived types in files from parallel_restart to be able to co…
hegish Dec 9, 2021
2e0f27d
fix uninitialized variable
hegish Dec 9, 2021
efcc054
remove option to not transpose output, as the refactoring branch is a…
hegish Dec 9, 2021
01daa63
Merge branch 'refactoring' into merge_parallel_restart_in_refactoring
hegish Dec 9, 2021
3e5ddba
remove switch to read split and untransposed restarts
hegish Dec 10, 2021
d37efb0
Merge pull request #260 from FESOM/merge_parallel_restart_in_refactoring
dsidoren Dec 13, 2021
0f26b57
make topo provided elements instead of node
patrickscholz Dec 17, 2021
785a7d7
comment some screen output
patrickscholz Dec 17, 2021
664552c
exchange lists have to be initialized from the main thread, this erro…
hegish Dec 22, 2021
c8a1526
add missing changes from commit 664552
hegish Jan 3, 2022
0bbb80c
avoid error with pgi compiler complaining NOPASS was not declared for…
hegish Jan 5, 2022
661f00e
Merge pull request #266 from FESOM/work_around_pgi_compiler_issues
dsidoren Jan 5, 2022
1d81c03
Merge branch 'refactoring' into merge_parallel_restart_in_refactoring…
dsidoren Jan 5, 2022
0016ce0
Merge pull request #265 from FESOM/merge_parallel_restart_in_refactor…
dsidoren Jan 5, 2022
8a7a47d
some fixes to compule with fortran PGI
Jan 5, 2022
11583a2
use a newer Nvidia HPC SDK (NVHPC) to be able to compile assumed shap…
hegish Jan 6, 2022
acf25df
making FESOM compile with NVFORTRAN 22.1
Jan 11, 2022
314d9ad
making NVFORTRAAN 22.1 happy following advices from ESiWACE project
dsidoren Jan 11, 2022
5625a1d
making NVFORTRAN 22.1 happy again
dsidoren Jan 11, 2022
56179e2
FESOM compiles with NVIDIA 22.1. Some pieces of code had to be simpli…
Jan 11, 2022
d588ee2
turn off debug flag
koldunovn Jan 16, 2022
35ba589
update iloveclock, to make it simplier and hopefully more precise
koldunovn Jan 16, 2022
9765c8d
add custom implementation for mkdir
hegish Jan 20, 2022
369459f
execute_command_line sometimes fails, use a custom implementation aro…
hegish Jan 20, 2022
5dceedc
Merge pull request #272 from FESOM/custom_mkdir
koldunovn Jan 21, 2022
cfbb144
visc_gamma0, visc_gamma1 & visc_gamma2 were used instead gamma0_tra, …
dsidoren Jan 23, 2022
b12426e
Merge pull request #276 from FESOM/diff_part_bh_fix-1
koldunovn Jan 23, 2022
b74251e
fixed bug regarding settings for i_impl_diff & bh_diff_tracer which w…
dsidoren Jan 23, 2022
092a794
Merge pull request #277 from FESOM/refactoring_bh_tracer_fix
koldunovn Jan 23, 2022
e0fe1de
tracer dependent computation of biharmonic diffusion in diff_part_bh
dsidoren Jan 24, 2022
7a366e0
segmentaition fault fix for diff_part_bh
dsidoren Jan 25, 2022
8d6f399
a lot of things fixed in diff_part_bh
dsidoren Jan 26, 2022
690b210
last (hopefully) problems fixed in diff_part_bh
dsidoren Jan 26, 2022
c1e494a
Brunt-Vaisala frequency is smoothed spatially before it is given to t…
dsidoren Feb 1, 2022
bde32fb
a missing parenthesis added
dsidoren Feb 1, 2022
d64eb64
stop if accessing r_mpitype_elem3D beyond its bounds (this is not a f…
hegish Feb 3, 2022
83d4bb5
change the bounds test to use the actual array bounds, compilers seem…
hegish Feb 3, 2022
f45c9c8
add namelist parameter to save restart files as derived type binaries
patrickscholz Feb 3, 2022
b419a50
just small in output that is written to log file
patrickscholz Feb 3, 2022
bd2e8f6
just small change in output that is written to log file
patrickscholz Feb 3, 2022
7c347ae
just small change in output that is written to log file
patrickscholz Feb 3, 2022
4014dcc
add namelist parameter to save restart files as derived type binaries
patrickscholz Feb 3, 2022
0986932
fix small bug in writing the blowup file
patrickscholz Feb 3, 2022
6395b59
fix small bug in writing the checkup data into the log file
patrickscholz Feb 3, 2022
edb8852
add writing/reading derived type restart files for t_mesh, t_tracer, …
patrickscholz Feb 3, 2022
049d7bd
fix shaped pointer assignment for nvfortran
hegish Feb 3, 2022
d2d219a
solve merging conflict
patrickscholz Feb 3, 2022
0cc322a
change condition when raw and bin restart is used
patrickscholz Feb 3, 2022
1e07789
Merge pull request #290 from FESOM/refactoring_PGI_pointershapes
dsidoren Feb 3, 2022
19be4f2
runs with PGI finally
Feb 3, 2022
f9db7ad
re-enable bounds check and fix variable name in second check
hegish Feb 4, 2022
3b5172b
fix indentation
hegish Feb 4, 2022
b62c3a4
add compiler settings for nvfortran, see https://github.com/ESiWACE-S…
hegish Feb 4, 2022
6cda461
add OpenACC compiler settings for nvfortran, see https://github.com/E…
hegish Feb 4, 2022
f037a91
Merge pull request #291 from FESOM/refactoring_NV_compileroptions
dsidoren Feb 4, 2022
72643dd
nvfortran does not compile with both OpenMP (-mp) and -Mipa=inline en…
hegish Feb 4, 2022
6a76b37
enable OpenMP for all compilers if cmake variable ENABLE_OPENMP=ON
hegish Feb 4, 2022
6c46f33
when calling FESOM with the --info option, print whether FESOM has be…
hegish Feb 4, 2022
d133c60
finalize restart writing before exiting FESOM
hegish Feb 7, 2022
fc74cd5
finalize restart writing before exiting FESOM
hegish Feb 7, 2022
f359e56
Merge pull request #293 from FESOM/refactoring_omp
dsidoren Feb 8, 2022
03d7b0b
Merge pull request #296 from FESOM/refactoring_finalize_restart
dsidoren Feb 8, 2022
8b2e474
switch off debug mode
patrickscholz Feb 8, 2022
e3f0524
clean up code
patrickscholz Feb 8, 2022
3b02a6c
add some information to screen output
patrickscholz Feb 8, 2022
80bd900
need to add another output flag from call restart(...) about which re…
patrickscholz Feb 8, 2022
f4d8371
update main tests
koldunovn Feb 8, 2022
9ae598e
Merge branch 'refactoring' into bv_smooth
koldunovn Feb 8, 2022
bc3f426
Merge pull request #287 from FESOM/bv_smooth
koldunovn Feb 8, 2022
3fb4642
Merge branch 'refactoring' into ref_small_fixes
koldunovn Feb 8, 2022
f7dd86f
make variable inout for subroutine read_all_bin_restarts(...) so its…
patrickscholz Feb 9, 2022
1f3bb0d
Merge branch 'refactoring' into refactoring_bug_fixes
dsidoren Feb 9, 2022
3d61aae
Merge pull request #282 from FESOM/refactoring_bug_fixes
koldunovn Feb 9, 2022
954d3c7
Merge branch 'refactoring' into refactoring_restart_dtypebinary
dsidoren Feb 9, 2022
7872631
Merge pull request #297 from FESOM/refactoring_restart_dtypebinary
dsidoren Feb 9, 2022
7757f9b
Merge branch 'refactoring' into ref_small_fixes
dsidoren Feb 9, 2022
da01619
Merge pull request #271 from FESOM/ref_small_fixes
dsidoren Feb 9, 2022
81f9173
Update MOD_ICE.F90
dsidoren Feb 10, 2022
40287b4
Merge pull request #298 from FESOM/dsidoren-patch-1
koldunovn Feb 10, 2022
da4b013
move routines for reading writing derived types into own modules so …
patrickscholz Feb 11, 2022
64029aa
move function mpirank_to_txt(...) to src/fortran_utils.F90
patrickscholz Feb 11, 2022
c534585
make own module for reading /writing derived type restarts
patrickscholz Feb 11, 2022
4f4e388
Merge branch 'refactoring' into refactoring_dwarf_ice
patrickscholz Feb 11, 2022
f88530d
add variable coriols(elem) and coriolis_node(node) to mesh derived type
patrickscholz Feb 14, 2022
f7bb758
forgot to write/read coriolis force to derived type binary files
patrickscholz Feb 14, 2022
2c9b0b5
correct small bug
patrickscholz Feb 14, 2022
aefcb6f
clean up MOD_ICE.F90
patrickscholz Feb 15, 2022
20d1f4c
Automatic rotation for vector fields in io_MEANDATA -> io_r2g; vec_au…
dsidoren Feb 15, 2022
301cf7c
change how the binary ice derived type are read/write, now first read…
patrickscholz Feb 15, 2022
dd3bafc
add directory for dwarfs, submit first files for ice dwarf
patrickscholz Feb 15, 2022
64e59af
Merge pull request #302 from FESOM/refactoring_dwarf_ice
dsidoren Feb 15, 2022
b3d943c
after hard day work with Nikolay we added an advection dwarf in the s…
dsidoren Feb 15, 2022
27e8874
Merge pull request #303 from FESOM/refactoring_dwarf_tracer
patrickscholz Feb 16, 2022
66e0de9
make the dwarf structure more slim, let the directories be created b…
patrickscholz Feb 16, 2022
d4dc2b4
link env/, env.sh and configure.sh also from the main repository leve…
patrickscholz Feb 16, 2022
bc7b91d
add some comments
patrickscholz Feb 16, 2022
59bcea1
put back Cmakelist.txt
patrickscholz Feb 16, 2022
43d3462
Merge branch 'refactoring' into refactoring_dwarf_ice
koldunovn Feb 16, 2022
2076699
Merge pull request #304 from FESOM/refactoring_dwarf_ice
koldunovn Feb 16, 2022
581921a
Merge branch 'refactoring_PGI' into link_ifs_47r3_nvhpc
hegish Feb 22, 2022
1634797
declare parms functions before they are used
hegish Feb 22, 2022
02c75da
declare parms functions before they are used
hegish Feb 22, 2022
8359410
- add environment to build+run FESOM on juwels booster+cluster with t…
hegish Feb 23, 2022
363b248
set shaped pointers in a way compatible with nvfortran 22.1
hegish Feb 17, 2022
26d608a
remove unused variable in shell environment
hegish Mar 1, 2022
20aad6b
explicitly allocate character variable to try to work around nvfortra…
hegish Mar 1, 2022
f33812c
finalize MPI before FESOM prints its stats block, otherwise there is …
hegish Mar 1, 2022
f0b923d
add missing variable declaration for ALEPH_CRAYMPICH_WORKAROUNDS=ON
hegish Mar 1, 2022
9214ac3
explicitly allocate attribute type variable to try to work around nvf…
hegish Mar 1, 2022
8fdfd99
use nvfortran style shaped array copy
hegish Mar 1, 2022
fd64806
use a fixed size array to store our netcdf variable attributes as nvf…
hegish Mar 1, 2022
1d592c3
avoid lots of empty lines on the console output
hegish Mar 1, 2022
3d77cbc
Merge branch 'refactoring_PGI_memoryfixes' into link_ifs_47r3_nvhpc
hegish Mar 4, 2022
de8ba38
Merge branch 'link_ifs_47r3_nvhpc' into refactoring
Mar 9, 2022
5045f47
merged NVFORTRAN (PGI) branch link_ifs_47r3_nvhpc into master.
Mar 10, 2022
17d8123
when building FESOM as library, do not force to build as a shared lib…
hegish Mar 10, 2022
0f53ac0
add the existing cmake variable to toggle SHARED vs STATIC library bu…
hegish Mar 10, 2022
0fb43fc
Merge pull request #316 from FESOM/refactoring_fix_gcc_linker_error
dsidoren Mar 10, 2022
abf4a49
Merge pull request #317 from FESOM/refactoring_PGI_merged
patrickscholz Mar 10, 2022
639a0ad
remove last occurence of execute_command_line. It is failing too ofte…
hegish Mar 10, 2022
aaec6de
Merge pull request #318 from FESOM/refactoring_remove_execute_command…
dsidoren Mar 10, 2022
bb7c1a9
bug fix in pressure_bv (depth computatiopn for pressure contribution)
Mar 11, 2022
05bccb3
Merge pull request #320 from FESOM/bug_fix
koldunovn Mar 11, 2022
ba88a95
activated coupling of ice_temp & ice_alb with IFS
dsidoren Mar 15, 2022
c9be18e
avoid floating point exception when coupled with IFS
dsidoren Mar 24, 2022
82ab947
adapting oasis coupling interface to new datastructures
JanStreffing Mar 25, 2022
4d84cb4
Merge pull request #324 from FESOM/ifs_fpe_bug_fix
dsidoren Mar 25, 2022
f15bf1d
change default 3d outfreq to monthly
JanStreffing Mar 28, 2022
5f1f1e7
something close to the namelist we used before
JanStreffing Mar 28, 2022
28e1a66
combined changes for flux paper
JanStreffing Mar 29, 2022
6444a17
chaneging tracer diffusion smoothing settings
JanStreffing Mar 30, 2022
bfc59c6
Merge branch 'fluxpaper/REFAC' into fluxpaper/REFAC+NOHEM+COURRF
JanStreffing Mar 30, 2022
59244ff
Update ifs_interface.F90
trackow Apr 1, 2022
7a565c7
Merge pull request #327 from trackow/refactoring
dsidoren Apr 1, 2022
6a39c47
Fix illegal POINTER assignment for NVHPC
trackow Apr 11, 2022
f98f296
Fix more illegal POINTER assignments for NVHPC
trackow Apr 11, 2022
01e28ee
Merge pull request #328 from FESOM/thermo_cpl_nvhpc
dsidoren Apr 11, 2022
edfe3ce
Merge branch 'refactoring' into nvhpc_ifsinterface
trackow Apr 11, 2022
c027a00
Merge pull request #329 from FESOM/nvhpc_ifsinterface
trackow Apr 11, 2022
2f6ceeb
Merge branch 'refactoring' into IFS_coupling
koldunovn Apr 11, 2022
925c546
Merge pull request #321 from FESOM/IFS_coupling
koldunovn Apr 11, 2022
91330ce
fixed treatment of sw_pene in cvmix_KPP
dsidoren Apr 13, 2022
5d88203
Merge pull request #330 from FESOM/dsidoren-patch-2
koldunovn Apr 13, 2022
7ee5116
skip wind stress computations when coupled to IFS
trackow Apr 13, 2022
469e74b
Merge pull request #331 from FESOM/ifsfesom-patch-windstress
dsidoren Apr 19, 2022
5898176
Add -fpe0 to Intel compile options for IFS-FESOM
trackow Apr 19, 2022
b3fe69f
Merge branch 'refactoring' into io_autorotate
koldunovn Apr 23, 2022
3727474
a bug fix in io_meandata.F90 -> io_r2g; the rotation was not properly…
Apr 27, 2022
3efc3da
add indication if data are autorotated or not
koldunovn Apr 27, 2022
5a5a6a7
Merge pull request #301 from FESOM/io_autorotate
koldunovn Apr 27, 2022
bd27a60
improved efficiency for autorotation inside IO
dsidoren May 3, 2022
95aafe5
fixed OMP in autoratote for IO
dsidoren May 3, 2022
8d28c8f
Merge pull request #335 from FESOM/io_rotate
koldunovn May 4, 2022
c303398
add levante environment
koldunovn May 4, 2022
99095a9
add partitioning script
koldunovn May 4, 2022
5292f3c
update TKE, add langmuire parameterisation from NEMO done by oliver …
patrickscholz May 4, 2022
5b6badb
update IDEMIX, add new default parameters from F. Pohlmann 2017
patrickscholz May 4, 2022
5572a39
add new cvmix namelist, with switch for tke langmuir parameterisati…
patrickscholz May 4, 2022
be01946
be sure tke_surf is initialised in cvmix_tke.F90
patrickscholz May 4, 2022
27f3b32
Chlorophyll climatology can be used. Shall be activated through namel…
dsidoren May 5, 2022
bce8620
load git module to build on levante
hegish May 5, 2022
84c35c9
export our platform strategy name when sourcing the environment
hegish May 5, 2022
a1b36a2
- create a cmake cache variable for the platform strategy
hegish May 5, 2022
f57c2b7
Sweeney chlorophyll climatology is off per default
dsidoren May 5, 2022
67f47dd
Change path to pool directory
koldunovn May 5, 2022
bc571fd
Merge pull request #339 from FESOM/chl_climatology
koldunovn May 5, 2022
8c38e5f
fix bug foor gfortran, put native cvmix real format in put_tke
patrickscholz May 6, 2022
9f85060
salt plume parameterization not hemispherical
JanStreffing May 7, 2022
75a92b4
Merge branch 'refactoring' into levante_update
koldunovn May 17, 2022
92c3d9e
docs: unified docs, attempt 1
May 18, 2022
7dbe2bf
Merge pull request #344 from pgierz/refactoring_merged_docs
koldunovn May 18, 2022
0091b7a
omp_min_max_sum2 fix
dsidoren May 23, 2022
623588e
Merge pull request #346 from FESOM/dsidoren-patch-3
koldunovn May 23, 2022
cf342af
Merge branch 'refactoring' into levante_update
koldunovn May 23, 2022
9a76ffc
Merge branch 'refactoring' into refactoring_updateTKE+IDEMIX
dsidoren May 24, 2022
9967dfa
Merge pull request #340 from FESOM/refactoring_updateTKE+IDEMIX
patrickscholz May 24, 2022
cd0932a
Merge branch 'refactoring' into levante_update
koldunovn Jun 3, 2022
00df6a3
Merge remote-tracking branch 'origin/refactoring' into fluxpaper/OCUR…
JanStreffing Jun 3, 2022
3018208
Merge pull request #338 from FESOM/levante_update
dsidoren Jun 5, 2022
918aafd
Merge branch 'refactoring' into patch-GM-ifsfesom
dsidoren Jun 5, 2022
9915cbb
Merge pull request #332 from FESOM/patch-GM-ifsfesom
dsidoren Jun 5, 2022
ab689b0
Feature added: Flag __openmp_reproducible to turn orn ordering for cr…
Jun 9, 2022
f7156a5
Bug fix: variable lval_row was undeclared
Jun 9, 2022
d557ae1
add new variable for the residual ice flux, is only used when coupled
patrickscholz Jun 10, 2022
7685e39
add residual ice flux to the freshwater balancing when coupled
patrickscholz Jun 10, 2022
c209e23
1) scale freshwater fluxes that are used for balancing with rhofwt/rh…
patrickscholz Jun 10, 2022
48987db
remove partit here, as we extract on the level above
JanStreffing Jun 13, 2022
d959e0a
define residualifwflx
JanStreffing Jun 13, 2022
c8073a7
define residualifwflx for real..
JanStreffing Jun 13, 2022
e8053df
fix gfortran compilation error
patrickscholz Jun 13, 2022
bc07dc1
Restore default namelist.ice
JanStreffing Jun 13, 2022
447d682
restoring default namelist.oce
JanStreffing Jun 13, 2022
835a4d7
restoring default namelist.io
JanStreffing Jun 13, 2022
178f5e6
restoring default namelist.tra
JanStreffing Jun 13, 2022
b05cbd2
remove obsolete variables
JanStreffing Jun 13, 2022
8c95ca2
Merge branch 'refactoring' into fluxpaper/OCURRF+NOHEM+REFAC+SPP+bugf…
dsidoren Jun 13, 2022
6d1b356
Merge pull request #352 from FESOM/fluxpaper/OCURRF+NOHEM+REFAC+SPP+b…
dsidoren Jun 13, 2022
d7ef47c
fixed depth sign in the parameterisation of Langmuir circulations (LC…
Jun 15, 2022
b77176e
Merge branch 'refactoring' into refactoring_lc_fix
patrickscholz Jun 15, 2022
3746a5a
Merge pull request #353 from FESOM/refactoring_lc_fix
patrickscholz Jun 15, 2022
eda9f73
Merge branch 'refactoring' into refactoring_reproducible
dsidoren Jul 5, 2022
554eba8
Merge pull request #357 from FESOM/refactoring_reproducible
koldunovn Jul 5, 2022
8077fab
change levante environment to explicitly increase stack size and use …
hegish Jul 6, 2022
df874ec
Merge pull request #358 from FESOM/levante_environment_update
koldunovn Jul 6, 2022
8d2a5eb
Merge branch 'refactoring' into refactoring_updatedepth@elem
patrickscholz Jul 10, 2022
193c6db
Merge pull request #359 from FESOM/refactoring_updatedepth@elem
dsidoren Jul 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@

name: FESOM2_icepack

# Controls when the action will run. Triggers the workflow on push or pull request.
# Controls when the action will run. Triggers the workflow on push or pull request.

on: [push, pull_request]


# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
gfortran_ubuntu:
icepack_test:
# Containers must run in Linux based operating systems
runs-on: ubuntu-latest
# Docker Hub image that `container-job` executes in
container: koldunovn/fesom2_test:fesom2.1
container: koldunovn/fesom2_test:refactoring2

# Service containers to run with `gfortran_ubuntu`
steps:
Expand Down
29 changes: 23 additions & 6 deletions .github/workflows/fesom2.1.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,40 @@

name: FESOM2 main test

# Controls when the action will run. Triggers the workflow on push or pull request.
# Controls when the action will run. Triggers the workflow on push or pull request.

on: [push, pull_request]


# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
gfortran_ubuntu:
general_test:
# Containers must run in Linux based operating systems
runs-on: ubuntu-latest
# Docker Hub image that `container-job` executes in
container: koldunovn/fesom2_test:fesom2.1
container: koldunovn/fesom2_test:refactoring2

# Service containers to run with `gfortran_ubuntu`
steps:
# NK: this changes working directory to fesom2
- uses: actions/checkout@v2

- name: Compile model
- name: Compile model (binary)
run: |
bash -l configure.sh ubuntu


- name: Compile model (library)
run: |
bash ./test/ifs_interface/configure_lib.sh -l

- name: Library exists
run: |
bash ./test/ifs_interface/check_exist.sh

- name: Create global test run
run: |
mkrun pi test_pi -m docker

- name: FESOM2 global test run
run: |
cd work_pi
Expand All @@ -35,15 +44,22 @@ jobs:
run: |
cd work_pi
fcheck .


- name: Check restarts
run: |
cd work_pi
./job_docker_new

- name: Create channel test run
run: |
mkrun souf test_souf -m docker

- name: FESOM2 channel test run
run: |
cd work_souf
chmod +x job_docker_new
./job_docker_new

- name: Check channel results
run: |
cd work_souf
Expand All @@ -53,6 +69,7 @@ jobs:
run: |
cd mesh_part
bash -l configure.sh ubuntu

- name: Run partitioner
run: |
cd work_pi
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/fesom2_openmp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

name: FESOM2 OpenMP test

# Controls when the action will run. Triggers the workflow on push or pull request.

on: [push, pull_request]


# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
openmp_test:
# Containers must run in Linux based operating systems
runs-on: ubuntu-latest
# Docker Hub image that `container-job` executes in
container: koldunovn/fesom2_test:refactoring2

# Service containers to run with `gfortran_ubuntu`
steps:
# NK: this changes working directory to fesom2
- uses: actions/checkout@v2

- name: switch OpenMP ON
run: |
cd ./src/
sed -i 's/with OpenMP\" OFF/with OpenMP\" ON/g' CMakeLists.txt
cd ../

- name: Compile model
run: |
bash -l configure.sh ubuntu

- name: Create global test run with 4 OpenMP threads
run: |
mkrun pi test_pi -m docker
cd work_pi
sed -i 's/THREADS=1/THREADS=4/g' job_docker_new
cd ../

- name: FESOM2 global test run
run: |
cd work_pi
chmod +x job_docker_new
./job_docker_new






4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
/build
/build.lib
*.o
*.mod
*.x
#*.out
*~
*.swp
src/icepack_drivers/Icepack
lib/*.a
lib/*.so
/work_*
Makefile.in
mesh_part/build
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.4)
cmake_minimum_required(VERSION 3.9)

# set default build type cache entry (do so before project(...) is called, which would create this cache entry on its own)
if(NOT CMAKE_BUILD_TYPE)
Expand All @@ -7,11 +7,13 @@ if(NOT CMAKE_BUILD_TYPE)
endif()

project(FESOM2.0)
option(BUILD_SHARED_LIBS "Build using shared libraries" OFF) # cmake-internal switch to toggle if library targets are being build as STATIC or SHARED, see https://cmake.org/cmake/help/latest/guide/tutorial/Selecting%20Static%20or%20Shared%20Libraries.html
set(TOPLEVEL_DIR ${CMAKE_CURRENT_LIST_DIR})
set(FESOM_COUPLED OFF CACHE BOOL "compile fesom standalone or with oasis support (i.e. coupled)")
set(OIFS_COUPLED OFF CACHE BOOL "compile fesom coupled to OpenIFS. (Also needs FESOM_COUPLED to work)")
set(CRAY OFF CACHE BOOL "compile with cray ftn")
set(USE_ICEPACK OFF CACHE BOOL "compile fesom with the Iceapck modules for sea ice column physics.")
set(OPENMP_REPRODUCIBLE OFF CACHE BOOL "serialize OpenMP loops that are critical for reproducible results")
#set(VERBOSE OFF CACHE BOOL "toggle debug output")
#add_subdirectory(oasis3-mct/lib/psmile)
add_subdirectory(src)
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,12 @@ References
* **[Version coupled with ECHAM6 atmosphere]** Sidorenko, D., Goessling, H. F., Koldunov, N. V., Scholz, P., Danilov, S., Barbi, D., et al ( 2019). Evaluation of FESOM2.0 coupled to ECHAM6.3: Pre‐industrial and HighResMIP simulations. Journal of Advances in Modeling Earth Systems, 11. https://doi.org/10.1029/2019MS001696

* **[Version with ICEPACK sea ice thermodynamics]** Zampieri, Lorenzo, Frank Kauker, Jörg Fröhle, Hiroshi Sumata, Elizabeth C. Hunke, and Helge Goessling. Impact of Sea-Ice Model Complexity on the Performance of an Unstructured-Mesh Sea-ice/ocean Model Under Different Atmospheric Forcings. Washington: American Geophysical Union, 2020. https://dx.doi.org/10.1002/essoar.10505308.1.

Documentation for FESOM2
************************

Here lives FESOM2 documentation

Rendered version: https://fesom2.readthedocs.io/en/latest/


9 changes: 7 additions & 2 deletions config/namelist.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ ResultPath='../result_tmp/'
/

&restart_log
restart_length=1 !only required for d,h,s cases, y, m take 1
restart_length_unit='y' !output period: y, d, h, s
restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1)
restart_length_unit='y' !output period: y, d, h, s, off
raw_restart_length=1 ! --> do core dump restart
raw_restart_length_unit='y' ! e.g. y, d, h, s, off
bin_restart_length=1 ! --> do derived type binary restart
bin_restart_length_unit='y' ! e.g. y, d, h, s, off
logfile_outfreq=960 !in logfile info. output frequency, # steps
/

Expand Down Expand Up @@ -54,6 +58,7 @@ use_cavity=.false. !
use_cavity_partial_cell=.false.
use_floatice = .false.
use_sw_pene=.true.
flag_debug=.false.
/

&machine
Expand Down
1 change: 1 addition & 0 deletions config/namelist.config.toy_soufflet
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ use_floatice = .false.
use_sw_pene=.false.
toy_ocean=.true.
which_toy="soufflet"
flag_debug=.true.
/

&machine
Expand Down
11 changes: 6 additions & 5 deletions config/namelist.cvmix
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,16 @@ tke_min = 1.0e-6
! tke_mxl_choice ... Can only be 1 or 2, choice of calculation of mixing
! length; currently only Blanke, B., P. Delecluse option is implemented
tke_mxl_choice = 2
tke_dolangmuir = .false.
/

! namelist for IDEMIX
! namelist for IDEMIX von Pollman et al. (2017)
&param_idemix
idemix_tau_v = 86400.0 ! time scale for vertical symmetrisation (sec)
idemix_tau_h = 1296000.0 ! time scale for horizontal symmetrisation
idemix_tau_v = 172800.0 ! 2days ! time scale for vertical symmetrisation (sec)
idemix_tau_h = 1296000.0 !15days ! time scale for horizontal symmetrisation
idemix_gamma = 1.570 ! constant of order one derived from the shape of the spectrum in m space (dimensionless)
idemix_jstar = 10.0 ! spectral bandwidth in modes (dimensionless)
idemix_mu0 = 1.33333333 ! dissipation parameter (dimensionless)
idemix_jstar = 5.0 ! spectral bandwidth in modes (dimensionless)
idemix_mu0 = 0.33333333 ! dissipation parameter (dimensionless)
idemix_sforcusage = 0.2
idemix_n_hor_iwe_prop_iter = 5 ! iterations for contribution from horiz. wave propagation
idemix_surforc_file = '/work/ollie/clidyn/forcing/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc'
Expand Down
23 changes: 23 additions & 0 deletions config/namelist.dyn
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
&dynamics_visc
visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s).
visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity
visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option
visc_easybsreturn= 1.5

opt_visc = 5
! 5=Kinematic (easy) Backscatter
! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian)
! 7=Biharmonic flow aware (viscosity depends on velocity differences)
! 8=Dynamic Backscatter

use_ivertvisc= .true.
/

&dynamics_general
momadv_opt = 2 ! option for momentum advection in moment only =2
use_freeslip = .false. ! Switch on free slip
use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity
wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.)
! in older FESOM it used to be w_exp_max=1.e-3
/

7 changes: 5 additions & 2 deletions config/namelist.forcing
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,14 @@ landice_end_mon=10
nm_nc_freq = 1 ! data points per day (i.e. 86400 if the time axis is in seconds)
nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55)
l_xwind=.true. l_ywind=.true. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.false. l_cloud=.false. l_snow=.true.
nm_runoff_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc'
runoff_data_source ='CORE2' !Dai09, CORE2
nm_runoff_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc'
!nm_runoff_file ='/work/ollie/qwang/FESOM2_input/mesh/CORE2_finaltopo_mean/forcing_data_on_grid/runoff_clim.nc'
!runoff_data_source ='Dai09' !Dai09, CORE2, JRA55
!runoff_climatology =.true.
nm_sss_data_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc'
sss_data_source ='CORE2'
nm_sss_data_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc'
chl_data_source ='None' !'Sweeney' monthly chlorophyll climatology or 'NONE' for constant chl_const (below). Make use_sw_pene=.TRUE. in namelist.config!
nm_chl_data_file ='/work/ollie/clidyn/forcing/Sweeney/Sweeney_2005.nc'
chl_const = 0.1
/
56 changes: 56 additions & 0 deletions config/namelist.forcing.ncep2
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
! This is the namelist file for forcing

&forcing_exchange_coeff
Ce_atm_oce=0.00175 ! exchange coeff. of latent heat over open water
Ch_atm_oce=0.00175 ! exchange coeff. of sensible heat over open water
Cd_atm_oce=0.001 ! drag coefficient between atmosphere and water
Ce_atm_ice=0.00175 ! exchange coeff. of latent heat over ice
Ch_atm_ice=0.00175 ! exchange coeff. of sensible heat over ice
Cd_atm_ice=0.0012 ! drag coefficient between atmosphere and ice
Swind =0.0 ! parameterization for coupled current feedback
/

&forcing_bulk
AOMIP_drag_coeff=.false.
ncar_bulk_formulae=.true.
ncar_bulk_z_wind=10.0 ! height at which wind forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)
ncar_bulk_z_tair=2.0 ! height at which temp forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)
ncar_bulk_z_shum=2.0 ! height at which humi forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m)
/

&land_ice
use_landice_water=.false.
landice_start_mon=5
landice_end_mon=10
/

&nam_sbc
nm_xwind_file = '/work/ollie/clidyn/forcing/NCEP2/uwnd.10m.gauss.' ! name of file with winds, if nm_sbc=2
nm_ywind_file = '/work/ollie/clidyn/forcing/NCEP2/vwnd.10m.gauss.' ! name of file with winds, if nm_sbc=2
nm_humi_file = '/work/ollie/clidyn/forcing/NCEP2/shum.2m.gauss.' ! name of file with 2m specific humidity
nm_qsr_file = '/work/ollie/clidyn/forcing/NCEP2/dswrf.sfc.gauss.' ! name of file with solar heat
nm_qlw_file = '/work/ollie/clidyn/forcing/NCEP2/dlwrf.sfc.gauss.' ! name of file with Long wave
nm_tair_file = '/work/ollie/clidyn/forcing/NCEP2/air.2m.gauss.' ! name of file with 2m air temperature
nm_prec_file = '/work/ollie/clidyn/forcing/NCEP2/prate.sfc.gauss.' ! name of file with rain fall
nm_snow_file = '' ! name of file with snow fall
nm_mslp_file = '' ! air_pressure_at_sea_level
nm_xwind_var = 'uwnd' ! name of variable in file with wind
nm_ywind_var = 'vwnd' ! name of variable in file with wind
nm_humi_var = 'shum' ! name of variable in file with humidity
nm_qsr_var = 'dswrf' ! name of variable in file with solar heat
nm_qlw_var = 'dlwrf' ! name of variable in file with Long wave
nm_tair_var = 'air' ! name of variable in file with 2m air temperature
nm_prec_var = 'prate' ! name of variable in file with total precipitation
nm_snow_var = '' ! name of variable in file with total precipitation
nm_mslp_var = '' ! name of variable in file with air_pressure_at_sea_level
nm_nc_iyear = 1800
nm_nc_imm = 1 ! initial month of time axis in netCDF
nm_nc_idd = 1 ! initial day of time axis in netCDF
nm_nc_freq = 24 ! data points per day (i.e. 86400 if the time axis is in seconds)
nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55)
l_xwind=.true., l_ywind=.true., l_humi=.true., l_qsr=.true., l_qlw=.true., l_tair=.true., l_prec=.true., l_mslp=.false., l_cloud=.false., l_snow=.false.
nm_runoff_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc'
runoff_data_source ='CORE2' !Dai09, CORE2, JRA55
nm_sss_data_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc'
sss_data_source ='CORE2'
/
11 changes: 7 additions & 4 deletions config/namelist.io
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ ldiag_DVD =.false.
ldiag_forc =.false.
/

&nml_listsize
io_listsize=100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list
&nml_general
io_listsize =100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list
vec_autorotate =.false.
/

! for sea ice related variables use_ice should be true, otherewise there will be no output
Expand All @@ -22,8 +23,8 @@ io_listsize=100 !number of streams to allocate. shallbe large or equal to the nu
io_list = 'sst ',1, 'm', 4,
'sss ',1, 'm', 4,
'ssh ',1, 'm', 4,
'uice ',1, 'm', 4,
'vice ',1, 'm', 4,
'uice ',1, 'd', 4,
'vice ',1, 'd', 4,
'a_ice ',1, 'm', 4,
'm_ice ',1, 'm', 4,
'm_snow ',1, 'm', 4,
Expand All @@ -37,6 +38,8 @@ io_list = 'sst ',1, 'm', 4,
'Kv ',1, 'y', 4,
'u ',1, 'y', 4,
'v ',1, 'y', 4,
'unod ',1, 'y', 4,
'vnod ',1, 'y', 4,
'w ',1, 'y', 4,
'Av ',1, 'y', 4,
'bolus_u ',1, 'y', 4,
Expand Down
Loading