New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
sms_lobster.F90 in branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER – NEMO

source: branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/sms_lobster.F90 @ 2690

Last change on this file since 2690 was 2690, checked in by gm, 13 years ago

dynamic mem: #785 ; homogeneization of the coding style associated with dyn allocation

  • Property svn:keywords set to Id
File size: 9.0 KB
Line 
1MODULE sms_lobster 
2   !!----------------------------------------------------------------------
3   !!                     ***  sms_lobster.F90  *** 
4   !! TOP :   LOBSTER 1 Source Minus Sink variables
5   !!----------------------------------------------------------------------
6   !! History :  OPA  !  1999-09  (M. Levy)  original code
7   !!             -   !  2000-12  (O. Aumont, E. Kestenare) add sediment
8   !!   NEMO     1.0  !  2005-10  (C. Ethe) F90
9   !!             -   !  2005-03  (A-S Kremeur) add fphylab, fzoolab, fdetlab, fdbod
10   !!             -   !  2005-06  (A-S Kremeur) add sedpocb, sedpocn, sedpoca
11   !!            2.0  !  2007-04  (C. Deltel, G. Madec) Free form and modules
12   !!----------------------------------------------------------------------
13#if defined key_lobster
14   !!----------------------------------------------------------------------
15   !!   'key_lobster'                                         LOBSTER model
16   !!----------------------------------------------------------------------
17   USE par_oce    ! ocean parameters
18   USE par_trc    ! passive tracer parameters
19   USE lib_mpp    ! MPP library
20
21   IMPLICIT NONE
22   PUBLIC
23
24   PUBLIC   sms_lobster_alloc   ! called in trcini_lobster.F90
25
26   !!  biological parameters
27   !! ----------------------
28   REAL(wp) ::   apmin    !: minimum phytoplancton concentration              (NAMELIST)
29   REAL(wp) ::   azmin    !: minimum zooplancton concentration                (NAMELIST)
30   REAL(wp) ::   anmin    !: minimum nutrients concentration                  (NAMELIST)
31   REAL(wp) ::   admin    !: minimum detritus concentration                   (NAMELIST)
32   REAL(wp) ::   redf     !: redfield ratio c:n                               (NAMELIST)
33   REAL(wp) ::   reddom   !: redfield ratio c:n for DOM                       
34   REAL(wp) ::   slopet   !: van t hoff coefficient                           (NAMELIST)
35   REAL(wp) ::   toptp    !: optimal photosynthesis temperature               (NAMELIST)
36   REAL(wp) ::   aknut    !: half-saturation nutrient                         (NAMELIST)
37   REAL(wp) ::   psinut   !: inhibition of nitrate uptake by ammonium         (NAMELIST)
38   REAL(wp) ::   akno3    !: half-saturation for nitrate                      (NAMELIST)
39   REAL(wp) ::   aknh4    !: half-saturation for ammonium                     (NAMELIST)
40   REAL(wp) ::   rcchl    !: ???                                             
41   REAL(wp) ::   rgamma   !: phytoplankton exudation fraction                 (NAMELIST)
42   REAL(wp) ::   toptgz   !: optimal temperature for zooplankton growth       (NAMELIST)
43   REAL(wp) ::   tmaxgz   !: maximal temperature for zooplankton growth       (NAMELIST)
44   REAL(wp) ::   rgz      !: widtht of zooplankton temperature FUNCTION       (NAMELIST)
45   REAL(wp) ::   rppz     !: zooplankton nominal preference for phytoplancton food (NAMELIST)
46   REAL(wp) ::   taus     !: maximum specific zooplankton grazing rate        (NAMELIST)
47   REAL(wp) ::   aks      !: half saturation constant for total zooplankton grazing (NAMELIST)
48   REAL(wp) ::   filmax   !: maximum mass clearance rate for zooplankton      (NAMELIST)
49   REAL(wp) ::   rpnaz    !: non-assimilated phytoplankton by zooplancton     (NAMELIST)
50   REAL(wp) ::   rdnaz    !: non-assimilated detritus by zooplankton          (NAMELIST)
51   REAL(wp) ::   eggzoo   !: minimum for zooplankton concentration            (NAMELIST)
52   REAL(wp) ::   tauzn    !: zooplancton specific excretion rate              (NAMELIST)
53   REAL(wp) ::   tmmaxp   !: maximal phytoplancton mortality rate             (NAMELIST)
54   REAL(wp) ::   tmminp   !: minimal phytoplancton mortality rate             (NAMELIST)
55   REAL(wp) ::   tmmaxz   !: maximal zooplankton mortality rate               (NAMELIST)
56   REAL(wp) ::   tmminz   !: minimal zooplankton mortality rate               (NAMELIST)
57   REAL(wp) ::   anumin   !: nutrient threshold for phytoplankton mortality   (NAMELIST)
58   REAL(wp) ::   afdmin   !: food threshold for zooplankton mortality         (NAMELIST)
59   REAL(wp) ::   taudn    !: detrital breakdown rate                          (NAMELIST)
60   REAL(wp) ::   vsed     !: sedimentation speed                              (NAMELIST)
61   REAL(wp) ::   tmumax   !: maximal phytoplankton growth rate                (NAMELIST)
62   REAL(wp) ::   aki      !: light photosynthesis half saturation constant    (NAMELIST)
63   REAL(wp) ::   tmaxr    !: maximum coefficient for passive tracer damping   (NAMELIST)
64   REAL(wp) ::   tminr    !: minimum coefficient for passive tracer damping   (NAMELIST)
65   REAL(wp) ::   fdoml    !: fraction of exsudation that goes to nh4 (should be labile dom)
66   REAL(wp) ::   taunn    !: nitrification rate
67   REAL(wp) ::   taudomn  !: slow remineralization rate of semi-labile dom to nh4
68   REAL(wp) ::   xhr      !: coeff for Martin's remineralistion profile
69   REAL(wp) ::   fphylab  !: NH4 fraction of phytoplankton excretion
70   REAL(wp) ::   fzoolab  !: NH4 fraction of zooplankton excretion
71   REAL(wp) ::   fdetlab  !: NH4 fraction of detritus dissolution
72   REAL(wp) ::   fdbod    !: zooplankton mortality fraction that goes to detritus
73
74   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   remdmp   !: depth dependant damping coefficient of passive tracers
75   
76   !! Optical parameters                               
77   !! ------------------                               
78   REAL(wp) ::   xkr0     !: water coefficient absorption in red      (NAMELIST)
79   REAL(wp) ::   xkg0     !: water coefficient absorption in green    (NAMELIST)
80   REAL(wp) ::   xkrp     !: pigment coefficient absorption in red    (NAMELIST)
81   REAL(wp) ::   xkgp     !: pigment coefficient absorption in green  (NAMELIST)
82   REAL(wp) ::   xlr      !: exposant for pigment absorption in red   (NAMELIST)
83   REAL(wp) ::   xlg      !: exposant for pigment absorption in green (NAMELIST)
84   REAL(wp) ::   rpig     !: chla/chla+phea ratio                     (NAMELIST)
85                                                       
86   INTEGER , ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   neln   !: number of levels in the euphotic layer
87   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   xze    !: euphotic layer depth
88   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xpar   !: par (photosynthetic available radiation)
89
90   !! Sediment parameters                               
91   !! -------------------                               
92   REAL(wp) ::   sedlam       !: time coefficient of POC remineralization in sediments
93   REAL(wp) ::   sedlostpoc   !: ???
94   REAL(wp) ::   areacot      !: ???
95                                                       
96   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   dminl     !: fraction of sinking POC released in sediments
97   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   dmin3     !: fraction of sinking POC released at each level
98                                                       
99   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   sedpocb   !: mass of POC in sediments
100   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   sedpocn   !: mass of POC in sediments
101   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   sedpoca   !: mass of POC in sediments
102                                                       
103   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   fbod      !: rapid sinking particles
104   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   cmask     !: ???
105
106   !!----------------------------------------------------------------------
107   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
108   !! $Id$
109   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
110   !!----------------------------------------------------------------------
111CONTAINS
112
113   INTEGER FUNCTION sms_lobster_alloc()
114      !!----------------------------------------------------------------------
115      !!        *** ROUTINE sms_lobster_alloc ***
116      !!----------------------------------------------------------------------
117      !
118      ALLOCATE(                                                                   &
119         !*  Biological parameters
120         &      remdmp(jpk,jp_lobster) ,                                          &
121         !*  Optical parameters
122         &      neln   (jpi,jpj) , xze    (jpi,jpj)     , xpar(jpi,jpj,jpk)       &
123         !*  Sediment parameters
124         &      dminl  (jpi,jpj) , dmin3  (jpi,jpj,jpk) ,                         &
125         &      sedpocb(jpi,jpj) , sedpocn(jpi,jpj)     , sedpoca(jpi,jpj)  ,     &
126         &      fbod   (jpi,jpj) , cmask  (jpi,jpj)                         , STAT=sms_lobster_alloc ) 
127         !
128      IF( lk_mpp                 )   CALL mpp_sum ( sms_lobster_alloc )
129      IF( sms_lobster_alloc /= 0 )   CALL ctl_warn('sms_lobster_alloc: failed to allocate arrays')
130      !
131   END FUNCTION sms_lobster_alloc
132
133#else
134   !!----------------------------------------------------------------------
135   !!  Empty module :                                     NO LOBSTER model
136   !!----------------------------------------------------------------------
137#endif
138
139   !!======================================================================
140END MODULE sms_lobster
Note: See TracBrowser for help on using the repository browser.