Changeset 336 for trunk/NEMO/TOP_SRC
- Timestamp:
- 2005-11-14T13:13:26+01:00 (18 years ago)
- Location:
- trunk/NEMO/TOP_SRC/SMS
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/SMS/par_sms.F90
r274 r336 1 1 MODULE par_sms 2 !!====================================================================== 3 !! 4 !! PARAMETER SMS 5 !! ******************************* 6 !! 7 !! purpose : 8 !! --------- 9 !! INCLUDE PARAMETER FILE for SMS models 10 !! 11 !!====================================================================== 12 !! TOP 1.0, LOCEAN-IPSL (2005) 13 !! $Header$ 14 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 15 !!---------------------------------------------------------------------- 16 2 !!--------------------------------------------------------------------- 3 !! 4 !! PARAMETER SMS 5 !! ******************************* 6 !! 7 !! purpose : 8 !! --------- 9 !! INCLUDE PARAMETER FILE for SMS models 10 !! 11 !! 17 12 USE par_trc_trp 18 13 IMPLICIT NONE 19 #if defined key_trc_npzd 20 # include "par_sms_npzd.h90" 21 #elif defined key_trc_lobster1 22 # include "par_sms_lobster1.h90" 23 #elif defined key_trc_hamocc3 24 # if defined key_trc_p3zd 25 # include "par_sms_p3zd.h90" 26 # else 27 # include "par_sms_hamocc3.h90" 28 # endif 14 15 #if defined key_trc_lobster1 16 !!---------------------------------------------------------------------- 17 !! 'key_trc_lobster1' LOBSTER1 biological model 18 !!---------------------------------------------------------------------- 19 # include "par_sms_lobster1.h90" 20 21 #elif defined key_trc_pisces 22 !!---------------------------------------------------------------------- 23 !! 'key_trc_pisces' PISCES biological model 24 !!---------------------------------------------------------------------- 25 # include "par_sms_pisces.h90" 26 29 27 #elif defined key_cfc 30 # include "par_sms_cfc.h90" 31 #elif defined key_gosac 32 # include "par_sms_gosac.h90" 33 # elif defined key_trc_pisces34 # include "par_sms_pisces.h90" 28 !!---------------------------------------------------------------------- 29 !! 'key_cfc ' CFC model 30 !!---------------------------------------------------------------------- 31 # include "par_sms_cfc.h90" 32 35 33 #else 36 !! purpose :37 !! ---------38 !! No SMS models34 !! purpose : 35 !! --------- 36 !! No SMS models 39 37 #endif 40 38 -
trunk/NEMO/TOP_SRC/SMS/par_sms_cfc.h90
r274 r336 1 !! 2 !! PARAMETER passivetrc.cfc 3 !! ******************************* 4 !! 5 !! purpose : 6 !! --------- 7 !! INCLUDE PARAMETER FILE for passive tracer CFC 8 !! 9 !! jptra : number of tracers 10 !! 11 !!---------------------------------------------------------------------- 12 !! TOP 1.0, LOCEAN-IPSL (2005) 13 !! $Header$ 14 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 15 !!---------------------------------------------------------------------- 1 !!--------------------------------------------------------------------- 2 !! *** par_sms_cfc.h90 *** 3 !! CFC Source Minus Sink model 4 !!--------------------------------------------------------------------- 16 5 17 INTEGER nsort,nsatm 18 PARAMETER(nsort=8,nsatm=4) 19 !! 20 !! temporal and hemispheric parameter 21 !! -------------------------------------- 22 integer jpyear,jphem 23 parameter (jpyear=100,jphem=2) 6 !!---------------------------------------------------------------------- 7 !! TOP 1.0, LOCEAN-IPSL (2005) 8 !!---------------------------------------------------------------------- 24 9 10 INTEGER , PARAMETER :: & 11 jpyear = 100, & ! temporal parameter 12 jphem = 2 ! hemispheric parameter 13 14 INTEGER, PARAMETER :: & 15 jp11 = 1, & ! CFC-11 16 jp12 = 2 ! CFC-12 -
trunk/NEMO/TOP_SRC/SMS/sms.F90
r274 r336 1 1 MODULE sms 2 3 !!--------------------------------------------------------------------- 4 !! TOP 1.0, LOCEAN-IPSL (2005) 5 !! $Header$ 6 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 7 !!---------------------------------------------------------------------- 8 2 !!====================================================================== 3 !! *** sms *** 4 !! passive tracers : set the passive tracers variables 5 !!====================================================================== 6 !! History : 7 !! 9.0 ! 04-03 (C. Ethe) Free form and module 8 !!---------------------------------------------------------------------- 9 !! TOP 1.0, LOCEAN-IPSL (2005) 10 !!---------------------------------------------------------------------- 11 !! * Modules used 9 12 #if defined key_passivetrc 10 13 … … 13 16 USE par_sms 14 17 IMPLICIT NONE 15 # if defined key_trc_npzd 16 # include "sms_npzd.h90" 17 # endif 18 !! 19 # if defined key_trc_lobster1 20 # include "sms_lobster1.h90" 21 # endif 22 !! 23 # if defined key_trc_hamocc3 24 # if defined key_trc_p3zd 25 # include "sms_p3zd.h90" 26 # else 27 # include "sms_hamocc3.h90" 28 # endif 29 # endif 30 # if defined key_cfc 31 # include "sms_cfc.h90" 32 # endif 33 # if defined key_gosac 34 # include "sms_gosac.h90" 35 # endif 36 # if defined key_trc_age 37 # include "sms_age.h90" 38 # endif 39 # if defined key_trc_pisces 40 # include "sms_pisces.h90" 41 # endif 18 19 #if defined key_trc_lobster1 20 !!---------------------------------------------------------------------- 21 !! 'key_trc_lobster1' LOBSTER1 biological model 22 !!---------------------------------------------------------------------- 23 # include "sms_lobster1.h90" 24 25 #elif defined key_trc_pisces 26 !!---------------------------------------------------------------------- 27 !! 'key_trc_pisces' PISCES biological model 28 !!---------------------------------------------------------------------- 29 # include "sms_pisces.h90" 30 31 #elif defined key_cfc 32 !!---------------------------------------------------------------------- 33 !! 'key_cfc ' CFC model 34 !!---------------------------------------------------------------------- 35 # include "sms_cfc.h90" 36 37 #endif 38 42 39 #else 43 !! 44 !! no passive tracer COMMON specification 45 !! 40 !!====================================================================== 41 !! Empty module : No passive tracer 42 !!====================================================================== 46 43 #endif 47 44 -
trunk/NEMO/TOP_SRC/SMS/sms_cfc.h90
r274 r336 1 !!---------------------------------------------------------------------- 2 !! TOP 1.0, LOCEAN-IPSL (2005) 3 !! $Header$ 4 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 5 !!---------------------------------------------------------------------- 6 #if defined key_cfc 7 integer it 8 !! 9 !! tracer background: xinitri 10 !! -------------------------- 11 real xinitri 12 common/cxinitri/xinitri 13 !! 14 !! boundary condition function for cfc 11 and 12 15 !!---------------------------------------------------------------- 16 #if defined key_ocmip 17 !! 18 !! common pour le coefficient d''echange de gaz 19 !! ------------------------------------------- 20 !! INTEGER nvak, npdtanak, npdtmoak, nmanak, ndemiak 21 !! INTEGER ntrak1, ntrak2, iak 22 !! REAL ak0 (jpi,jpj,12) 23 !! REAL ak (jpi,jpj) 1 !!--------------------------------------------------------------------- 2 !! *** sms_cfc.h90 *** 3 !! CFC Source Minus Sink model 4 !!--------------------------------------------------------------------- 5 6 !!---------------------------------------------------------------------- 7 !! TOP 1.0, LOCEAN-IPSL (2005) 8 !!---------------------------------------------------------------------- 9 10 INTEGER, PUBLIC :: & 11 ndate_beg, & ! initial calendar date (aammjj) for CFC 12 nyear_res, & ! restoring time constant (year) 13 nyear_beg ! initial year (aa) 14 15 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & 16 xphem ! spatial interpolation factor for patm 24 17 25 18 26 !! COMMON/cak/ nvak, npdtanak, npdtmoak, nmanak, ndemiak & 27 !! , ak0, ak & 28 !! , iak, ntrak1, ntrak2 29 #else 30 !! real wspd(jpi,jpj) !wind speed - change to vatm (sea ice model) 31 !! common/cak/wspd 32 #endif 33 #if defined key_patm 34 !! 35 !! common pour la pression partielle atmospherique 36 !! ------------------------------------------------- 37 INTEGER nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm 38 INTEGER ntrpatm1, ntrpatm2, ipatm 39 REAL patm0 (jpi,jpj,12) 40 REAL patm (jpi,jpj) 19 REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jptra) :: & 20 p_cfc ! partial hemispheric pressure for CFC 41 21 42 COMMON/cpatm/ nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm & 43 , patm0, patm & 44 , ipatm, ntrpatm1, ntrpatm2 45 #endif 46 47 !!#if defined key_seaice 48 !! 49 !! common pour glace de mer 50 !! ------------------------ 51 !!#include "common.seaice.h" 52 !!#endif 53 !! 54 !! concentration atmospherique de cfc 55 !! ---------------------------------- 56 !! p11: pression partielle hemispherique de CFC11 57 !! p12: pression partielle hemispherique de CFC12 58 !! xphem: facteur d'interpolation spatial 59 !! de la pression partielle atmospherique 60 !! 61 real p11(jpyear,jphem),p12(jpyear,jphem),xphem(jpi,jpj) 62 !! 63 !! interpolation temporelle des concentrations atmospheriques 64 !! ----------------------------------------------------------- 65 integer iandebf,ianfinf,imoisf,i1,i2 66 real patm11(jphem),patm12(jphem),pp11(jpi,jpj),pp12(jpi,jpj) 67 !! 68 !! solubilite 69 !! ----------- 70 real sol(jpi,jpj,jptra) 71 72 !! nombre de schmidt 73 !! ------------------ 74 real sc_cfc(jpi,jpj,jptra) 75 76 !! concentration a l'equilibre 77 !! ---------------------------- 78 real ca11(jpi,jpj),ca12(jpi,jpj) 79 80 !! coefficients de transfert * nb de schmidt 81 !! ------------------------------------------ 82 real ak11(jpi,jpj),ak12(jpi,jpj) 83 !! 84 common/cocfc_cl/i1,i2,iandebf,ianfinf,p11,p12,xphem, & 85 patm11,patm12,pp11,pp12,sc_cfc,sol,ca11, & 86 ca12,ak11,ak12 87 !! 88 !! common pour flux et bilan 89 !! ------------------------- 90 real erreur 91 real qint0(jptra),qcumul(jptra),tdepart(jptra),tcumul(jptra) 92 real qtr(jpi,jpj,jptra),qint(jpi,jpj,jptra) 93 real bt(jpi,jpj,jpk) 94 common/cocfc_bil/erreur,qint0,qcumul,tdepart,tcumul,qtr,qint,bt 95 !! 96 !! common pour les sorties 97 !! ------------------------ 98 real XIMT(8),xsort(7),SORSEL(jpi,jpj,nsort),XATM(nsatm) 99 real trfi(jpi,jpj,jpk,jptra) 100 common/cfcfc_sor/XIMT,xsort,SORSEL,XATM,trfi 101 #if defined key_cfcmean 102 integer nmoytra 103 real qtram(jpi,jpj,jptra),tsurfm(jpi,jpj),ssurfm(jpi,jpj) 104 common/cfc_sorm/nmoytra,qtram,tsurfm,ssurfm 105 #endif 106 #endif 22 23 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) :: & 24 pp_cfc ! temporal interpolation of atmospheric concentrations 107 25 108 26 27 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) :: & 28 qtr, & ! input function 29 qint ! flux function 30 -
trunk/NEMO/TOP_SRC/SMS/sms_lobster1.h90
r274 r336 15 15 !! 16 16 !!--------------------------------------------------------------------- 17 !! TOP 1.0, LOCEAN-IPSL (2005) 18 !! $Header$ 19 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 17 !! opa8, ipsl (11/96) 20 18 !!--------------------------------------------------------------------- 21 19 !! … … 31 29 !! admin : minimum detritus concentration (NAMELIST) 32 30 !! redf : redfield ratio c:n (NAMELIST) 31 !! reddom : redfield ratio c:n for DOM 33 32 !! slopet : van t hoff coefficient (NAMELIST) 34 33 !! toptp : optimal photosynthesis temperature (NAMELIST) 35 34 !! aknut : half-saturation nutrient (NAMELIST) 36 !! r!!hl : standard carbone/chlorophyl ratio (NAMELIST) 35 !! akno3 : half-saturation for nitrate (NAMELIST) 36 !! aknh4 : half-saturation for ammonium (NAMELIST) 37 !! psinut : inhibition of nitrate uptake by ammonium (NAMELIST) 37 38 !! rgamma : phytoplankton exudation fraction (NAMELIST) 38 39 !! toptgz : optimal temperature for zooplankton growth (NAMELIST) … … 68 69 !! xhr : coeff for Martin's remineralistion profile 69 70 !! 71 !! added by asklod AS Kremeur 2005-03: 72 !! fphylab : NH4 fraction of phytoplankton excretion 73 !! fzoolab : NH4 fraction of zooplankton excretion 74 !! fdetlab : NH4 fraction of detritus dissolution 75 !! fdbod : zooplankton mortality fraction that goes to detritus 70 76 71 77 REAL apmin,azmin,anmin,admin, & 72 redf, slopet,toptp,aknut,rcchl, &78 redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl, & 73 79 rgamma,toptgz,tmaxgz,rgz, & 74 80 rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn, & 75 81 tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn, & 76 82 vsed,tmumax,aki, & 77 tmaxr,tminr,fdoml,taunn,taudomn,xhr 83 tmaxr,tminr,fdoml,taunn,taudomn,xhr, & 84 fphylab,fzoolab,fdetlab,fdbod 78 85 REAL remdmp(jpk,jptra) 79 86 80 87 COMMON/cotbio/ apmin,azmin,anmin,admin, & 81 redf, slopet,toptp,aknut,rcchl, &88 redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl, & 82 89 rgamma,toptgz,tmaxgz,rgz, & 83 90 rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn, & 84 91 tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn, & 85 92 vsed,tmumax,aki, & 86 tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr 93 tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr, & 94 fphylab,fzoolab,fdetlab,fdbod 87 95 !! 88 96 !! … … 111 119 !! 112 120 !! nwritebio: time step frequency for biological outputs (NAMELIST) 121 ! asklod 10-2005: oubli de cette partie dans l update: 122 !! nitb : id for additional array output FILE 123 !! ndepitb : id for depth mesh 124 !! nhoritb : id for horizontal mesh 113 125 !! 114 INTEGER nwritebio 115 COMMON/cibcdf/nwritebio 126 INTEGER nwritebio,nitb,ndepitb,nhoritb 127 COMMON/cibcdf/nwritebio,nitb,ndepitb,nhoritb 116 128 117 129 # endif … … 145 157 !! dmin3 : fraction of sinking POC released at each level 146 158 !! dminl : fraction of sinking POC released in sediments 147 !! sedpoc : mass of POC in sediments 159 !! asklod add sedpocb, sedpocn, sedpoca 17 06 2005 160 !! sedpocb : mass of POC in sediments 161 !! sedpocn : mass of POC in sediments 162 !! sedpoca : mass of POC in sediments 148 163 !! fbod : rapid sinking particles 149 164 !! 150 165 !! 151 166 REAL sedlam,sedlostpoc 152 REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj),sedpoc(jpi,jpj) 167 REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj) 168 REAL sedpoca(jpi,jpj),sedpocb(jpi,jpj),sedpocn(jpi,jpj) 153 169 REAL fbod(jpi,jpj),cmask(jpi,jpj),areacot 154 170 155 COMMON/cotsedim/sedlam,dmin3,dminl,sedpoc,fbod,sedlostpoc, & 156 & cmask, areacot 171 COMMON/cotsedim/sedlam,dmin3,dminl,fbod,sedlostpoc, & 172 & sedpoca, sedpocb, sedpocn, & 173 & cmask, areacot -
trunk/NEMO/TOP_SRC/SMS/sms_pisces.h90
r274 r336 13 13 !! 14 14 !!--------------------------------------------------------------------- 15 !! TOP 1.0, LOCEAN-IPSL (2005) 16 !! $Header$ 17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 15 !! opa8, ipsl (11/96) 18 16 !!--------------------------------------------------------------------- 19 17 !! … … 40 38 !! --------------------------------------------------------------------- 41 39 !! 42 REAL akcc1, akcc2, akcc3, akcc4, devk1 , devk2, devkb43 REAL devk 1t, devk2t, devkbt, devkst, devks40 REAL akcc1, akcc2, akcc3, akcc4, devk1(4), devk2(4) 41 REAL devk3(4), devk4(4), devk5(4), devkst, devks 44 42 REAL bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11 45 43 REAL c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3 46 REAL c14, c15, c16, c17, c24, c25, c26, c27 47 REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11 44 REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11, c14 48 45 REAL cw3, cw4, cw5, cw6, cw0, cw1, cw2, ox0, ox1 49 46 REAL ox2, ox3, ox4, salchl, rgas, oxyco, ox5 50 REAL chemc(jpi,jpj,3) 51 52 COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2, & 53 devkb, devk1t, devk2t, devkbt, devkst, devks, & 54 bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11, & 55 c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3, & 56 c14, c15, c16, c17, c24, c25, c26, c27, cb4, cb5, & 57 cb6, cb7, cb8, cb9, cb10, cb11, cw3, cw4, cw5, cw6, & 58 cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl, & 59 rgas, oxyco, chemc 47 REAL ca0, ca1, ca2, ca3, ca4, ca5, ca6, chemc(jpi,jpj,3) 48 REAL cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21 49 REAL cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33 50 REAL cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16 51 REAL cs17, cs18, cs19 52 53 COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2, & 54 devk3, devk4, devk5, devkst, devks, & 55 bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11, & 56 c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3, & 57 c14, cb4, cb5, ca0, ca1, ca2, ca3, ca4, ca5, ca6, & 58 cb6, cb7, cb8, cb9, cb10, cb11, cw3, cw4, cw5, cw6, & 59 cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl, & 60 cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21, & 61 cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33, & 62 cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16, & 63 cs17, cs18, cs19, rgas, oxyco, chemc 60 64 !! 61 65 !! COMMON/cchem3/ : Variable for chemistry of Fe and SIO3 … … 86 90 !! 87 91 88 INTEGER iabsyr, nrdttrc 92 INTEGER iabsyr, nrdttrc, ndayflxtr 89 93 REAL tspyr, absyr, xtvit 90 94 REAL rfact, rfactr, rfact2, rfact2r 91 95 92 COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, &96 COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, ndayflxtr, & 93 97 rfact, rfactr, rfact2, rfact2r 94 98 … … 120 124 REAL caco3r, rno3, o2ut, po4r 121 125 REAL sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput 122 REAL calcon, rivpo4input, rivnitinput,oxymin,spocri126 REAL calcon, rivpo4input,nitdepinput,oxymin,spocri 123 127 REAL nitrif,rdenit,o2nit,concnnh4,concdnh4 124 REAL pislope,excret,wsbio,wchl,resrat,mprat 128 REAL pislope,excret,wsbio,wchl,resrat,mprat,wchld 125 129 REAL mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort 126 130 REAL xksi1,xksi2,sicmax,xremik,xremip,xkdoc1 … … 129 133 REAL unass2,xprefpoc,epsher,epsher2,pislope2,mpratm 130 134 REAL sigma1, sigma2, zprefc, zprefp, zprefd, wchl2, ferat3 131 REAL xsirem 135 REAL xsirem, fecnm, fecdm, chlcnm, chlcdm 132 136 133 137 134 138 COMMON/cotham/jkopt,caco3r, rno3, o2ut, po4r, & 135 139 sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput, & 136 calcon, rivpo4input, rivnitinput,oxymin,spocri, &140 calcon, rivpo4input,nitdepinput,oxymin,spocri, & 137 141 nitrif,rdenit,o2nit,concnnh4,concdnh4, & 138 pislope,excret,wsbio,wchl,resrat,mprat, &142 pislope,excret,wsbio,wchl,resrat,mprat,wchld, & 139 143 mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort, & 140 144 xksi1,xksi2,sicmax,xremik,xremip,xkdoc1, & … … 143 147 unass2,xprefpoc,epsher,epsher2,pislope2,mpratm, & 144 148 sigma1,sigma2, zprefc, zprefp, zprefd, wchl2, ferat3, & 145 xsirem 149 xsirem, fecnm, fecdm, chlcnm, chlcdm 146 150 147 151 !! … … 163 167 !!---------------------------------------------------------- 164 168 !! 165 REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk) 169 REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk), tgfunc2(jpi,jpj,jpk) 166 170 REAL prcaca(jpi,jpj,jpk), silpro(jpi,jpj,jpk), prorca(jpi,jpj,jpk) 167 171 REAL prorca2(jpi,jpj,jpk),prorca3(jpi,jpj,jpk) … … 174 178 REAL xlimphy(jpi,jpj,jpk),xlimdia(jpi,jpj,jpk) 175 179 REAL xksimax(jpi,jpj), xksi(jpi,jpj) 180 REAL concdfe(jpi,jpj,jpk),xlimdia2(jpi,jpj,jpk) 181 REAL concnfe(jpi,jpj,jpk),znegtr(jpi,jpj,jpk) 182 176 183 177 184 178 185 COMMON/cotppp/prmax,tgfunc,prcaca,silpro,prorca,prorca2, & 179 186 prorca3,prorca4,prorca5,prorca6,prorca7,pronew, & 180 pronew2,proreg,proreg2,xnanono3,xdiatno3, & 181 xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi 187 pronew2,proreg,proreg2,xnanono3,xdiatno3,tgfunc2, & 188 xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi, & 189 concdfe, xlimdia2, concnfe, znegtr 182 190 !! 183 191 !!------------------------------------------ … … 247 255 REAL sinksil(jpi,jpj,jpk),sinkcal(jpi,jpj,jpk) 248 256 REAL nitrfac(jpi,jpj,jpk),xlimbac(jpi,jpj,jpk) 257 REAL wscal(jpi,jpj,jpk) 249 258 250 259 COMMON/cotpdom/sinking2,phymoy,sinking,sinkfer,sinkfer2, & 251 260 xagg,xaggfe,xbact,xaggdoc,xaggdfe,xbactfer,xscave, & 252 261 olimi,orem,orem2,ofer,ofer2,osil,xaggdoc2,wsbio4, & 253 wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss 262 wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss, & 263 wscal 254 264 !! 255 265 !!--------------------------------------------------------- … … 261 271 REAL onitr(jpi,jpj,jpk),denitr(jpi,jpj,jpk) 262 272 REAL dust(jpi,jpj),dustmo(jpi,jpj,12) 263 REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj ,jpk)264 REAL nitdep(jpi,jpj ,jpk)265 REAL ironsed(jpi,jpj,jpk), po4dep(jpi,jpj,jpk)273 REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj) 274 REAL nitdep(jpi,jpj) 275 REAL ironsed(jpi,jpj,jpk),rivinp(jpi,jpj) 266 276 LOGICAL bdustfer, briver, bndepo, bsedinput 267 277 268 278 COMMON/cotesms/onitr,denitr,dust,dustmo,cmask,areacot, & 269 cotdep,nitdep,ironsed, po4dep,bdustfer,briver, &279 cotdep,nitdep,ironsed,rivinp,bdustfer,briver, & 270 280 bndepo,bsedinput 271 281 272 273 282 #endif 274 283 -
trunk/NEMO/TOP_SRC/SMS/trcctl.pisces.h90
r274 r336 1 !!----------------------------------------------------------------------2 !! TOP 1.0, LOCEAN-IPSL (2005)3 !! $Header$4 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt5 !!----------------------------------------------------------------------6 1 #if defined key_trc_pisces 7 2 IF(lwp) WRITE(numout,*) ' use PISCES biological model ' … … 21 16 STOP 'TRC_CTL' 22 17 END IF 23 24 ! check consistency of key_trc_hamocc3 and key_trc_p3zd25 ! ------------------------------------------------------26 27 # if defined key_trc_diaadd28 IF ( jpdia2d /= 16 .AND. jpdia3d /= 9 ) THEN29 IF (lwp) THEN30 WRITE (numout,*) ' ===>>>> : w a r n i n g '31 WRITE (numout,*) ' ======= ============= '32 WRITE (numout,*) &33 & ' STOP, change jpdia2d to 13 and jpdia3d to 2' &34 & ,' in parameter.passivetrc.h ' &35 & ,' (key_trc_pisces and key_trc_diaadd)'36 END IF37 STOP 'TRC_CTL'38 END IF39 40 # endif41 18 #endif -
trunk/NEMO/TOP_SRC/SMS/trcini.lobster1.h90
r274 r336 1 !!--------------------------------------------------------------------- 2 !! 3 !! trcini.lobster1.h 4 !! purpose : 5 !! --------- 6 !! specific initialisation for lobster1 model 7 !! 8 !! History : 9 !! -------- 10 !! original : 99-09 (M. Levy) 11 !! additions : 00-12 (0. Aumont, E. Kestenare) 12 !! add sediment computations 13 !! 03-05 : O. Aumont and A. El Moussaoui F90 14 !!--------------------------------------------------------------------- 15 !! TOP 1.0, LOCEAN-IPSL (2005) 16 !! $Header$ 17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 18 !!--------------------------------------------------------------------- 19 !! local declarations 20 !! ================== 21 INTEGER ji,jj,jk 1 !!---------------------------------------------------------------------- 2 !! *** trcini.lobster1.h90 *** 3 !!---------------------------------------------------------------------- 4 # include "domzgr_substitute.h90" 5 # include "passivetrc_substitute.h90" 6 CONTAINS 7 8 SUBROUTINE trc_ini 9 !!--------------------------------------------------------------------- 10 !! *** ROUTINE trc_ini *** 11 !! purpose : 12 !! --------- 13 !! specific initialisation for lobster1 model 14 !! 15 !! History : 16 !! -------- 17 !! original : 99-09 (M. Levy) 18 !! additions : 00-12 (0. Aumont, E. Kestenare) 19 !! add sediment computations 20 !! 03-05 : O. Aumont and A. El Moussaoui F90 21 !!--------------------------------------------------------------------- 22 !! local declarations 23 !! ================== 24 INTEGER ji,jj,jk,jn 22 25 REAL zdm0(jpi,jpj,jpk),zrro(jpi,jpj),zfluo,zfluu 23 26 REAL ztest 24 27 25 !! 1. initialization of fields for optical model26 !! --------------------------------------------28 !! 1. initialization of fields for optical model 29 !! -------------------------------------------- 27 30 28 29 31 xze(:,:)=5. 32 xpar(:,:,:)=0. 30 33 31 !! 2. initialization for passive tracer remineralisation-damping array32 !! -------------------------------------------------------------------------33 34 !! 2. initialization for passive tracer remineralisation-damping array 35 !! ------------------------------------------------------------------------- 36 34 37 DO jn=1,jptra 35 38 remdmp(:,jn)=tminr 36 39 END DO 37 40 38 41 IF(lwp) THEN 39 40 41 42 WRITE(numout,*) ' ' 43 WRITE(numout,*) ' trcini: compute remineralisation-damping ' 44 WRITE(numout,*) ' arrays for tracers' 42 45 ENDIF 43 46 44 !! 3. initialization of biological variables45 !! ------------------------------------------47 !! 3. initialization of biological variables 48 !! ------------------------------------------ 46 49 47 !! Calculate vertical distribution of newly formed biogenic poc48 !! in the water column in the case of max. possible bottom depth49 !! ------------------------------------------------------------50 !! Calculate vertical distribution of newly formed biogenic poc 51 !! in the water column in the case of max. possible bottom depth 52 !! ------------------------------------------------------------ 50 53 51 54 zdm0 = 0. 52 55 zrro = 1. 53 56 DO jk = jpkb,jpkm1 54 zfluo = (fsdepw(:,:,jk)/fsdepw(:,:,jpkb))**xhr 55 zfluu = (fsdepw(:,:,jk+1)/fsdepw(:,:,jpkb))**xhr 56 IF (zfluo.gt.1.) zfluo = 1. 57 zdm0(:,:,jk) = zfluo-zfluu 58 IF (jk.le.jpkb-1) zdm0(:,:,jk)=0. 59 zrro(:,:) = zrro(:,:)-zdm0(:,:,jk) 57 DO jj =1, jpj 58 DO ji =1, jpi 59 zfluo = (fsdepw(ji,jj,jk)/fsdepw(ji,jj,jpkb))**xhr 60 zfluu = (fsdepw(ji,jj,jk+1)/fsdepw(ji,jj,jpkb))**xhr 61 IF (zfluo.GT.1.) zfluo = 1. 62 zdm0(ji,jj,jk) = zfluo-zfluu 63 IF (jk.LE.jpkb-1) zdm0(ji,jj,jk)=0. 64 zrro(ji,jj) = zrro(ji,jj)-zdm0(ji,jj,jk) 65 ENDDO 66 ENDDO 60 67 ENDDO 61 68 !!! 62 69 63 70 zdm0(:,:,jpk) = zrro(:,:) 64 71 65 !! Calculate vertical distribution of newly formed biogenic poc66 !! in the water column with realistic topography (first "dry" layer67 !! contains total fraction, which has passed to the upper layers)68 !! ----------------------------------------------------------------------72 !! Calculate vertical distribution of newly formed biogenic poc 73 !! in the water column with realistic topography (first "dry" layer 74 !! contains total fraction, which has passed to the upper layers) 75 !! ---------------------------------------------------------------------- 69 76 70 77 dminl = 0. … … 73 80 DO jk = 1,jpk 74 81 DO jj = 1,jpj 75 DO ji = 1,jpi82 DO ji = 1,jpi 76 83 77 IF(tmask(ji,jj,jk) == 0) THEN78 dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk)79 dmin3(ji,jj,jk) = 0.080 ENDIF84 IF(tmask(ji,jj,jk) == 0) THEN 85 dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk) 86 dmin3(ji,jj,jk) = 0.0 87 ENDIF 81 88 82 ENDDO83 ENDDO89 ENDDO 90 ENDDO 84 91 ENDDO 85 92 86 93 DO jj = 1,jpj 87 DO ji = 1,jpi88 IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0.89 ENDDO94 DO ji = 1,jpi 95 IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0. 96 ENDDO 90 97 ENDDO 91 98 92 !! CALCUL DU MASK DE COTE93 !! ----------------------94 95 96 99 !! CALCUL DU MASK DE COTE 100 !! ---------------------- 101 cmask=0. 102 do ji=2,jpi-1 103 do jj=2,jpj-1 97 104 if (tmask(ji,jj,1) == 1) then 98 ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1) 99 . *tmask(ji,jj-1,1) 100 if (ztest == 0) cmask(ji,jj)=1. 101 endif 102 end do 103 end do 105 ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1)*tmask(ji,jj-1,1) 106 IF (ztest == 0) cmask(ji,jj) = 1. 107 endif 108 end do 109 end do 104 110 105 106 111 cmask(1,:)=cmask(jpi-1,:) 112 cmask(jpi,:)=cmask(2,:) 107 113 108 114 109 !! CALCUL DE LA SURFACE COTIERE 110 !! ---------------------------- 111 areacot=0. 112 do ji=2,jpi-1 113 do jj=2,jpj-1 114 areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj) 115 end do 115 !! CALCUL DE LA SURFACE COTIERE 116 !! ---------------------------- 117 areacot=0. 118 do ji=2,jpi-1 119 do jj=2,jpj-1 120 areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj) 116 121 end do 122 end do 117 123 124 END SUBROUTINE trc_ini -
trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90
r274 r336 1 !!----------------------------------------------------------------- 2 !! 3 !! ROUTINE trcini.pisces.h90 4 !! ************************ 5 !! 6 !! PURPOSE : 7 !! --------- 8 !! Initialisation of PISCES biological and chemical variables 9 !! 10 !! INPUT : 11 !! ----- 12 !! common 13 !! all the common defined in opa 14 !! 15 !! 16 !! OUTPUT : : no 17 !! ------ 18 !! 19 !! EXTERNAL : 20 !! ---------- 21 !! p4zche 22 !! 23 !! MODIFICATIONS: 24 !! -------------- 25 !! original : 1988-07 E. MAIER-REIMER MPI HAMBURG 26 !! additions : 1999-10 O. Aumont and C. Le Quere 27 !! additions : 2002 O. Aumont (PISCES) 28 !! 03-2005 O. Aumont and A. El Moussaoui F90 29 !!--------------------------------------------------------------------- 30 !! TOP 1.0, LOCEAN-IPSL (2005) 31 !! $Header$ 32 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 33 !!---------------------------------------------------------------------- 34 !! local declarations 35 !! ================== 1 !!---------------------------------------------------------------------- 2 !! *** trcini.pisces.h90 *** 3 !!---------------------------------------------------------------------- 4 # include "domzgr_substitute.h90" 5 # include "passivetrc_substitute.h90" 6 CONTAINS 7 8 SUBROUTINE trc_ini 9 !!----------------------------------------------------------------- 10 !! 11 !! *** ROUTINE trc_ini *** 12 !! 13 !! 14 !! Purpose : 15 !! --------- 16 !! Initialisation of PISCES biological and chemical variables 17 !! 18 !! INPUT : 19 !! ----- 20 !! common 21 !! all the common defined in opa 22 !! 23 !! 24 !! OUTPUT : : no 25 !! ------ 26 !! 27 !! EXTERNAL : 28 !! ---------- 29 !! p4zche 30 !! 31 !! MODIFICATIONS: 32 !! -------------- 33 !! original : 1988-07 E. MAIER-REIMER MPI HAMBURG 34 !! additions : 1999-10 O. Aumont and C. Le Quere 35 !! additions : 2002 O. Aumont (PISCES) 36 !! 03-2005 O. Aumont and A. El Moussaoui F90 37 !!--------------------------------------------------------------------- 38 !! local declarations 39 !! ================== 40 INTEGER :: ji,jj,jk 36 41 INTEGER :: ichl,iband,mo 37 42 INTEGER , PARAMETER :: jpmois = 12, & 38 39 40 REAL(wp) :: xtoto,expide,denitide,ztra 43 jpan = 1 44 45 REAL(wp) :: xtoto,expide,denitide,ztra,zmaskt 41 46 REAL(wp) , DIMENSION (jpi,jpj) :: riverdoc,river,ndepo 42 47 CHARACTER (len=34) :: clname … … 50 55 INTEGER :: numriv,numdust,numbath,numdep 51 56 52 !! 1. initialization53 !! -----------------54 55 !! computation of the record length for direct access FILE56 !! this length depend of 512 for the t3d machine57 !!57 !! 1. initialization 58 !! ----------------- 59 60 !! computation of the record length for direct access FILE 61 !! this length depend of 512 for the t3d machine 62 !! 58 63 rfact = rdttra(1) * float(ndttrc) 59 64 rfactr = 1./rfact … … 63 68 IF(lwp) write(numout,*) ' Biology time step=',rfact2 64 69 65 !! INITIALISE DUST INPUT FROM ATMOSPHERE66 !! -------------------------------------67 68 70 !! INITIALISE DUST INPUT FROM ATMOSPHERE 71 !! ------------------------------------- 72 73 IF (bdustfer) THEN 69 74 clname='dust.orca.nc' 70 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 &71 & ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust)72 CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1, &73 & 12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) )74 CALL flinclo(numdust)75 76 ! Extra-halo initialization in MPP75 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 & 76 & ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust) 77 CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1, & 78 & 12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) ) 79 CALL flinclo(numdust) 80 81 ! Extra-halo initialization in MPP 77 82 IF( lk_mpp ) THEN 78 83 DO ji = nlci+1, jpi … … 83 88 ENDDO 84 89 ENDIF 85 86 dustmo(:,:,:)=0.87 88 89 !! INITIALISE THE NUTRIENT INPUT BY RIVERS90 !! ---------------------------------------91 92 93 clname='river.orca.nc'94 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 &95 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv)96 CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1, &97 & 1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) )98 CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1, &99 & 1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) )100 CALL flinclo(numriv)101 102 ! Extra-halo initialization in MPP90 ELSE 91 dustmo(:,:,:)=0. 92 ENDIF 93 94 !! INITIALISE THE NUTRIENT INPUT BY RIVERS 95 !! --------------------------------------- 96 97 IF (briver) THEN 98 clname='river.orca.nc' 99 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 & 100 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv) 101 CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1, & 102 & 1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) ) 103 CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1, & 104 & 1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) ) 105 CALL flinclo(numriv) 106 107 ! Extra-halo initialization in MPP 103 108 IF( lk_mpp ) THEN 104 109 DO ji = nlci+1, jpi … … 112 117 ENDIF 113 118 114 115 river(:,:)=0.116 riverdoc(:,:)=0.117 118 119 !! INITIALISE THE N INPUT BY DUST120 !! ---------------------------------------121 122 123 clname='ndeposition.orca.nc'124 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 &125 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep)126 CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1, &127 & 1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) )128 CALL flinclo(numdep)129 130 ! Extra-halo initialization in MPP119 ELSE 120 river(:,:)=0. 121 riverdoc(:,:)=0. 122 endif 123 124 !! INITIALISE THE N INPUT BY DUST 125 !! --------------------------------------- 126 127 IF (bndepo) THEN 128 clname='ndeposition.orca.nc' 129 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 & 130 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep) 131 CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1, & 132 & 1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) ) 133 CALL flinclo(numdep) 134 135 ! Extra-halo initialization in MPP 131 136 IF( lk_mpp ) THEN 132 137 DO ji = nlci+1, jpi … … 138 143 ENDIF 139 144 140 ELSE 141 ndepo(:,:)=0. 142 ENDIF 143 144 !! Computation of the coastal mask. 145 !! Computation of an island mask to enhance coastal supply 146 !! of iron 147 !! ------------------------------------------------------- 148 149 IF (bsedinput) THEN 150 clname='bathy.orca.nc' 151 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk & 152 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) 153 CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1, & 154 & 1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) 155 CALL flinclo(numbath) 156 157 ! Extra-halo initialization in MPP 145 ELSE 146 ndepo(:,:)=0. 147 ENDIF 148 149 !! Computation of the coastal mask. 150 !! Computation of an island mask to enhance coastal supply 151 !! of iron 152 !! ------------------------------------------------------- 153 154 IF (bsedinput) THEN 155 clname='bathy.orca.nc' 156 CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk & 157 & ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) 158 CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1, & 159 & 1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) 160 CALL flinclo(numbath) 161 162 do jk=1,5 163 do jj=2,jpj-1 164 do ji=2,jpi-1 165 if (tmask(ji,jj,jk).ne.0) then 166 zmaskt=tmask(ji+1,jj,jk)*tmask(ji-1,jj,jk)*tmask(ji,jj+1,jk) & 167 & *tmask(ji,jj-1,jk)*tmask(ji,jj,jk+1) 168 if (zmaskt.eq.0) then 169 cmask(ji,jj,jk)=0.1 170 endif 171 endif 172 end do 173 end do 174 end do 175 176 177 ! Extra-halo initialization in MPP 158 178 IF( lk_mpp ) THEN 159 179 DO ji = nlci+1, jpi … … 166 186 167 187 DO jk = 1, jpk 168 DO jj = 1, jpj169 DO ji = 1, jpi170 expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5))171 denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2172 cmask(ji,jj,jk)=cmask(ji,jj,jk)*exp(denitide)/0.6858173 END DO174 END DO188 DO jj = 1, jpj 189 DO ji = 1, jpi 190 expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5)) 191 denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2 192 cmask(ji,jj,jk)=cmask(ji,jj,jk)*min(1.,exp(denitide)/0.5) 193 END DO 194 END DO 175 195 END DO 176 196 177 ELSE 178 cmask(:,:,:)=0. 179 ENDIF 180 181 !! Computation of the total atmospheric supply of Si 182 !! ------------------------------------------------- 183 184 sumdepsi=0. 185 DO mo=1,12 197 ELSE 198 cmask(:,:,:)=0. 199 ENDIF 200 201 ! Lateral boundary conditions on ( avt, en ) (sign unchanged) 202 CALL lbc_lnk( cmask , 'T', 1. ) 203 204 !! Computation of the total atmospheric supply of Si 205 !! ------------------------------------------------- 206 207 sumdepsi=0. 208 DO mo=1,12 186 209 DO jj=2,jpjm1 187 DO ji=2,jpim1188 sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8 &189 *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1)190 END DO210 DO ji=2,jpim1 211 sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8 & 212 *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1) 213 END DO 191 214 END DO 192 193 194 195 196 !! COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS197 !! COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS198 !! ---------------------------------------------------199 200 215 END DO 216 217 IF( lk_mpp ) CALL mpp_sum( sumdepsi ) ! sum over the global domain 218 219 !! COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS 220 !! COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS 221 !! --------------------------------------------------- 222 223 DO jj=1,jpj 201 224 DO ji=1,jpi 202 cotdep(ji,jj,1)=river(ji,jj)*1E9/(12.*raass &203 204 po4dep(ji,jj,1)=(river(ji,jj)+riverdoc(ji,jj))*1E9 &205 206 207 nitdep(ji,jj,1)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass &208 225 cotdep(ji,jj)=river(ji,jj)*1E9/(12.*raass & 226 *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)*tmask(ji,jj,1) 227 rivinp(ji,jj)=(river(ji,jj)+riverdoc(ji,jj))*1E9 & 228 /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn) & 229 *tmask(ji,jj,1) 230 nitdep(ji,jj)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass & 231 *fse3t(ji,jj,1)+rtrn) 209 232 END DO 210 END DO 233 END DO 234 ! Lateral boundary conditions on ( cotdep, rivinp, nitdep ) (sign unchanged) 235 CALL lbc_lnk( cotdep , 'T', 1. ) ; CALL lbc_lnk( rivinp , 'T', 1. ) ; CALL lbc_lnk( nitdep , 'T', 1. ) 211 236 212 237 rivpo4input=0. 213 238 rivalkinput=0. 214 rivnitinput=0.215 239 nitdepinput=0. 240 DO jj=2,jpjm1 216 241 DO ji=2,jpim1 217 rivpo4input=rivpo4input+po4dep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) &218 219 rivalkinput=rivalkinput+cotdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) &220 221 rivnitinput=rivnitinput+nitdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) &222 242 rivpo4input=rivpo4input+rivinp(ji,jj)*(e1t(ji,jj)*e2t(ji,jj) & 243 *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 244 rivalkinput=rivalkinput+cotdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj) & 245 *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 246 nitdepinput=nitdepinput+nitdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj) & 247 *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 223 248 END DO 224 225 226 227 228 229 CALL mpp_sum( rivnitinput ) ! sum over the global domain230 231 232 233 !! Coastal supply of iron234 !! ----------------------249 END DO 250 251 IF( lk_mpp ) THEN 252 CALL mpp_sum( rivpo4input ) ! sum over the global domain 253 CALL mpp_sum( rivalkinput ) ! sum over the global domain 254 CALL mpp_sum( nitdepinput ) ! sum over the global domain 255 ENDIF 256 257 258 !! Coastal supply of iron 259 !! ---------------------- 235 260 236 261 DO jk=1,jpkm1 237 238 262 ironsed(:,:,jk)=sedfeinput*cmask(:,:,jk) & 263 /(fse3t(:,:,jk)*rjjss) 239 264 END DO 240 !!---------------------------------------------------------------------- 241 !! 242 !! Initialize biological variables 243 !! 244 !!---------------------------------------------------------------------- 245 246 spocri = 0.003 247 jkopt = 14 248 249 !! Set biological ratios 250 !! --------------------- 265 266 ! Lateral boundary conditions on ( ironsed ) (sign unchanged) 267 CALL lbc_lnk( ironsed , 'T', 1. ) 268 !!---------------------------------------------------------------------- 269 !! 270 !! Initialize biological variables 271 !! 272 !!---------------------------------------------------------------------- 273 !! Set biological ratios 274 !! --------------------- 251 275 252 276 rno3 = (16.+2.)/122. 253 277 po4r = 1./122. 254 o2ut = 172./122.255 278 o2nit = 32./122. 256 279 rdenit = 97.6/16. 257 280 o2ut = 140./122. 258 281 259 !!----------------------------------------------------------------------260 !!261 !! Initialize chemical variables262 !!263 !!----------------------------------------------------------------------264 265 !! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio266 !! ----------------------------------------------------------282 !!---------------------------------------------------------------------- 283 !! 284 !! Initialize chemical variables 285 !! 286 !!---------------------------------------------------------------------- 287 288 !! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio 289 !! ---------------------------------------------------------- 267 290 268 291 atcox = 0.20946 269 292 270 !! Set lower/upper limits for temperature and salinity271 !! ---------------------------------------------------293 !! Set lower/upper limits for temperature and salinity 294 !! --------------------------------------------------- 272 295 273 296 salchl = 1./1.80655 274 297 calcon = 1.03E-2 275 298 276 !! Set coefficients for apparent solubility equilibrium277 !! of calcite (Ingle, 1800, eq. 6)278 !! ----------------------------------------------------299 !! Set coefficients for apparent solubility equilibrium 300 !! of calcite (Ingle, 1800, eq. 6) 301 !! ---------------------------------------------------- 279 302 280 303 akcc1 = -34.452 … … 284 307 285 308 286 !! Set coefficients for seawater pressure correction 287 !! ------------------------------------------------- 288 289 devk1 = 24.2 290 devk2 = 16.4 291 devkb = 27.5 292 devk1t = 0.085 293 devk2t = 0.04 294 devkbt = 0.095 309 !! Set coefficients for seawater pressure correction 310 !! ------------------------------------------------- 311 312 devk1(1) = -25.5 313 devk2(1) = 0.1271 314 devk3(1) = 0. 315 devk4(1) = -3.08E-3 316 devk5(1) = 0.0877E-3 317 318 devk1(2) = -15.82 319 devk2(2) = -0.0219 320 devk3(2) = 0. 321 devk4(2) = 1.13E-3 322 devk5(2) = -0.1475E-3 323 324 devk1(3) = -29.48 325 devk2(3) = 0.1622 326 devk3(3) = 2.608E-3 327 devk4(3) = -2.84E-3 328 devk5(3) = 0. 329 330 devk1(4) = -25.60 331 devk2(4) = 0.2324 332 devk3(4) = -3.6246E-3 333 devk4(4) = -5.13E-3 334 devk5(4) = 0.0794E-3 295 335 296 336 devkst = 0.23 297 337 devks = 35.4 298 338 299 !! Set universal gas constants300 !! ---------------------------339 !! Set universal gas constants 340 !! --------------------------- 301 341 302 342 rgas = 83.143 303 343 oxyco = 1./22.4144 304 344 305 !! Set boron constants306 !! -------------------345 !! Set boron constants 346 !! ------------------- 307 347 308 348 bor1 = 0.00023 309 349 bor2 = 1./10.82 310 350 311 !! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) 312 !! ----------------------------------------------------------------- 313 314 c00 = -58.0931 315 c01 = 90.5069 316 c02 = 22.2940 317 c03 = 0.027766 318 c04 = -0.025888 319 c05 = 0.0050578 320 321 !! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 322 !! --------------------------------------------------------------------- 323 324 c10 = -2307.1266 325 c11 = 2.83655 326 c12 = -1.5529413 327 c13 = -4.0484 328 c14 = -0.20760841 329 c15 = 0.08468345 330 c16 = -0.00654208 331 c17 = -0.001005 332 333 !! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 334 !! --------------------------------------------------------------------- 335 336 c20 = -3351.6106 337 c21 = -9.226508 338 c22 = -0.2005743 339 c23 = -23.9722 340 c24 = -0.106901773 341 c25 = 0.1130822 342 c26 = -0.00846934 343 c27 = -0.001005 344 345 !! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) 346 !! ------------------------------------------------------------------ 351 !! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) 352 !! ----------------------------------------------------------------- 353 354 c00 = -60.2409 355 c01 = 93.4517 356 c02 = 23.3585 357 c03 = 0.023517 358 c04 = -0.023656 359 c05 = 0.0047036 360 361 ca0 = -162.8301 362 ca1 = 218.2968 363 ca2 = 90.9241 364 ca3 = -1.47696 365 ca4 = 0.025695 366 ca5 = -0.025225 367 ca6 = 0.0049867 368 369 !! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 370 !! --------------------------------------------------------------------- 371 372 c10 = -3670.7 373 c11 = 62.008 374 c12 = -9.7944 375 c13 = 0.0118 376 c14 = -0.000116 377 378 !! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 379 !! --------------------------------------------------------------------- 380 381 c20 = -1394.7 382 c21 = -4.777 383 c22 = 0.0184 384 c23 = -0.000118 385 386 !! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) 387 !! ------------------------------------------------------------------ 347 388 348 389 cb0 = -8966.90 … … 359 400 cb11 = 0.053105 360 401 361 !! Set coeff. for dissoc. of water (Dickson and Riley, 1979,362 !! eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415363 !! after pers. commun. to B. Bacastow, 1988)364 !! ---------------------------------------------------------402 !! Set coeff. for dissoc. of water (Dickson and Riley, 1979, 403 !! eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415 404 !! after pers. commun. to B. Bacastow, 1988) 405 !! --------------------------------------------------------- 365 406 366 407 cw0 = -13847.26 … … 372 413 cw6 = -0.01615 373 414 374 !! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) 375 !! ---------------------------------------------------------------- 415 ! 416 ! Set coeff. for dissoc. of phosphate (Millero (1974) 417 ! --------------------------------------------------- 418 ! 419 cp10 = 115.525 420 cp11 = -4576.752 421 cp12 = -18.453 422 cp13 = -106.736 423 cp14 = 0.69171 424 cp15 = -0.65643 425 cp16 = -0.01844 426 427 cp20 = 172.0883 428 cp21 = -8814.715 429 cp22 = -27.927 430 cp23 = -160.340 431 cp24 = 1.3566 432 cp25 = 0.37335 433 cp26 = -0.05778 434 435 436 cp30 = -18.141 437 cp31 = -3070.75 438 cp32 = 17.27039 439 cp33 = 2.81197 440 cp34 = -44.99486 441 cp35 = -0.09984 442 ! 443 ! Set coeff. for dissoc. of phosphate (Millero (1974) 444 ! --------------------------------------------------- 445 ! 446 cs10 = 117.385 447 cs11 = -8904.2 448 cs12 = -19.334 449 cs13 = -458.79 450 cs14 = 3.5913 451 cs15 = 188.74 452 cs16 = -1.5998 453 cs17 = -12.1652 454 cs18 = 0.07871 455 cs19 = -0.001005 456 457 !! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) 458 !! ---------------------------------------------------------------- 376 459 377 460 ox0 = -58.3877 … … 382 465 ox5 = -0.0019387 383 466 384 !! FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE385 !! A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT386 387 388 389 390 391 392 467 !! FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE 468 !! A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT 469 470 open(49,file='kRGB61.txt',form='formatted') 471 do ichl=1,61 472 READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3) 473 end do 474 close(49) 475 393 476 #if defined key_off_degrad 394 477 395 !! Read volume for degraded regions (DEGINIT)396 !! ------------------------------------------478 !! Read volume for degraded regions (DEGINIT) 479 !! ------------------------------------------ 397 480 398 481 # if defined key_vpp … … 404 487 405 488 406 !! Call p4zche to initialize the chemical constants407 !! ------------------------------------------------489 !! Call p4zche to initialize the chemical constants 490 !! ------------------------------------------------ 408 491 409 492 CALL p4zche 493 !! 494 !! Initialize a counter for the computation of chemistry 495 !! 496 ndayflxtr=0 410 497 411 498 IF(lwp) WRITE(numout,*) ' Initialisation of PISCES done' 499 500 END SUBROUTINE trc_ini -
trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90
r274 r336 1 !!! 2 !!! trclsm.cfc.h 3 !!! **************** 4 !!! 5 !!! PURPOSE : 6 !!! --------- 7 !!! READs and PRINT options for cfc namelist 1 !!---------------------------------------------------------------------- 2 !! *** trclsm.cfc.h90 *** 3 !!---------------------------------------------------------------------- 4 CONTAINS 8 5 9 #if defined key_passivetrc && defined key_cfc 6 SUBROUTINE trc_lsm 7 !!------------------------------------------------------------------- 8 !! *** ROUTINE trc_lsm *** 9 !! 10 !! ** Purpose : Definition some run parameter for CFC model 11 !! 12 !! ** Method : Read the namcfc namelist and check the parameter 13 !! values called at the first timestep (nit000) 14 !! 15 !! ** input : Namelist namcfc 16 !! 17 !! history : 18 !! 2.0 ! 03-08 (C. Ethe) Original code 19 !!------------------------------------------------------------------- 10 20 11 CHARACTER (len=32) :: clname 21 CHARACTER (len=32) :: & 22 clname = 'namelist.sms.cfc' 23 INTEGER :: & 24 numnat = 80 12 25 26 NAMELIST/namdates/ndate_beg, nyear_res 27 !!------------------------------------------------------------------- 13 28 14 !!--------------------------------------------------------------------- 15 !! TOP 1.0, LOCEAN-IPSL (2005) 16 !! $Header$ 17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 18 !!--------------------------------------------------------------------- 19 20 ! 0. initializations 21 ! ------------------ 22 23 NAMELIST/coffset/xinitri 24 25 numnat=80 26 clname ='namelist.sms.cfc' 27 OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 28 29 30 ! Namelist traback : 31 ! ------------------ 32 READ(numnat,coffset) 29 ndate_beg = 300101 30 nyear_res = 1950 33 31 34 32 IF(lwp) THEN 35 36 WRITE(numout,*) 'coffset'37 write(numout,coffset)38 33 WRITE(numout,*) ' ' 34 WRITE(numout,*) ' Namelist for CFC model' 35 WRITE(numout,*) ' ***********************' 36 WRITE(numout,*) ' ' 39 37 ENDIF 40 38 41 #endif 39 OPEN( UNIT=numnat, FILE=clname, FORM='FORMATTED', STATUS='OLD' ) 40 READ( numnat , namdates ) 42 41 42 IF(lwp) THEN 43 WRITE(numout,*) 44 WRITE(numout,*) ' trc_lsm: Namelist parameter' 45 WRITE(numout,*) ' ~~~~~~~~~~~~~~' 46 WRITE(numout,*) ' initial calendar date (aammjj) for CFC ndate_beg = ', ndate_beg 47 WRITE(numout,*) ' restoring time constant (year) nyear_res = ', nyear_res 48 ENDIF 49 nyear_beg = ndate_beg / 10000 50 IF(lwp) THEN 51 WRITE(numout,*) ' initial year (aa) nyear_beg = ', nyear_beg 52 WRITE(numout,*) ' ' 53 ENDIF 43 54 55 END SUBROUTINE trc_lsm 44 56 45 46 47 48 49 -
trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90
r274 r336 1 !!! 2 !!! trclsm.lobster1.h 3 !!! ********************** 4 !!! 5 !!! PURPOSE : 6 !!! --------- 7 !!! READS the specific NAMELIST for LOBSTER1 model 8 !!! 9 !! WORKSPACE : : no 10 !! --------- 11 !! 12 !! MODIFICATIONS: 13 !! -------------- 14 !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer 15 !! additions : 00-12 (O. Aumont, E. Kestenare) add sediments 16 !! ---------------------------------------------------------------------- 17 !! local declarations 18 !! ================== 19 20 #if defined key_passivetrc && defined key_trc_lobster1 1 !!---------------------------------------------------------------------- 2 !! *** trclsm.lobster1.h90 *** 3 !!---------------------------------------------------------------------- 4 CONTAINS 5 6 SUBROUTINE trc_lsm 7 !!---------------------------------------------------------------------- 8 !! trclsm.lobster1.h 9 !! ********************** 10 !! 11 !! PURPOSE : 12 !! --------- 13 !! READS the specific NAMELIST for LOBSTER1 model 14 !! 15 !! WORKSPACE : : no 16 !! --------- 17 !! 18 !! MODIFICATIONS: 19 !! -------------- 20 !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer 21 !! additions : 00-12 (O. Aumont, E. Kestenare) add sediments 22 !! ---------------------------------------------------------------------- 23 !! local declarations 24 !! ================== 21 25 INTEGER :: ji 22 26 CHARACTER (len=32) :: clname 23 27 24 !!--------------------------------------------------------------------- 25 !! TOP 1.0, LOCEAN-IPSL (2005) 26 !! $Header$ 27 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 28 !!--------------------------------------------------------------------- 29 30 ! 0. initializations 31 ! ------------------ 32 33 NAMELIST/natbio/apmin,azmin,anmin,admin, & 34 & redf,slopet,toptp,aknut,rcchl, & 28 !!--------------------------------------------------------------------- 29 !! OPA8, LODYC (15/11/96) 30 !!--------------------------------------------------------------------- 31 32 ! 0. initializations 33 ! ------------------ 34 NAMELIST/natbio/apmin,azmin,anmin,admin, & 35 & redf,reddom,slopet,toptp,psinut,akno3,aknh4,rcchl, & 35 36 & rgamma,toptgz,tmaxgz,rgz, & 36 37 & rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn, & 37 38 & tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn, & 38 & vsed,tmumax,aki,tmaxr,tminr, fdoml, taunn, taudomn,xhr, & 39 & sedlam, sedlostpoc 39 & vsed,tmumax,aki,tmaxr,tminr, taunn, taudomn,xhr, & 40 & sedlam, sedlostpoc, & 41 & fphylab,fzoolab,fdetlab,fdbod 40 42 NAMELIST/natopt/xkg0,xkr0,xkgp,xkrp,xlg,xlr,rpig 41 43 #if defined key_trc_diabio … … 43 45 #endif 44 46 45 46 IF(lwp) THEN 47 WRITE(numout,*) ' ' 48 WRITE(numout,*) ' ROUTINE trclsm' 49 WRITE(numout,*) ' **************' 50 WRITE(numout,*) ' ' 51 WRITE(numout,*) ' namelist for lobster1 model' 52 WRITE(numout,*) ' ***************************' 53 WRITE(numout,*) ' ' 47 IF(lwp) THEN 48 WRITE(numout,*) ' ' 49 WRITE(numout,*) ' ROUTINE trclsm' 50 WRITE(numout,*) ' **************' 51 WRITE(numout,*) ' ' 52 WRITE(numout,*) ' namelist for lobster1 model' 53 WRITE(numout,*) ' ***************************' 54 WRITE(numout,*) ' ' 54 55 ENDIF 55 56 … … 59 60 OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 60 61 61 ! 1.4 namelist natbio : biological parameters 62 ! ------------------------------------------- 63 64 apmin = 0 65 azmin = 0 66 anmin = 0 67 admin = 0 68 redf = 0 69 slopet= 0 70 toptp = 0 71 aknut = 0 72 rcchl = 0 73 rgamma= 0 74 toptgz= 0 75 tmaxgz= 0 76 rgz = 0 77 rppz = 0 78 taus = 0 79 aks = 0 80 filmax= 0 81 rpnaz = 0 82 rdnaz = 0 83 eggzoo= 0 84 tauzn = 0 85 tmmaxp= 0 86 tmminp= 0 87 tmmaxz= 0 88 tmminz= 0 89 anumin= 0 90 afdmin= 0 91 taudn = 0 92 vsed = 0 93 tmumax= 0 94 aki = 0 62 ! 1.4 namelist natbio : biological parameters 63 ! ------------------------------------------- 64 65 apmin = 0. 66 azmin = 0. 67 anmin = 0. 68 admin = 0. 69 redf = 0. 70 reddom = 0. 71 slopet = 0. 72 toptp = 0. 73 psinut = 0. 74 akno3 = 0. 75 aknh4 = 0. 76 rcchl = 0. 77 rgamma= 0. 78 toptgz= 0. 79 tmaxgz= 0. 80 rgz = 0. 81 rppz = 0. 82 taus = 0. 83 aks = 0. 84 filmax= 0. 85 rpnaz = 0. 86 rdnaz = 0. 87 eggzoo= 0. 88 tauzn = 0. 89 tmmaxp= 0. 90 tmminp= 0. 91 tmmaxz= 0. 92 tmminz= 0. 93 anumin= 0. 94 afdmin= 0. 95 taudn = 0. 96 vsed = 0. 97 tmumax= 0. 98 aki = 0. 95 99 tmaxr = 1./( 4.*rday)*0. 96 100 tminr = 1./(24.*30.*rday)*0. 97 fdoml = 0 98 xhr=0 99 sedlam=0 100 sedlostpoc=0 101 taudomn = 0 102 taunn = 0 101 xhr=0. 102 sedlam=0. 103 sedlostpoc=0. 104 taudomn = 0. 105 taunn = 0. 106 fphylab = 0. 107 fzoolab = 0. 108 fdetlab = 0. 109 fdbod = 0. 103 110 104 111 READ(numnat,natbio) … … 122 129 & ' optimal photosynthesis temperature toptp =', toptp 123 130 WRITE(numout,*) & 124 & ' half-saturation nutrient aknut =', aknut 131 & ' inhibition of no3 uptake by nh4 psinut =', psinut 132 WRITE(numout,*) & 133 & ' half-saturation nutrient for no3 uptake akno3 =', akno3 134 WRITE(numout,*) & 135 & ' half-saturation nutrient for nh4 uptake aknh4 =', aknh4 125 136 WRITE(numout,*) & 126 137 & ' carbone/chlorophyl ratio rcchl =', rcchl … … 181 192 & ' damping-remineralisation rate tminr =', tminr 182 193 WRITE(numout,*) & 183 & ' damping-remineralisation rate fdoml =', fdoml184 WRITE(numout,*) &185 194 & ' nitrification rate taunn =', taunn 186 195 WRITE(numout,*) & … … 192 201 WRITE(numout,*) & 193 202 & ' Sediment geol loss for POC sedlostpoc =', sedlostpoc 203 WRITE(numout,*) & 204 & ' NH4 fraction of phytoplankton exsudation fphylab =', fphylab 205 WRITE(numout,*) & 206 & ' NH4 fraction of zooplankton excretion fzoolab =', fzoolab 207 WRITE(numout,*) & 208 & ' NH4 fraction of detritus dissolution fdetlab =', fdetlab 209 WRITE(numout,*) & 210 & ' Zooplankton mortality fraction that goes to detritus fdbod =', fdbod 194 211 ENDIF 195 212 196 ! 1.5 namelist natopt : parameters for optic197 ! ------------------------------------------213 ! 1.5 namelist natopt : parameters for optic 214 ! ------------------------------------------ 198 215 199 216 xkg0 = 0. … … 208 225 209 226 IF(lwp) THEN 210 211 212 213 214 215 216 217 218 219 227 WRITE(numout,*) 'natopt' 228 WRITE(numout,*) ' ' 229 WRITE(numout,*) ' green water absorption coeff xkg0 = ',xkg0 230 WRITE(numout,*) ' red water absorption coeff xkr0 = ',xkr0 231 WRITE(numout,*) ' pigment red absorption coeff xkrp = ',xkrp 232 WRITE(numout,*) ' pigment green absorption coeff xkgp = ',xkgp 233 WRITE(numout,*) ' green chl exposant xlg = ',xlg 234 WRITE(numout,*) ' red chl exposant xlr = ',xlr 235 WRITE(numout,*) ' chla/chla+phea ratio rpig = ',rpig 236 WRITE(numout,*) ' ' 220 237 221 238 ENDIF … … 223 240 #if defined key_trc_diabio 224 241 225 ! NAMELIST : natdbi226 227 ! default name for biological trends : short and long name, units242 ! NAMELIST : natdbi 243 244 ! default name for biological trends : short and long name, units 228 245 229 246 DO ji=1,jpdiabio 230 IF (ji < 10) THEN247 IF (ji < 10) THEN 231 248 WRITE (ctrbio(ji),'("BIO_",I1)') ji 232 ELSE IF (ji < 100) THEN249 ELSE IF (ji < 100) THEN 233 250 WRITE (ctrbio(ji),'("BIO_",I2)') ji 234 ELSE251 ELSE 235 252 WRITE (ctrbio(ji),'("BIO_",I3)') ji 236 ENDIF237 WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji238 ctrbiu(ji)='mmoleN/m3/s '239 END DO 253 ENDIF 254 WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji 255 ctrbiu(ji)='mmoleN/m3/s ' 256 END DO 240 257 241 258 nwritebio = 10 … … 244 261 245 262 IF(lwp) THEN 246 247 248 249 & ' frequency of outputs for biological outputs = ' &250 & ,nwritebio251 252 263 WRITE(numout,*) 'natdbi' 264 WRITE(numout,*) ' ' 265 WRITE(numout,*) & 266 & ' frequency of outputs for biological outputs = ' & 267 & ,nwritebio 268 WRITE(numout,*) ' ' 269 DO ji=1,jpdiabio 253 270 WRITE(numout,*) & 254 & 'name of biological trend number :',ji,' : ',ctrbio(ji)271 & 'name of biological trend number :',ji,' : ',ctrbio(ji) 255 272 WRITE(numout,*) ctrbil(ji) 256 273 WRITE(numout,*) ' in unit = ',ctrbiu(ji) 257 END DO258 END IF 274 END DO 275 END IF 259 276 #endif 260 277 261 #else 262 263 ! no passive tracers 264 265 #endif 278 END SUBROUTINE trc_lsm -
trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90
r274 r336 1 !!2 !! trclsm.pisces.h3 !! ****************4 !!5 !! PURPOSE :6 !! ---------7 !! READs and PRINT options for PISCES namelist8 !!9 !! MODIFICATIONS:10 !! --------------11 !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer12 !! addition : 00-01 (L. Bopp) hamocc3,p3zd13 !!14 1 !!---------------------------------------------------------------------- 2 !! *** trclsm.pisces.h90 *** 15 3 !!---------------------------------------------------------------------- 16 !! local declarations 17 !! ================== 18 19 #if defined key_passivetrc && defined key_trc_pisces 4 CONTAINS 5 6 SUBROUTINE trc_lsm 7 !!---------------------------------------------------------------------- 8 !! 9 !! trclsm.pisces.h 10 !! **************** 11 !! 12 !! PURPOSE : 13 !! --------- 14 !! READs and PRINT options for PISCES namelist 15 !! 16 !! MODIFICATIONS: 17 !! -------------- 18 !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer 19 !! addition : 00-01 (L. Bopp) hamocc3,p3zd 20 !! 21 !!---------------------------------------------------------------------- 22 !!---------------------------------------------------------------------- 23 !! local declarations 24 !! ================== 20 25 CHARACTER (len=32) clname 21 26 22 !!--------------------------------------------------------------------- 23 !! TOP 1.0, LOCEAN-IPSL (2005) 24 !! $Header$ 25 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 26 !!--------------------------------------------------------------------- 27 28 ! 0. initializations 29 ! ------------------ 30 ! 31 NAMELIST/natgas/ gasfac, igaswind, icice 32 NAMELIST/natext/ atcco2 33 NAMELIST/natbio/caco3r, & 34 & dispo0,conc0,oxymin,grosip, sedlam, & 35 & sedlostpoc,sedlostcal,sedlostsil,nrdttrc, & 36 & pislope, excret,wsbio,wchl,resrat,mprat,mzrat, & 37 & grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, & 38 & xksi2,sicmax,xremip,xremik,xsirem,xkdoc1,xkdoc2, & 39 & excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2, & 40 & xprefz,xprefpoc,unass2,wchl2,xkgraz2,xlam1, & 41 & ferat3,conc1,conc2,conc3,concnnh4,concdnh4, & 42 & nitrif,epsher,epsher2,pislope2,wsbio2,sigma1, & 43 & sigma2, zprefc, zprefp, zprefd,sedfeinput 44 NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput 45 46 ! initialize the number of LOGICAL UNIT used 47 ! ------------------------------------------ 48 49 IF(lwp) THEN 50 WRITE(numout,*) ' ' 51 WRITE(numout,*) ' ROUTINE trclec' 52 WRITE(numout,*) ' **************' 53 WRITE(numout,*) ' ' 54 WRITE(numout,*) ' namelist for PISCES model' 55 WRITE(numout,*) ' ***********************' 56 WRITE(numout,*) ' ' 27 !!--------------------------------------------------------------------- 28 !! OPA8, LODYC (15/11/96) 29 !!--------------------------------------------------------------------- 30 31 ! 0. initializations 32 ! ------------------ 33 ! 34 NAMELIST/natgas/ gasfac, igaswind, icice 35 NAMELIST/natext/ atcco2 36 NAMELIST/natbio/caco3r, & 37 & dispo0,conc0,oxymin,grosip, sedlam, & 38 & sedlostpoc,sedlostcal,sedlostsil,nrdttrc, & 39 & pislope, excret,wsbio,wchl,wchld,resrat,mprat,mzrat, & 40 & grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, & 41 & xksi2,xremip,xremik,xsirem,xkdoc1,xkdoc2, & 42 & excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2, & 43 & xprefz,xprefpoc,unass2,xkgraz2,xlam1, & 44 & ferat3,conc1,conc2,conc3,concnnh4,concdnh4, & 45 & nitrif,epsher,epsher2,pislope2,wsbio2,sigma1, & 46 & sigma2, zprefc, zprefp, zprefd,fecnm,fecdm, & 47 & chlcnm,chlcdm, sedfeinput 48 NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput 49 50 ! initialize the number of LOGICAL UNIT used 51 ! ------------------------------------------ 52 53 IF(lwp) THEN 54 WRITE(numout,*) ' ' 55 WRITE(numout,*) ' ROUTINE trclec' 56 WRITE(numout,*) ' **************' 57 WRITE(numout,*) ' ' 58 WRITE(numout,*) ' namelist for PISCES model' 59 WRITE(numout,*) ' ***********************' 60 WRITE(numout,*) ' ' 57 61 ENDIF 58 62 … … 62 66 63 67 64 ! 1 Namelist natgas :65 ! -------------------68 ! 1 Namelist natgas : 69 ! ------------------- 66 70 67 71 READ(numnat,natgas) 68 72 69 73 IF(lwp) THEN 70 71 72 73 74 75 76 77 78 ENDIF 79 80 ! 2 Namelist natext :81 ! -------------------74 WRITE(numout,*) ' ' 75 WRITE(numout,*) 'natgas' 76 write(numout,*) 'gasfac = ',gasfac 77 WRITE(numout,*) ' ' 78 write(numout,*) 'igaswind = ',igaswind 79 WRITE(numout,*) ' ' 80 write(numout,*) 'icice = ',icice 81 WRITE(numout,*) ' ' 82 ENDIF 83 84 ! 2 Namelist natext : 85 ! ------------------- 82 86 READ(numnat,natext) 83 87 84 88 IF(lwp) THEN 85 86 87 88 89 89 WRITE(numout,*) ' ' 90 WRITE(numout,*) 'natext' 91 WRITE(numout,*) ' ' 92 WRITE(numout,*) 'atmospheric pCO2= ',atcco2 93 WRITE(numout,*) ' ' 90 94 ENDIF 91 95 … … 93 97 READ(numnat,natbio) 94 98 IF(lwp) THEN 95 WRITE(numout,*) 'natbio' 96 WRITE(numout,*) ' ' 97 WRITE(numout,*) & 98 & ' mean rainratio =', caco3r 99 WRITE(numout,*) & 100 & ' mean Si/C ratio =', grosip 101 WRITE(numout,*) & 102 & ' Calcite dissolution half saturation =', dispo0 103 WRITE(numout,*) & 104 & ' Phosphate half saturation =', conc0 105 WRITE(numout,*) & 106 & ' Sediment bioturbation factor =', sedlam 107 WRITE(numout,*) & 108 & ' Sediment burying ratio for POC =', sedlostpoc 109 WRITE(numout,*) & 110 & ' Sediment burying ratio for CACO3 =', sedlostcal 111 WRITE(numout,*) & 112 & ' Sediment burying ratio for SI =', sedlostsil 113 WRITE(numout,*) & 114 & ' frequence pour la biologie =', nrdttrc 115 WRITE(numout,*) & 116 & ' P-I slope =', pislope 117 WRITE(numout,*) & 118 & ' excretion ratio of phytoplankton =', excret 119 WRITE(numout,*) & 120 & ' POC sinking speed =', wsbio 121 WRITE(numout,*) & 122 & ' exsudation rate of zooplankton =', resrat 123 WRITE(numout,*) & 124 & ' phytoplankton mortality rate =', mprat 125 WRITE(numout,*) & 126 & ' zooplankton mortality rate =', mzrat 127 WRITE(numout,*) & 128 & ' zoo preference for phyto =', xprefc 129 WRITE(numout,*) & 130 & ' zoo preference for POC =', xprefp 131 WRITE(numout,*) & 132 & ' maximal zoo grazing rate =', grazrat 133 WRITE(numout,*) & 134 & ' non assimilated fraction of phyto by zoo =', unass 135 WRITE(numout,*) & 136 & ' half sturation constant for grazing =', xkgraz 137 WRITE(numout,*) & 138 & ' half saturation constant for mortality =', xkmort 139 WRITE(numout,*) & 140 & ' half saturation constant for Si uptake =', xksi1 141 WRITE(numout,*) & 142 & ' half saturation constant for Si/C =', xksi2 143 WRITE(numout,*) & 144 & ' maximum Si/C =', sicmax 145 WRITE(numout,*) & 146 & ' remineralisation rate of POC =', xremip 147 WRITE(numout,*) & 148 & ' remineralization rate of DOC =', xremik 149 WRITE(numout,*) & 150 & ' remineralization rate of Si =', xsirem 151 WRITE(numout,*) & 152 & ' 1st half-sat. of DOC remineralization =', xkdoc1 153 WRITE(numout,*) & 154 & ' 2nd half-sat. of DOC remineralization =', xkdoc2 155 WRITE(numout,*) & 156 & ' excretion ratio of diatoms =', excret2 157 WRITE(numout,*) & 158 & ' exsudation rate of mesozooplankton =', resrat2 159 WRITE(numout,*) & 160 & ' Diatoms mortality rate =', mprat2 161 WRITE(numout,*) & 162 & ' Phytoplankton minimum mortality rate =', mpratm 163 WRITE(numout,*) & 164 & ' mesozooplankton mortality rate =', mzrat2 165 WRITE(numout,*) & 166 & ' zoo preference for zoo =', xprefz 167 WRITE(numout,*) & 168 & ' zoo preference for poc =', xprefpoc 169 WRITE(numout,*) & 170 & ' maximal mesozoo grazing rate =', grazrat2 171 WRITE(numout,*) & 172 & ' non assimilated fraction of P by mesozoo =', unass2 173 WRITE(numout,*) & 174 & ' Efficicency of Mesozoo growth =', epsher2 175 WRITE(numout,*) & 176 & ' Efficiency of microzoo growth =', epsher 177 WRITE(numout,*) & 178 & ' half sturation constant for grazing 2 =', xkgraz2 179 WRITE(numout,*) & 180 & ' Aggregation rate for diatoms =', wchl2 181 WRITE(numout,*) & 182 & ' scavenging rate of Iron =', xlam1 183 WRITE(numout,*) & 184 & ' Fe/C in zooplankton =', ferat3 185 WRITE(numout,*) & 186 & ' Phosphate half saturation for diatoms =', conc1 187 WRITE(numout,*) & 188 & ' Iron half saturation for phyto =', conc2 189 WRITE(numout,*) & 190 & ' Iron half saturation for diatoms =', conc3 191 WRITE(numout,*) & 192 & ' NH4 half saturation for phyto =', concnnh4 193 WRITE(numout,*) & 194 & ' NH4 half saturation for diatoms =', concdnh4 195 WRITE(numout,*) & 196 & ' NH4 nitrification rate =', nitrif 197 WRITE(numout,*) & 198 & ' P-I slope for diatoms =', pislope2 199 WRITE(numout,*) & 200 & ' Big particles sinking speed =', wsbio2 201 WRITE(numout,*) & 202 & ' Fraction of microzoo excretion as DOM =', sigma1 203 WRITE(numout,*) & 204 & ' Fraction of mesozoo excretion as DOM =', sigma2 205 WRITE(numout,*) & 206 & ' Microzoo preference for POM =', zprefc 207 WRITE(numout,*) & 208 & ' Microzoo preference for Nanophyto =', zprefp 209 WRITE(numout,*) & 210 & ' Microzoo preference for Diatoms =', zprefd 211 WRITE(numout,*) & 212 & ' Coastal release of Iron =', sedfeinput 99 WRITE(numout,*) 'natbio' 100 WRITE(numout,*) ' ' 101 WRITE(numout,*) & 102 & ' mean rainratio =', caco3r 103 WRITE(numout,*) & 104 & ' mean Si/C ratio =', grosip 105 WRITE(numout,*) & 106 & ' Calcite dissolution half saturation =', dispo0 107 WRITE(numout,*) & 108 & ' Phosphate half saturation =', conc0 109 WRITE(numout,*) & 110 & ' Sediment bioturbation factor =', sedlam 111 WRITE(numout,*) & 112 & ' Sediment burying ratio for POC =', sedlostpoc 113 WRITE(numout,*) & 114 & ' Sediment burying ratio for CACO3 =', sedlostcal 115 WRITE(numout,*) & 116 & ' Sediment burying ratio for SI =', sedlostsil 117 WRITE(numout,*) & 118 & ' frequence pour la biologie =', nrdttrc 119 WRITE(numout,*) & 120 & ' P-I slope =', pislope 121 WRITE(numout,*) & 122 & ' excretion ratio of phytoplankton =', excret 123 WRITE(numout,*) & 124 & ' POC sinking speed =', wsbio 125 WRITE(numout,*) & 126 & ' exsudation rate of zooplankton =', resrat 127 WRITE(numout,*) & 128 & ' phytoplankton mortality rate =', mprat 129 WRITE(numout,*) & 130 & ' zooplankton mortality rate =', mzrat 131 WRITE(numout,*) & 132 & ' zoo preference for phyto =', xprefc 133 WRITE(numout,*) & 134 & ' zoo preference for POC =', xprefp 135 WRITE(numout,*) & 136 & ' maximal zoo grazing rate =', grazrat 137 WRITE(numout,*) & 138 & ' non assimilated fraction of phyto by zoo =', unass 139 WRITE(numout,*) & 140 & ' half sturation constant for grazing =', xkgraz 141 WRITE(numout,*) & 142 & ' half saturation constant for mortality =', xkmort 143 WRITE(numout,*) & 144 & ' half saturation constant for Si uptake =', xksi1 145 WRITE(numout,*) & 146 & ' half saturation constant for Si/C =', xksi2 147 WRITE(numout,*) & 148 & ' remineralisation rate of POC =', xremip 149 WRITE(numout,*) & 150 & ' remineralization rate of DOC =', xremik 151 WRITE(numout,*) & 152 & ' remineralization rate of Si =', xsirem 153 WRITE(numout,*) & 154 & ' 1st half-sat. of DOC remineralization =', xkdoc1 155 WRITE(numout,*) & 156 & ' 2nd half-sat. of DOC remineralization =', xkdoc2 157 WRITE(numout,*) & 158 & ' excretion ratio of diatoms =', excret2 159 WRITE(numout,*) & 160 & ' exsudation rate of mesozooplankton =', resrat2 161 WRITE(numout,*) & 162 & ' Diatoms mortality rate =', mprat2 163 WRITE(numout,*) & 164 & ' Phytoplankton minimum mortality rate =', mpratm 165 WRITE(numout,*) & 166 & ' mesozooplankton mortality rate =', mzrat2 167 WRITE(numout,*) & 168 & ' zoo preference for zoo =', xprefz 169 WRITE(numout,*) & 170 & ' zoo preference for poc =', xprefpoc 171 WRITE(numout,*) & 172 & ' maximal mesozoo grazing rate =', grazrat2 173 WRITE(numout,*) & 174 & ' non assimilated fraction of P by mesozoo =', unass2 175 WRITE(numout,*) & 176 & ' Efficicency of Mesozoo growth =', epsher2 177 WRITE(numout,*) & 178 & ' Efficiency of microzoo growth =', epsher 179 WRITE(numout,*) & 180 & ' half sturation constant for grazing 2 =', xkgraz2 181 WRITE(numout,*) & 182 & ' Maximum aggregation rate for diatoms =', wchld 183 WRITE(numout,*) & 184 & ' scavenging rate of Iron =', xlam1 185 WRITE(numout,*) & 186 & ' Fe/C in zooplankton =', ferat3 187 WRITE(numout,*) & 188 & ' Phosphate half saturation for diatoms =', conc1 189 WRITE(numout,*) & 190 & ' Iron half saturation for phyto =', conc2 191 WRITE(numout,*) & 192 & ' Iron half saturation for diatoms =', conc3 193 WRITE(numout,*) & 194 & ' NH4 half saturation for phyto =', concnnh4 195 WRITE(numout,*) & 196 & ' NH4 half saturation for diatoms =', concdnh4 197 WRITE(numout,*) & 198 & ' NH4 nitrification rate =', nitrif 199 WRITE(numout,*) & 200 & ' P-I slope for diatoms =', pislope2 201 WRITE(numout,*) & 202 & ' Big particles sinking speed =', wsbio2 203 WRITE(numout,*) & 204 & ' Fraction of microzoo excretion as DOM =', sigma1 205 WRITE(numout,*) & 206 & ' Fraction of mesozoo excretion as DOM =', sigma2 207 WRITE(numout,*) & 208 & ' Microzoo preference for POM =', zprefc 209 WRITE(numout,*) & 210 & ' Microzoo preference for Nanophyto =', zprefp 211 WRITE(numout,*) & 212 & ' Microzoo preference for Diatoms =', zprefd 213 WRITE(numout,*) & 214 & ' Minimum Chl/C in nanophytoplankton =', chlcnm 215 WRITE(numout,*) & 216 & ' Minimum Chl/C in diatoms =', chlcdm 217 WRITE(numout,*) & 218 & ' Maximum Fe/C in nanophytoplankton =', fecnm 219 WRITE(numout,*) & 220 & ' Minimum Fe/C in diatoms =', fecdm 221 WRITE(numout,*) & 222 & ' Coastal release of Iron =', sedfeinput 213 223 ENDIF 214 224 215 225 READ(numnat,natsms) 216 226 IF(lwp) THEN 217 WRITE(numout,*) ' ' 218 WRITE(numout,*) 'natsms' 219 WRITE(numout,*) ' ' 220 WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer 221 WRITE(numout,*) ' ' 222 WRITE(numout,*) 'River input of nutrients : ', briver 223 WRITE(numout,*) ' ' 224 WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo 225 WRITE(numout,*) ' ' 226 WRITE(numout,*) 'Fe input from sediments : ', bsedinput 227 WRITE(numout,*) ' ' 228 ENDIF 229 230 231 #else 232 233 ! no passive tracers 234 235 #endif 227 WRITE(numout,*) ' ' 228 WRITE(numout,*) 'natsms' 229 WRITE(numout,*) ' ' 230 WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer 231 WRITE(numout,*) ' ' 232 WRITE(numout,*) 'River input of nutrients : ', briver 233 WRITE(numout,*) ' ' 234 WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo 235 WRITE(numout,*) ' ' 236 WRITE(numout,*) 'Fe input from sediments : ', bsedinput 237 WRITE(numout,*) ' ' 238 ENDIF 239 240 END SUBROUTINE trc_lsm
Note: See TracChangeset
for help on using the changeset viewer.