1 | MODULE nemotam_hlt |
---|
2 | #if defined key_tam |
---|
3 | !!========================================================================== |
---|
4 | !! *** MODULE nemotam *** |
---|
5 | !! NEMOTAM system : Tangent and Adjoint for NEMO. |
---|
6 | !!========================================================================== |
---|
7 | |
---|
8 | !!---------------------------------------------------------------------- |
---|
9 | !! nemotam_main : Main driver routine for NEMOTAM |
---|
10 | !! nemotam_init : Initialization of NEMOTAM |
---|
11 | !! nemotam_final : Finish up NEMOTAM |
---|
12 | !!---------------------------------------------------------------------- |
---|
13 | !! History : |
---|
14 | !! 1.0 ! 07-06 (K. Mogensen) Initial version |
---|
15 | !! ! 09-06 (F. Vigilant) Modified to split NEMOVAR / NEMOTAM |
---|
16 | !! module tamctl i/o varctl |
---|
17 | !!--------------------------------------------------------------------- |
---|
18 | !!---------------------------------------------------------------------- |
---|
19 | !! * Modules used |
---|
20 | USE hlttst ! testing routine of linear-tangent hypothesis |
---|
21 | USE par_tlm |
---|
22 | USE in_out_manager ! I/O manager |
---|
23 | |
---|
24 | IMPLICIT NONE |
---|
25 | PRIVATE |
---|
26 | |
---|
27 | !! * Module variables |
---|
28 | |
---|
29 | !! * Routine accessibility |
---|
30 | |
---|
31 | PUBLIC & |
---|
32 | & nemotam_hlt_main |
---|
33 | |
---|
34 | CONTAINS |
---|
35 | |
---|
36 | SUBROUTINE nemotam_hlt_main |
---|
37 | !!---------------------------------------------------------------------- |
---|
38 | !! *** ROUTINE nemotam_main *** |
---|
39 | !! |
---|
40 | !! ** Purpose : Main driver routine for NEMOTAM |
---|
41 | !! |
---|
42 | !! ** Method : Nothing yet |
---|
43 | !! |
---|
44 | !! ** Action : Nothing yet |
---|
45 | !! |
---|
46 | !! History : |
---|
47 | !! ! 07-06 (K. Mogensen) Original code |
---|
48 | !!---------------------------------------------------------------------- |
---|
49 | |
---|
50 | !! * Local declarations |
---|
51 | |
---|
52 | ! Read namelist for model |
---|
53 | CALL hlt_root |
---|
54 | |
---|
55 | ! Main tst |
---|
56 | CALL hlt_tst |
---|
57 | |
---|
58 | END SUBROUTINE nemotam_hlt_main |
---|
59 | |
---|
60 | SUBROUTINE hlt_root |
---|
61 | !!---------------------------------------------------------------------- |
---|
62 | !! *** ROUTINE nemovar_root *** |
---|
63 | !! |
---|
64 | !! ** Purpose : Choose which init must be done according to test |
---|
65 | !! |
---|
66 | !! ** Method : Read namelist |
---|
67 | !! |
---|
68 | !! ** Action : |
---|
69 | !! |
---|
70 | !! History : |
---|
71 | !! ! 10-07 (F. Vigilant) Original code |
---|
72 | !!---------------------------------------------------------------------- |
---|
73 | !! * Modules used |
---|
74 | USE par_tlm |
---|
75 | ! USE in_out_manager, ONLY: & ! I/O manager |
---|
76 | ! & numnam, numout |
---|
77 | !! * Arguments |
---|
78 | |
---|
79 | !! * Local declarations |
---|
80 | NAMELIST/namhlt/ nstg, ln_hltt, ln_hlts, ln_hltuv, ln_hltssh, c_hltinc, & |
---|
81 | & ln_incdx, ln_hnorm, rhstdt, rhstds, rhstduv, rhstdssh |
---|
82 | |
---|
83 | CHARACTER (len=20) :: namelistname = 'namelist.hlt' |
---|
84 | CHARACTER (len=28) :: file_out |
---|
85 | !! * Arguments |
---|
86 | |
---|
87 | nstg = 0 |
---|
88 | ln_hltt = .FALSE. |
---|
89 | ln_hlts = .FALSE. |
---|
90 | ln_hltuv = .FALSE. |
---|
91 | ln_hltssh = .FALSE. |
---|
92 | c_hltinc = '' |
---|
93 | ln_incdx = .FALSE. |
---|
94 | ln_hnorm = .FALSE. |
---|
95 | rhstdt = 1.0_wp |
---|
96 | rhstds = 0.1_wp |
---|
97 | rhstduv = 0.01_wp |
---|
98 | rhstdssh = 0.01_wp |
---|
99 | |
---|
100 | file_out = 'nemohlt.output' |
---|
101 | |
---|
102 | ! open listing and namelist units |
---|
103 | CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', & |
---|
104 | & 'SEQUENTIAL', 1, 6, .FALSE., 1 ) |
---|
105 | |
---|
106 | WRITE(numout,*) |
---|
107 | WRITE(numout,*) ' L O D Y C - I P S L' |
---|
108 | WRITE(numout,*) ' O P A model' |
---|
109 | WRITE(numout,*) ' Ocean General Circulation Model' |
---|
110 | WRITE(numout,*) ' version OPA 9.0 (2005) ' |
---|
111 | WRITE(numout,*) |
---|
112 | WRITE(numout,*) |
---|
113 | call flush(numout) |
---|
114 | |
---|
115 | CALL ctlopn( numnam,namelistname, 'OLD', 'FORMATTED', 'SEQUENTIAL', & |
---|
116 | & 1, numout, .FALSE., 1 ) |
---|
117 | |
---|
118 | REWIND( numnam ) |
---|
119 | READ ( numnam, namhlt ) |
---|
120 | |
---|
121 | END SUBROUTINE hlt_root |
---|
122 | #endif |
---|
123 | END MODULE nemotam_hlt |
---|