Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default to not including git hash in build for non ACCESS-OM2 models #384

Merged
merged 4 commits into from
Aug 8, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
40 changes: 33 additions & 7 deletions exp/MOM_compile.csh
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ set debug = 0
set repro = 0
set use_netcdf4 = 0
set environ = 1
set cosima_version = unset


set argv = (`getopt -u -o h -l type: -l platform: -l help -l unit_testing -l debug -l repro -l use_netcdf4 -l no_environ -- $*`)
set argv = (`getopt -u -o h -l type: -l platform: -l help -l unit_testing -l debug -l repro -l use_netcdf4 -l no_environ -l no_version -- $*`)
if ($status != 0) then
# Die if there are incorrect options
set help = 1
Expand All @@ -34,6 +35,8 @@ while ("$argv[1]" != "--")
set use_netcdf4 = 1; breaksw
case --no_environ:
set environ = 0; breaksw
case --no_version:
set cosima_version = 0; breaksw
case --help:
set help = 1; breaksw
case -h:
Expand Down Expand Up @@ -63,7 +66,9 @@ if ( $help ) then
echo
echo "--use_netcdf4 use NetCDF4, the default is NetCDF4. Warning: many of the standard experiments don't work with NetCDF4."
echo
echo "--no_environ do not source platform specific environment. Allows customising/overriding default environment"
echo "--no_environ do not source platform specific environment. Allows customising/overriding default environment"
echo
echo "--no_version disable COSIMA specific versioning for ACCESS-OM* builds"
echo
exit 1
endif
Expand All @@ -87,6 +92,15 @@ if($static) then
set cppDefs = "$cppDefs -DMOM_STATIC_ARRAYS -DNI_=360 -DNJ_=200 -DNK_=50 -DNI_LOCAL_=60 -DNJ_LOCAL_=50"
endif

if( $cosima_version == "unset" ) then
if( $type =~ ACCESS-OM* ) then
# default to cosima versioniing for ACCESS-OM if not set explicitly as no_version argument
aidanheerdegen marked this conversation as resolved.
Show resolved Hide resolved
set cosima_version = 1
else
set cosima_version = 0
endif
endif

if ( $type == EBM ) then
set cppDefs = ( "-Duse_netCDF -Duse_netCDF3 -Duse_libMPI -DLAND_BND_TRACERS -DOVERLOAD_C8 -DOVERLOAD_C4 -DOVERLOAD_R4" )
else if( $type == ACCESS-OM ) then
Expand Down Expand Up @@ -133,13 +147,21 @@ endif
set mkmf_lib = "$mkmf -f -m Makefile -a $code_dir -t $mkmfTemplate"
set lib_include_dirs = "$root/include $code_dir/shared/include $code_dir/shared/mpp/include"

# Build version
source ./version_compile.csh
if ( $cosima_version ) then
echo "Including COSIMA version in build"
# Build version. This prevents builds outside a git repo, so only enabled for COSIMA builds
source ./version_compile.csh
set cppDefs = "$cppDefs -DCOSIMA_VERSION"
endif

# Build FMS.
source ./FMS_compile.csh

set includes = "-I$code_dir/shared/include -I$executable:h:h/lib_FMS -I$executable:h:h/lib_ocean -I$executable:h:h/lib_version/"
set includes = "-I$code_dir/shared/include -I$executable:h:h/lib_FMS -I$executable:h:h/lib_ocean"

if ( $cosima_version ) then
set includes = "$includes -I$executable:h:h/lib_version/"
endif

# Build the core ocean.
cd $root/exp
Expand Down Expand Up @@ -232,8 +254,12 @@ else
exit 1
endif

# Always include FMS and version
set libs = "$libs $executable:h:h/lib_version/lib_version.a $executable:h:h/lib_FMS/lib_FMS.a"
# Always include FMS
set libs = "$libs $executable:h:h/lib_FMS/lib_FMS.a"

if ( $cosima_version ) then
set libs = "$libs $executable:h:h/lib_version/lib_version.a"
endif

$mkmf_exec -o "$includes" -c "$cppDefs" -l "$libs" $srcList
make
Expand Down
6 changes: 5 additions & 1 deletion src/mom5/ocean_core/ocean_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,9 @@ module ocean_model_mod
use ocean_drifters_mod, only: ocean_drifters_init, update_ocean_drifters, ocean_drifters_end
use wave_types_mod, only: ocean_wave_type
use ocean_wave_mod, only: ocean_wave_init, ocean_wave_end, ocean_wave_model
use version_mod, only: MOM_COMMIT_HASH
#if defined(COSIMA_VERSION)
use version_mod, only: MOM_COMMIT_HASH
#endif

#if defined(ACCESS_CM) || defined(ACCESS_OM)
use auscom_ice_mod, only: auscom_ice_init
Expand Down Expand Up @@ -696,9 +698,11 @@ subroutine ocean_model_init(Ocean, Ocean_state, Time_init, Time_in, &
stdoutunit=stdout()
stdlogunit=stdlog()

#ifdef COSIMA_VERSION
if (mpp_pe() == mpp_root_pe()) then
write(stdoutunit,*) MOM_COMMIT_HASH
endif
#endif

if (module_is_initialized) then
call mpp_error(FATAL, &
Expand Down