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 tags/nemo_v3_2/nemo_v3_2/NEMO/TOP_SRC/SED – NEMO

source: tags/nemo_v3_2/nemo_v3_2/NEMO/TOP_SRC/SED/sed.F90 @ 1878

Last change on this file since 1878 was 1878, checked in by flavoni, 14 years ago

initial test for nemogcm

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