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 tags/nemo_v3_2/nemo_v3_2/NEMO/OFF_SRC/TRA – NEMO

source: tags/nemo_v3_2/nemo_v3_2/NEMO/OFF_SRC/TRA/traqsr.F90 @ 1878

Last change on this file since 1878 was 1878, checked in by flavoni, 14 years ago

initial test for nemogcm

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: traqsr.F90 1445 2009-05-13 14:35:02Z cetlod $
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.