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.
hlttst.F90 in branches/TAM_V3_0/NEMOTAM/OPATAM_SRC – NEMO

source: branches/TAM_V3_0/NEMOTAM/OPATAM_SRC/hlttst.F90 @ 3400

Last change on this file since 3400 was 2587, checked in by vidard, 13 years ago

refer to ticket #798

File size: 2.3 KB
Line 
1MODULE 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
27CONTAINS
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
75END MODULE hlttst
Note: See TracBrowser for help on using the repository browser.