- Timestamp:
- 2020-03-11T16:02:54+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/sms_pisces.F90
r12349 r12537 2 2 !!---------------------------------------------------------------------- 3 3 !! *** sms_pisces.F90 *** 4 !! TOP : PISCES Source Minus Sink variables 4 !! TOP : PISCES Source Minus Sink variables are declared and allocated 5 5 !!---------------------------------------------------------------------- 6 6 !! History : 1.0 ! 2000-02 (O. Aumont) original code … … 13 13 PUBLIC 14 14 15 INTEGER :: numnatp_ref = -1 !! Logical units for namelist pisces 16 INTEGER :: numnatp_cfg = -1 !! Logical units for namelist pisces 17 INTEGER :: numonp = -1 !! Logical unit for namelist pisces output 18 19 ! !: PISCES : silicon dependant half saturation 15 INTEGER :: numnatp_ref = -1 !: Logical units for namelist pisces 16 INTEGER :: numnatp_cfg = -1 !: Logical units for namelist pisces 17 INTEGER :: numonp = -1 !: Logical unit for namelist pisces output 20 18 21 19 !!* Model used … … 27 25 28 26 !!* Time variables 29 INTEGER :: nrdttrc !: ??? 30 REAL(wp) :: rfact , rfactr !: ??? 31 REAL(wp) :: rfact2, rfact2r !: ??? 32 REAL(wp) :: xstep !: Time step duration for biology 33 REAL(wp) :: ryyss !: number of seconds per year 34 REAL(wp) :: r1_ryyss !: inverse number of seconds per year 35 27 INTEGER :: nrdttrc !: ??? 28 REAL(wp) :: rfact , rfactr !: time step duration (in seconds) 29 REAL(wp) :: rfact2, rfact2r !: time step duration (in seconds) when timesplitting is activated for PISCES 30 REAL(wp) :: xstep !: Time step duration for biology 31 REAL(wp) :: ryyss !: number of seconds per year 32 REAL(wp) :: r1_ryyss !: inverse number of seconds per year 36 33 37 34 !!* Biological parameters 38 REAL(wp) :: rno3 !: ??? 39 REAL(wp) :: o2ut !: ??? 40 REAL(wp) :: po4r !: ??? 41 REAL(wp) :: rdenit !: ??? 42 REAL(wp) :: rdenita !: ??? 43 REAL(wp) :: o2nit !: ??? 44 REAL(wp) :: wsbio, wsbio2 !: ??? 45 REAL(wp) :: wsbio2max !: ??? 46 REAL(wp) :: wsbio2scale !: ??? 47 REAL(wp) :: xkmort !: ??? 48 REAL(wp) :: ferat3 !: ??? 49 REAL(wp) :: ldocp !: ??? 50 REAL(wp) :: ldocz !: ??? 51 REAL(wp) :: lthet !: ??? 52 REAL(wp) :: no3rat3 !: ??? 53 REAL(wp) :: po4rat3 !: ??? 54 35 REAL(wp) :: rno3 !: C/N stoichiometric ratio 36 REAL(wp) :: o2ut !: O2/N stoichiometric ratio for ammonification 37 REAL(wp) :: po4r !: C/P stoichiometric ratio 38 REAL(wp) :: rdenit !: C/N ratio for denitrification 39 REAL(wp) :: rdenita !: C/N ratio for denitrification 40 REAL(wp) :: o2nit !: O2/N ratio for nitrification 41 REAL(wp) :: wsbio, wsbio2 !: Sinking speeds of particles 42 REAL(wp) :: wsbio2max !: Maximum sinking speed of the largest particles 43 REAL(wp) :: wsbio2scale !: Length scale for the variations of wsbio2 44 REAL(wp) :: xkmort !: Mortality half-saturation constant 45 REAL(wp) :: ferat3 !: Fe/C in heterotrophic organisms 46 REAL(wp) :: ldocp !: Ligand production ratio during PP 47 REAL(wp) :: ldocz !: Ligand production ratio by grazing 48 REAL(wp) :: lthet !: Uptake of ligand by phytoplankton 49 REAL(wp) :: no3rat3 !: C/N ratio of zooplankton 50 REAL(wp) :: po4rat3 !: C/P ratio of zooplankton 55 51 56 52 !!* diagnostic parameters 57 REAL(wp) :: tpp 58 REAL(wp) :: t_oce_co2_exp 59 REAL(wp) :: t_oce_co2_flx 60 REAL(wp) :: t_oce_co2_flx_cum 61 REAL(wp) :: t_atm_co2_flx 53 REAL(wp) :: tpp !: total primary production 54 REAL(wp) :: t_oce_co2_exp !: total carbon export 55 REAL(wp) :: t_oce_co2_flx !: Total ocean carbon flux 56 REAL(wp) :: t_oce_co2_flx_cum !: Cumulative Total ocean carbon flux 57 REAL(wp) :: t_atm_co2_flx !: global mean of atmospheric pco2 62 58 63 59 !!* restoring 64 LOGICAL :: ln_pisdmp 65 INTEGER :: nn_pisdmp 60 LOGICAL :: ln_pisdmp !: restoring or not of nutrients to a mean value 61 INTEGER :: nn_pisdmp !: frequency of relaxation or not of nutrients to a mean value 66 62 67 63 !!* Mass conservation 68 LOGICAL :: ln_check_mass 69 LOGICAL 64 LOGICAL :: ln_check_mass !: Flag to check mass conservation 65 LOGICAL, PUBLIC :: ln_ironice !: boolean for Fe input from sea ice 70 66 71 67 !!* Biological fluxes for light : variables shared by pisces & lobster … … 75 71 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: etot_ndcy !: PAR over 24h in case of diurnal cycle 76 72 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: enano, ediat !: PAR for phyto, nano and diat 77 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: enanom, ediatm !: PAR for phyto, nano and diat73 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: enanom, ediatm !: mean PAR for phyto, nano and diat 78 74 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: epico !: PAR for pico 79 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: epicom !: PAR for pico75 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: epicom !: mean PAR for pico 80 76 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: emoy !: averaged PAR in the mixed layer 81 77 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: heup_01 !: Absolute euphotic layer depth 82 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksi !: LOBSTER : zooplakton closure78 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksi !: Half-saturation con,stant for diatoms 83 79 84 80 !!* Biological fluxes for primary production 85 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksimax !: ???81 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xksimax !: Maximum half-saturation constant over the year (Si) 86 82 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: biron !: bioavailable fraction of iron 87 83 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: plig !: proportion of iron organically complexed … … 92 88 93 89 !!* SMS for the organic matter 94 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xfracal !: ??95 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac !: ??96 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac2 !: ??97 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: orem !: ??98 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiss !: ??90 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xfracal !: Fraction of nanophytoplankton that are calcifying organisms 91 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac !: OMZ 92 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac2 !: N depleted indice 93 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: orem !: oxic remineralisation 94 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiss !: Shear rate 99 95 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodcal !: Calcite production 100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodpoc !: Calciteproduction101 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: conspoc !: Calcite production102 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodgoc !: Calciteproduction103 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: consgoc !: Calcite production96 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodpoc !: POC production 97 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: conspoc !: POC consumption 98 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prodgoc !: GOC production 99 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: consgoc !: GOC consumption 104 100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: blim !: bacterial production factor 105 101 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sizen !: size of nanophyto … … 111 107 112 108 !!* Variable for chemistry of the CO2 cycle 113 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak13 !: ???114 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak23 !: ???115 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: aksp !: ???116 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: hi !: ???117 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: excess !: ???109 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak13 !: Carbonate chemistry constant 110 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ak23 !: Carbonate chemistry constant 111 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: aksp !: Solubility product of CaCO3 112 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: hi !: Proton concentration 113 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: excess !: CO3 saturation 118 114 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: aphscale !: 119 115 … … 139 135 !!---------------------------------------------------------------------- 140 136 ierr(:) = 0 141 !* Biological fluxes for light : shared variables for pisces & lobster142 137 ALLOCATE( etot(jpi,jpj,jpk), neln(jpi,jpj), heup(jpi,jpj), & 143 138 & heup_01(jpi,jpj) , xksi(jpi,jpj) , STAT=ierr(1) ) … … 145 140 146 141 IF( ln_p4z .OR. ln_p5z ) THEN 147 !* Biological fluxes for light 142 143 !* Optics 148 144 ALLOCATE( enano(jpi,jpj,jpk) , ediat(jpi,jpj,jpk) , & 149 145 & enanom(jpi,jpj,jpk) , ediatm(jpi,jpj,jpk), & 150 146 & etot_ndcy(jpi,jpj,jpk), emoy(jpi,jpj,jpk) , STAT=ierr(2) ) 151 147 152 !* Biological fluxes for primary production148 !* Biological SMS 153 149 ALLOCATE( xksimax(jpi,jpj) , biron(jpi,jpj,jpk) , STAT=ierr(3) ) 154 ! 155 ! * SMS for the organic matter150 151 ! Biological SMS 156 152 ALLOCATE( xfracal (jpi,jpj,jpk), orem(jpi,jpj,jpk) , & 157 & nitrfac(jpi,jpj,jpk) , nitrfac2(jpi,jpj,jpk), &153 & nitrfac(jpi,jpj,jpk) , nitrfac2(jpi,jpj,jpk), & 158 154 & prodcal(jpi,jpj,jpk) , xdiss (jpi,jpj,jpk), & 159 155 & prodpoc(jpi,jpj,jpk) , conspoc(jpi,jpj,jpk) , & … … 161 157 & blim (jpi,jpj,jpk) , STAT=ierr(4) ) 162 158 163 !* Variable for chemistry of the CO2 cycle164 ALLOCATE( ak13 (jpi,jpj,jpk) ,&159 !* Carbonate chemistry 160 ALLOCATE( ak13 (jpi,jpj,jpk) , & 165 161 & ak23(jpi,jpj,jpk) , aksp (jpi,jpj,jpk) , & 166 162 & hi (jpi,jpj,jpk) , excess(jpi,jpj,jpk) , & 167 163 & aphscale(jpi,jpj,jpk), STAT=ierr(5) ) 168 164 ! 169 !* Temperature depend ancy of SMS terms165 !* Temperature dependency of SMS terms 170 166 ALLOCATE( tgfunc (jpi,jpj,jpk) , tgfunc2(jpi,jpj,jpk), & 171 167 & tgfunc3(jpi,jpj,jpk) , STAT=ierr(6) ) 172 168 ! 173 !* Sink ong speed169 !* Sinking speed 174 170 ALLOCATE( wsbio3 (jpi,jpj,jpk) , wsbio4 (jpi,jpj,jpk), & 175 171 & STAT=ierr(7) ) 176 172 ! 173 !* Prognostic ligand 177 174 IF( ln_ligand ) THEN 178 175 ALLOCATE( plig(jpi,jpj,jpk) , STAT=ierr(8) ) … … 181 178 ! 182 179 IF( ln_p5z ) THEN 183 ! 180 ! PISCES-QUOTA specific part 184 181 ALLOCATE( epico(jpi,jpj,jpk) , epicom(jpi,jpj,jpk) , STAT=ierr(9) ) 185 182
Note: See TracChangeset
for help on using the changeset viewer.