<p><b>dwj07@fsu.edu</b> 2012-03-23 13:19:07 -0600 (Fri, 23 Mar 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Adding the option to add a ridge within the baroclinic channel test case.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/basin_src/basin-template.F
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/basin_src/basin-template.F        2012-03-23 19:11:12 UTC (rev 1702)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/basin_src/basin-template.F        2012-03-23 19:19:07 UTC (rev 1703)
@@ -1031,8 +1031,9 @@
real (kind=4), allocatable, dimension(:) :: x,y, work_kmt
real (kind=4), allocatable, dimension(:,:) :: ztopo
integer :: nx, ny, inx, iny, ix, iy, kmt_neighbor_max
-real :: pi, dtr, zdata, rlon, rlat, r, ymin, ymax, xmin, xmax
+real :: pi, dtr, zdata, rlon, rlat, r, ymin, ymax, xmin, xmax, xmid
real :: latmin, latmax, lonmin, lonmax
+real :: min_depth
logical :: flag, kmt_flag
pi = 4.0*atan(1.0)
dtr = pi / 180.0
@@ -1040,6 +1041,8 @@
allocate(kmt(nCells))
kmt = 0
+min_depth = *MIN_DEPTH
+
if(.not.real_bathymetry) then
kmt = nVertLevelsMOD
if(on_a_sphere.eq.'YES ') then
@@ -1054,14 +1057,14 @@
where(latCell.gt.latmax) kmt = 0
where(lonCell.lt.lonmin) kmt = 0
where(lonCell.gt.lonmax) kmt = 0
+
else
! solid boundary in y
ymin = minval(yCell)
- write(6,*) ' minimum yCell ', ymin
ymax = maxval(yCell)
- write(6,*) ' maximum yCell ', ymax
- where(yCell.lt.1.001*ymin) kmt = 0
- where(yCell.gt.0.999*ymax) kmt = 0
+ xmin = minval(xCell)
+ xmax = maxval(xCell)
+ xmid = (xmax - xmin)/2.0
! xmin = minval(xCell)
! xmax = maxval(xCell)
@@ -1075,6 +1078,15 @@
! write(6,*) ' maximum xCell ', xmax
! where(xCell.lt.xmin+dc/1.5) kmt = 0
! where(xCell.gt.xmax-dc/1.5) kmt = 0
+ do iCell=1,nCells
+ if ( xCell(iCell).gt.(xmid-(xmax-xmin)/8.0) .and. xCell(iCell).lt.(xmid+(xmax-xmin)/8.0)) then
+ zdata = (nVertLevelsMod - min_depth) * exp(-(xCell(iCell)-xmid)**2/(2*((xmax-xmin)/16.0))**2)
+
+ kmt(iCell) = nVertLevelsMod - zdata
+ endif
+ enddo
+ where(yCell.lt.1.001*ymin) kmt = 0
+ where(yCell.gt.0.999*ymax) kmt = 0
endif
Modified: branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh        2012-03-23 19:11:12 UTC (rev 1702)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh        2012-03-23 19:19:07 UTC (rev 1703)
@@ -5,7 +5,9 @@
## To start, grids are periodic in the x direction. This may change later ##
########################################################################################
SPACINGS="1000 4000 10000"
+SPACINGS="10000"
VERTLEVS="20"
+MIN_DEPTH="20" # If a ridge should be added, this is the number of levels of water at the center of the ridge.
TCNAME="baroclinic_channel"
###############################################################
@@ -38,13 +40,13 @@
DEFAULT_TIME_INTEGRATOR="'split_explicit'"
DEFAULT_SUBCYCLES=20
-DEFAULT_RUN_DURATION="'0200_00:00:00'"
+DEFAULT_RUN_DURATION="'0010_00:00:00'"
############################################################
## Setup Default namelist keys and values to update later ##
############################################################
i=0
-KEYS[$i]="config_run_duration"; VALUES[$i]="'0200_00:00:00'"; i=$i+1;
+KEYS[$i]="config_run_duration"; VALUES[$i]="'0001_00:00:00'"; i=$i+1;
KEYS[$i]="config_input_name"; VALUES[$i]="'grid.nc'"; i=$i+1;
KEYS[$i]="config_output_name"; VALUES[$i]="'output.nc'"; i=$i+1;
KEYS[$i]="config_restart_name"; VALUES[$i]="'restart.nc'"; i=$i+1;
@@ -145,7 +147,7 @@
        ## Build Basin
        cd basin_src
-        cat basin-template.F | sed "s/*VERTLEVS/${VERTLEV}/g" > basin.F
+        cat basin-template.F | sed "s/*VERTLEVS/${VERTLEV}/g" | sed "s/*MIN_DEPTH/${MIN_DEPTH}/g" > basin.F
        if [ -a Makefile.front ]; then
                cat Makefile.front > Makefile
</font>
</pre>