Skip to content

Commit

Permalink
Fixed conflicts with upstream dev/gfdl
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Shao committed Jun 8, 2017
2 parents 7ddc722 + 2a343ad commit 53d03a7
Show file tree
Hide file tree
Showing 76 changed files with 3,351 additions and 1,633 deletions.
138 changes: 138 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
stages:
- merge
- setup
- builds
- run
- tests

# Moves to re-used workspace
before_script:
- MOM6_SRC=$CI_PROJECT_DIR
- WORKSPACE=`pwd | sed 's:/[0-9]/:/:'`
- git pull --no-edit https://github.com/NOAA-GFDL/MOM6.git dev/gfdl
- test -d $WORKSPACE/tests && cd $WORKSPACE/tests

# Merge
merge:
stage: merge
tags:
- ncrc3
script:
- cd $CI_PROJECT_DIR
- git pull --no-edit https://github.com/NOAA-GFDL/MOM6.git dev/gfdl

# Clones regression repo, if necessary, pulls latest of everything, and sets up working space
setup:
stage: setup
tags:
- ncrc3
script:
- mkdir -p $WORKSPACE && cd $WORKSPACE
- ln -sf $MOM6_SRC/{config_src,src,pkg} .
- test -d tests || (git clone --recursive http://gitlab.gfdl.noaa.gov/ogrp/Gaea_c3-stats-MOM6-examples.git tests)
- cd tests
- git checkout dev/gfdl
- git checkout . && git pull
- git status
- bash Gitlab/before_script.sh
- (cd MOM6-examples/src/mkmf && git pull https://github.com/adcroft/mkmf.git add_coverage_mode)

# Compiles
gnu:repro:
stage: builds
tags:
- ncrc3
script:
- make -f Gitlab/Makefile.build MOM6_SRC=../ build_gnu -s -j
- make -f Gitlab/Makefile.build MOM6_SRC=../ static_gnu -s -j #coverage_gnu

intel:repro:
stage: builds
tags:
- ncrc3
script:
- make -f Gitlab/Makefile.build MOM6_SRC=../ build_intel -s -j

pgi:repro:
stage: builds
tags:
- ncrc3
script:
- make -f Gitlab/Makefile.build MOM6_SRC=../ build_pgi -s -j

gnu:debug:
stage: builds
tags:
- ncrc3
script:
- make -f Gitlab/Makefile.build MOM6_SRC=../ debug_gnu -s -j

# Runs
run:
stage: run
tags:
- ncrc3
script:
- rm MOM6-examples/*.tar
- bash Gitlab/run_stage.sh

# Tests
gnu:regressions:
stage: tests
tags:
- ncrc3
script:
- cd regressions && git checkout .
- md5sum `find . -name ocean.stats.gnu` > all_gnu.md5 && find . -name ocean.stats.gnu -exec rm {} \;
- echo "Regression results for non-symmetric gnu executables"
- tar xf ../MOM6-examples/non_symmetric_gnu.tar && md5sum -c all_gnu.md5 && rm all_gnu.md5

intel:regressions:
stage: tests
tags:
- ncrc3
script:
- cd regressions && git checkout .
- md5sum `find . -name ocean.stats.intel` > all_intel.md5 && find . -name ocean.stats.intel -exec rm {} \;
- echo "Regression results for non-symmetric intel executables"
- tar xf ../MOM6-examples/non_symmetric_intel.tar && md5sum -c all_intel.md5 && rm all_intel.md5

pgi:regressions:
stage: tests
tags:
- ncrc3
script:
- cd regressions && git checkout .
- md5sum `find . -name ocean.stats.pgi` > all_pgi.md5 && find . -name ocean.stats.pgi -exec rm {} \;
- echo "Regression results for non-symmetric pgi executables"
- tar xf ../MOM6-examples/non_symmetric_pgi.tar && md5sum -c all_pgi.md5 && rm all_pgi.md5

gnu:symmetric:
stage: tests
tags:
- ncrc3
script:
- mkdir -p _gnu && cd _gnu
- tar xf ../MOM6-examples/non_symmetric_gnu.tar && md5sum `find . -name ocean.stats.gnu` > all_gnu.md5 && find . -name ocean.stats.gnu -exec rm {} \;
- echo "Regression results for symmetric executables"
- tar xf ../MOM6-examples/symmetric_gnu.tar && md5sum -c all_gnu.md5 && rm all_gnu.md5

intel:symmetric:
stage: tests
tags:
- ncrc3
script:
- mkdir -p _intel && cd _intel
- tar xf ../MOM6-examples/non_symmetric_intel.tar && md5sum `find . -name ocean.stats.intel` > all_intel.md5 && find . -name ocean.stats.intel -exec rm {} \;
- echo "Regression results for symmetric executables"
- tar xf ../MOM6-examples/symmetric_intel.tar && md5sum -c all_intel.md5 && rm all_intel.md5

pgi:symmetric:
stage: tests
tags:
- ncrc3
script:
- mkdir -p _pgi && cd _pgi
- tar xf ../MOM6-examples/non_symmetric_pgi.tar && md5sum `find . -name ocean.stats.pgi` > all_pgi.md5 && find . -name ocean.stats.pgi -exec rm {} \;
- echo "Regression results for symmetric executables"
- tar xf ../MOM6-examples/symmetric_pgi.tar && md5sum -c all_pgi.md5 && rm all_pgi.md5
9 changes: 6 additions & 3 deletions config_src/ice_solo_driver/MOM_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,8 @@ subroutine buoyancy_forcing_from_files(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -918,7 +919,8 @@ subroutine buoyancy_forcing_zero(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -975,7 +977,8 @@ subroutine buoyancy_forcing_linear(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down
3 changes: 2 additions & 1 deletion config_src/ice_solo_driver/user_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,8 @@ subroutine USER_buoyancy_forcing(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(user_surface_forcing_CS), pointer :: CS

Expand Down
3 changes: 2 additions & 1 deletion config_src/solo_driver/MESO_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,8 @@ subroutine MESO_buoyancy_forcing(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(MESO_surface_forcing_CS), pointer :: CS

Expand Down
15 changes: 10 additions & 5 deletions config_src/solo_driver/MOM_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,8 @@ subroutine buoyancy_forcing_from_files(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -1119,7 +1120,8 @@ subroutine buoyancy_forcing_from_data_override(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -1295,7 +1297,8 @@ subroutine buoyancy_forcing_zero(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -1347,7 +1350,8 @@ subroutine buoyancy_forcing_const(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down Expand Up @@ -1398,7 +1402,8 @@ subroutine buoyancy_forcing_linear(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(surface_forcing_CS), pointer :: CS

Expand Down
3 changes: 2 additions & 1 deletion config_src/solo_driver/user_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,8 @@ subroutine USER_buoyancy_forcing(state, fluxes, day, dt, G, CS)
type(surface), intent(inout) :: state
type(forcing), intent(inout) :: fluxes
type(time_type), intent(in) :: day
real, intent(in) :: dt
real, intent(in) :: dt !< The amount of time over which
!! the fluxes apply, in s
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(user_surface_forcing_CS), pointer :: CS

Expand Down
8 changes: 6 additions & 2 deletions src/ALE/MOM_regridding.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1421,7 +1421,7 @@ subroutine build_grid_adaptive(G, GV, h, tv, dzInterface, remapCS, CS)
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(verticalGrid_type), intent(in) :: GV !< The ocean's vertical grid structure
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)), intent(in) :: h !< Layer thicknesses, in H (usually m or kg m-2)
type(thermo_var_ptrs), intent(in) :: tv
type(thermo_var_ptrs), intent(in) :: tv !< A structure pointing to various thermodynamic variables
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)+1), intent(inout) :: dzInterface
type(remapping_CS), intent(in) :: remapCS
type(regridding_CS), intent(in) :: CS
Expand Down Expand Up @@ -1737,7 +1737,7 @@ subroutine convective_adjustment(G, GV, h, tv)
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(verticalGrid_type), intent(in) :: GV !< The ocean's vertical grid structure
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)), intent(inout) :: h !< Layer thicknesses, in H (usually m or kg m-2)
type(thermo_var_ptrs), intent(inout) :: tv
type(thermo_var_ptrs), intent(inout) :: tv !< A structure pointing to various thermodynamic variables

! Local variables
integer :: i, j, k
Expand Down Expand Up @@ -1834,6 +1834,8 @@ subroutine initCoord(CS, coord_mode)
select case (coordinateMode(coord_mode))
case (REGRIDDING_ZSTAR)
call init_coord_zlike(CS%zlike_CS, CS%nk, CS%coordinateResolution)
case (REGRIDDING_SIGMA_SHELF_ZSTAR)
call init_coord_zlike(CS%zlike_CS, CS%nk, CS%coordinateResolution)
case (REGRIDDING_SIGMA)
call init_coord_sigma(CS%sigma_CS, CS%nk, CS%coordinateResolution)
case (REGRIDDING_RHO)
Expand Down Expand Up @@ -2098,6 +2100,8 @@ subroutine set_regrid_params( CS, boundary_extrapolation, min_thickness, old_gri
select case (CS%regridding_scheme)
case (REGRIDDING_ZSTAR)
if (present(min_thickness)) call set_zlike_params(CS%zlike_CS, min_thickness=min_thickness)
case (REGRIDDING_SIGMA_SHELF_ZSTAR)
if (present(min_thickness)) call set_zlike_params(CS%zlike_CS, min_thickness=min_thickness)
case (REGRIDDING_SIGMA)
if (present(min_thickness)) call set_sigma_params(CS%sigma_CS, min_thickness=min_thickness)
case (REGRIDDING_RHO)
Expand Down
2 changes: 1 addition & 1 deletion src/ALE/coord_adapt.F90
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ subroutine build_adapt_column(CS, G, GV, tv, i, j, zInt, tInt, sInt, h, zNext)
type(adapt_CS), intent(in) :: CS
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(verticalGrid_type), intent(in) :: GV !< The ocean's vertical grid structure
type(thermo_var_ptrs), intent(in) :: tv
type(thermo_var_ptrs), intent(in) :: tv !< A structure pointing to various thermodynamic variables
integer, intent(in) :: i, j
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)+1), intent(in) :: zInt, tInt, sInt
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)), intent(in) :: h !< Layer thicknesses, in H (usually m or kg m-2)
Expand Down
Loading

0 comments on commit 53d03a7

Please sign in to comment.