<p><b>mpetersen@lanl.gov</b> 2013-01-10 08:27:13 -0700 (Thu, 10 Jan 2013)</p><p>basin: Add ability to specify uniform T and S value in namelist. Add option for wind magnification for ACC tests. Comment out some lines of profuse printing.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/basin/Namelists/namelist.aquaplanet_one_layer
===================================================================
--- branches/ocean_projects/basin/Namelists/namelist.aquaplanet_one_layer        2013-01-08 22:22:11 UTC (rev 2378)
+++ branches/ocean_projects/basin/Namelists/namelist.aquaplanet_one_layer        2013-01-10 15:27:13 UTC (rev 2379)
@@ -6,6 +6,9 @@
zLevel_thickness = 'equally_spaced'
bottom_topography = 'flat_bottom'
initial_conditions = 'uniform_TS'
+ uniform_T = 10.0
+ uniform_S = 34.0
+ uniform_tracer1 = 1.0
eliminate_inland_seas=.false.
load_woce_IC = .false.
write_OpenDX_flag = .false.
Modified: branches/ocean_projects/basin/Namelists/namelist.global_realistic
===================================================================
--- branches/ocean_projects/basin/Namelists/namelist.global_realistic        2013-01-08 22:22:11 UTC (rev 2378)
+++ branches/ocean_projects/basin/Namelists/namelist.global_realistic        2013-01-10 15:27:13 UTC (rev 2379)
@@ -16,6 +16,12 @@
solid_boundary_in_x = .false.
top_layers_without_land = 3
+ ! These variables may be used for acc wind amplification
+ amplify_acc_wind = .false.
+ amp_wind_factor = 2.0
+ amp_wind_center_lat = -35.0
+ amp_wind_spread_lat = 3.0
+
! These variables are not needed for realistic global topography:
! h_total_max = 2000.0
Modified: branches/ocean_projects/basin/src/basin.F
===================================================================
--- branches/ocean_projects/basin/src/basin.F        2013-01-08 22:22:11 UTC (rev 2378)
+++ branches/ocean_projects/basin/src/basin.F        2013-01-10 15:27:13 UTC (rev 2379)
@@ -109,10 +109,13 @@
character (len=32) :: on_a_sphere, zLevel_thickness,bottom_topography, initial_conditions
logical :: expand_from_unit_sphere, eliminate_inland_seas, load_woce_IC, &
write_OpenDX_flag, monthly_forcing, check_mesh, &
- cut_domain_from_sphere, solid_boundary_in_y, solid_boundary_in_x
+ cut_domain_from_sphere, solid_boundary_in_y, solid_boundary_in_x, &
+ amplify_acc_wind
integer :: nVertLevelsMOD, top_layers_without_land
-real (kind=8) :: sphere_radius, h_total_max, u_src_max, f0, beta, omega, Lx
+real (kind=8) :: sphere_radius, h_total_max, u_src_max, f0, beta, omega, Lx, &
+ uniform_T, uniform_S, uniform_tracer1, &
+ amp_wind_factor, amp_wind_center_lat, amp_wind_spread_lat
! specify namelist
namelist /basin/ nVertLevelsMOD, on_a_sphere, sphere_radius, &
@@ -120,7 +123,9 @@
zLevel_thickness, bottom_topography, initial_conditions, &
eliminate_inland_seas, load_woce_IC, write_OpenDX_flag, monthly_forcing, check_mesh, &
cut_domain_from_sphere, solid_boundary_in_y, solid_boundary_in_x, &
- top_layers_without_land, h_total_max, u_src_max, f0, beta, omega, Lx
+ top_layers_without_land, h_total_max, u_src_max, f0, beta, omega, Lx, &
+ uniform_T, uniform_S, uniform_tracer1, &
+ amplify_acc_wind, amp_wind_factor, amp_wind_center_lat, amp_wind_spread_lat
! Default namelist values. Default set for realistic global IC.
nVertLevelsMOD = 40
@@ -139,6 +144,9 @@
! initial temperature and salinity options:
! 'realistic_WOCE', 'uniform_TS', 'Ilicak2_overflow', 'Ilicak2_overflow_sigma'
initial_conditions = 'realistic_WOCE'
+uniform_T = 10.0
+uniform_S = 34.0
+uniform_tracer1 = 1.0
eliminate_inland_seas=.true.
load_woce_IC = .true.
@@ -163,6 +171,12 @@
! boundaries in x.
Lx = 3200.0e3 ! 40x80km=3200km
+! amplify wind stress in acc, for study with Valis
+amplify_acc_wind = .false.
+amp_wind_factor = 2.0
+amp_wind_center_lat = -35.0
+amp_wind_spread_lat = 3.0
+
! Read in namelist
open(20,file='namelist.basin',status='old')
read(20,basin)
@@ -481,9 +495,9 @@
if (initial_conditions.eq.'uniform_TS') then
- temperatureNew = 10.0
- salinityNew = 34.0
- tracer1New = 1.0
+ temperatureNew = uniform_T !10.0
+ salinityNew = uniform_S !34.0
+ tracer1New = uniform_tracer1 !1.0
uNew = 0.0
u_srcNew = 0.0
@@ -719,7 +733,8 @@
enddo
ulon = TAUX(ix,iy)
ulat = TAUY(ix,iy)
- write(6,*) rlon, t_lon(ix), rlat, t_lat(iy)
+ !write(6,*) rlon, t_lon(ix), rlat, t_lat(iy)
+
call transform_from_lonlat_to_xyz(xin,yin,zin,ulon,ulat,ux,uy,uz)
if(boundaryEdgeNew(1,iEdge).eq.1) then
u_srcNew(1,iEdge) = 0.0
@@ -761,6 +776,16 @@
end if
enddo
+! for acc runs, increase wind strength for Southern Ocean
+if (amplify_acc_wind) then
+ print *, 'amplify_acc_wind, amp_wind_factor, amp_wind_center_lat, amp_wind_spread_lat'
+ print *, amplify_acc_wind, amp_wind_factor, amp_wind_center_lat, amp_wind_spread_lat
+ do iEdge=1,nEdgesNew
+ windStressMonthlyNew(:,iEdge) = windStressMonthlyNew(:,iEdge) &
+ * (1.0 + (amp_wind_factor-1.0)*0.5 &
+ *(1.0-tanh( (latEdgeNew(iEdge)/dtr-amp_wind_center_lat)/amp_wind_spread_lat) ) )
+ enddo
+endif
!set tracers at a first guess
temperatureNew = -99.0
@@ -777,7 +802,7 @@
iNoData = 0
do iCell=1,nCellsNew
hNew(1,:,iCell) = dz(:)
- if(mod(iCell,100).eq.0) write(6,*) 'load_woce_IC t and s',iCell
+ ! if(mod(iCell,100).eq.0) write(6,*) 'load_woce_IC t and s',iCell
rlon = lonCellNew(iCell)/dtr
rlat = latCellNew(iCell)/dtr
ix = nint(rlon/0.1 - 0.05) + nlon + 1
@@ -861,7 +886,7 @@
do iMonth=1,nMonths
iNoData = 0
do iCell=1,nCellsNew
- if(mod(iCell,100).eq.0) write(6,*) 'load_woce_IC t and s RESTORE',iCell
+ ! if(mod(iCell,100).eq.0) write(6,*) 'load_woce_IC t and s RESTORE',iCell
rlon = lonCellNew(iCell)/dtr
rlat = latCellNew(iCell)/dtr
ix = nint(rlon/0.1 - 0.05) + nlon + 1
Modified: branches/ocean_projects/basin/src/module_cullLoops.F
===================================================================
--- branches/ocean_projects/basin/src/module_cullLoops.F        2013-01-08 22:22:11 UTC (rev 2378)
+++ branches/ocean_projects/basin/src/module_cullLoops.F        2013-01-10 15:27:13 UTC (rev 2379)
@@ -57,7 +57,7 @@
do while(nStack > 0)
oCell = cellStack(nStack)
nStack = nStack - 1
- write(6,*) ' Working on cell ', oCell, addedCells, nStack
+ !write(6,*) ' Working on cell ', oCell, addedCells, nStack
do i = 1, nEdgesOnCell(oCell)
iCell = cellsOnCell(i, oCell)
</font>
</pre>