Commit bb33cab1 authored by Dany Dumont's avatar Dany Dumont

Ajout de la variable ppnet (net primary production rate per day) dans le...

Ajout de la variable ppnet (net primary production rate per day) dans le fichier output nc pour les modeles fasham et ismer seulement
parent f69f6551
......@@ -575,6 +575,7 @@
case (5)
call surface_fluxes_mab(nlev,t(nlev),s(nlev))
case (6)
case (7)
end select
if (bio_eulerian) then
......@@ -794,6 +795,7 @@
if (allocated(lumlim2)) deallocate(lumlim2)
if (allocated(nitlim2)) deallocate(nitlim2)
if (allocated(ammlim2)) deallocate(ammlim2)
if (allocated(ppnet)) deallocate(ppnet)
! The external provide arrays
if (allocated(h)) deallocate(h)
......@@ -898,6 +900,9 @@
allocate(ammlim2(0:nlev),stat=rc)
if (rc /= 0) stop 'init_bio(): Error allocating (ammlim2)'
allocate(ppnet(0:nlev),stat=rc)
if (rc /= 0) stop 'init_bio(): Error allocating (ppnet)'
! The external provide arrays
allocate(h(0:nlev),stat=rc)
if (rc /= 0) stop 'init_bio(): Error allocating (h)'
......
......@@ -595,6 +595,8 @@
dd(a,b,ci)=vb*min67/(k4+min67+cc(l,ci))*(cc(b,ci)+b0)
dd(l,b,ci)=vb*cc(l,ci)/(k4+min67+cc(l,ci))*(cc(b,ci)+b0)
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
do i=1,numc
do j=1,numc
pp(i,j,ci)=dd(j,i,ci)
......
......@@ -707,6 +707,9 @@
ws(p1,ci) = w_p1
ws(p2,ci) = w_p2
ppnet(ci) =dd(a,p1,ci)+dd(n,p1,ci)-dd(p1,d,ci)-dd(p1,z1,ci)-dd(p1,z2,ci)-dd(p1,l,ci) &
+dd(a,p2,ci)+dd(n,p2,ci)-dd(p2,d,ci)-dd(p2,z1,ci)-dd(p2,z2,ci)-dd(p2,l,ci)
do i=1,numc
do j=1,numc
pp(i,j,ci)=dd(j,i,ci)
......
......@@ -107,6 +107,8 @@
iret = set_attributes(ncid,nitlim2_id,units='',long_name='nitrate limitation for microphyto')
iret = new_nc_variable(ncid,'ammlim2',NF_REAL,4,dims,ammlim2_id)
iret = set_attributes(ncid,ammlim2_id,units='',long_name='ammonium limitation for microphyto')
iret = new_nc_variable(ncid,'ppnet',NF_REAL,4,dims,ppnet_id)
iret = set_attributes(ncid,ppnet_id,units='1/day',long_name='net primary production rate')
!DD Diagnostic de npar (nb de particules lagrangiennes) pour bebogage
!iret = new_nc_variable(ncid,'npar',NF_REAL,4,dims,npar_id)
......@@ -138,6 +140,7 @@
iret = store_data(ncid,lumlim2_id,XYZT_SHAPE,nlev,array=lumlim2(:))
iret = store_data(ncid,nitlim2_id,XYZT_SHAPE,nlev,array=nitlim2(:))
iret = store_data(ncid,ammlim2_id,XYZT_SHAPE,nlev,array=ammlim2(:))
iret = store_data(ncid,ppnet_id,XYZT_SHAPE,nlev,array=ppnet(:))
!DD
!iret = store_data(ncid,npar_id,XYZT_SHAPE,nlev,array=npar(:))
......
......@@ -22,6 +22,7 @@
REALTYPE, dimension(:), allocatable :: zlev
REALTYPE, dimension(:), allocatable :: par
REALTYPE, dimension(:), allocatable :: lumlim1,nitlim1,ammlim1,lumlim2,nitlim2,ammlim2 !DD
REALTYPE, dimension(:), allocatable :: ppnet
REALTYPE, dimension(:,:), allocatable :: cc,ws
integer :: surface_flux_method=-1
integer :: n_surface_fluxes=-1
......@@ -37,6 +38,7 @@
integer :: wp_id !CHG2
integer :: par_id !CHG4
integer :: lumlim1_id,nitlim1_id,ammlim1_id,lumlim2_id,nitlim2_id,ammlim2_id !DD
integer :: ppnet_id
character(len=64), dimension(:), allocatable :: var_names
character(len=64), dimension(:), allocatable :: var_units
character(len=64), dimension(:), allocatable :: var_long
......
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