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

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

source: trunk/NEMO/TOP_SRC/SED/sed.F90 @ 1329

Last change on this file since 1329 was 1329, checked in by cetlod, 15 years ago

update modules to take into account the mask land points in NetCDF outputs, see ticket:322

File size: 7.5 KB
Line 
1MODULE sed
2   !!======================================================================
3   !!                        ***  sed  ***
4   !! Sediment :   set sediment global variables
5   !!======================================================================
6#if defined key_sed
7   !! History :
8   !!        !  06-12  (C. Ethe)  Orignal
9   !!----------------------------------------------------------------------
10   USE par_sed
11
12   USE in_out_manager
13
14   USE dom_oce , ONLY :       &
15      nidom    =>   nidom  ,  & !:
16      glamt    =>   glamt  ,  & !: longitude of t-point (degre)
17      gphit    =>   gphit  ,  & !: latitude  of t-point (degre)
18      e3t_0    =>   e3t_0  ,  & !: reference depth of t-points (m)
19      mbathy   =>   mbathy ,  & !: bathymetry
20      tmask    =>   tmask  ,  & !: land/ocean mask at t-points
21      rdt      =>   rdt         !: time step for the dynamics
22
23   USE daymod , ONLY :            &
24      nyear     =>   nyear    ,   & !: Current year
25      nmonth    =>   nmonth   ,   & !: Current month
26      nday      =>   nday     ,   & !: Current day
27      ndastp    =>   ndastp   ,   & !: time step date in year/month/day aammjj
28      nday_year =>   nday_year,   & !: curent day counted from jan 1st of the current year
29      adatrj    =>   adatrj         !: number of elapsed days since the begining of the run
30   !                                !: it is the accumulated duration of previous runs
31   !                                !: that may have been run with different time steps.
32
33
34#if ! defined key_sed_off
35
36   USE oce , ONLY :            &
37      tn      =>    tn    ,  & !: pot. temperature (celsius)
38      sn      =>    sn         !: salinity (psu)
39
40   USE trc, ONLY :  &
41      trn        , & !: tracer
42      nittrc000  , & !: 1st time step of tracer model
43      nwritetrc      !: outputs frequency of tracer model
44
45   USE p4zsink, ONLY :  &
46      sinking  ,     & !: sinking flux for POC
47#if ! defined key_kriest
48      sinking2 ,     & !: sinking flux for GOC
49#endif
50      sinkcal ,      & !: sinking flux for calcite
51      sinksil          !: sinking flux for opal ( dsi )
52
53   USE sms_pisces, ONLY :  &
54      akb3  ,     & 
55      ak13  ,     & 
56      ak23  ,     & 
57      akw3  ,     & 
58      aksp  ,     & 
59      borat 
60
61#endif   
62
63   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpdta) :: &
64      trc_data           !: tracer data to share with sediment model
65
66   INTEGER, PUBLIC :: &
67      nitsed000, nitsedend, nwrised, nfreq
68
69   REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE ::   &
70      pwcp  ,      &     !: pore water sediment data at given time-step
71      pwcp0              !: pore water sediment data at initial time
72
73   REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE ::   &
74      solcp ,      &     !: solid sediment data at given time-step
75      solcp0             !: solid sediment at initial time
76
77   !! * Shared module variables
78   REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE ::   &
79      pwcp_dta           !: pore water data at given time-step
80
81   REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE ::   &
82      rainrm_dta,  &     !: rain data at at initial time
83      rainrm    ,  &     !: rain data at given time-step
84      rainrg    ,  &     !: rain of each solid component in [g/(cm**2.s)]
85      fromsed   ,  &     !:
86      tosed     ,  &     !:
87      rloss              !:
88
89   REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE  ::   &
90      tokbot             !:
91
92   REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE  ::   & 
93      temp  ,      &     !: temperature
94      salt  ,      &     !: salinity
95      press ,      &     !: pressure
96      raintg,      &     !: total massic flux rained in each cell (sum of sol. comp.)
97      dzdep              !: total thickness of solid material rained [cm] in each cell
98
99   REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE  ::   &
100      hipor  ,     &     !: [h+] in mol/kg*densSW
101      co3por             !: [co3--]solid sediment at initial time
102
103   REAL(wp), PUBLIC, DIMENSION(jpsol) ::   &
104      mol_wgt            !: molecular weight of solid sediment data
105
106   
107   !! Geometry
108   INTEGER, PUBLIC, SAVE :: &
109      jpoce ,  &             !: sediment points
110      indoce
111
112   INTEGER , PUBLIC, DIMENSION(:) , ALLOCATABLE  ::   &  !:
113      iarroce      !: ! Computation of 1D array of sediments points
114
115   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: &
116      epkbot             !: ocean bottom layer thickness
117
118   REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE  :: &
119      dzkbot             !: ocean bottom layer thickness in meters
120
121   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpksed) :: &
122      tmasksed           !: sediment mask
123
124   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: &
125      sbathy
126 
127   REAL(wp), PUBLIC, DIMENSION(jpksed) :: &
128      dz      ,    &     !: sediment layers thickness
129      por     ,    &     !: porosity profile     
130      por1    ,    &     !: 1 - por
131      profsed ,    &     !: depth of middle of each layer
132      volw    ,    &     !: volume of pore water cell fraction
133      vols    ,    &     !: volume of solid cell fraction
134      diff    ,    &     !: diffusion ceofficient
135      rdtsed             !:
136
137   REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: &
138      dz3d   ,     &     !:
139      volw3d ,     &     !:
140      vols3d             !:
141
142   REAL(wp)  ::    &
143      dens               !: density of solid material
144
145   !! Namelist
146   REAL(wp), PUBLIC, DIMENSION(5) :: &   
147      reac               !: reactivity rc in  [l.mol-1.s-1]
148
149   REAL(wp), PUBLIC       :: &   
150      sat_sil,      &     !: saturation concentration for silicate in [mol.l-1]
151      sat_clay,     &     !:                              clay   
152      reac_sil,     &     !: reactivity rc in  [l.mol-1.s-1]
153      reac_clay,    &     
154      reac_poc,     &     
155      reac_no3,     &     
156      reac_cal         
157
158   REAL(wp), PUBLIC    :: &   
159      so2ut   ,     &     !:
160      srno3   ,     &     !:
161      spo4r   ,     &     !:
162      srDnit  ,     &     !:
163      sthro2              !: threshold O2 concen. in [mol.l-1]
164
165   REAL(wp), PUBLIC    :: &   
166      pdb    = 0.0112372, & !: 13C/12C in PD Belemnite
167      rc13P  = 0.980    , & !: 13C/12C in POC = rc13P*PDB
168      rc13Ca = 1.001        !: 13C/12C in CaCO3 = rc13Ca*PDB
169
170   REAL(wp) , PUBLIC ::   &
171      dtsed  ,     &     !: sedimentation time step
172      db                 !: bioturb coefficient in [cm2.s-1]
173
174   !! Chemistry
175   REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE  :: &
176      densSW ,     &
177      borats ,     &
178      calcon2,     &
179      akbs   ,     &
180      ak1s   ,     &
181      ak2s   ,     &
182      akws   ,     &
183      ak12s  ,     &
184      ak1ps  ,     &
185      ak2ps  ,     &
186      ak3ps  ,     &
187      ak12ps ,     &
188      ak123ps,     &
189      aksis  ,     & 
190      aksps 
191
192   !! Inputs / Outputs
193   CHARACTER( len = 80 ), DIMENSION(jptrased) :: &
194      sedtrcl
195   CHARACTER( len = 20 ), DIMENSION(jptrased) :: &
196      sedtrcd , sedtrcu
197
198   CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: &
199      seddia3l 
200   CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: &
201      seddia3d , seddia3u
202
203   CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: &
204      seddia2l 
205   CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: &
206      seddia2d , seddia2u
207
208   REAL(wp), DIMENSION(jpi,jpj,jpksed,jptrased) :: &
209      trcsedi
210   REAL(wp), DIMENSION(jpi,jpj,jpksed,jpdia3dsed) :: &
211      flxsedi3d
212   REAL(wp), DIMENSION(jpi,jpj,jpdia2dsed) :: &
213      flxsedi2d
214
215   !! Units
216   INTEGER, PUBLIC :: &
217     numsed = 27
218   
219#else
220   !!======================================================================
221   !! No Sediment model
222   !!======================================================================
223#endif
224
225END MODULE sed
Note: See TracBrowser for help on using the repository browser.