From 55e3f7948f02f552ef21a3bf39a211bf9d061a24 Mon Sep 17 00:00:00 2001 From: dumoda01 Date: Fri, 22 Feb 2013 02:49:59 +0000 Subject: [PATCH] Incorporation d'un nouveau modele biologique (bio_ismer). La routine principale ainsi que la namelist associee seront deposees dans la prochaine revision. --- nml/bio.nml | 2 ++ src/extras/bio/Makefile | 3 ++- src/extras/bio/bio.F90 | 19 ++++++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/nml/bio.nml b/nml/bio.nml index 5e9a744..e3d0aaf 100644 --- a/nml/bio.nml +++ b/nml/bio.nml @@ -8,6 +8,8 @@ ! 2: IOW-ERGOM (9 variables) ! 3: Suspended matter only (1 variable) ! 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.) ! diff --git a/src/extras/bio/Makefile b/src/extras/bio/Makefile index 3e435f6..e50be59 100644 --- a/src/extras/bio/Makefile +++ b/src/extras/bio/Makefile @@ -9,7 +9,7 @@ LIB = $(LIBDIR)/libbio$(buildtype).a DOCSRC = bio.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 OBJ = \ @@ -19,6 +19,7 @@ ${LIB}(bio_template.o) \ ${LIB}(bio_npzd.o) \ ${LIB}(bio_iow.o) \ ${LIB}(bio_mab.o) \ +${LIB}(bio_ismer.o) \ ${LIB}(bio_fasham.o) \ ${LIB}(bio_sed.o) \ ${LIB}(bio_save.o) \ diff --git a/src/extras/bio/bio.F90 b/src/extras/bio/bio.F90 index 685e088..171d6cc 100644 --- a/src/extras/bio/bio.F90 +++ b/src/extras/bio/bio.F90 @@ -30,6 +30,9 @@ use bio_fasham, only : init_bio_fasham,init_var_fasham,var_info_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 @@ -301,6 +304,16 @@ 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 stop "bio: no valid biomodel specified in bio.nml !" end select @@ -546,6 +559,7 @@ case (4) case (5) call surface_fluxes_mab(nlev,t(nlev),s(nlev)) + case (6) end select if (bio_eulerian) then @@ -577,7 +591,7 @@ end if end do else ! Lagrangian particle calculations -!#define LAGRANGE +#define LAGRANGE #ifdef LAGRANGE if (bio_model.ne.3) then stop 'set bio_model=3 for Lagrangian calculations. Stop in bio.F90' @@ -643,6 +657,9 @@ case (5) call light_mab(nlev,bioshade_feedback) 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 do -- GitLab