Skip to content

Commit

Permalink
Added reproduction across layout/symmetric memory tests to Travis
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit ed6e3fb
Author: Alistair Adcroft <[email protected]>
Date:   Wed Apr 19 13:52:03 2017 -0400

    Added symmetric executable and circle_obcs

    - Replaced sloshing/rho with all flow_downslope versions
    - Added symmetric compile to use for all multi-PE runs
    - Added circle_obcs

commit 5ddbef8
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 10:11:37 2017 -0400

    Added sloshing/rho

commit 13beedf
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 09:57:57 2017 -0400

    Caching MOM objects

commit 877e9a0
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 08:51:17 2017 -0400

    Reduced size of benchmark

    - Hit a stacksize limit on Travis VMs

commit 6769f65
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 00:27:07 2017 -0400

    Added benchmark test

commit 05bac9c
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 00:18:17 2017 -0400

    Added more expts

commit a6d2fee
Author: Alistair Adcroft <[email protected]>
Date:   Sun Apr 16 00:01:10 2017 -0400

    Added double_gyre test

commit da65a09
Author: Alistair Adcroft <[email protected]>
Date:   Sat Apr 15 23:44:48 2017 -0400

    Try caching MOM objects

    - Also used before_cache phase.

commit 38de241
Author: Alistair Adcroft <[email protected]>
Date:   Sat Apr 15 23:35:19 2017 -0400

    Split FMS build out of install phase

commit f62bc2a
Author: Alistair Adcroft <[email protected]>
Date:   Sat Apr 15 21:18:29 2017 -0400

    Added caching of FMS library

commit cdf6a43
Author: Alistair Adcroft <[email protected]>
Date:   Sat Apr 15 18:26:49 2017 -0400

    Added install stage to Travis setup

    - Moved cloning of house_cleaning scripts to install phase
    - Added MOM6-examples, FMS and mkmf to install phase
    - Compile required subset of FMS
    - Copmile MOM6
  • Loading branch information
adcroft committed Apr 19, 2017
1 parent 1e69aa1 commit 52f5fa0
Showing 1 changed file with 60 additions and 1 deletion.
61 changes: 60 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,66 @@
# This is a not a c-language project but we use the same environment.
language: c

# For saving time...
cache:
directories:
- my_cache

# Environment
before_install:
- sudo apt-get install tcsh pkg-config gfortran netcdf-bin libnetcdf-dev openmpi-bin libopenmpi-dev

# Install tools and dependencies
install:
- git clone https://github.com/adcroft/house_cleaning.git
- test -d MOM6-examples || git clone https://github.com/NOAA-GFDL/MOM6-examples.git
- (cd MOM6-examples/ ; git checkout dev/master ; git pull)
- (cd MOM6-examples/src/ && git submodule init mkmf FMS && git submodule update mkmf FMS)
- test -f my_cache/FMS-src.tgz && tar zxf my_cache/FMS-src.tgz || echo "No cache of FMS src"
- (cd MOM6-examples/src/ && git submodule update FMS)
- test -f my_cache/FMS-obj.tgz && (tar zxf my_cache/FMS-obj.tgz) || echo "No cache of FMS objects"

# Build FMS
before_script:
- echo "Building FMS library"
&& mkdir -p build/FMS && (cd build/FMS
&& rm -f path_names
&& ../../MOM6-examples/src/mkmf/bin/list_paths ../../MOM6-examples/src/FMS/{platform,include,memutils,constants,mpp,fms,time_manager,diag_manager,data_override,coupler/ensemble_manager.F90,axis_utils,horiz_interp,time_interp,astronomy,mosaic}
&& ../../MOM6-examples/src/mkmf/bin/mkmf -t ../../MOM6-examples/src/mkmf/templates/linux-gnu.mk -p libfms.a -c '-Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -DMAXFIELDMETHODS_=500 -Duse_AM3_physics' path_names
&& make FC=mpif90 CC=mpicc NETCDF=3 REPRO=1 libfms.a)
- echo -e '#override DAYMAX=0.125\n#override ENERGYSAVEDAYS=0.01\n#override NIGLOBAL=120\n#override NJGLOBAL=60' > MOM6-examples/ocean_only/benchmark/MOM_override

