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

1.Uvs experiment setup refined 2.A bug fixed in ice salinity scheme 3.Misc

parent 92d413bb
Branches
Tags
No related merge requests found
......@@ -152,14 +152,14 @@ outflpar 0 #2 #0
nManning 0.
horvisc 0.
pgrad 0.
backdiff0 0.
backdiff 0
backdiff0 8.17E-5
backdiff 1
botfric 1
#
VmaxCH4aeroboxid 0.
khsCH4 0.
khsO2 0.
r0methprod 0.
VmaxCH4aeroboxid -999.
khsCH4 -999.
khsO2 -999.
r0methprod -999.
#
sensflux0 100.
momflux0 1.e-15
......@@ -174,14 +174,14 @@ deadvol 0.
#----------------------------------------------------------------------------------------
#
T_profile 8
0. 15.23 0. 0.0012 0.080 2.94E-1 0.
1. 15.33 0. 0.0012 0.080 2.93E-1 0.
3. 15.29 0. 0.0013 0.080 2.63E-1 0.
5. 14.92 0. 0.0016 0.082 2.63E-1 0.
7. 11.88 0. 0.0010 0.144 2.45E-1 0.
9. 9.92 0. 0.0023 0.171 1.0E-1 0.
11. 9.12 0. 0.1076 0.175 0.0E-0 0.
12. 8.96 0. 0.1513 0.173 0.0E-0 0.
0. 15.23 0.017 0.0012 0.080 2.94E-1 0.
1. 15.33 0.017 0.0012 0.080 2.93E-1 0.
3. 15.29 0.017 0.0013 0.080 2.63E-1 0.
5. 14.92 0.017 0.0016 0.082 2.63E-1 0.
7. 11.88 0.017 0.0010 0.144 2.45E-1 0.
9. 9.92 0.017 0.0023 0.171 1.0E-1 0.
11. 9.12 0.017 0.1076 0.175 0.0E-0 0.
12. 8.96 0.017 0.1513 0.173 0.0E-0 0.
T_soilprofile -1
#.
#----------------------------------------------------------------------------------------
......
......@@ -187,7 +187,7 @@ else
! Interpolation of the predefined area-depth dependence to the current grid...
! ...in water layer
if (h1 > small_value) then
if_waterexist : if (h1 > small_value) then
if (soilcolconjtype == 1) then
allocate(work1(1:nsoilcols+1),work2(1:nsoilcols+1))
work2(:) = bathymsoil(:,ix,iy)%area_int
......@@ -204,7 +204,9 @@ else
call LININTERPOL (work1,work2,ndatamax,z_full,area_int,M+1,flag,.true.)
call LININTERPOL (work1,work2,ndatamax,z_half,area_half,M,flag,.true.)
endif
endif
else
print*, 'Warining in BATHYM: water does not exist'
endif if_waterexist
!... in ice layer
if (l1 > small_value) then
allocate (work3(1:Mice+1), work4(1:Mice))
......
......@@ -77,7 +77,7 @@ integer(kind=iintegers), intent(in) :: N1, N2
! Reals
real(kind=ireals), intent(in) :: z1(1:N1), z2(1:N2)
real(kind=ireals), intent(in) :: f1(1:N1)
logical, optional :: trextr
logical, intent(in), optional :: trextr
! Output variables
! Reals
......
......@@ -995,6 +995,7 @@ endif ifdeep
endif
! Water methane content
q_sum_new = 0.
do i = 1, gs%M+1
q_sum_new = q_sum_new + qwater(i,2)*h1*ddz05(i-1)
enddo
......
......@@ -46,6 +46,7 @@ real(kind=ireals), allocatable :: accum_var_scalar (:,:,:)
real(kind=ireals), allocatable :: var_scalar (:,:,:)
real(kind=ireals), allocatable :: tsteps (:,:)
real(kind=ireals), allocatable :: Profile_out(:,:)
real(kind=ireals), allocatable :: work(:)
real(kind=ireals) :: voldef0, voldef0y
real(kind=ireals) :: work1, work2
real(kind=ireals), allocatable :: valmax(:)
......@@ -87,6 +88,7 @@ if (firstcall) then
allocate (var_scalar (1:n_var_scalar, 1:nx, 1:ny) )
allocate (accum_var_scalar(1:n_var_scalar, 1:nx, 1:ny) )
allocate (valmax(1:n_var_max))
allocate (work(1:M+1))
firstcallixiy(:,:) = .true.
out_unita(:,:) = lake_mon_out_unit_min
month_old(:,:) = month
......@@ -175,10 +177,12 @@ if (month_old(ix,iy) /= month) then
allocate (Profile_out(1:nout,1:n_var))
! Interpolating to given output levels
do j = 1, n_var1
call LININTERPOL (z_full,accum_var(j,ix,iy,:),M+1,z_out,Profile_out(:,j),nout,flag)
work(1:M+1) = accum_var(j,ix,iy,1:M+1)
call LININTERPOL (z_full,work,M+1,z_out,Profile_out(1,j),nout,flag)
enddo
do j = n_var1+1, n_var
call LININTERPOL (z_half,accum_var(j,ix,iy,:),M ,z_out,Profile_out(:,j),nout,flag)
work(1:M) = accum_var(j,ix,iy,1:M)
call LININTERPOL (z_half,work,M,z_out,Profile_out(1,j),nout,flag)
enddo
j = nout
if (z_out(nout) > z_full(M+1)) then
......@@ -196,7 +200,8 @@ if (month_old(ix,iy) /= month) then
forall (i = 1:M+1, j = 1:n_var1) Profile_out(i,j) = accum_var(j,ix,iy,i)
! Interpolating from cell centers to cell interfaces
do j = n_var1+1, n_var
call LININTERPOL (z_half,accum_var(j,ix,iy,:),M ,z_full,Profile_out(:,j),M+1,flag)
work(1:M) = accum_var(j,ix,iy,1:M)
call LININTERPOL (z_half,work,M,z_full,Profile_out(1,j),M+1,flag)
enddo
! Writing to file
do i = 1, M+1
......
......@@ -413,7 +413,8 @@ do j = 2, Mice
! print*, del
!enddo cyc
work1 = 0.5*salprev(j)/wst%porice(j)
!work1 = 0.5*salprev(j)/wst%porice(j)
work1 = 0.5*wst%salice(j)/wst%porice(j)
resid1 = RESID(work1)
!print*, 'resid1', resid1
work2 = work1*2.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment