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.
step_oce_tam.F90 in branches/2012/dev_r3604_LEGI8_TAM/NEMOGCM/NEMO/OPATAM_SRC – NEMO

source: branches/2012/dev_r3604_LEGI8_TAM/NEMOGCM/NEMO/OPATAM_SRC/step_oce_tam.F90 @ 3611

Last change on this file since 3611 was 3611, checked in by pabouttier, 11 years ago

Add TAM code and ORCA2_TAM configuration - see Ticket #1007

  • Property svn:executable set to *
File size: 8.5 KB
Line 
1MODULE step_oce_tam
2   !!======================================================================
3   !!                       ***  MODULE step_oce  ***
4   !! Ocean time-stepping : module used in both initialisation phase and time stepping
5   !!======================================================================
6   !! History :   3.3  ! 2010-08  (C. Ethe)  Original code - reorganisation of the initial phase
7   !!----------------------------------------------------------------------
8   USE oce              ! ocean dynamics and tracers variables
9   USE dom_oce          ! ocean space and time domain variables
10   USE par_oce
11   USE zdf_oce          ! ocean vertical physics variables
12   USE ldftra_oce       ! ocean tracer   - trends
13   USE ldfdyn_oce       ! ocean dynamics - trends
14   USE in_out_manager   ! I/O manager
15   USE iom              !
16   USE lbclnk
17
18   USE daymod           ! calendar                         (day     routine)
19
20   USE sbcmod           ! surface boundary condition       (sbc     routine)
21   USE sbcrnf           ! surface boundary condition: runoff variables
22   USE sbccpl           ! surface boundary condition: coupled formulation (call send at end of step)
23   USE cpl_oasis3, ONLY : lk_cpl
24   USE sbctide          ! Tide initialisation
25
26   USE traqsr           ! solar radiation penetration      (tra_qsr routine)
27   USE trasbc           ! surface boundary condition       (tra_sbc routine)
28   USE trabbc           ! bottom boundary condition        (tra_bbc routine)
29   USE trabbl           ! bottom boundary layer            (tra_bbl routine)
30   USE tradmp           ! internal damping                 (tra_dmp routine)
31   USE traadv           ! advection scheme control     (tra_adv_ctl routine)
32   USE traldf           ! lateral mixing                   (tra_ldf routine)
33   !   zdfkpp           ! KPP non-local tracer fluxes      (tra_kpp routine)
34   USE trazdf           ! vertical mixing                  (tra_zdf routine)
35   USE tranxt           ! time-stepping                    (tra_nxt routine)
36   USE tranpc           ! non-penetrative convection       (tra_npc routine)
37
38   USE eosbn2           ! equation of state                (eos_bn2 routine)
39
40   USE dynadv           ! advection                        (dyn_adv routine)
41   USE dynbfr           ! Bottom friction terms            (dyn_bfr routine)
42   USE dynvor           ! vorticity term                   (dyn_vor routine)
43   USE dynhpg           ! hydrostatic pressure grad.       (dyn_hpg routine)
44   USE dynldf           ! lateral momentum diffusion       (dyn_ldf routine)
45   USE dynzdf           ! vertical diffusion               (dyn_zdf routine)
46   USE dynspg_oce       ! surface pressure gradient        (dyn_spg routine)
47   USE dynspg           ! surface pressure gradient        (dyn_spg routine)
48   USE dynnept          ! simp. form of Neptune effect(dyn_nept_cor routine)
49
50   USE dynnxt           ! time-stepping                    (dyn_nxt routine)
51
52   USE obc_par          ! open boundary condition variables
53   USE obcdta           ! open boundary condition data     (obc_dta routine)
54   USE obcrst           ! open boundary cond. restart      (obc_rst routine)
55   USE obcrad           ! open boundary cond. radiation    (obc_rad routine)
56
57   USE bdy_par          ! for lk_bdy
58   USE bdydta           ! open boundary condition data     (bdy_dta routine)
59
60   USE sshwzv           ! vertical velocity and ssh        (ssh_wzv routine)
61
62   USE ldfslp           ! iso-neutral slopes               (ldf_slp routine)
63   USE ldfeiv           ! eddy induced velocity coef.      (ldf_eiv routine)
64
65   USE zdftmx           ! tide-induced vertical mixing     (zdf_tmx routine)
66   USE zdfbfr           ! bottom friction                  (zdf_bfr routine)
67   USE zdftke           ! TKE vertical mixing              (zdf_tke routine)
68   USE zdfgls           ! GLS vertical mixing              (zdf_gls routine)
69   USE zdfkpp           ! KPP vertical mixing              (zdf_kpp routine)
70   USE zdfddm           ! double diffusion mixing          (zdf_ddm routine)
71   USE zdfevd           ! enhanced vertical diffusion      (zdf_evd routine)
72   USE zdfric           ! Richardson vertical mixing       (zdf_ric routine)
73   USE zdfmxl           ! Mixed-layer depth                (zdf_mxl routine)
74
75   USE zpshde           ! partial step: hor. derivative     (zps_hde routine)
76
77   USE diawri           ! Standard run outputs             (dia_wri routine)
78   USE trdicp           ! Ocean momentum/tracers trends    (trd_wri routine)
79   USE trdmld           ! mixed-layer trends               (trd_mld routine)
80   USE trdmld_rst       ! restart for mixed-layer trends
81   USE trdmod_oce       ! ocean momentum/tracers trends
82   USE trdmod           ! momentum/tracers trends
83   USE trdvor           ! vorticity budget                 (trd_vor routine)
84   USE diaptr           ! poleward transports              (dia_ptr routine)
85   USE diadct           ! sections transports              (dia_dct routine)
86   USE diaar5           ! AR5 diagnosics                   (dia_ar5 routine)
87   USE diahth           ! thermocline depth                (dia_hth routine)
88   USE diafwb           ! freshwater budget                (dia_fwb routine)
89   USE diahsb           ! heat, salt and volume budgets    (dia_hsb routine)
90   USE diaharm
91   USE flo_oce          ! floats variables
92   USE floats           ! floats computation               (flo_stp routine)
93
94   USE asminc           ! assimilation increments      (tra_asm_inc routine)
95   !                                                   (dyn_asm_inc routine)
96
97   USE stpctl           ! time stepping control            (stp_ctl routine)
98   USE restart          ! ocean restart                    (rst_wri routine)
99   USE prtctl           ! Print control                    (prt_ctl routine)
100
101   USE diaobs           ! Observation operator
102
103   USE timing           ! Timing
104
105   USE oce_tam
106   USE lbclnk_tam
107   USE daymod_tam      ! calendar                         (adjoint of day     routine)
108   USE sbc_oce_tam
109   USE sbcmod_tam
110   USE traqsr_tam      ! solar radiation penetration      (adjoint of tra_qsr routine)
111   USE trasbc_tam      ! surface boundary condition       (adjoint of tra_sbc routine)
112   USE trabbl_tam      ! bottom boundary layer            (adjoint of tra_bbl routine)
113   USE trabbc_tam      ! bottom boundary condition        (adjoint of tra_bbc routine)
114   USE tradmp_tam      ! internal damping                 (adjoint of tra_dmp routine)
115   USE traadv_tam      ! advection scheme control     (adjoint of tra_adv_ctl routine)
116   USE traldf_tam      ! lateral mixing                   (adjoint of tra_ldf routine)
117   USE cla_tam         ! cross land advection             (adjoint of tra_cla routine)
118   USE trazdf_tam      ! vertical mixing                  (adjoint of tra_zdf routine)
119   USE tranxt_tam      ! time-stepping                    (adjoint of tra_nxt routine)
120   USE eosbn2_tam      ! equation of state                (adjoint of eos_bn2 routine)
121   USE dynadv_tam      ! advection                        (adjoint of dyn_adv routine)
122   USE dynvor_tam      ! vorticity term                   (adjoint of dyn_vor routine)
123   USE dynhpg_tam      ! hydrostatic pressure grad.       (adjoint of dyn_hpg routine)
124   USE dynldf_tam      ! lateral momentum diffusion       (adjoint of dyn_ldf routine)
125   USE dynzdf_tam      ! vertical diffusion               (adjoint of dyn_zdf routine)
126   USE dynspg_tam      ! surface pressure gradient        (adjoint of dyn_spg routine)
127   USE dynnxt_tam      ! time-stepping                    (adjoint of dyn_nxt routine)
128   USE dynbfr_tam      ! time-stepping                    (adjoint of dyn_nxt routine)
129   USE sshwzv_tam      ! vertical velocity and ssh        (ssh_wzv routine)
130   USE divcur_tam      ! hor. divergence and curl      (adjoint of div & cur routines)
131   USE cla_tam     ! cross land: hor. divergence      (adjoint of div_cla routine)
132   USE zdfbfr_tam
133   USE zpshde_tam      ! partial step: hor. derivative     (adjoint of zps_hde routine)
134   USE trj_tam
135   USE stpctl_tam      ! time stepping control            (adjoint of stp_ctl routine)
136   USE gridrandom
137   USE dotprodfld
138   USE tstool_tam
139   USE paresp
140   USE istate_tam      !: Initial state setting          (istate_init routine)
141   USE sol_oce_tam
142   USE trc_oce_tam
143   USE sbcrnf_tam
144   !!----------------------------------------------------------------------
145   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
146   !! $Id$
147   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
148   !!======================================================================
149END MODULE step_oce_tam
Note: See TracBrowser for help on using the repository browser.