Skip to content
Snippets Groups Projects
Commit 641d17c1 authored by Victor Stepanenko's avatar Victor Stepanenko
Browse files

Bug fixed in coupling of additional columns of sediments to water column

parent b4306b58
No related branches found
No related tags found
No related merge requests found
......@@ -8,18 +8,18 @@ mkdir -p -v results/$1/monthly
mkdir -p -v results/$1/daily
# Modifying driver file
#sed -i '2d' driver_file.dat #Linux
sed -i '' '2d' driver_file.dat #OS X
#sed -i "\$a setup/$1_driver.dat" driver_file.dat #Linux
sed -i '' '$ a \
setup/'$1'_driver.dat' driver_file.dat #OS X
sed -i '2d' driver_file.dat #Linux
#sed -i '' '2d' driver_file.dat #OS X
sed -i "\$a setup/$1_driver.dat" driver_file.dat #Linux
#sed -i '' '$ a \
# setup/'$1'_driver.dat' driver_file.dat #OS X
# Modifying setup file
#sed -i '2d' setup_file.dat #Linux
sed -i '' '2d' setup_file.dat #OS X
#sed -i "\$a setup/$1_setup.dat" setup_file.dat #Linux
sed -i '' '$ a \
setup/'$1'_setup.dat' setup_file.dat #OS X
sed -i '2d' setup_file.dat #Linux
#sed -i '' '2d' setup_file.dat #OS X
sed -i "\$a setup/$1_setup.dat" setup_file.dat #Linux
#sed -i '' '$ a \
# setup/'$1'_setup.dat' setup_file.dat #OS X
file=./setup/$1_setup.dat
if [ ! -f ${file} ];
......
......@@ -2566,7 +2566,7 @@ if (flag_print) then ! The output in ASCII files
& (ix, iy, dnx, dny, &
& year, month, day, hour, &
& time, dt_out%par, &
& Tsoil3, zsoil, ns, &
& Tsoil3(1,nsoilcols), zsoil, ns, &
& zgridsoil_out, ngridsoil_out%par, & !ngridsoil_out%par, &
& outpath, 'soil_temp', i, ndec, .false.)
z_watersoil(1:M+1) = z_full(1:M+1)
......
......@@ -474,6 +474,7 @@ do i=1,ns
endif
enddo
! STEP 3 OF SPLITTING-UP METHOD : PHASE PROCESSES
mhsep = (1. + tricemethhydr%par*alphamh)
20 c2: do i = 1, ns
......@@ -891,7 +892,7 @@ if (contr(1) == 1) then
elseif (soilcolconjtype == 2) then
call TSURFSOILCOL(gs%M,gs%Mice,gs%nsoilcols,ls%h1,ls%l1,ls%ls1, &
& ddz,ddzi,zsoilcols, &
& wst%Tw2,wst%Ti2,wst%Tis2, &
& wst%Tw1,wst%Ti1,wst%Tis1, &
& bathymwater,bathymice,bathymdice,bathymsoil,&
& Tsoilsurf)
endif
......@@ -929,7 +930,7 @@ if (contr(2) == 1) then
allocate (work(1:gs%Mice+1)); work = 0.
call TSURFSOILCOL(gs%M,gs%Mice,gs%nsoilcols,ls%h1,ls%l1,ls%ls1, &
& ddz,ddzi,zsoilcols, &
& qwater(1,2),work,work, &
& qwater(1,1),work,work, &
& bathymwater,bathymice,bathymdice,bathymsoil,&
& qsoilsurf)
deallocate (work)
......@@ -1003,7 +1004,7 @@ END SUBROUTINE SOILCOLSTEMP
SUBROUTINE TSURFSOILCOL(M,Mice,nsoilcols,h1,l1,ls1,ddz,ddzi,zsoilcols, &
& Tw2,Ti2,Tis2, &
& Tw1,Ti1,Tis1, &
& bathymwater,bathymice,bathymdice,bathymsoil, &
& Tsoilsurf)
......@@ -1026,8 +1027,8 @@ integer(kind=iintegers), intent(in) :: M, Mice, nsoilcols
real(kind=ireals), intent(in) :: h1, l1, ls1
real(kind=ireals), intent(in) :: ddz(1:M), ddzi(1:Mice)
real(kind=ireals), intent(in) :: zsoilcols(1:nsoilcols+1)
real(kind=ireals), intent(in) :: Tw2(1:M+1)
real(kind=ireals), intent(in) :: Ti2(1:Mice+1), Tis2(1:Mice+1)
real(kind=ireals), intent(in) :: Tw1(1:M+1)
real(kind=ireals), intent(in) :: Ti1(1:Mice+1), Tis1(1:Mice+1)
type(bathym), intent(in) :: bathymwater(1:M+1) , bathymice(1:Mice+1)
type(bathym), intent(in) :: bathymdice(1:Mice+1), bathymsoil(1:nsoilcols+1)
......@@ -1043,7 +1044,6 @@ real(kind=ireals) :: pers,dz,aells,bells,areas,area,dlxs,dlys
logical, save :: firstcall = .true.
! Water, ice and deep ice
if (l1 > small_value .and. &
& h1 > small_value .and. &
......@@ -1058,12 +1058,12 @@ if (l1 > small_value .and. &
z(0) = 0. ; z(1) = 0.5*ddzi(1)*l1
aell(0) = 0.5*bathymice(1)%Lx ; aell(1) = 0.5*bathymice(1)%Lx_half
bell(0) = 0.5*bathymice(1)%Ly ; bell(1) = 0.5*bathymice(1)%Ly_half
Temp(1) = Ti2(1)
Temp(1) = Ti1(1)
j = 2
! Ice interior
do i = 2, Mice
Temp(j) = Ti2(i)
Temp(j) = Ti1(i)
aell(j) = 0.5*bathymice(i)%Lx_half
bell(j) = 0.5*bathymice(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddzi(i-1) + ddzi(i))*l1
......@@ -1071,7 +1071,7 @@ if (l1 > small_value .and. &
enddo
! Ice-water interface
Temp(j) = Ti2(Mice+1)
Temp(j) = Ti1(Mice+1)
z(j) = z(j-1) + 0.5*(ddzi(Mice)*l1 + ddz(1)*h1)
aell(j) = 0.5*bathymwater(1)%Lx_half
bell(j) = 0.5*bathymwater(1)%Ly_half
......@@ -1079,7 +1079,7 @@ if (l1 > small_value .and. &
! Water interior
do i = 2, M
Temp(j) = Tw2(i)
Temp(j) = Tw1(i)
aell(j) = 0.5*bathymwater(i)%Lx_half
bell(j) = 0.5*bathymwater(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddz(i-1) + ddz(i))*h1
......@@ -1087,7 +1087,7 @@ if (l1 > small_value .and. &
enddo
! Water-deepice interface
Temp(j) = Tw2(M+1)
Temp(j) = Tw1(M+1)
z(j) = z(j-1) + 0.5*(ddz(M)*h1 + ddzi(1)*ls1)
aell(j) = 0.5*bathymdice(1)%Lx_half
bell(j) = 0.5*bathymdice(1)%Ly_half
......@@ -1095,7 +1095,7 @@ if (l1 > small_value .and. &
! Deepice interior
do i = 2, Mice
Temp(j) = Tis2(i)
Temp(j) = Tis1(i)
aell(j) = 0.5*bathymdice(i)%Lx_half
bell(j) = 0.5*bathymdice(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddzi(i-1) + ddzi(i))*ls1
......@@ -1103,7 +1103,7 @@ if (l1 > small_value .and. &
enddo
! Deepice bottom
Temp(j) = Tis2(Mice+1)
Temp(j) = Tis1(Mice+1)
z(j) = z(j-1) + 0.5*ddzi(Mice)*ls1
aell(j) = 0.5*bathymdice(Mice+1)%Lx
bell(j) = 0.5*bathymdice(Mice+1)%Ly
......@@ -1125,11 +1125,11 @@ if (l1 > small_value .and. &
z(0) = 0. ; z(1) = 0.5*ddzi(1)*l1
aell(0) = 0.5*bathymice(1)%Lx ; aell(1) = 0.5*bathymice(1)%Lx_half
bell(0) = 0.5*bathymice(1)%Ly ; bell(1) = 0.5*bathymice(1)%Ly_half
Temp(1) = Ti2(1)
Temp(1) = Ti1(1)
j = 2
do i = 2, Mice
Temp(j) = Ti2(i)
Temp(j) = Ti1(i)
aell(j) = 0.5*bathymice(i)%Lx_half
bell(j) = 0.5*bathymice(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddzi(i-1) + ddzi(i))*l1
......@@ -1137,7 +1137,7 @@ if (l1 > small_value .and. &
enddo
! Ice-water interface
Temp(j) = Ti2(Mice+1)
Temp(j) = Ti1(Mice+1)
z(j) = z(j-1) + 0.5*(ddzi(Mice)*l1 + ddz(1)*h1)
aell(j) = 0.5*bathymwater(1)%Lx_half
bell(j) = 0.5*bathymwater(1)%Ly_half
......@@ -1145,7 +1145,7 @@ if (l1 > small_value .and. &
! Water interior
do i = 2, M
Temp(j) = Tw2(i)
Temp(j) = Tw1(i)
aell(j) = 0.5*bathymwater(i)%Lx_half
bell(j) = 0.5*bathymwater(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddz(i-1) + ddz(i))*h1
......@@ -1153,7 +1153,7 @@ if (l1 > small_value .and. &
enddo
! Water bottom
Temp(j) = Tw2(M+1)
Temp(j) = Tw1(M+1)
z(j) = z(j-1) + 0.5*ddz(M)*h1
aell(j) = 0.5*bathymwater(M+1)%Lx
bell(j) = 0.5*bathymwater(M+1)%Ly
......@@ -1175,12 +1175,12 @@ if (l1 < small_value .and. &
z(0) = 0. ; z(1) = 0.5*ddz(1)*h1
aell(0) = 0.5*bathymwater(1)%Lx ; aell(1) = 0.5*bathymwater(1)%Lx_half
bell(0) = 0.5*bathymwater(1)%Ly ; bell(1) = 0.5*bathymwater(1)%Ly_half
Temp(1) = Tw2(1)
Temp(1) = Tw1(1)
j = 2
! Water interior
do i = 2, M
Temp(j) = Tw2(i)
Temp(j) = Tw1(i)
aell(j) = 0.5*bathymwater(i)%Lx_half
bell(j) = 0.5*bathymwater(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddz(i-1) + ddz(i))*h1
......@@ -1188,7 +1188,7 @@ if (l1 < small_value .and. &
enddo
! Water-deepice interface
Temp(j) = Tw2(M+1)
Temp(j) = Tw1(M+1)
z(j) = z(j-1) + 0.5*(ddz(M)*h1 + ddzi(1)*ls1)
aell(j) = 0.5*bathymdice(1)%Lx_half
bell(j) = 0.5*bathymdice(1)%Ly_half
......@@ -1196,7 +1196,7 @@ if (l1 < small_value .and. &
! Deep ice interior
do i = 2, Mice
Temp(j) = Tis2(i)
Temp(j) = Tis1(i)
aell(j) = 0.5*bathymdice(i)%Lx_half
bell(j) = 0.5*bathymdice(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddzi(i-1) + ddzi(i))*ls1
......@@ -1204,7 +1204,7 @@ if (l1 < small_value .and. &
enddo
! Deepice bottom
Temp(j) = Tis2(Mice+1)
Temp(j) = Tis1(Mice+1)
z(j) = z(j-1) + 0.5*ddzi(Mice)*ls1
aell(j) = 0.5*bathymdice(Mice+1)%Lx
bell(j) = 0.5*bathymdice(Mice+1)%Ly
......@@ -1226,11 +1226,11 @@ if (l1 < small_value .and. &
z(0) = 0. ; z(1) = 0.5*ddz(1)*h1
aell(0) = 0.5*bathymwater(1)%Lx ; aell(1) = 0.5*bathymwater(1)%Lx_half
bell(0) = 0.5*bathymwater(1)%Ly ; bell(1) = 0.5*bathymwater(1)%Ly_half
Temp(1) = Tw2(1)
Temp(1) = Tw1(1)
j = 2
do i = 2, M
Temp(j) = Tw2(i)
Temp(j) = Tw1(i)
aell(j) = 0.5*bathymwater(i)%Lx_half
bell(j) = 0.5*bathymwater(i)%Ly_half
z(j) = z(j-1) + 0.5*(ddz(i-1) + ddz(i))*h1
......@@ -1238,7 +1238,7 @@ if (l1 < small_value .and. &
enddo
! Water bottom
Temp(j) = Tw2(M+1)
Temp(j) = Tw1(M+1)
z(j) = z(j-1) + 0.5*ddz(M)*h1
aell(j) = 0.5*bathymwater(M+1)%Lx
bell(j) = 0.5*bathymwater(M+1)%Ly
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment