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 | !! surface pressure gradient |
---|
39 | !! ------------------------- |
---|
40 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
41 | spgu, spgv !: horizontal surface pressure gradient |
---|
42 | |
---|
43 | #if defined key_partial_steps || defined key_esopa |
---|
44 | !! interpolated gradient |
---|
45 | !! --------------------- |
---|
46 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
47 | gtu, gsu, gru, & !: t-, s- and rd horizontal gradient at u- and |
---|
48 | gtv, gsv, grv !: v-points at bottom ocean level |
---|
49 | #else |
---|
50 | REAL(wp), PUBLIC :: & !: |
---|
51 | gtu, gsu, gru, & !: dummy scalars |
---|
52 | gtv, gsv, grv !: |
---|
53 | #endif |
---|
54 | |
---|
55 | #if defined key_dynspg_fsc || defined key_esopa |
---|
56 | !! free surface - constant volume formulation |
---|
57 | !! ------------------------------------------ |
---|
58 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
59 | sshb, sshn, & !: before, now sea surface height (meters) |
---|
60 | hu, hv !: depth at u- and v-points (meters) |
---|
61 | # if defined key_obc |
---|
62 | REAL(wp), PUBLIC :: & !: |
---|
63 | obcsurftot !: Total lateral surface of open boundaries |
---|
64 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
65 | obcumask, obcvmask !: u-, v- Force filtering mask for the open |
---|
66 | ! ! boundary condition on grad D |
---|
67 | # endif |
---|
68 | #endif |
---|
69 | #if defined key_dynspg_rl || defined key_esopa |
---|
70 | !! rigid-lid formulation |
---|
71 | !! --------------------- |
---|
72 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
73 | hur, hvr, & !: inverse of u and v-points ocean depth (1/m) |
---|
74 | bsfb, bsfn, & !: before, now barotropic streamfunction (m3/s) |
---|
75 | bsfd !: now trend of barotropic streamfunction (m3/s2) |
---|
76 | #endif |
---|
77 | #if defined key_trd_vor |
---|
78 | REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: |
---|
79 | hur, hvr !: inverse of u and v-points ocean depth (1/m) |
---|
80 | #endif |
---|
81 | |
---|
82 | |
---|
83 | !!---------------------------------------------------------------------- |
---|
84 | END MODULE oce |
---|