Commit 55e3f794 authored by dumoda01's avatar dumoda01

Incorporation d'un nouveau modele biologique (bio_ismer). La routine...

Incorporation d'un nouveau modele biologique (bio_ismer). La routine principale ainsi que la namelist associee seront deposees dans la prochaine revision.
parent d42e636c
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
! 2: IOW-ERGOM (9 variables) ! 2: IOW-ERGOM (9 variables)
! 3: Suspended matter only (1 variable) ! 3: Suspended matter only (1 variable)
! 4: Fasham et al. 1990 (7 variables) ! 4: Fasham et al. 1990 (7 variables)
! 5: IOW-ERGOM MaBenE version (9 variables)
! 6: ISMER model (9 variables)
! !
! bio_eulerian -> state variables are Eulerian (.true./.false.) ! bio_eulerian -> state variables are Eulerian (.true./.false.)
! !
......
...@@ -9,7 +9,7 @@ LIB = $(LIBDIR)/libbio$(buildtype).a ...@@ -9,7 +9,7 @@ LIB = $(LIBDIR)/libbio$(buildtype).a
DOCSRC = bio.F90 \ DOCSRC = bio.F90 \
bio_var.F90 bio_template.F90 bio_npzd.F90 bio_iow.F90 \ bio_var.F90 bio_template.F90 bio_npzd.F90 bio_iow.F90 \
bio_sed.F90 bio_fasham.F90 \ bio_sed.F90 bio_fasham.F90 bio_ismer.F90\
bio_save.F90 bio_save.F90
OBJ = \ OBJ = \
...@@ -19,6 +19,7 @@ ${LIB}(bio_template.o) \ ...@@ -19,6 +19,7 @@ ${LIB}(bio_template.o) \
${LIB}(bio_npzd.o) \ ${LIB}(bio_npzd.o) \
${LIB}(bio_iow.o) \ ${LIB}(bio_iow.o) \
${LIB}(bio_mab.o) \ ${LIB}(bio_mab.o) \
${LIB}(bio_ismer.o) \
${LIB}(bio_fasham.o) \ ${LIB}(bio_fasham.o) \
${LIB}(bio_sed.o) \ ${LIB}(bio_sed.o) \
${LIB}(bio_save.o) \ ${LIB}(bio_save.o) \
......
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
use bio_fasham, only : init_bio_fasham,init_var_fasham,var_info_fasham use bio_fasham, only : init_bio_fasham,init_var_fasham,var_info_fasham
use bio_fasham, only : light_fasham,do_bio_fasham use bio_fasham, only : light_fasham,do_bio_fasham
!DD
use bio_ismer, only : init_bio_ismer,init_var_ismer,var_info_ismer
use bio_ismer, only : light_ismer,do_bio_ismer
use bio_sed, only : init_bio_sed,init_var_sed,var_info_sed use bio_sed, only : init_bio_sed,init_var_sed,var_info_sed
...@@ -301,6 +304,16 @@ ...@@ -301,6 +304,16 @@
call var_info_mab() call var_info_mab()
case (6) ! The ISMER model, modified from Fasham
call init_bio_ismer(namlst,'bio_ismer.nml',unit)
call allocate_memory(nlev)
call init_var_ismer(nlev)
call var_info_ismer()
case default case default
stop "bio: no valid biomodel specified in bio.nml !" stop "bio: no valid biomodel specified in bio.nml !"
end select end select
...@@ -546,6 +559,7 @@ ...@@ -546,6 +559,7 @@
case (4) case (4)
case (5) case (5)
call surface_fluxes_mab(nlev,t(nlev),s(nlev)) call surface_fluxes_mab(nlev,t(nlev),s(nlev))
case (6)
end select end select
if (bio_eulerian) then if (bio_eulerian) then
...@@ -577,7 +591,7 @@ ...@@ -577,7 +591,7 @@
end if end if
end do end do
else ! Lagrangian particle calculations else ! Lagrangian particle calculations
!#define LAGRANGE #define LAGRANGE
#ifdef LAGRANGE #ifdef LAGRANGE
if (bio_model.ne.3) then if (bio_model.ne.3) then
stop 'set bio_model=3 for Lagrangian calculations. Stop in bio.F90' stop 'set bio_model=3 for Lagrangian calculations. Stop in bio.F90'
...@@ -643,6 +657,9 @@ ...@@ -643,6 +657,9 @@
case (5) case (5)
call light_mab(nlev,bioshade_feedback) call light_mab(nlev,bioshade_feedback)
call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_mab) call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_mab)
case (6)
call light_ismer(nlev,bioshade_feedback)
call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_ismer)
end select end select
end do end do
......
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