# Tests to run
script:
- git clone https://github.com/adcroft/house_cleaning.git
- ./house_cleaning/trailer.py -e TEOS10 src config_src
- echo "Compiling non-symmetric MOM6"
&& mkdir -p build/ocn && (cd build/ocn
&& ../../MOM6-examples/src/mkmf/bin/list_paths ../../{config_src/dynamic,config_src/solo_driver,src/{*,*/*}}/
&& ../../MOM6-examples/src/mkmf/bin/mkmf -t ../../MOM6-examples/src/mkmf/templates/linux-gnu.mk -o '-I../FMS' -p MOM6 -l '-L../FMS -lfms' -c '-Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -DMAXFIELDMETHODS_=500 -Duse_AM3_physics' path_names
&& make FC=mpif90 CC=mpicc LD=mpif90 NETCDF=3 REPRO=1 MOM6)
- echo "Compiling symmetric MOM6"
&& mkdir -p build/symocn && (cd build/symocn
&& ../../MOM6-examples/src/mkmf/bin/list_paths ../../{config_src/dynamic_symmetric,config_src/solo_driver,src/{*,*/*}}/
&& ../../MOM6-examples/src/mkmf/bin/mkmf -t ../../MOM6-examples/src/mkmf/templates/linux-gnu.mk -o '-I../FMS' -p MOM6 -l '-L../FMS -lfms' -c '-Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -DMAXFIELDMETHODS_=500 -Duse_AM3_physics' path_names
&& make FC=mpif90 CC=mpicc LD=mpif90 NETCDF=3 REPRO=1 MOM6)
- (cd MOM6-examples/ocean_only/double_gyre && mkdir -p RESTART && mpirun -n 1 ../../../build/ocn/MOM6 1> log)
- (cd MOM6-examples/ocean_only/flow_downslope/layer && mkdir -p RESTART && mpirun -n 1 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/rho && mkdir -p RESTART && mpirun -n 1 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/sigma && mkdir -p RESTART && mpirun -n 1 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/z && mkdir -p RESTART && mpirun -n 1 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/benchmark && mkdir -p RESTART && mpirun -n 1 ../../../build/ocn/MOM6 1> log)
- (cd MOM6-examples/ocean_only/circle_obcs && mkdir -p RESTART && mpirun -n 1 ../../../build/symocn/MOM6 1> log)
- md5sum MOM6-examples/ocean_only/{*,*/*}/ocean.stats > stats.md5
- (cd MOM6-examples/ocean_only/double_gyre && mkdir -p RESTART && mpirun -n 2 ../../../build/symocn/MOM6 1> log)
- (cd MOM6-examples/ocean_only/flow_downslope/layer && mkdir -p RESTART && mpirun -n 2 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/rho && mkdir -p RESTART && mpirun -n 2 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/sigma && mkdir -p RESTART && mpirun -n 2 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/flow_downslope/z && mkdir -p RESTART && mpirun -n 2 ../../../../build/ocn/MOM6 1>log)
- (cd MOM6-examples/ocean_only/benchmark && mkdir -p RESTART && mpirun -n 4 ../../../build/symocn/MOM6 1> log)
- (cd MOM6-examples/ocean_only/circle_obcs && mkdir -p RESTART && mpirun -n 4 ../../../build/symocn/MOM6 1> log)
- md5sum -c stats.md5

# Move items into cache
before_cache:
- tar zcf my_cache/FMS-src.tgz MOM6-examples/src/FMS
- tar zcf my_cache/FMS-obj.tgz build/FMS

0 comments on commit 52f5fa0

Please sign in to comment.