Commit 55e3f7948f02f552ef21a3bf39a211bf9d061a24

Authored by dumoda01
1 parent d42e636c
Exists in master and in 1 other branch snow

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

…ainsi que la namelist associee seront deposees dans la prochaine revision.
@@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
8 ! 2: IOW-ERGOM (9 variables) 8 ! 2: IOW-ERGOM (9 variables)
9 ! 3: Suspended matter only (1 variable) 9 ! 3: Suspended matter only (1 variable)
10 ! 4: Fasham et al. 1990 (7 variables) 10 ! 4: Fasham et al. 1990 (7 variables)
  11 +! 5: IOW-ERGOM MaBenE version (9 variables)
  12 +! 6: ISMER model (9 variables)
11 ! 13 !
12 ! bio_eulerian -> state variables are Eulerian (.true./.false.) 14 ! bio_eulerian -> state variables are Eulerian (.true./.false.)
13 ! 15 !
src/extras/bio/Makefile
@@ -9,7 +9,7 @@ LIB = $(LIBDIR)/libbio$(buildtype).a @@ -9,7 +9,7 @@ LIB = $(LIBDIR)/libbio$(buildtype).a
9 9
10 DOCSRC = bio.F90 \ 10 DOCSRC = bio.F90 \
11 bio_var.F90 bio_template.F90 bio_npzd.F90 bio_iow.F90 \ 11 bio_var.F90 bio_template.F90 bio_npzd.F90 bio_iow.F90 \
12 - bio_sed.F90 bio_fasham.F90 \ 12 + bio_sed.F90 bio_fasham.F90 bio_ismer.F90\
13 bio_save.F90 13 bio_save.F90
14 14
15 OBJ = \ 15 OBJ = \
@@ -19,6 +19,7 @@ ${LIB}(bio_template.o) \ @@ -19,6 +19,7 @@ ${LIB}(bio_template.o) \
19 ${LIB}(bio_npzd.o) \ 19 ${LIB}(bio_npzd.o) \
20 ${LIB}(bio_iow.o) \ 20 ${LIB}(bio_iow.o) \
21 ${LIB}(bio_mab.o) \ 21 ${LIB}(bio_mab.o) \
  22 +${LIB}(bio_ismer.o) \
22 ${LIB}(bio_fasham.o) \ 23 ${LIB}(bio_fasham.o) \
23 ${LIB}(bio_sed.o) \ 24 ${LIB}(bio_sed.o) \
24 ${LIB}(bio_save.o) \ 25 ${LIB}(bio_save.o) \
src/extras/bio/bio.F90
@@ -30,6 +30,9 @@ @@ -30,6 +30,9 @@
30 30
31 use bio_fasham, only : init_bio_fasham,init_var_fasham,var_info_fasham 31 use bio_fasham, only : init_bio_fasham,init_var_fasham,var_info_fasham
32 use bio_fasham, only : light_fasham,do_bio_fasham 32 use bio_fasham, only : light_fasham,do_bio_fasham
  33 +!DD
  34 + use bio_ismer, only : init_bio_ismer,init_var_ismer,var_info_ismer
  35 + use bio_ismer, only : light_ismer,do_bio_ismer
33 36
34 use bio_sed, only : init_bio_sed,init_var_sed,var_info_sed 37 use bio_sed, only : init_bio_sed,init_var_sed,var_info_sed
35 38
@@ -301,6 +304,16 @@ @@ -301,6 +304,16 @@
301 304
302 call var_info_mab() 305 call var_info_mab()
303 306
  307 + case (6) ! The ISMER model, modified from Fasham
  308 +
  309 + call init_bio_ismer(namlst,'bio_ismer.nml',unit)
  310 +
  311 + call allocate_memory(nlev)
  312 +
  313 + call init_var_ismer(nlev)
  314 +
  315 + call var_info_ismer()
  316 +
304 case default 317 case default
305 stop "bio: no valid biomodel specified in bio.nml !" 318 stop "bio: no valid biomodel specified in bio.nml !"
306 end select 319 end select
@@ -546,6 +559,7 @@ @@ -546,6 +559,7 @@
546 case (4) 559 case (4)
547 case (5) 560 case (5)
548 call surface_fluxes_mab(nlev,t(nlev),s(nlev)) 561 call surface_fluxes_mab(nlev,t(nlev),s(nlev))
  562 + case (6)
549 end select 563 end select
550 564
551 if (bio_eulerian) then 565 if (bio_eulerian) then
@@ -577,7 +591,7 @@ @@ -577,7 +591,7 @@
577 end if 591 end if
578 end do 592 end do
579 else ! Lagrangian particle calculations 593 else ! Lagrangian particle calculations
580 -!#define LAGRANGE 594 +#define LAGRANGE
581 #ifdef LAGRANGE 595 #ifdef LAGRANGE
582 if (bio_model.ne.3) then 596 if (bio_model.ne.3) then
583 stop 'set bio_model=3 for Lagrangian calculations. Stop in bio.F90' 597 stop 'set bio_model=3 for Lagrangian calculations. Stop in bio.F90'
@@ -643,6 +657,9 @@ @@ -643,6 +657,9 @@
643 case (5) 657 case (5)
644 call light_mab(nlev,bioshade_feedback) 658 call light_mab(nlev,bioshade_feedback)
645 call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_mab) 659 call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_mab)
  660 + case (6)
  661 + call light_ismer(nlev,bioshade_feedback)
  662 + call ode_solver(ode_method,numc,nlev,dt_eff,cc,do_bio_ismer)
646 end select 663 end select
647 664
648 end do 665 end do