Changeset 5266


Ignore:
Timestamp:
2015-05-13T10:37:43+02:00 (5 years ago)
Author:
cetlod
Message:

PISCES_QUOTA : First commits, see ticket #1516

Location:
branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC
Files:
10 added
15 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90

    r3557 r5266  
    1212   !!                  !  2011-02  (J. Simeon, J.Orr ) update O2 solubility constants 
    1313   !!---------------------------------------------------------------------- 
    14 #if defined key_pisces 
     14#if defined key_pisces || defined key_pisces_quota 
    1515   !!---------------------------------------------------------------------- 
    1616   !!   'key_pisces'                                       PISCES bio-model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r4800 r5266  
    66   !! History :   3.5  !  2012-07 (O. Aumont, A. Tagliabue, C. Ethe) Original code 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_pisces 
     8#if defined key_pisces || defined key_pisces_quota 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_top'       and                                      TOP models 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90

    r4624 r5266  
    1111   !!                  !  2011-02  (J. Simeon, J. Orr) Include total atm P correction  
    1212   !!---------------------------------------------------------------------- 
    13 #if defined key_pisces 
     13#if defined key_pisces || defined key_pisces_quota 
    1414   !!---------------------------------------------------------------------- 
    1515   !!   'key_pisces'                                       PISCES bio-model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90

    r3446 r5266  
    77   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_pisces 
     9#if defined key_pisces || defined key_pisces_quota 
    1010   !!---------------------------------------------------------------------- 
    1111   !!   'key_pisces'                                       PISCES bio-model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90

    r4624 r5266  
    1212   !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Improvment of calcite dissolution 
    1313   !!---------------------------------------------------------------------- 
    14 #if defined key_pisces 
     14#if defined key_pisces || defined key_pisces_quota 
    1515   !!---------------------------------------------------------------------- 
    1616   !!   'key_pisces'                                       PISCES bio-model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90

    r4624 r5266  
    99   !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Improve light availability of nano & diat 
    1010   !!---------------------------------------------------------------------- 
    11 #if defined  key_pisces 
     11#if defined  key_pisces || defined key_pisces_quota 
    1212   !!---------------------------------------------------------------------- 
    1313   !!   'key_pisces'                                       PISCES bio-model 
     
    4141   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:) :: par_varsw    !: PAR fraction of shortwave 
    4242 
    43    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: enano, ediat   !: PAR for phyto, nano and diat  
     43   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: enano, ediat   !: PAR for nano and diat  
     44#if defined key_pisces_quota 
     45   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: epico          !: PAR for pico 
     46#endif 
    4447   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: emoy           !: averaged PAR in the mixed layer 
    4548 
     
    7477      REAL(wp) ::   zc0 , zc1 , zc2, zc3, z1_dep 
    7578      REAL(wp), POINTER, DIMENSION(:,:  ) :: zdepmoy, zetmp, zetmp1, zetmp2 
     79#if defined key_pisces_quota 
     80      REAL(wp), POINTER, DIMENSION(:,:  ) :: zetmp3 
     81#endif 
    7682      REAL(wp), POINTER, DIMENSION(:,:,:) :: zekg, zekr, zekb, ze0, ze1, ze2, ze3 
    7783      !!--------------------------------------------------------------------- 
     
    8288      CALL wrk_alloc( jpi, jpj,      zdepmoy, zetmp, zetmp1, zetmp2 )  
    8389      CALL wrk_alloc( jpi, jpj, jpk, zekg, zekr, zekb, ze0, ze1, ze2, ze3 ) 
     90#if defined key_pisces_quota 
     91      CALL wrk_alloc( jpi, jpj,      zetmp3 ) 
     92#endif 
    8493 
    8594      IF( jnt == 1 .AND. ln_varpar ) CALL p4z_optsbc( kt ) 
     
    97106!CDIR NOVERRCHK 
    98107            DO ji = 1, jpi 
     108#if defined key_pisces_quota 
     109               zchl = ( trn(ji,jj,jk,jpnch) + trn(ji,jj,jk,jpdch) + trn(ji,jj,jk,jppch) + rtrn ) * 1.e6 
     110#else 
    99111               zchl = ( trn(ji,jj,jk,jpnch) + trn(ji,jj,jk,jpdch) + rtrn ) * 1.e6 
     112#endif 
    100113               zchl = MIN(  10. , MAX( 0.05, zchl )  ) 
    101114               irgb = NINT( 41 + 20.* LOG10( zchl ) + rtrn ) 
     
    132145            enano(ji,jj,1) = ( 2.1 * zc1 + 0.42 * zc2 + 0.4 * zc3 ) 
    133146            ediat(ji,jj,1) = ( 1.6 * zc1 + 0.69 * zc2 + 0.7 * zc3 ) 
     147#if defined key_pisces_quota 
     148            epico(ji,jj,1) = ( 2.1 * zc1 + 0.42 * zc2 + 0.4 * zc3 ) 
     149#endif 
    134150         END DO 
    135151      END DO 
     
    150166               enano(ji,jj,jk) = ( 2.1 * zc1 + 0.42 * zc2 + 0.4 * zc3 ) 
    151167               ediat(ji,jj,jk) = ( 1.6 * zc1 + 0.69 * zc2 + 0.7 * zc3 ) 
     168#if defined key_pisces_quota 
     169               epico(ji,jj,jk) = ( 2.1 * zc1 + 0.42 * zc2 + 0.4 * zc3 ) 
     170#endif 
    152171            END DO 
    153172         END DO 
    154173      END DO 
    155  
     174  
    156175      IF( ln_qsr_bio ) THEN                    !* heat flux accros w-level (used in the dynamics) 
    157176         !                                     !  ------------------------ 
     
    219238      zetmp1 (:,:)   = 0.e0 
    220239      zetmp2 (:,:)   = 0.e0 
     240#if defined key_pisces_quota 
     241      zetmp3 (:,:)   = 0.e0 
     242#endif 
    221243 
    222244      DO jk = 1, nksrp 
     
    229251                  zetmp1 (ji,jj) = zetmp1 (ji,jj) + enano(ji,jj,jk) * fse3t(ji,jj,jk) 
    230252                  zetmp2 (ji,jj) = zetmp2 (ji,jj) + ediat(ji,jj,jk) * fse3t(ji,jj,jk) 
     253#if defined key_pisces_quota 
     254                  zetmp3 (ji,jj) = zetmp3 (ji,jj) + epico(ji,jj,jk) * fse3t(ji,jj,jk) 
     255#endif 
    231256                  zdepmoy(ji,jj) = zdepmoy(ji,jj) + fse3t(ji,jj,jk) 
    232257               ENDIF 
     
    247272                  enano(ji,jj,jk) = zetmp1(ji,jj) * z1_dep 
    248273                  ediat(ji,jj,jk) = zetmp2(ji,jj) * z1_dep 
     274#if defined key_pisces_quota 
     275                  epico(ji,jj,jk) = zetmp3(ji,jj) * z1_dep 
     276#endif 
    249277               ENDIF 
    250278            END DO 
     
    268296      CALL wrk_dealloc( jpi, jpj,      zdepmoy, zetmp, zetmp1, zetmp2 ) 
    269297      CALL wrk_dealloc( jpi, jpj, jpk, zekg, zekr, zekb, ze0, ze1, ze2, ze3 ) 
     298#if defined key_pisces_quota 
     299      CALL wrk_dealloc( jpi, jpj,      zetmp3 ) 
     300#endif 
    270301      ! 
    271302      IF( nn_timing == 1 )  CALL timing_stop('p4z_opt') 
     
    376407                         etot (:,:,:) = 0._wp 
    377408                         enano(:,:,:) = 0._wp 
     409#if defined key_pisces_quota 
     410                         epico(:,:,:) = 0._wp 
     411#endif 
    378412                         ediat(:,:,:) = 0._wp 
    379413      IF( ln_qsr_bio )   etot3(:,:,:) = 0._wp 
     
    388422      !!                     ***  ROUTINE p4z_opt_alloc  *** 
    389423      !!---------------------------------------------------------------------- 
    390       ALLOCATE( enano(jpi,jpj,jpk), ediat(jpi,jpj,jpk), emoy (jpi,jpj,jpk), STAT=p4z_opt_alloc )  
     424#if defined key_pisces_quota 
     425     ALLOCATE( enano(jpi,jpj,jpk), ediat(jpi,jpj,jpk), emoy (jpi,jpj,jpk), epico(jpi,jpj,jpk),   & 
     426      &         STAT=p4z_opt_alloc ) 
     427#else 
     428      ALLOCATE( enano(jpi,jpj,jpk), ediat(jpi,jpj,jpk), emoy (jpi,jpj,jpk),   & 
     429      &         STAT=p4z_opt_alloc )  
     430#endif 
    391431         ! 
    392432      IF( p4z_opt_alloc /= 0 ) CALL ctl_warn('p4z_opt_alloc : failed to allocate arrays.') 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90

    r4624 r5266  
    66   !! History :   3.5  !  2012-07 (O. Aumont, C. Ethe) Original code 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_pisces 
     8#if defined key_pisces || defined key_pisces_quota 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_pisces'                                       PISCES bio-model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90

    r3680 r5266  
    1717   !!   'key_pisces_reduced'   :                                LOBSTER bio-model 
    1818   !!--------------------------------------------------------------------- 
    19    LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
    20    LOGICAL, PUBLIC, PARAMETER ::   lk_p4z        = .FALSE. !: p4z flag  
     19   INTEGER, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
     20   INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  1      !: p4z flag  
    2121   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  6      !: number of passive tracers 
    2222   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  =  19     !: additional 2d output  
     
    4141   !!--------------------------------------------------------------------- 
    4242   LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
    43    LOGICAL, PUBLIC, PARAMETER ::   lk_p4z        = .TRUE. !: p4z flag  
     43   INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  2      !: p4z flag  
    4444   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .TRUE.  !: Kriest flag  
    4545   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  23     !: number of passive tracers 
     
    8080   !!--------------------------------------------------------------------- 
    8181   LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
    82    LOGICAL, PUBLIC, PARAMETER ::   lk_p4z        = .TRUE.  !: p4z flag  
     82   INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  2  !: p4z flag  
    8383   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .FALSE. !: Kriest flag  
    8484   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     = 24      !: number of PISCES passive tracers 
     
    115115   INTEGER, PUBLIC, PARAMETER ::   jpnh4 = 24    !: Ammonium Concentration 
    116116 
     117#elif defined key_pisces_quota  &&  defined key_kriest 
     118   !!--------------------------------------------------------------------- 
     119   !!   'key_pisces' & 'key_kriest'                 PISCES bio-model + ??? 
     120   !!--------------------------------------------------------------------- 
     121   LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
     122   INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  3 !: p4z flag  
     123   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .TRUE.  !: Kriest flag  
     124   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  36     !: number of passive tracers 
     125   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  =  13     !: additional 2d output  
     126   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d  =  18     !: additional 3d output  
     127   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd =   1     !: number of sms trends for PISCES 
     128 
     129   ! assign an index in trc arrays for each LOBSTER prognostic variables 
     130   !    WARNING: be carefull about the order when reading the restart 
     131        !   !!gm  this warning should be obsolet with IOM 
     132   INTEGER, PUBLIC, PARAMETER ::   jpdic =  1    !: dissolved inoganic carbon concentration  
     133   INTEGER, PUBLIC, PARAMETER ::   jptal =  2    !: total alkalinity  
     134   INTEGER, PUBLIC, PARAMETER ::   jpoxy =  3    !: oxygen carbon concentration  
     135   INTEGER, PUBLIC, PARAMETER ::   jpcal =  4    !: calcite  concentration  
     136   INTEGER, PUBLIC, PARAMETER ::   jppo4 =  5    !: phosphate concentration  
     137   INTEGER, PUBLIC, PARAMETER ::   jppoc =  6    !: small particulate organic phosphate concentration 
     138   INTEGER, PUBLIC, PARAMETER ::   jpsil =  7    !: silicate concentration 
     139   INTEGER, PUBLIC, PARAMETER ::   jpphy =  8    !: phytoplancton concentration  
     140   INTEGER, PUBLIC, PARAMETER ::   jpzoo =  9    !: zooplancton concentration 
     141   INTEGER, PUBLIC, PARAMETER ::   jpdoc = 10    !: dissolved organic carbon concentration  
     142   INTEGER, PUBLIC, PARAMETER ::   jpdia = 11    !: Diatoms Concentration 
     143   INTEGER, PUBLIC, PARAMETER ::   jpmes = 12    !: Mesozooplankton Concentration 
     144   INTEGER, PUBLIC, PARAMETER ::   jpdsi = 13    !: (big) Silicate Concentration 
     145   INTEGER, PUBLIC, PARAMETER ::   jpfer = 14    !: Iron Concentration 
     146   INTEGER, PUBLIC, PARAMETER ::   jpnum = 15    !: Big iron particles Concentration 
     147   INTEGER, PUBLIC, PARAMETER ::   jpsfe = 16    !: number of particulate organic phosphate concentration 
     148   INTEGER, PUBLIC, PARAMETER ::   jpdfe = 17    !: Diatoms iron Concentration 
     149   INTEGER, PUBLIC, PARAMETER ::   jpgsi = 18    !: Diatoms Silicate Concentration 
     150   INTEGER, PUBLIC, PARAMETER ::   jpnfe = 19    !: Nano iron Concentration 
     151   INTEGER, PUBLIC, PARAMETER ::   jpnch = 20    !: Nano Chlorophyll Concentration 
     152   INTEGER, PUBLIC, PARAMETER ::   jpdch = 21    !: Diatoms Chlorophyll Concentration 
     153   INTEGER, PUBLIC, PARAMETER ::   jpno3 = 22    !: Nitrates Concentration 
     154   INTEGER, PUBLIC, PARAMETER ::   jpnh4 = 23    !: Ammonium Concentration 
     155   INTEGER, PUBLIC, PARAMETER ::   jpdon = 24    !: dissolved organic nitrogen concentration 
     156   INTEGER, PUBLIC, PARAMETER ::   jpdop = 25    !: dissolved organic phosphorus concentration 
     157   INTEGER, PUBLIC, PARAMETER ::   jppon = 26    !: small particulate organic nitrogen concentration 
     158   INTEGER, PUBLIC, PARAMETER ::   jppop = 27    !: small particulate organic phosphorus concentration 
     159   INTEGER, PUBLIC, PARAMETER ::   jpnph = 28    !: small particulate organic phosphorus concentration 
     160   INTEGER, PUBLIC, PARAMETER ::   jppph = 29    !: small particulate organic phosphorus concentration 
     161   INTEGER, PUBLIC, PARAMETER ::   jpndi = 30    !: small particulate organic phosphorus concentration 
     162   INTEGER, PUBLIC, PARAMETER ::   jppdi = 31    !: small particulate organic phosphorus concentration 
     163   INTEGER, PUBLIC, PARAMETER ::   jppic = 32    !: small particulate organic phosphorus concentration 
     164   INTEGER, PUBLIC, PARAMETER ::   jpnpi = 33    !: small particulate organic phosphorus concentration 
     165   INTEGER, PUBLIC, PARAMETER ::   jpppi = 34    !: small particulate organic phosphorus concentration 
     166   INTEGER, PUBLIC, PARAMETER ::   jppfe = 35    !: small particulate organic phosphorus concentration 
     167   INTEGER, PUBLIC, PARAMETER ::   jppch = 36    !: small particulate organic phosphorus concentration 
     168 
     169#elif defined key_pisces_quota 
     170   !!--------------------------------------------------------------------- 
     171   !!   'key_pisces'   :                         standard PISCES bio-model 
     172   !!--------------------------------------------------------------------- 
     173   LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag  
     174   INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  3  !: p4z flag  
     175   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .FALSE. !: Kriest flag  
     176   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     = 39      !: number of PISCES passive tracers 
     177   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  = 13      !: additional 2d output  
     178   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d  = 11      !: additional 3d output  
     179   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd =  1      !: number of sms trends for PISCES 
     180 
     181   ! assign an index in trc arrays for each LOBSTER prognostic variables 
     182   !    WARNING: be carefull about the order when reading the restart 
     183        !   !!gm  this warning should be obsolet with IOM 
     184   INTEGER, PUBLIC, PARAMETER ::   jpdic =  1    !: dissolved inoganic carbon concentration  
     185   INTEGER, PUBLIC, PARAMETER ::   jptal =  2    !: total alkalinity  
     186   INTEGER, PUBLIC, PARAMETER ::   jpoxy =  3    !: oxygen carbon concentration  
     187   INTEGER, PUBLIC, PARAMETER ::   jpcal =  4    !: calcite  concentration  
     188   INTEGER, PUBLIC, PARAMETER ::   jppo4 =  5    !: phosphate concentration  
     189   INTEGER, PUBLIC, PARAMETER ::   jppoc =  6    !: small particulate organic phosphate concentration 
     190   INTEGER, PUBLIC, PARAMETER ::   jpsil =  7    !: silicate concentration 
     191   INTEGER, PUBLIC, PARAMETER ::   jpphy =  8    !: phytoplancton concentration  
     192   INTEGER, PUBLIC, PARAMETER ::   jpzoo =  9    !: zooplancton concentration 
     193   INTEGER, PUBLIC, PARAMETER ::   jpdoc = 10    !: dissolved organic carbon concentration  
     194   INTEGER, PUBLIC, PARAMETER ::   jpdia = 11    !: Diatoms Concentration 
     195   INTEGER, PUBLIC, PARAMETER ::   jpmes = 12    !: Mesozooplankton Concentration 
     196   INTEGER, PUBLIC, PARAMETER ::   jpdsi = 13    !: (big) Silicate Concentration 
     197   INTEGER, PUBLIC, PARAMETER ::   jpfer = 14    !: Iron Concentration 
     198   INTEGER, PUBLIC, PARAMETER ::   jpbfe = 15    !: Big iron particles Concentration 
     199   INTEGER, PUBLIC, PARAMETER ::   jpgoc = 16    !: big particulate organic phosphate concentration 
     200   INTEGER, PUBLIC, PARAMETER ::   jpsfe = 17    !: Small iron particles Concentration 
     201   INTEGER, PUBLIC, PARAMETER ::   jpdfe = 18    !: Diatoms iron Concentration 
     202   INTEGER, PUBLIC, PARAMETER ::   jpgsi = 19    !: Diatoms Silicate Concentration 
     203   INTEGER, PUBLIC, PARAMETER ::   jpnfe = 20    !: Nano iron Concentration 
     204   INTEGER, PUBLIC, PARAMETER ::   jpnch = 21    !: Nano Chlorophyll Concentration 
     205   INTEGER, PUBLIC, PARAMETER ::   jpdch = 22    !: Diatoms Chlorophyll Concentration 
     206   INTEGER, PUBLIC, PARAMETER ::   jpno3 = 23    !: Nitrates Concentration 
     207   INTEGER, PUBLIC, PARAMETER ::   jpnh4 = 24    !: Ammonium Concentration 
     208   INTEGER, PUBLIC, PARAMETER ::   jpdon = 25    !: dissolved organic nitrogen concentration 
     209   INTEGER, PUBLIC, PARAMETER ::   jpdop = 26    !: dissolved organic phosphorus concentration 
     210   INTEGER, PUBLIC, PARAMETER ::   jppon = 27    !: small particulate organic nitrogen concentration 
     211   INTEGER, PUBLIC, PARAMETER ::   jppop = 28    !: small particulate organic phosphorus concentration 
     212   INTEGER, PUBLIC, PARAMETER ::   jpgon = 29    !: big particulate organic nitrogen concentration 
     213   INTEGER, PUBLIC, PARAMETER ::   jpgop = 30    !: big particulate organic phosphate concentration 
     214   INTEGER, PUBLIC, PARAMETER ::   jpnph = 31    !: big particulate organic phosphate concentration 
     215   INTEGER, PUBLIC, PARAMETER ::   jppph = 32    !: big particulate organic phosphate concentration 
     216   INTEGER, PUBLIC, PARAMETER ::   jpndi = 33    !: big particulate organic phosphate concentration 
     217   INTEGER, PUBLIC, PARAMETER ::   jppdi = 34    !: big particulate organic phosphate concentration 
     218   INTEGER, PUBLIC, PARAMETER ::   jppic = 35    !: big particulate organic phosphate concentration 
     219   INTEGER, PUBLIC, PARAMETER ::   jpnpi = 36    !: big particulate organic phosphate concentration 
     220   INTEGER, PUBLIC, PARAMETER ::   jpppi = 37    !: big particulate organic phosphate concentration 
     221   INTEGER, PUBLIC, PARAMETER ::   jppfe = 38    !: big particulate organic phosphate concentration 
     222   INTEGER, PUBLIC, PARAMETER ::   jppch = 39    !: big particulate organic phosphate concentration 
     223 
     224 
    117225#else 
    118226   !!--------------------------------------------------------------------- 
     
    120228   !!--------------------------------------------------------------------- 
    121229   LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .FALSE.  !: PISCES flag  
    122    LOGICAL, PUBLIC, PARAMETER ::   lk_p4z        = .FALSE.  !: p4z flag  
     230   LOGICAL, PUBLIC, PARAMETER ::   nn_p4z        =  0  !: p4z flag  
    123231   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  0       !: No CFC tracers 
    124232   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  =  0       !: No CFC additional 2d output arrays  
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r4529 r5266  
    77   !!             3.2  !  2009-04 (C. Ethe & NEMO team) style 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_pisces || defined key_pisces_reduced  
     9#if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota  
    1010   !!---------------------------------------------------------------------- 
    1111   !!   'key_pisces'                                         PISCES model 
     
    2929   !                                                       !:  PISCES  : silicon dependant half saturation 
    3030 
    31 #if defined key_pisces  
     31#if defined key_pisces || defined key_pisces_quota  
    3232   !!*  Time variables 
    3333   INTEGER  ::   nrdttrc           !: ??? 
     
    7272   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimphy    !: ??? 
    7373   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimdia    !: ??? 
     74#if ! defined key_pisces_quota 
    7475   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   concdfe    !: ??? 
    7576   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   concnfe    !: ??? 
     77#endif 
    7678   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimnfe    !: ??? 
    7779   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimdfe    !: ??? 
    7880   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimsi     !: ??? 
    7981   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   biron      !: bioavailable fraction of iron 
    80  
    8182 
    8283   !!*  SMS for the organic matter 
     
    115116 
    116117#endif 
     118 
     119# if defined key_pisces_quota 
     120   !!*  Biological parameters  
     121   REAL(wp) ::   no3rat3           !: ??? 
     122   REAL(wp) ::   po4rat3           !: ??? 
     123 
     124   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xpicono3   !: ??? 
     125   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xpiconh4   !: ??? 
     126   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xpicopo4   !: ??? 
     127   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xnanodop   !: ??? 
     128   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xpicodop   !: ??? 
     129   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xdiatdop   !: ??? 
     130   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xnanofer   !: ??? 
     131   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xpicofer   !: ??? 
     132   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xdiatfer   !: ??? 
     133   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimpic    !: ??? 
     134   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   xlimpfe    !: ??? 
     135   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   fvnuptk 
     136   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   fvpuptk 
     137   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)  ::   fvduptk 
     138 
     139   !!*  Allometric variations of the quotas 
     140   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqnnmin    !: ??? 
     141   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqnnmax    !: ??? 
     142   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqpnmin    !: ??? 
     143   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqpnmax    !: ??? 
     144   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqnpmin    !: ??? 
     145   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqnpmax    !: ??? 
     146   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqppmin    !: ??? 
     147   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqppmax    !: ??? 
     148   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqndmin    !: ??? 
     149   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqndmax    !: ??? 
     150   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqpdmin    !: ??? 
     151   REAL(wp), ALLOCATABLE, SAVE,   DIMENSION(:,:,:)  ::   xqpdmax    !: ??? 
     152 
     153   !!*  SMS for the organic matter 
     154   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sizen      !: size of diatoms  
     155   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sizep      !: size of diatoms  
     156   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sized      !: size of diatoms  
     157 
     158#endif 
    117159   !!---------------------------------------------------------------------- 
    118160   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     
    127169      !!---------------------------------------------------------------------- 
    128170      USE lib_mpp , ONLY: ctl_warn 
     171#if defined key_pisces_quota 
     172      INTEGER ::   ierr(9)        ! Local variables 
     173#else 
    129174      INTEGER ::   ierr(6)        ! Local variables 
     175#endif 
    130176      !!---------------------------------------------------------------------- 
    131177      ierr(:) = 0 
     
    133179      ALLOCATE( etot(jpi,jpj,jpk), neln(jpi,jpj), heup(jpi,jpj), xksi(jpi,jpj), STAT=ierr(1) ) 
    134180      ! 
    135 #if defined key_pisces 
     181#if defined key_pisces || defined key_pisces_quota 
    136182      !*  Biological fluxes for primary production 
    137183      ALLOCATE( xksimax(jpi,jpj)     , biron   (jpi,jpj,jpk),       & 
     
    140186         &      xnanopo4(jpi,jpj,jpk), xdiatpo4(jpi,jpj,jpk),       & 
    141187         &      xlimphy (jpi,jpj,jpk), xlimdia (jpi,jpj,jpk),       & 
     188#if ! defined key_pisces_quota 
     189         &      concnfe (jpi,jpj,jpk), concdfe (jpi,jpj,jpk),       & 
     190#endif 
    142191         &      xlimnfe (jpi,jpj,jpk), xlimdfe (jpi,jpj,jpk),       & 
    143          &      xlimsi  (jpi,jpj,jpk), concdfe (jpi,jpj,jpk),       & 
    144          &      concnfe (jpi,jpj,jpk),                           STAT=ierr(2) )  
     192         &      xlimsi  (jpi,jpj,jpk), STAT=ierr(2) ) 
    145193         ! 
    146194      !*  SMS for the organic matter 
    147       ALLOCATE( xfracal (jpi,jpj,jpk), nitrfac(jpi,jpj,jpk),       & 
    148          &      xlimbac (jpi,jpj,jpk), xdiss  (jpi,jpj,jpk),       &  
     195      ALLOCATE( xfracal (jpi,jpj,jpk), nitrfac (jpi,jpj,jpk),      & 
     196         &      xlimbac (jpi,jpj,jpk), xdiss   (jpi,jpj,jpk),      &  
    149197         &      xlimbacl(jpi,jpj,jpk), prodcal(jpi,jpj,jpk),     STAT=ierr(3) ) 
    150198 
     
    161209      ALLOCATE( xnegtr(jpi,jpj,jpk)  ,                           STAT=ierr(6) ) 
    162210#endif 
     211 
     212#if defined key_pisces_quota 
     213      !*  Biological arrays for phytoplankton growth 
     214      ALLOCATE( xpicono3(jpi,jpj,jpk), xpiconh4(jpi,jpj,jpk),       & 
     215         &      xpicopo4(jpi,jpj,jpk), xpicodop(jpi,jpj,jpk),       & 
     216         &      xnanodop(jpi,jpj,jpk), xdiatdop(jpi,jpj,jpk),       & 
     217         &      xnanofer(jpi,jpj,jpk), xdiatfer(jpi,jpj,jpk),       & 
     218         &      xpicofer(jpi,jpj,jpk), xlimpfe (jpi,jpj,jpk),       & 
     219         &      fvnuptk (jpi,jpj,jpk), fvduptk (jpi,jpj,jpk),       & 
     220         &      fvpuptk (jpi,jpj,jpk), xlimpic (jpi,jpj,jpk),       & 
     221         &      STAT=ierr(7) ) 
     222 
     223      !*  Minimum/maximum quotas of phytoplankton 
     224      ALLOCATE( xqnnmin (jpi,jpj,jpk), xqnnmax(jpi,jpj,jpk),       & 
     225         &      xqpnmin (jpi,jpj,jpk), xqpnmax(jpi,jpj,jpk),       & 
     226         &      xqnpmin (jpi,jpj,jpk), xqnpmax(jpi,jpj,jpk),       & 
     227         &      xqppmin (jpi,jpj,jpk), xqppmax(jpi,jpj,jpk),       & 
     228         &      xqndmin (jpi,jpj,jpk), xqndmax(jpi,jpj,jpk),       & 
     229         &      xqpdmin (jpi,jpj,jpk), xqpdmax(jpi,jpj,jpk),     STAT=ierr(8) ) 
     230         ! 
     231      !*  Size of phytoplankton cells 
     232      ALLOCATE( sizen   (jpi,jpj,jpk), sizep   (jpi,jpj,jpk),      & 
     233         &      sized   (jpi,jpj,jpk), STAT=ierr(9) ) 
     234         ! 
     235#endif 
     236 
    163237      ! 
    164238      sms_pisces_alloc = MAXVAL( ierr ) 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

    r4521 r5266  
    1111   !!             3.5  !  2012-05  (C. Ethe) Merge PISCES-LOBSTER 
    1212   !!---------------------------------------------------------------------- 
    13 #if defined key_pisces || defined key_pisces_reduced 
     13#if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota 
    1414   !!---------------------------------------------------------------------- 
    1515   !!   'key_pisces'                                       PISCES bio-model 
     
    4343      !!---------------------------------------------------------------------- 
    4444 
    45       IF( lk_p4z ) THEN  ;   CALL p4z_ini   !  PISCES 
    46       ELSE               ;   CALL p2z_ini   !  LOBSTER 
    47       ENDIF 
     45      SELECT CASE ( nn_p4z ) 
     46      ! 
     47        CASE(1)          ;   CALL p2z_ini   !  LOBSTER 
     48        CASE(2)          ;   CALL p4z_ini   !  PISCES 
     49        CASE(3)          ;   CALL p5z_ini   !  PISCES QUOTA 
     50 
     51      END SELECT 
    4852 
    4953   END SUBROUTINE trc_ini_pisces 
     54 
     55   SUBROUTINE p5z_ini 
     56      !!---------------------------------------------------------------------- 
     57      !!                   ***  ROUTINE p5z_ini *** 
     58      !! 
     59      !! ** Purpose :   Initialisation of the PISCES biochemical model 
     60      !!                with variable stoichiometry 
     61      !!---------------------------------------------------------------------- 
     62#if defined key_pisces_quota  
     63      ! 
     64      USE p5zsms          ! Main P4Z routine 
     65      USE p4zche          !  Chemical model 
     66      USE p5zsink         !  vertical flux of particulate matter due to sinking 
     67      USE p4zopt          !  optical model 
     68      USE p4zsbc          !  Boundary conditions 
     69      USE p4zfechem       !  Iron chemistry 
     70      USE p5zrem          !  Remineralisation of organic matter 
     71      USE p4zflx          !  Gas exchange 
     72      USE p5zlim          !  Co-limitations of differents nutrients 
     73      USE p5zprod         !  Growth rate of the 2 phyto groups 
     74      USE p5zmicro        !  Sources and sinks of microzooplankton 
     75      USE p5zmeso         !  Sources and sinks of mesozooplankton 
     76      USE p5zmort         !  Mortality terms for phytoplankton 
     77      USE p4zlys          !  Calcite saturation 
     78      ! 
     79      REAL(wp), SAVE :: sco2   =  2.312e-3_wp 
     80      REAL(wp), SAVE :: alka0  =  2.423e-3_wp 
     81      REAL(wp), SAVE :: oxyg0  =  177.6e-6_wp  
     82      REAL(wp), SAVE :: po4    =  2.174e-6_wp  
     83      REAL(wp), SAVE :: bioma0 =  1.000e-8_wp   
     84      REAL(wp), SAVE :: silic1 =  91.65e-6_wp   
     85      REAL(wp), SAVE :: no3    =  31.04e-6_wp * 7.625_wp 
     86      ! 
     87      INTEGER  ::  ji, jj, jk, ierr 
     88      REAL(wp) ::  zcaralk, zbicarb, zco3 
     89      REAL(wp) ::  ztmas, ztmas1 
     90      !!---------------------------------------------------------------------- 
     91 
     92      IF(lwp) WRITE(numout,*) 
     93      IF(lwp) WRITE(numout,*) ' p5z_ini :   PISCES biochemical model initialisation' 
     94      IF(lwp) WRITE(numout,*) '             With variable stoichiometry' 
     95      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
     96 
     97                                                 ! Allocate PISCES arrays 
     98      ierr =         sms_pisces_alloc()           
     99      ierr = ierr +  p4z_che_alloc() 
     100      ierr = ierr +  p5z_sink_alloc() 
     101      ierr = ierr +  p4z_opt_alloc() 
     102      ierr = ierr +  p5z_prod_alloc() 
     103      ierr = ierr +  p5z_rem_alloc() 
     104      ierr = ierr +  p4z_flx_alloc() 
     105      ! 
     106      IF( lk_mpp    )   CALL mpp_sum( ierr ) 
     107      IF( ierr /= 0 )   CALL ctl_stop( 'STOP', 'pisces_alloc: unable to allocate PISCES arrays' ) 
     108      ! 
     109      CALL p5z_sms_init       !  Maint routine 
     110      !                                            ! Time-step 
     111      rfact   = rdttrc(1)                          ! --------- 
     112      rfactr  = 1. / rfact 
     113      rfact2  = rfact / FLOAT( nrdttrc ) 
     114      rfact2r = 1. / rfact2 
     115 
     116      IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdttra(1) 
     117      IF(lwp) write(numout,*) '    PISCES  Biology time step    rfact2 = ', rfact2 
     118 
     119      ! Set biological ratios 
     120      ! --------------------- 
     121      rno3    =  16._wp / 122._wp 
     122      po4r    =   1._wp / 122._wp 
     123      o2nit   =  32._wp / 122._wp 
     124      rdenit  = 105._wp /  16._wp 
     125      rdenita =   3._wp /  5._wp 
     126      o2ut    = 133._wp / 122._wp 
     127      no3rat3 = no3rat3 / rno3 
     128      po4rat3 = po4rat3 / po4r 
     129 
     130      ! Initialization of tracer concentration in case of  no restart  
     131      !-------------------------------------------------------------- 
     132      IF( .NOT. ln_rsttr ) THEN   
     133          
     134         trn(:,:,:,jpdic) = sco2 
     135         trn(:,:,:,jpdoc) = bioma0 
     136         trn(:,:,:,jpdon) = bioma0 
     137         trn(:,:,:,jpdop) = bioma0 
     138         trn(:,:,:,jptal) = alka0 
     139         trn(:,:,:,jpoxy) = oxyg0 
     140         trn(:,:,:,jpcal) = bioma0 
     141         trn(:,:,:,jppo4) = po4 / po4r 
     142         trn(:,:,:,jppoc) = bioma0 
     143         trn(:,:,:,jppon) = bioma0 
     144         trn(:,:,:,jppop) = bioma0 
     145#  if ! defined key_kriest 
     146         trn(:,:,:,jpgoc) = bioma0 
     147         trn(:,:,:,jpgon) = bioma0 
     148         trn(:,:,:,jpgop) = bioma0 
     149         trn(:,:,:,jpbfe) = bioma0 * 5.e-6 
     150#  else 
     151         trn(:,:,:,jpnum) = bioma0 / ( 6. * xkr_massp ) 
     152#  endif 
     153         trn(:,:,:,jpsil) = silic1 
     154         trn(:,:,:,jpdsi) = bioma0 * 0.15 
     155         trn(:,:,:,jpgsi) = bioma0 * 5.e-6 
     156         trn(:,:,:,jpphy) = bioma0 
     157         trn(:,:,:,jpnph) = bioma0 
     158         trn(:,:,:,jppph) = bioma0 
     159         trn(:,:,:,jppic) = bioma0 
     160         trn(:,:,:,jpnpi) = bioma0 
     161         trn(:,:,:,jpppi) = bioma0 
     162         trn(:,:,:,jpdia) = bioma0 
     163         trn(:,:,:,jpndi) = bioma0 
     164         trn(:,:,:,jppdi) = bioma0 
     165         trn(:,:,:,jpzoo) = bioma0 
     166         trn(:,:,:,jpmes) = bioma0 
     167         trn(:,:,:,jpfer) = 0.6E-9 
     168         trn(:,:,:,jpsfe) = bioma0 * 5.e-6 
     169         trn(:,:,:,jppfe) = bioma0 * 5.e-6 
     170         trn(:,:,:,jpdfe) = bioma0 * 5.e-6 
     171         trn(:,:,:,jpnfe) = bioma0 * 5.e-6 
     172         trn(:,:,:,jpnch) = bioma0 * 12. / 55. 
     173         trn(:,:,:,jppch) = bioma0 * 12. / 55. 
     174         trn(:,:,:,jpdch) = bioma0 * 12. / 55. 
     175         trn(:,:,:,jpno3) = no3 
     176         trn(:,:,:,jpnh4) = bioma0 
     177 
     178         ! initialize the half saturation constant for silicate 
     179         ! ---------------------------------------------------- 
     180         xksi(:,:)    = 2.e-6 
     181         xksimax(:,:) = xksi(:,:) 
     182      END IF 
     183 
     184      ! Time step duration for biology 
     185      xstep = rfact2 / rday 
     186 
     187      CALL p5z_sink_init      !  vertical flux of particulate organic matter 
     188      CALL p4z_opt_init       !  Optic: PAR in the water column 
     189      CALL p5z_lim_init       !  co-limitations by the various nutrients 
     190      CALL p5z_prod_init      !  phytoplankton growth rate over the global ocean. 
     191      CALL p4z_sbc_init       !  boundary conditions 
     192      CALL p4z_fechem_init    !  Iron chemistry 
     193      CALL p5z_rem_init       !  remineralisation 
     194      CALL p5z_mort_init      !  phytoplankton mortality  
     195      CALL p5z_micro_init     !  microzooplankton 
     196      CALL p5z_meso_init      !  mesozooplankton 
     197      CALL p4z_lys_init       !  calcite saturation 
     198      CALL p4z_flx_init       !  gas exchange  
     199 
     200      ndayflxtr = 0 
     201 
     202      IF(lwp) WRITE(numout,*)  
     203      IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done' 
     204      IF(lwp) WRITE(numout,*)  
     205#endif 
     206      ! 
     207   END SUBROUTINE p5z_ini 
    50208 
    51209   SUBROUTINE p4z_ini 
     
    74232      REAL(wp), SAVE :: sco2   =  2.312e-3_wp 
    75233      REAL(wp), SAVE :: alka0  =  2.423e-3_wp 
    76       REAL(wp), SAVE :: oxyg0  =  177.6e-6_wp  
    77       REAL(wp), SAVE :: po4    =  2.174e-6_wp  
    78       REAL(wp), SAVE :: bioma0 =  1.000e-8_wp   
    79       REAL(wp), SAVE :: silic1 =  91.65e-6_wp   
     234      REAL(wp), SAVE :: oxyg0  =  177.6e-6_wp 
     235      REAL(wp), SAVE :: po4    =  2.174e-6_wp 
     236      REAL(wp), SAVE :: bioma0 =  1.000e-8_wp 
     237      REAL(wp), SAVE :: silic1 =  91.65e-6_wp 
    80238      REAL(wp), SAVE :: no3    =  31.04e-6_wp * 7.625_wp 
    81239      ! 
     
    90248 
    91249                                                 ! Allocate PISCES arrays 
    92       ierr =         sms_pisces_alloc()           
     250      ierr =         sms_pisces_alloc() 
    93251      ierr = ierr +  p4z_che_alloc() 
    94252      ierr = ierr +  p4z_sink_alloc() 
     
    125283      ! Initialization of tracer concentration in case of  no restart  
    126284      !-------------------------------------------------------------- 
    127       IF( .NOT. ln_rsttr ) THEN   
    128           
     285      IF( .NOT. ln_rsttr ) THEN 
     286 
    129287         trn(:,:,:,jpdic) = sco2 
    130288         trn(:,:,:,jpdoc) = bioma0 
     
    180338      ndayflxtr = 0 
    181339 
    182       IF(lwp) WRITE(numout,*)  
     340      IF(lwp) WRITE(numout,*) 
    183341      IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done' 
    184       IF(lwp) WRITE(numout,*)  
     342      IF(lwp) WRITE(numout,*) 
    185343#endif 
    186344      ! 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90

    r4624 r5266  
    99   !!             2.0  !  2007-12  (C. Ethe, G. Madec) from trcnam.pisces.h90 
    1010   !!---------------------------------------------------------------------- 
    11 #if defined key_pisces || defined key_pisces_reduced 
     11#if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota 
    1212   !!---------------------------------------------------------------------- 
    1313   !!   'key_pisces'   :                                   PISCES bio-model 
     
    6666#if defined key_pisces 
    6767      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES namelist' 
     68#elif defined key_pisces_quota 
     69      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES-QUOTA namelist' 
    6870#else 
    6971      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read LOBSTER namelist' 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r4147 r5266  
    77   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_pisces || defined key_pisces_reduced 
     9#if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota 
    1010   !!---------------------------------------------------------------------- 
    1111   !!   'key_pisces'                                       PISCES bio-model 
     
    1414   !!---------------------------------------------------------------------- 
    1515   USE par_pisces 
     16   USE p5zsms 
    1617   USE p4zsms 
    1718   USE p2zsms 
     
    4849      !!--------------------------------------------------------------------- 
    4950      ! 
    50       IF( lk_p4z ) THEN  ;   CALL p4z_sms( kt )   !  PISCES 
    51       ELSE               ;   CALL p2z_sms( kt )   !  LOBSTER 
    52       ENDIF 
     51      SELECT CASE ( nn_p4z ) 
     52 
     53      CASE(1)       ;        CALL p2z_sms( kt )   !  LOBSTER 
     54      CASE(2)       ;        CALL p4z_sms( kt )   !  PISCES 
     55      CASE(3)       ;        CALL p5z_sms( kt )   !  PISCES with variable stoichiometry 
     56 
     57      END SELECT 
    5358 
    5459      ! 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcwri_pisces.F90

    r4292 r5266  
    66   !! History :   1.0  !  2009-05 (C. Ethe)  Original code 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_top && defined key_iomput && ( defined key_pisces || defined key_pisces_reduced ) 
     8#if defined key_top && defined key_iomput && ( defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota) 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_pisces or key_pisces_reduced'                     PISCES model 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90

    r4509 r5266  
    133133         SELECT CASE ( nn_ctls_trc )                                ! choice of the control surface 
    134134            CASE ( -2  )   ;   STOP 'trdmld_trc : not ready '     !     -> isopycnal surface (see ???) 
    135 #if defined key_pisces || defined key_pisces_reduced 
     135#if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota 
    136136            CASE ( -1  )   ;   nmld_trc(:,:) = neln(:,:)          !     -> euphotic layer with light criterion 
    137137#endif 
  • branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r4611 r5266  
    183183      ! 
    184184      ALLOCATE( trn(jpi,jpj,jpk,jptra), trb(jpi,jpj,jpk,jptra), tra(jpi,jpj,jpk,jptra),       &   
    185          &      gtru(jpi,jpj,jpk)     , gtrv(jpi,jpj,jpk)                             ,       & 
     185         &      gtru(jpi,jpj,jptra)   , gtrv(jpi,jpj,jptra)                           ,       & 
    186186         &      cvol(jpi,jpj,jpk)     , rdttrc(jpk)           , trai(jptra)           ,       & 
    187187         &      ctrcnm(jptra)         , ctrcln(jptra)         , ctrcun(jptra)         ,       &  
Note: See TracChangeset for help on using the changeset viewer.