1 | MODULE hlttst |
---|
2 | #ifdef key_tam |
---|
3 | !!====================================================================== |
---|
4 | !! *** MODULE hlt_tst *** |
---|
5 | !! NEMOTAM : testing routine of linear-tangent hypothesis |
---|
6 | !!====================================================================== |
---|
7 | !! History : |
---|
8 | !! the direct: ! 10-07 (F. Vigilant) Original code |
---|
9 | !!----------------------------------------------------------------------- |
---|
10 | !! * Module used |
---|
11 | USE in_out_manager ! I/O manager |
---|
12 | USE par_tlm |
---|
13 | USE opahlt, ONLY: & |
---|
14 | & opa_hlt |
---|
15 | USE tanhlt, ONLY: & |
---|
16 | & tan_hlt |
---|
17 | USE hltinc |
---|
18 | |
---|
19 | IMPLICIT NONE |
---|
20 | |
---|
21 | !! * Routine accessibility |
---|
22 | PRIVATE |
---|
23 | |
---|
24 | PUBLIC & |
---|
25 | & hlt_tst |
---|
26 | |
---|
27 | CONTAINS |
---|
28 | |
---|
29 | SUBROUTINE hlt_tst |
---|
30 | !!----------------------------------------------------------------------- |
---|
31 | !! |
---|
32 | !! *** ROUTINE hlt_tst *** |
---|
33 | !! |
---|
34 | !! ** Purpose : Validate the linear-tangent hypothesis of the tangent with |
---|
35 | !! with respect to the direct model |
---|
36 | !! |
---|
37 | !! ** Method : Build or read a perturbation control vector dX and save |
---|
38 | !! M(X, t=tO+p.T), M(X+dX, t=tO+p.T), LT(dX, t=tO+p.T) |
---|
39 | !! t0=nit000 |
---|
40 | !! t = (nit000, nitend) |
---|
41 | !! T: saving frequency |
---|
42 | !! |
---|
43 | !! Post treatment need to be done to analyze the RMS of: |
---|
44 | !! Y(t) = M(X, t=tO+p.T) - M(X+dX, t=tO+p.T) - LT(dX, t=tO+p.T) |
---|
45 | !! |
---|
46 | !! Then, this routine is run three times |
---|
47 | !! |
---|
48 | !! ** Action : Use 'nstg' swith as follows: |
---|
49 | !! 0: compute M(X, t=tO+p.T) |
---|
50 | !! 1: compute M(X+dX, t=tO+p.T) |
---|
51 | !! 2: compute LT(dX, t=tO+p.T) |
---|
52 | !! 3: compute and save dX only |
---|
53 | !! |
---|
54 | !! History : |
---|
55 | !! ! 10-07 (F. Vigilant) original code |
---|
56 | !!----------------------------------------------------------------------- |
---|
57 | !! * Modules used |
---|
58 | |
---|
59 | !! * Arguments |
---|
60 | !! * Local declarations |
---|
61 | |
---|
62 | SELECT CASE( nstg ) |
---|
63 | CASE ( 0, 1, 3) |
---|
64 | CALL opa_hlt |
---|
65 | CASE ( 2 ) |
---|
66 | CALL tan_hlt |
---|
67 | CASE DEFAULT |
---|
68 | CALL ctl_stop( ' Wrong value for hlt stage nstg. Must be 0, 1 or 2') |
---|
69 | END SELECT |
---|
70 | |
---|
71 | |
---|
72 | END SUBROUTINE hlt_tst |
---|
73 | |
---|
74 | #endif |
---|
75 | END MODULE hlttst |
---|