Commit 8465f2a2 authored by Dany Dumont's avatar Dany Dumont

migration vertical du zoo dans le modele bio_nocera

parent 0ec83b65
......@@ -123,6 +123,7 @@
REALTYPE :: theta = 0.0
REALTYPE :: w_pmin = -0.06
REALTYPE :: w_pmax = -0.38
REALTYPE :: w_zmax = 100.0
REALTYPE :: k1 = 0.2
REALTYPE :: k2 = 0.8
REALTYPE :: mu1 = 0.05
......@@ -145,9 +146,12 @@
REALTYPE :: eta = 0.0
REALTYPE :: mu4 = 0.02
REALTYPE :: w_d = -2.0
REALTYPE :: bertha = 0.05
REALTYPE :: parcrit = 0.02
REALTYPE :: pmin = 0.05
REALTYPE, public :: kc = 0.03
integer :: out_unit
integer, parameter :: p=1,z=2,b=3,d=4,n=5,a=6,l=7
integer, parameter :: p=1,z=2,b=3,d=4,n=5,a=6,l=7,f=8
!EOP
!-----------------------------------------------------------------------
......@@ -184,8 +188,9 @@
l_initial,p0,z0,b0,vp,alpha,k1,k2,mu1,k5, &
gamma,w_p,gmax,k3,beta,mu2,k6,delta,epsi,r1,r2,r3, &
vb,k4,mu3,eta,mu4,w_d,kc, &
I_opt,inib, & !CHG1
theta,w_pmax,w_pmin !CHG2
I_opt,inib, &
theta,w_pmax,w_pmin, &
bertha,parcrit,w_zmax,pmin
!EOP
!-----------------------------------------------------------------------
!BOC
......@@ -231,6 +236,7 @@
w_p = w_p /secs_pr_day
w_pmin = w_pmin /secs_pr_day !DD
w_pmax = w_pmax /secs_pr_day !DD
w_zmax = w_zmax /secs_pr_day
theta = theta /secs_pr_day !DD
w_d = w_d /secs_pr_day
alpha= alpha/secs_pr_day
......@@ -378,6 +384,10 @@
var_units(7) = 'mmol/m**3'
var_long(7) = 'labile_dissolved_organic_nitrogen'
var_names(8) = 'fcp'
var_units(8) = 'mmol/m**3'
var_long(8) = 'fecal pellets'
return
end subroutine var_info_nocera
!EOC
......@@ -597,6 +607,15 @@
ppnet(ci) =(dd(a,p,ci)+dd(n,p,ci)-dd(p,d,ci)-dd(p,z,ci)-dd(p,l,ci))*secs_pr_day
!Diurnal migration of zooplancton as a function of light and phytoplancton
!(food) concentration
if (cc(p,ci) .lt. pmin) then
ws(z,ci) = -1.0*w_zmax*tanh(bertha*(par(ci)-parcrit))
else
ws(z,ci) = 0.0
end if
do i=1,numc
do j=1,numc
pp(i,j,ci)=dd(j,i,ci)
......
......@@ -83,11 +83,18 @@
long_name=var_long(n))
end do
!CHG2 Diagnostic de la vitesse de chute du phytoplancton (wp)
! Sedimentation or swimming rate of particulate matter
! Living phytoplankton
iret = new_nc_variable(ncid,'wp',NF_REAL,4,dims,wp_id)
iret = set_attributes(ncid,wp_id,units='m/day', &
long_name='phytoplancton settling velocity')
! Living zooplankton
if (bio_model .eq. 8) then
iret = new_nc_variable(ncid,'wz',NF_REAL,4,dims,wz_id)
iret = set_attributes(ncid,wz_id,units='m/day', &
long_name='zooplancton swimming velocity')
end if
!CHG4 Diagnostic du PAR
iret = new_nc_variable(ncid,'par',NF_REAL,4,dims,par_id)
iret = set_attributes(ncid,par_id,units='W/m2',long_name='PAR')
......@@ -127,10 +134,14 @@
iret = store_data(ncid,var_ids(n),XYZT_SHAPE,nlev,array=cc(n,:))
end do
!CHG2 Vitesse de chute du phytoplancton (wp = ws(1,:))
iret = store_data(ncid,wp_id,XYZT_SHAPE,nlev,array=86400*ws(1,:))
! Sedimentation rate of phytoplankton
iret = store_data(ncid,wp_id,XYZT_SHAPE,nlev,array=secs_pr_day*ws(1,:))
! Swimming velocity of zootoplankton
if (bio_model .eq. 8) then
iret = store_data(ncid,wz_id,XYZT_SHAPE,nlev,array=secs_pr_day*ws(2,:))
end if
!CHG4 PAR (par = par(:))
! PAR
iret = store_data(ncid,par_id,XYZT_SHAPE,nlev,array=par(:))
!DD
......
......@@ -35,8 +35,8 @@
REALTYPE, dimension(:,:), allocatable :: particle_pos
integer, dimension(:), allocatable :: var_ids
integer :: wp_id !CHG2
integer :: par_id !CHG4
integer :: wp_id,wz_id
integer :: par_id
integer :: lumlim1_id,nitlim1_id,ammlim1_id,lumlim2_id,nitlim2_id,ammlim2_id !DD
integer :: ppnet_id
character(len=64), dimension(:), allocatable :: var_names
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment