1 | MODULE oce |
---|
2 | !!====================================================================== |
---|
3 | !! *** MODULE oce *** |
---|
4 | !! Ocean : dynamics and active tracers defined in memory |
---|
5 | !!====================================================================== |
---|
6 | !! History : |
---|
7 | !! 8.5 ! 02-11 (G. Madec) F90: Free form and module |
---|
8 | !!---------------------------------------------------------------------- |
---|
9 | !! OPA 9.0 , LODYC-IPSL (2003) |
---|
10 | !!---------------------------------------------------------------------- |
---|
11 | !! * Modules used |
---|
12 | USE par_oce ! ocean parameters |
---|
13 | |
---|
14 | IMPLICIT NONE |
---|
15 | PRIVATE |
---|
16 | |
---|
17 | !! Physics and algorithm flags |
---|
18 | !! --------------------------- |
---|
19 | LOGICAL, PUBLIC :: ln_dynhpg_imp = .FALSE. !: semi-implicite hpg flag |
---|
20 | |
---|
21 | !! dynamics and tracer fields |
---|
22 | !! -------------------------- |
---|
23 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: |
---|
24 | ! before ! now ! after ! ! the after trends becomes the fields |
---|
25 | ! fields ! fields ! trends ! ! only in dyn(tra)_zdf and dyn(tra)_nxt |
---|
26 | ub , un , ua , & !: i-horizontal velocity (m/s) |
---|
27 | vb , vn , va , & !: j-horizontal velocity (m/s) |
---|
28 | wn , & !: vertical velocity (m/s) |
---|
29 | rotb , rotn , & !: relative vorticity (1/s) |
---|
30 | hdivb , hdivn , & !: horizontal divergence (1/s) |
---|
31 | tb , tn , ta , & !: potential temperature (celcius) |
---|
32 | sb , sn , sa !: salinity (psu) |
---|
33 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: |
---|
34 | rhd , & !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
35 | rhop, & !: potential volumic mass (kg/m3) |
---|
36 | rn2 !: brunt-vaisala frequency (1/s2) |
---|
37 | |
---|
38 | !! advection scheme choice |
---|
39 | !! ----------------------- |
---|
40 | CHARACTER(len=3), PUBLIC :: l_adv !: 'ce2' centre scheme used |
---|
41 | ! !: 'tvd' TVD scheme used |
---|
42 | ! !: 'mus' MUSCL scheme used |
---|
43 | ! !: 'mu2' MUSCL2 scheme used |
---|
44 | |
---|
45 | !! surface pressure gradient |
---|
46 | !! ------------------------- |
---|
47 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
48 | spgu, spgv !: horizontal surface pressure gradient |
---|
49 | |
---|
50 | #if defined key_partial_steps || defined key_esopa |
---|
51 | !! interpolated gradient |
---|
52 | !! --------------------- |
---|
53 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
54 | gtu, gsu, gru, & !: t-, s- and rd horizontal gradient at u- and |
---|
55 | gtv, gsv, grv !: v-points at bottom ocean level |
---|
56 | #else |
---|
57 | REAL(wp), PUBLIC :: & !: |
---|
58 | gtu, gsu, gru, & !: dummy scalars |
---|
59 | gtv, gsv, grv !: |
---|
60 | #endif |
---|
61 | |
---|
62 | #if defined key_dynspg_fsc || defined key_esopa |
---|
63 | !! free surface - constant volume formulation |
---|
64 | !! ------------------------------------------ |
---|
65 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
66 | sshb, sshn, & !: before, now sea surface height (meters) |
---|
67 | hu, hv !: depth at u- and v-points (meters) |
---|
68 | # if defined key_obc |
---|
69 | REAL(wp), PUBLIC :: & !: |
---|
70 | obcsurftot !: Total lateral surface of open boundaries |
---|
71 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
72 | obcumask, obcvmask !: u-, v- Force filtering mask for the open |
---|
73 | ! ! boundary condition on grad D |
---|
74 | # endif |
---|
75 | # if defined key_trdvor |
---|
76 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
77 | hur, hvr !: inverse of u and v-points ocean depth (1/m) |
---|
78 | # endif |
---|
79 | #endif |
---|
80 | #if defined key_dynspg_rl || defined key_esopa |
---|
81 | !! rigid-lid formulation |
---|
82 | !! --------------------- |
---|
83 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
84 | hur, hvr, & !: inverse of u and v-points ocean depth (1/m) |
---|
85 | bsfb, bsfn, & !: before, now barotropic streamfunction (m3/s) |
---|
86 | bsfd !: now trend of barotropic streamfunction (m3/s2) |
---|
87 | #endif |
---|
88 | !!---------------------------------------------------------------------- |
---|
89 | END MODULE oce |
---|