44 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDG
45 REAL,
DIMENSION(:,:),
INTENT(IN) :: PTG
46 REAL,
DIMENSION(:),
INTENT(OUT) :: PALT
47 REAL,
DIMENSION(:),
INTENT(OUT) :: PFLT
51 REAL,
DIMENSION(SIZE(PDG,1),SIZE(PDG,2)) :: ZNODE
52 INTEGER,
DIMENSION(SIZE(PDG,1)) :: IUP_ALT, IDOWN_ALT
53 INTEGER,
DIMENSION(SIZE(PDG,1)) :: IUP_FLT, IDOWN_FLT
55 REAL :: ZTG_UP, ZTG_DOWN
57 REAL :: ZALT, ZFLT, ZSLOPE
59 INTEGER :: JI, JL, INI, INL
61 REAL(KIND=JPRB) :: ZHOOK_HANDLE
65 IF (
lhook)
CALL dr_hook(
'COMPUT_COLD_LAYERS_THICK',0,zhook_handle)
77 znode(:,1)=0.5*pdg(:,1)
78 WHERE(ptg(:,1)>
xtt.AND.ptg(:,2)<=
xtt.AND.ptg(:,3)<=
xtt)
82 WHERE(ptg(:,1)<
xtt.AND.ptg(:,2)>=
xtt.AND.ptg(:,3)>=
xtt)
91 znode(ji,jl)=0.5*(pdg(ji,jl)+pdg(ji,jl-1))
92 IF(ptg(ji,jl-1)>
xtt.AND.ptg(ji,jl)>
xtt.AND.ptg(ji,jl+1)<=
xtt)
THEN 96 IF(ptg(ji,jl-1)<
xtt.AND.ptg(ji,jl)<
xtt.AND.ptg(ji,jl+1)>=
xtt)
THEN 105 znode(:,inl)=0.5*(pdg(:,inl)+pdg(:,inl-1))
112 IF(idown_alt(ji)>0.AND.idown_alt(ji)<=inl)
THEN 113 ztg_up = ptg(ji,iup_alt(ji))
114 ztg_down = ptg(ji,idown_alt(ji))
115 zup = znode(ji,iup_alt(ji))
116 zdown = znode(ji,idown_alt(ji))
117 zslope = (zup-zdown)/(ztg_up-ztg_down)
118 palt(ji) = zdown+(
xtt-ztg_down)*zslope
122 IF(idown_flt(ji)>0.AND.idown_flt(ji)<=inl)
THEN 123 ztg_up = ptg(ji,iup_flt(ji))
124 ztg_down = ptg(ji,idown_flt(ji))
125 zup = znode(ji,iup_flt(ji))
126 zdown = znode(ji,idown_flt(ji))
127 zslope = (zup-zdown)/(ztg_up-ztg_down)
128 pflt(ji) = zdown+(
xtt-ztg_down)*zslope
133 IF (
lhook)
CALL dr_hook(
'COMPUT_COLD_LAYERS_THICK',1,zhook_handle)
integer, parameter nundef
subroutine comput_cold_layers_thick(PDG, PTG, PALT, PFLT)