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.
traqsr.F90 in branches/CMIP5_IPSL/NEMO/OFF_SRC/TRA – NEMO

source: branches/CMIP5_IPSL/NEMO/OFF_SRC/TRA/traqsr.F90 @ 7795

Last change on this file since 7795 was 1445, checked in by cetlod, 15 years ago

add the use of bio-optical retroaction on dynamics when coupling with PISCES, see ticket:428

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.7 KB
Line 
1MODULE traqsr
2   !!======================================================================
3   !!                       ***  MODULE  traqsr  ***
4   !! Ocean physics: solar radiation penetration in the top ocean levels
5   !!======================================================================
6
7   !!----------------------------------------------------------------------
8   !!   tra_qsr      : trend due to the solar radiation penetration
9   !!   tra_qsr_init : solar radiation penetration initialization
10   !!----------------------------------------------------------------------
11   !!   OPA 9.0 , LOCEAN-IPSL  (2005)
12   !!   $Id$
13   !!   This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
14   !!----------------------------------------------------------------------
15   !! * Modules used
16   USE in_out_manager  ! I/O manager
17
18   IMPLICIT NONE
19   PRIVATE
20
21   !! * Routine accessibility
22   PUBLIC tra_qsr_init ! routine called by opa.F90
23
24   !! * Shared module variables
25   LOGICAL , PUBLIC ::   ln_traqsr  = .TRUE.    !: light absorption (qsr) flag
26   LOGICAL , PUBLIC ::   ln_qsr_bio = .FALSE.   !: bio-optical retroaction
27   REAL(wp), PUBLIC ::   rn_abs     = 0.58_wp   !: fraction absorbed in the very near surface (RGB & 2 bands)
28   REAL(wp), PUBLIC ::   rn_si0     = 0.35_wp   !: very near surface depth of extinction      (RGB & 2 bands)
29   REAL(wp), PUBLIC ::   rn_si2     = 61.8_wp   !: deepest depth of extinction (blue & 0.01 mg.m-3)     (RGB)
30
31
32CONTAINS
33
34   SUBROUTINE tra_qsr_init
35      !!----------------------------------------------------------------------
36      !!                  ***  ROUTINE tra_qsr_init  ***
37      !!
38      !! ** Purpose :   Initialization for the penetrative solar radiation
39      !!
40      !! ** Method  :   The profile of solar radiation within the ocean is set
41      !!      from two length scale of penetration (xsr1,xsr2) and a ratio
42      !!      (rabs). These parameters are read in the namqsr namelist. The
43      !!      default values correspond to clear water (type I in Jerlov'
44      !!      (1968) classification.
45      !!         called by tra_qsr at the first timestep (nit000)
46      !!
47      !! ** Action  : - initialize xsr1, xsr2 and rabs
48      !!
49      !! Reference :
50      !!   Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp.
51      !!
52      !! History :
53      !!   8.5  !  02-06  (G. Madec) Original code
54      !!----------------------------------------------------------------------
55      !! * Local declarations
56      NAMELIST/namqsr/ ln_qsr_bio, rn_abs, rn_si0, rn_si2
57      !!----------------------------------------------------------------------
58
59      ! Read Namelist nam_qsr : ratio and length of penetration
60      ! --------------------
61      REWIND ( numnam )
62      READ   ( numnam, namqsr )
63
64      ln_qsr_bio = .FALSE. ! Offline mode : No retroaction on dynamics
65      ! Parameter control and print
66      ! ---------------------------
67      IF(lwp) THEN                ! control print
68         WRITE(numout,*)
69         WRITE(numout,*) 'tra_qsr_init : penetration of the surface solar radiation'
70         WRITE(numout,*) '~~~~~~~~~~~~'
71         WRITE(numout,*) '    Namelist namqsr : set the parameter of penetration'
72         WRITE(numout,*) '        bio-model            light penetration   ln_qsr_bio = ', ln_qsr_bio
73         WRITE(numout,*) '        RGB & 2 bands: fraction of light (rn_si1)    rn_abs = ', rn_abs
74         WRITE(numout,*) '        RGB & 2 bands: shortess depth of extinction  rn_si0 = ', rn_si0
75         WRITE(numout,*) '        3 bands: longest depth of extinction         rn_si2 = ', rn_si2
76      ENDIF
77     
78
79   END SUBROUTINE tra_qsr_init
80
81   !!======================================================================
82END MODULE traqsr
Note: See TracBrowser for help on using the repository browser.