6 SUBROUTINE ini_data_soil(HISBA,PDG_OUT,PSURF,PSURF2,PROOTDEPTH, &
7 PSOILDEPTH,PSOILGRID,KWG_LAYER )
56 CHARACTER(LEN=*),
INTENT(IN) :: HISBA
57 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PDG_OUT
59 REAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: PSURF
60 REAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: PSURF2
61 REAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: PROOTDEPTH
62 REAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: PSOILDEPTH
63 REAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: PSOILGRID
65 INTEGER,
DIMENSION(:),
OPTIONAL,
INTENT(OUT) :: KWG_LAYER
70 LOGICAL,
DIMENSION(SIZE(PDG_OUT,1)) :: LSURF
75 REAL(KIND=JPRB) :: ZHOOK_HANDLE
93 IF (
PRESENT(psurf2) .AND.
PRESENT(psurf))
THEN 94 lsurf(:) = (psurf(:)==0. .AND. psurf2(:)==0.)
95 ELSEIF (
PRESENT(psurf))
THEN 96 lsurf(:) = (psurf(:)==0.)
104 IF (hisba==
'2-L')
THEN 106 IF (.NOT.
PRESENT(prootdepth))
CALL abor1_sfx(
"INI_DATA_SOIL: FOR HISBA==2-L, PROOTDEPTH IS NEEDED" 108 DO jloop = 1,
SIZE(lsurf)
109 IF (lsurf(jloop)) cycle
110 IF(prootdepth(jloop) /=
xundef)
THEN 111 pdg_out(jloop,1) = 0.01
112 pdg_out(jloop,2) = prootdepth(jloop)
122 IF (.NOT.
PRESENT(psoildepth))
CALL abor1_sfx(
"INI_DATA_SOIL: FOR HISBA/=2-L, PSOILDEPTH IS NEEDED" 124 IF (hisba==
'3-L')
THEN 126 IF (.NOT.
PRESENT(prootdepth))
CALL abor1_sfx(
"INI_DATA_SOIL: FOR HISBA==3-L, PROOTDEPTH IS NEEDED" 128 DO jloop = 1,
SIZE(lsurf)
129 IF (lsurf(jloop)) cycle
130 IF(psoildepth(jloop) /=
xundef)
THEN 131 pdg_out(jloop,1) = 0.01
132 pdg_out(jloop,2) = prootdepth(jloop)
133 pdg_out(jloop,3) = psoildepth(jloop)
143 IF (.NOT.
PRESENT(psoilgrid))
CALL abor1_sfx(
"INI_DATA_SOIL: FOR HISBA==DIF, PSOILGRID IS NEEDED" 144 IF (.NOT.
PRESENT(kwg_layer))
CALL abor1_sfx(
"INI_DATA_SOIL: FOR HISBA==DIF, KWG_LAYER IS NEEDED" 146 CALL soilgrid(psoilgrid,psoildepth,pdg_out,kwg_layer)
subroutine ini_data_soil(HISBA, PDG_OUT, PSURF, PSURF2, PROOTDEPTH, PSOILDEPTH, PSOILGRID, KWG_LAYER)
subroutine abor1_sfx(YTEXT)