MODULE hlttst #ifdef key_tam !!====================================================================== !! *** MODULE hlt_tst *** !! NEMOTAM : testing routine of linear-tangent hypothesis !!====================================================================== !! History : !! the direct: ! 10-07 (F. Vigilant) Original code !!----------------------------------------------------------------------- !! * Module used USE in_out_manager ! I/O manager USE par_tlm USE opahlt, ONLY: & & opa_hlt USE tanhlt, ONLY: & & tan_hlt USE hltinc IMPLICIT NONE !! * Routine accessibility PRIVATE PUBLIC & & hlt_tst CONTAINS SUBROUTINE hlt_tst !!----------------------------------------------------------------------- !! !! *** ROUTINE hlt_tst *** !! !! ** Purpose : Validate the linear-tangent hypothesis of the tangent with !! with respect to the direct model !! !! ** Method : Build or read a perturbation control vector dX and save !! M(X, t=tO+p.T), M(X+dX, t=tO+p.T), LT(dX, t=tO+p.T) !! t0=nit000 !! t = (nit000, nitend) !! T: saving frequency !! !! Post treatment need to be done to analyze the RMS of: !! Y(t) = M(X, t=tO+p.T) - M(X+dX, t=tO+p.T) - LT(dX, t=tO+p.T) !! !! Then, this routine is run three times !! !! ** Action : Use 'nstg' swith as follows: !! 0: compute M(X, t=tO+p.T) !! 1: compute M(X+dX, t=tO+p.T) !! 2: compute LT(dX, t=tO+p.T) !! 3: compute and save dX only !! !! History : !! ! 10-07 (F. Vigilant) original code !!----------------------------------------------------------------------- !! * Modules used !! * Arguments !! * Local declarations SELECT CASE( nstg ) CASE ( 0, 1, 3) CALL opa_hlt CASE ( 2 ) CALL tan_hlt CASE DEFAULT CALL ctl_stop( ' Wrong value for hlt stage nstg. Must be 0, 1 or 2') END SELECT END SUBROUTINE hlt_tst #endif END MODULE hlttst