!-------------------------------------- LICENCE BEGIN ------------------------------------
!Environment Canada - Atmospheric Science and Technology License/Disclaimer,
! version 3; Last Modified: May 7, 2008.
!This is free but copyrighted software; you can use/redistribute/modify it under the terms
!of the Environment Canada - Atmospheric Science and Technology License/Disclaimer
!version 3 or (at your option) any later version that should be found at:
!http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html
!
!This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
!without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
!See the above mentioned License/Disclaimer for more details.
!You should have received a copy of the License/Disclaimer along with this software;
!if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec),
!CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca
!-------------------------------------- LICENCE END --------------------------------------
#if defined (DOC)
*
*revision
* v2_10 - Qaddouri A. - adding high order diffusion operator
* v2_11 - Desgagne M. - remove vertical modulation
* v2_21 - Desgagne M. - add control for diffu. on momentum only
* v3_01 - Toviessi J. P. - parity optimisation
* v3_20 - Toviessi J. P. - variable higher order diffusion operator
* v3_20 - Tanguay M. - 1d higher order diffusion operator
*
***comdeck hzd.cdk
*
*______________________________________________________________________
* |
* PROJECTION OPERATORS FOR HOR. DIFFUSION (initialized in hzd_set)) |
*______________________________________________________________________|
* | |
* NAME | DESCRIPTION |
*--------------------|-------------------------------------------------|
* Hzd_xp0_8 | east-west projection operators |
* Hzd_yp0_8 | north-south projection operators |
* Hzd_xp2_8 | east-west projection operators |
* Hzd_yp2_8 | north-south projection operators V grid |
* Hzd_yp2su_8 | north-south projection operators S and U grid |
* Hzd_opsxp0_8 | |
* Hzd_opsyp0_8 | |
* Hzd_xevec_8 | horizontal eigenvectors |
* Hzd_xeval_8 | |
* Hzd_evvec_8 | even eigenvectors |
* Hzd_odvec_8 | odd eigenvectors |
* Hzd_au_8 | |
* Hzd_cu_8 | |
* Hzd_deltau_8 | |
* Hzd_av_8 | |
* Hzd_cv_8 | |
* Hzd_deltav_8 | |
* Hzd_as_8 | |
* Hzd_cs_8 | |
* Hzd_deltas_8 | |
* Hzd_type_S | Hor. diffusion type: Factorized or High Order |
* Hzd_fact_L | Logical control for Factorized hor. diffusion |
* Hzd_ho_L | Logical control for Higher Order hor. diffu. |
* Hzd_difva_L | Logical control for latitudinal modulation |
* | of the horizontal diffusion coefficient |
* Hzd_pwr | Hor. diffusion order when using HO del-n |
* | available: 2, 4, 6, 8 |
* Hzd_lnR | 2 delta-x removal ratio when using HO |
* | range (0. - 1.0) |
* Hzd_cdiff | |
* Hzd_t1_n_L | .T. if winds T1 filt.(_0=NL _1=TL,AD) in WDPERS |
* Hzd_t0_n_L | .T. if winds T0 filt.(_0=NL _1=TL,AD) in WNDTH |
* Hzd_1d_L | .T. if 1D diff. (otherw. 2D) for filtering |
* Hzd_hdif0_n_L | .T. if hdif0 authorized (_0=NL _1=TL,AD) |
* Hzd_hzdmain_n_L | .T. if hzd_main authorized (_0=NL _1=TL,AD) |
*______________________________________________________________________|
* |
* PROJECTION OPERATORS FOR 1D HOR. DIFFUSION (initialized in hzd_set)|
*______________________________________________________________________|
* | |
* NAME | DESCRIPTION |
*--------------------|-------------------------------------------------|
* Hz1d__yp2_8 | |
* Hz1d__yp2su_8 | |
* Hz1d_deltau_8 | |
* Hz1d_deltav_8 | |
* Hz1d_deltas_8 | |
*----------------------------------------------------------------------
*
#endif
DCL_DYNVAR(Hzd, xp0_8, real*8, (*))
DCL_DYNVAR(Hzd, yp0_8, real*8, (*))
DCL_DYNVAR(Hzd, xp2_8, real*8, (*))
DCL_DYNVAR(Hzd, yp2_8, real*8, (*))
DCL_DYNVAR(Hzd, yp2su_8, real*8, (*))
DCL_DYNVAR(Hzd, opsxp0_8, real*8, (*))
DCL_DYNVAR(Hzd, opsyp0_8, real*8, (*))
DCL_DYNVAR(Hzd, xevec_8, real*8, (*))
DCL_DYNVAR(Hzd, xeval_8, real*8, (*))
DCL_DYNVAR(Hzd, au_8, real*8, (*))
DCL_DYNVAR(Hzd, cu_8, real*8, (*))
DCL_DYNVAR(Hzd, deltau_8, real*8, (*))
DCL_DYNVAR(Hzd, av_8, real*8, (*))
DCL_DYNVAR(Hzd, cv_8, real*8, (*))
DCL_DYNVAR(Hzd, deltav_8, real*8, (*))
DCL_DYNVAR(Hzd, as_8, real*8, (*))
DCL_DYNVAR(Hzd, cs_8, real*8, (*))
DCL_DYNVAR(Hzd, deltas_8, real*8, (*))
DCL_DYNVAR(Hzd, evvec_8, real*8, (*))
DCL_DYNVAR(Hzd, odvec_8, real*8, (*))
*
DCL_DYNVAR(Hz1d, yp2_8, real*8, (*))
DCL_DYNVAR(Hz1d, yp2su_8, real*8, (*))
DCL_DYNVAR(Hz1d,deltau_8, real*8, (*))
DCL_DYNVAR(Hz1d,deltav_8, real*8, (*))
DCL_DYNVAR(Hz1d,deltas_8, real*8, (*))
*
character*12 Hzd_type_S
logical Hzd_fact_L,Hzd_ho_L,Hzd_difva_L,Hzd_uvwdt_L,Hzd_rwnd_L,
% Hzd_t1_0_L,Hzd_t1_1_L,Hzd_t0_0_L,Hzd_t0_1_L,
% Hzd_1d_L,Hzd_hdif0_0_L,Hzd_hdif0_1_L,
% Hzd_hzdmain_0_L,Hzd_hzdmain_1_L
integer Hzd_pwr
real Hzd_lnR,Hzd_cdiff
*
common /hzdi/ Hzd_pwr
common /hzdr/ Hzd_lnR,Hzd_cdiff
common /hzdc/ Hzd_type_S
common /hzdl/ Hzd_fact_L,Hzd_ho_L,Hzd_difva_L,Hzd_uvwdt_L,
% Hzd_t1_0_L,Hzd_t1_1_L,Hzd_t0_0_L,Hzd_t0_1_L,
% Hzd_1d_L,Hzd_hdif0_0_L,Hzd_hdif0_1_L,
% Hzd_hzdmain_0_L,Hzd_hzdmain_1_L,Hzd_rwnd_L
*