6 pvgat1,pvgat2,pvgat3,pvgbt1,pvgbt2,pvgbt3,pvgct1,pvgct2, &
7 pvgah1,pvgah2,pvgah3,pvgbh1,pvgbh2,pvgbh3,pvgch1,pvgch2, &
8 psigt2mp,psighp2,pg1,pg2,pg3,pg4,&
9 pvgst,pvgsh,pvgpt1,pvgph1,pvgpt2,pvgph2)
13 USE modd_assim, ONLY : xsighp1, xsigt2mr, xsigh2mr, xsigt2mo, xsigh2mo
15 USE yomhook
,ONLY : lhook, dr_hook
16 USE parkind1
,ONLY : jprb
21 INTEGER,
INTENT(IN) :: kh
23 REAL,
DIMENSION(24),
INTENT(IN) :: pvgat1,pvgat2,pvgat3
24 REAL,
DIMENSION(24),
INTENT(IN) :: pvgbt1,pvgbt2,pvgbt3
25 REAL,
DIMENSION(24),
INTENT(IN) :: pvgct1,pvgct2
26 REAL,
DIMENSION(24),
INTENT(IN) :: pvgah1,pvgah2,pvgah3
27 REAL,
DIMENSION(24),
INTENT(IN) :: pvgbh1,pvgbh2,pvgbh3
28 REAL,
DIMENSION(24),
INTENT(IN) :: pvgch1,pvgch2
29 REAL,
DIMENSION(24),
INTENT(IN) :: psigt2mp,psighp2
31 REAL,
INTENT(IN) :: pveg
33 REAL,
INTENT(OUT) :: pg1,pg2,pg3,pg4
34 REAL,
INTENT(OUT) :: pvgst,pvgsh,pvgpt1,pvgph1,pvgpt2,pvgph2
37 REAL :: zx1,zy1,zx2,zy2,zx3,zy3,zx4,zy4
39 REAL(KIND=JPRB) :: zhook_handle
52 IF (lhook) CALL dr_hook(
'OI_FCTVEG',0,zhook_handle)
53 zsigh2mp = xsighp1 + psighp2(kh)*pveg
56 zx1 = xsigh2mo/zsigh2mp
57 zy1 = xsigt2mo/psigt2mp(kh)
58 pg1 = zx1**2 / (zx1**2 + zy1**2 + (zx1*zy1)**2)
61 zx2 = xsigh2mr/zsigh2mp
62 zy2 = xsigt2mr/psigt2mp(kh)
63 pg2 = zx2**2 / (zx2**2 + zy2**2 + (zx2*zy2)**2)
66 zx3 = xsigt2mo/psigt2mp(kh)
67 zy3 = xsigh2mo/zsigh2mp
68 pg3 = zx3**2 / (zx3**2 + zy3**2 + (zx3*zy3)**2)
71 zx4 = xsigt2mr/psigt2mp(kh)
72 zy4 = xsigh2mr/zsigh2mp
73 pg4 = zx4**2 / (zx4**2 + zy4**2 + (zx4*zy4)**2)
77 pvgst = (1.0 - pveg)*(pvgat1(kh) + pvgat2(kh)*pveg + pvgat3(kh)*pveg**2)
78 pvgsh = (1.0 - pveg)*(pvgah1(kh) + pvgah2(kh)*pveg + pvgah3(kh)*pveg**2)
79 pvgpt1 = (1.0 - pveg)*(pvgbt1(kh) + pvgbt2(kh)*pveg + pvgbt3(kh)*pveg**2)
80 pvgph1 = (1.0 - pveg)*(pvgbh1(kh) + pvgbh2(kh)*pveg + pvgbh3(kh)*pveg**2)
81 pvgpt2 = pveg*(pvgct1(kh) + pvgct2(kh)*pveg)
82 pvgph2 = pveg*(pvgch1(kh) + pvgch2(kh)*pveg)
83 IF (lhook) CALL dr_hook(
'OI_FCTVEG',1,zhook_handle)
subroutine oi_fctveg(KH, PVEG, PVGAT1, PVGAT2, PVGAT3, PVGBT1, PVGBT2, PVGBT3, PVGCT1, PVGCT2, PVGAH1, PVGAH2, PVGAH3, PVGBH1, PVGBH2, PVGBH3, PVGCH1, PVGCH2, PSIGT2MP, PSIGHP2, PG1, PG2, PG3, PG4, PVGST, PVGSH, PVGPT1, PVGPH1, PVGPT2, PVGPH2)