- Timestamp:
- 2016-04-08T10:10:11+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r5385 r6453 6 6 !! History : 1.0 ! 2000-02 (O. Aumont) original code 7 7 !! 3.2 ! 2009-04 (C. Ethe & NEMO team) style 8 !! 3.6 ! 2015-05 (O. Aumont) PISCES quota 8 9 !!---------------------------------------------------------------------- 9 #if defined key_pisces || defined key_pisces_reduced 10 #if defined key_pisces || defined key_pisces_reduced || defined key_pisces_quota 10 11 !!---------------------------------------------------------------------- 11 !! 'key_pisces ' PISCES model12 !! 'key_pisces*' PISCES model 12 13 !!---------------------------------------------------------------------- 13 14 USE par_oce … … 22 23 23 24 !!* Biological fluxes for light : variables shared by pisces & lobster 24 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:,:) :: neln !: number of T-levels + 1 in the euphotic layer25 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: heup !: euphotic layer depth26 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,: ,:) :: etot !: par (photosynthetic available radiation)27 !28 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksi !: LOBSTER : zooplakton closure29 ! !: PISCES : silicon dependant half saturation25 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:,:) :: neln !: number of T-levels + 1 in the euphotic layer 26 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: heup !: euphotic layer depth 27 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: heup_01 !: Absolute euphotic layer depth 28 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: etot !: par (photosynthetic available radiation) 29 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksi !: LOBSTER : zooplakton closure 30 ! !: PISCES : silicon dependant half saturation 30 31 31 #if defined key_pisces 32 #if defined key_pisces || defined key_pisces_quota 32 33 !!* Time variables 33 34 INTEGER :: nrdttrc !: ??? … … 38 39 REAL(wp) :: ryyss !: number of seconds per year 39 40 REAL(wp) :: r1_ryyss !: inverse number of seconds per year 40 41 41 42 42 !!* Biological parameters … … 49 49 REAL(wp) :: o2nit !: ??? 50 50 REAL(wp) :: wsbio, wsbio2 !: ??? 51 REAL(wp) :: wsbio2max !: ??? 52 REAL(wp) :: wsbio2scale !: ??? 51 53 REAL(wp) :: xkmort !: ??? 52 54 REAL(wp) :: ferat3 !: ??? 55 #if defined key_ligand 56 REAL(wp) :: wfep !: ??? 57 REAL(wp) :: ldocp !: ??? 58 REAL(wp) :: ldocz !: ??? 59 REAL(wp) :: lthet !: ??? 60 #endif 61 53 62 54 63 !!* diagnostic parameters … … 68 77 !!* Biological fluxes for primary production 69 78 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksimax !: ??? 70 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanono3 !: ???71 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatno3 !: ???72 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanonh4 !: ???73 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatnh4 !: ???74 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanopo4 !: ???75 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatpo4 !: ???76 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimphy !: ???77 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimdia !: ???78 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: concdfe !: ???79 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: concnfe !: ???80 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimnfe !: ???81 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimdfe !: ???82 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimsi !: ???83 79 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: biron !: bioavailable fraction of iron 84 80 #if defined key_ligand 81 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: plig !: proportion of iron organically complexed 82 #endif 85 83 86 84 !!* SMS for the organic matter 87 85 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xfracal !: ?? 88 86 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac !: ?? 89 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimbac !: ?? 90 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimbacl !: ?? 87 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: orem !: ?? 91 88 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiss !: ?? 92 89 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodcal !: Calcite production 90 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodpoc !: Calcite production 91 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: conspoc !: Calcite production 92 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodgoc !: Calcite production 93 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: consgoc !: Calcite production 94 93 95 94 96 !!* Variable for chemistry of the CO2 cycle 95 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: akb3 !: ???96 97 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak13 !: ??? 97 98 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak23 !: ??? 98 99 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: aksp !: ??? 99 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: akw3 !: ???100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: borat !: ???101 100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: hi !: ??? 102 101 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: excess !: ??? … … 116 115 117 116 #endif 117 118 # if defined key_pisces_quota 119 !!* Biological parameters 120 REAL(wp) :: no3rat3 !: ??? 121 REAL(wp) :: po4rat3 !: ??? 122 123 !!* SMS for the organic matter 124 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sizen !: size of diatoms 125 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sizep !: size of diatoms 126 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sized !: size of diatoms 127 128 #endif 118 129 !!---------------------------------------------------------------------- 119 130 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 128 139 !!---------------------------------------------------------------------- 129 140 USE lib_mpp , ONLY: ctl_warn 141 #if defined key_pisces_quota 142 INTEGER :: ierr(6) ! Local variables 143 #else 130 144 INTEGER :: ierr(5) ! Local variables 145 #endif 131 146 !!---------------------------------------------------------------------- 132 147 ierr(:) = 0 133 148 !* Biological fluxes for light : shared variables for pisces & lobster 134 ALLOCATE( etot(jpi,jpj,jpk), neln(jpi,jpj), heup(jpi,jpj), xksi(jpi,jpj), STAT=ierr(1) ) 149 ALLOCATE( etot(jpi,jpj,jpk), neln(jpi,jpj), heup(jpi,jpj), & 150 & heup_01(jpi,jpj), xksi(jpi,jpj), STAT=ierr(1) ) 135 151 ! 136 #if defined key_pisces 152 #if defined key_pisces || defined key_pisces_quota 137 153 !* Biological fluxes for primary production 138 154 ALLOCATE( xksimax(jpi,jpj) , biron (jpi,jpj,jpk), & 139 & xnanono3(jpi,jpj,jpk), xdiatno3(jpi,jpj,jpk), & 140 & xnanonh4(jpi,jpj,jpk), xdiatnh4(jpi,jpj,jpk), & 141 & xnanopo4(jpi,jpj,jpk), xdiatpo4(jpi,jpj,jpk), & 142 & xlimphy (jpi,jpj,jpk), xlimdia (jpi,jpj,jpk), & 143 & xlimnfe (jpi,jpj,jpk), xlimdfe (jpi,jpj,jpk), & 144 & xlimsi (jpi,jpj,jpk), concdfe (jpi,jpj,jpk), & 145 & concnfe (jpi,jpj,jpk), STAT=ierr(2) ) 155 #if defined key_ligand 156 & plig(jpi,jpj,jpk) , & 157 #endif 158 & STAT=ierr(2) ) 146 159 ! 147 160 !* SMS for the organic matter 148 ALLOCATE( xfracal (jpi,jpj,jpk), nitrfac(jpi,jpj,jpk), & 149 & xlimbac (jpi,jpj,jpk), xdiss (jpi,jpj,jpk), & 150 & xlimbacl(jpi,jpj,jpk), prodcal(jpi,jpj,jpk), STAT=ierr(3) ) 161 ALLOCATE( xfracal (jpi,jpj,jpk), nitrfac (jpi,jpj,jpk), & 162 & orem (jpi,jpj,jpk), & 163 & prodcal(jpi,jpj,jpk), xdiss (jpi,jpj,jpk), & 164 & prodpoc(jpi,jpj,jpk) , conspoc(jpi,jpj,jpk), & 165 & prodgoc(jpi,jpj,jpk) , consgoc(jpi,jpj,jpk), STAT=ierr(3) ) 151 166 152 167 !* Variable for chemistry of the CO2 cycle 153 ALLOCATE( ak b3(jpi,jpj,jpk) , ak13 (jpi,jpj,jpk) ,&168 ALLOCATE( ak13 (jpi,jpj,jpk) , & 154 169 & ak23(jpi,jpj,jpk) , aksp (jpi,jpj,jpk) , & 155 & akw3(jpi,jpj,jpk) , borat (jpi,jpj,jpk) , &156 170 & hi (jpi,jpj,jpk) , excess(jpi,jpj,jpk) , STAT=ierr(4) ) 157 171 ! … … 160 174 ! 161 175 #endif 176 #if defined key_pisces_quota 177 !* Size of phytoplankton cells 178 ALLOCATE( sizen (jpi,jpj,jpk), sizep (jpi,jpj,jpk), & 179 & sized (jpi,jpj,jpk), STAT=ierr(6) ) 180 ! 181 #endif 182 162 183 ! 163 184 sms_pisces_alloc = MAXVAL( ierr )
Note: See TracChangeset
for help on using the changeset viewer.