1 | MODULE trcnam_c14 |
---|
2 | !!====================================================================== |
---|
3 | !! *** MODULE trcnam_c14 *** |
---|
4 | !! TOP : initialisation of some run parameters for C14 chemical model |
---|
5 | !!====================================================================== |
---|
6 | !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) from trcnam.cfc.h90 |
---|
7 | !! History : ! 2015 (A.Mouchet) equilibrium + transient C14 |
---|
8 | !!---------------------------------------------------------------------- |
---|
9 | !! trc_nam_c14 : C14 model initialisation |
---|
10 | !!---------------------------------------------------------------------- |
---|
11 | USE oce_trc ! Ocean variables |
---|
12 | USE trc ! TOP variables |
---|
13 | USE sms_c14 |
---|
14 | |
---|
15 | IMPLICIT NONE |
---|
16 | PRIVATE |
---|
17 | !! |
---|
18 | PUBLIC trc_nam_c14 ! called by trcnam.F90 module |
---|
19 | !! |
---|
20 | !!---------------------------------------------------------------------- |
---|
21 | !! NEMO/TOP 4.0 , NEMO Consortium (2018) |
---|
22 | !! $Id$ |
---|
23 | !! Software governed by the CeCILL license (see ./LICENSE) |
---|
24 | !!---------------------------------------------------------------------- |
---|
25 | |
---|
26 | CONTAINS |
---|
27 | |
---|
28 | SUBROUTINE trc_nam_c14 |
---|
29 | !!------------------------------------------------------------------- |
---|
30 | !! *** ROUTINE trc_nam_c14 *** |
---|
31 | !! |
---|
32 | !! ** Purpose : Definition some run parameter for C14 model |
---|
33 | !! |
---|
34 | !! ** Method : Read the namc14 namelist and check the parameter |
---|
35 | !! values called at the first timestep (nittrc000) |
---|
36 | !! |
---|
37 | !! ** input : Namelist namelist_c14 |
---|
38 | !!---------------------------------------------------------------------- |
---|
39 | INTEGER :: ios ! Local integer |
---|
40 | !! |
---|
41 | NAMELIST/namc14_typ/ kc14typ,rc14at, pco2at, rc14init ! type of C14 tracer, default values of C14/C, pco2, & ocean r14 |
---|
42 | NAMELIST/namc14_sbc/ ln_chemh, xkwind, xdicsur ! chem enh, wind coeff, ref DIC |
---|
43 | NAMELIST/namc14_fcg/ cfileco2, cfilec14, tyrc14_beg ! for transient exps; atm forcing |
---|
44 | !!------------------------------------------------------------------- |
---|
45 | ! |
---|
46 | IF(lwp) THEN |
---|
47 | WRITE(numout,*) ' ' |
---|
48 | WRITE(numout,*) ' Radiocarbon C14' |
---|
49 | WRITE(numout,*) ' ' |
---|
50 | WRITE(numout,*) ' trc_nam_c14 : Read C14 namelists' |
---|
51 | WRITE(numout,*) ' ~~~~~~~~~~~' |
---|
52 | ENDIF |
---|
53 | ! |
---|
54 | ! Variable setting |
---|
55 | ctrcnm (jp_c14) = 'RC14' |
---|
56 | ctrcln (jp_c14) = 'Radiocarbon ratio' |
---|
57 | ctrcun (jp_c14) = '-' |
---|
58 | ln_trc_ini(jp_c14) = .false. |
---|
59 | ln_trc_sbc(jp_c14) = .false. |
---|
60 | ln_trc_cbc(jp_c14) = .false. |
---|
61 | ln_trc_obc(jp_c14) = .false. |
---|
62 | ! |
---|
63 | READ ( numtrc_ref, namc14_typ, IOSTAT = ios, ERR = 901) |
---|
64 | 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_typ in reference namelist' ) |
---|
65 | READ ( numtrc_cfg, namc14_typ, IOSTAT = ios, ERR = 902) |
---|
66 | 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_typ in configuration namelist' ) |
---|
67 | IF(lwm) WRITE ( numonr, namc14_typ ) |
---|
68 | ! |
---|
69 | IF(lwp) THEN ! control print |
---|
70 | WRITE(numout,*) ' Namelist : namc14_typ' |
---|
71 | WRITE(numout,*) ' Type of C14 tracer (0=equilibrium; 1=bomb transient; 2=past transient) kc14typ = ', kc14typ |
---|
72 | WRITE(numout,*) ' Default value for atmospheric C14/C (used for equil run) rc14at = ', rc14at |
---|
73 | WRITE(numout,*) ' Default value for atmospheric pcO2 [atm] (used for equil run) pco2at = ', pco2at |
---|
74 | WRITE(numout,*) ' Default value for initial C14/C in the ocean (used for equil run) rc14init= ', rc14init |
---|
75 | WRITE(numout,*) |
---|
76 | ENDIF |
---|
77 | |
---|
78 | READ ( numtrc_ref, namc14_sbc, IOSTAT = ios, ERR = 903) |
---|
79 | 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_sbc in reference namelist' ) |
---|
80 | READ ( numtrc_cfg, namc14_sbc, IOSTAT = ios, ERR = 904) |
---|
81 | 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_sbc in configuration namelist' ) |
---|
82 | IF(lwm) WRITE( numonr, namc14_sbc ) |
---|
83 | ! |
---|
84 | IF(lwp) THEN ! control print |
---|
85 | WRITE(numout,*) ' Namelist namc14_sbc' |
---|
86 | WRITE(numout,*) ' Chemical enhancement in piston velocity ln_chemh = ', ln_chemh |
---|
87 | WRITE(numout,*) ' Coefficient for gas exchange velocity xkwind = ', xkwind |
---|
88 | WRITE(numout,*) ' Reference DIC concentration (mol/m3) xdicsur = ', xdicsur |
---|
89 | WRITE(numout,*) |
---|
90 | ENDIF |
---|
91 | |
---|
92 | READ ( numtrc_ref, namc14_fcg, IOSTAT = ios, ERR = 905) |
---|
93 | 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_fcg in reference namelist' ) |
---|
94 | READ ( numtrc_cfg, namc14_fcg, IOSTAT = ios, ERR = 906) |
---|
95 | 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_fcg in configuration namelist' ) |
---|
96 | IF(lwm) WRITE ( numonr, namc14_fcg ) |
---|
97 | ! |
---|
98 | IF(lwp) THEN ! control print |
---|
99 | WRITE(numout,*) ' Namelist namc14_fcg' |
---|
100 | WRITE(numout,*) ' Atmospheric co2 file ( bomb ) cfileco2 = ', TRIM( cfileco2 ) |
---|
101 | WRITE(numout,*) ' Atmospheric c14 file ( bomb ) cfilec14 = ', TRIM( cfilec14 ) |
---|
102 | WRITE(numout,*) ' Starting year of experiment tyrc14_beg = ', tyrc14_beg |
---|
103 | ENDIF |
---|
104 | |
---|
105 | ! |
---|
106 | IF( kc14typ == 2 ) tyrc14_beg = 1950._wp - tyrc14_beg ! BP to AD dates |
---|
107 | ! set units |
---|
108 | rlam14 = LOG(2._wp) / 5730._wp / rsiyea ! C14 decay rate: yr^-1 --> s^-1 |
---|
109 | ! ! radiocarbon half-life is 5730 yr |
---|
110 | END SUBROUTINE trc_nam_c14 |
---|
111 | |
---|
112 | !!====================================================================== |
---|
113 | END MODULE trcnam_c14 |
---|