[325] | 1 | MODULE 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 | !!---------------------------------------------------------------------- |
---|
[343] | 11 | !! OPA 9.0 , LOCEAN-IPSL (2005) |
---|
[1152] | 12 | !! $Id$ |
---|
[343] | 13 | !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt |
---|
| 14 | !!---------------------------------------------------------------------- |
---|
[325] | 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 |
---|
[1445] | 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) |
---|
[325] | 30 | |
---|
| 31 | |
---|
| 32 | CONTAINS |
---|
| 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 |
---|
[654] | 42 | !! (rabs). These parameters are read in the namqsr namelist. The |
---|
[325] | 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 |
---|
[1445] | 56 | NAMELIST/namqsr/ ln_qsr_bio, rn_abs, rn_si0, rn_si2 |
---|
[325] | 57 | !!---------------------------------------------------------------------- |
---|
| 58 | |
---|
[976] | 59 | ! Read Namelist nam_qsr : ratio and length of penetration |
---|
[325] | 60 | ! -------------------- |
---|
| 61 | REWIND ( numnam ) |
---|
[1119] | 62 | READ ( numnam, namqsr ) |
---|
[325] | 63 | |
---|
[1445] | 64 | ln_qsr_bio = .FALSE. ! Offline mode : No retroaction on dynamics |
---|
[325] | 65 | ! Parameter control and print |
---|
| 66 | ! --------------------------- |
---|
[1445] | 67 | IF(lwp) THEN ! control print |
---|
[325] | 68 | WRITE(numout,*) |
---|
| 69 | WRITE(numout,*) 'tra_qsr_init : penetration of the surface solar radiation' |
---|
| 70 | WRITE(numout,*) '~~~~~~~~~~~~' |
---|
[654] | 71 | WRITE(numout,*) ' Namelist namqsr : set the parameter of penetration' |
---|
[1445] | 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 |
---|
[325] | 76 | ENDIF |
---|
[1445] | 77 | |
---|
[325] | 78 | |
---|
| 79 | END SUBROUTINE tra_qsr_init |
---|
| 80 | |
---|
| 81 | !!====================================================================== |
---|
| 82 | END MODULE traqsr |
---|