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.
flxmod.F90 in trunk/NEMO/OPA_SRC/SBC – NEMO

source: trunk/NEMO/OPA_SRC/SBC/flxmod.F90 @ 247

Last change on this file since 247 was 247, checked in by opalod, 19 years ago

CL : Add CVS Header and CeCILL licence information

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.2 KB
Line 
1MODULE flxmod
2   !!======================================================================
3   !!                       ***  MODULE  flxmod  ***
4   !! Ocean forcing:  thermohaline forcing of the ocean
5   !!=====================================================================
6   !! * Modules used
7   USE oce             ! ocean dynamics and tracers
8   USE dom_oce         ! ocean space and time domain
9   USE phycst          ! physical constants
10   USE in_out_manager  ! I/O manager
11   USE lib_mpp         ! distribued memory computing library
12   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
13   USE daymod          ! calendar
14   USE ocfzpt          ! ocean freezing point
15
16   IMPLICIT NONE
17   PRIVATE
18
19   !! * Routine accessibility
20   PUBLIC flx       ! routine called by step.F90
21   
22   !! * Substitutions
23#  include "domzgr_substitute.h90"
24   !!----------------------------------------------------------------------
25   !!   OPA 9.0 , LOCEAN-IPSL (2005)
26   !! $Header$
27   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
28   !!----------------------------------------------------------------------
29
30#if defined key_flx_bulk_monthly
31   !!----------------------------------------------------------------------
32   !!   'key_flx_bulk_monthly'   and                           MONTHLY bulk
33   !!   Default option                                         Net CDF file
34   !!----------------------------------------------------------------------
35#  include "flx_bulk_monthly.h90"
36
37#elif defined key_flx_bulk_daily
38   !!----------------------------------------------------------------------
39   !!   'key_flx_bulk_daily'                                     DAILY bulk
40   !!                                                          Net CDF file
41   !!----------------------------------------------------------------------
42#  include "flx_bulk_daily.h90"
43
44#elif defined key_flx_forced_daily
45   !!----------------------------------------------------------------------
46   !!   'key_flx_forced_daily'                                 DAILY fluxes
47   !!                                                          Net CDF file
48   !!----------------------------------------------------------------------
49#  include "flx_forced_daily.h90"
50
51#elif defined key_coupled
52# if defined key_ice_lim
53   !!----------------------------------------------------------------------
54   !!   'key_coupled'  and                          Coupled Ocan/Atmosphere
55   !!   'key_ice_lim'                               with  LIM sea-ice model
56   !!----------------------------------------------------------------------
57#  include "flx_coupled_ice.h90"
58
59# else
60   !!----------------------------------------------------------------------
61   !!   'key_flx_coupled'  and                      Coupled Ocan/Atmosphere
62   !!   Default option                              without   sea-ice model
63   !!----------------------------------------------------------------------
64#  include "flx_coupled_noice.h90"
65
66# endif
67#else
68   !!----------------------------------------------------------------------
69   !!   Default option                                   Analytical forcing
70   !!----------------------------------------------------------------------
71   !!   flx          : define the thermohaline fluxes for the ocean
72   !!----------------------------------------------------------------------
73   !! * Module used
74   !!----------------------------------------------------------------------
75
76CONTAINS
77
78   SUBROUTINE flx ( kt )
79      !!---------------------------------------------------------------------
80      !!                    ***  ROUTINE flx  ***
81      !!             
82      !! ** Purpose :   provide the thermohaline fluxes (heat and freshwater)
83      !!      to the ocean at each time step.
84      !!
85      !! ** Method  :   Constant surface fluxes (read in namelist (namflx))
86      !!
87      !! ** Action  : - q, qt, qsr, emp, emps, qrp, erp
88      !!
89      !! History :
90      !!        !  91-03  ()  Original code
91      !!   8.5  !  02-09  (G. Madec)  F90: Free form and module
92      !!----------------------------------------------------------------------
93      !! * Modules used
94      USE flxrnf                       ! ocean runoffs
95
96      !! * arguments
97      INTEGER, INTENT( in  ) ::   kt   ! ocean time step
98
99      !! * local declarations
100      REAL(wp) ::                   & !!! surface fluxes namelist (namflx)
101         q0   = 0.e0,               &  ! net heat flux
102         qsr0 = 0.e0,               &  ! solar heat flux
103         emp0 = 0.e0                   ! net freshwater flux
104
105      NAMELIST/namflx/ q0, qsr0, emp0
106      !!---------------------------------------------------------------------
107
108      IF( kt == nit000 ) THEN
109
110         ! Read Namelist namflx : surface thermohaline fluxes
111         ! --------------------
112         REWIND ( numnam )
113         READ   ( numnam, namflx )
114
115         IF(lwp) WRITE(numout,*)' '
116         IF(lwp) WRITE(numout,*)' flx     : Constant surface fluxes read in namelist'
117         IF(lwp) WRITE(numout,*)' ~~~~~~~ '
118         IF(lwp) WRITE(numout,*)'      : See the routine ocesbc'     
119
120     ENDIF
121
122   END SUBROUTINE flx
123
124#endif
125   !!======================================================================
126END MODULE flxmod
Note: See TracBrowser for help on using the repository browser.