48 USE yomhook
,ONLY : lhook, dr_hook
49 USE parkind1
,ONLY : jprb
122 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
123 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
124 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
125 REAL,
DIMENSION(SIZE(PSAND,1),SIZE(PSAND,2)) ::
wsat_func_2d
126 REAL(KIND=JPRB) :: zhook_handle
128 IF (lhook) CALL dr_hook(
'MODE_SOIL:WSAT_FUNC_2D',0,zhook_handle)
129 SELECT CASE (hpedotf)
131 WHERE(psand/=xundef)
wsat_func_2d = 0.001 * (-108.*psand+494.305)
133 WHERE(psand/=xundef)
wsat_func_2d = 0.505-0.142*psand-0.037*pclay
137 IF (lhook) CALL dr_hook(
'MODE_SOIL:WSAT_FUNC_2D',1,zhook_handle)
146 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
147 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
148 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
149 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
wwilt_func_2d
150 REAL(KIND=JPRB) :: zhook_handle
152 IF (lhook) CALL dr_hook(
'MODE_SOIL:WWILT_FUNC_2D',0,zhook_handle)
153 SELECT CASE (hpedotf)
155 WHERE(pclay/=xundef)
wwilt_func_2d = 37.1342e-3*(pclay*100.)**0.5
157 WHERE(pclay/=xundef) &
158 wwilt_func_2d = 0.15333-0.147*psand+0.33*pclay-0.102*(pclay**2)
162 IF (lhook) CALL dr_hook(
'MODE_SOIL:WWILT_FUNC_2D',1,zhook_handle)
171 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
172 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
173 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
174 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
wfc_func_2d
175 REAL(KIND=JPRB) :: zhook_handle
177 IF (lhook) CALL dr_hook(
'MODE_SOIL:WFC_FUNC_2D',0,zhook_handle)
178 SELECT CASE (hpedotf)
180 WHERE(pclay/=xundef)
wfc_func_2d = 89.0467e-3*(pclay*100.)**0.3496
182 WHERE(pclay/=xundef) &
183 wfc_func_2d = 0.1537-0.1233*psand+0.2685*pclay**(1./3.)
187 IF (lhook) CALL dr_hook(
'MODE_SOIL:WFC_FUNC_2D',1,zhook_handle)
196 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
197 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
198 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
199 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
w33_func_2d
200 REAL(KIND=JPRB) :: zhook_handle
202 IF (lhook) CALL dr_hook(
'MODE_SOIL:W33_FUNC_2D',0,zhook_handle)
203 SELECT CASE (hpedotf)
205 WHERE(pclay/=xundef) &
206 w33_func_2d = 0.2298915119-0.4062575773*psand+0.0874218705*pclay &
207 + 0.2942558675*psand**(1./3.)+0.0413771051*pclay**(1./3.)
209 WHERE(pclay/=xundef) &
210 w33_func_2d = 0.2016592588-0.5785747196*psand+0.1113006987*pclay &
211 + 0.4305771483*psand**(1./3.)-0.0080618093*pclay**(1./3.)
215 IF (lhook) CALL dr_hook(
'MODE_SOIL:W33_FUNC_2D',1,zhook_handle)
224 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
225 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
226 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
227 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
bcoef_func_2d
228 REAL(KIND=JPRB) :: zhook_handle
230 IF (lhook) CALL dr_hook(
'MODE_SOIL:BCOEF_FUNC_2D',0,zhook_handle)
231 SELECT CASE (hpedotf)
235 WHERE (pclay/=xundef)
bcoef_func_2d = 3.10+15.7*pclay-0.3*psand
239 IF (lhook) CALL dr_hook(
'MODE_SOIL:BCOEF_FUNC_2D',1,zhook_handle)
248 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
249 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
250 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
252 REAL(KIND=JPRB) :: zhook_handle
254 IF (lhook) CALL dr_hook(
'MODE_SOIL:MATPOTSAT_FUNC_2D',0,zhook_handle)
255 SELECT CASE (hpedotf)
259 WHERE(psand/=xundef) &
264 IF (lhook) CALL dr_hook(
'MODE_SOIL:MATPOTSAT_FUNC_2D',1,zhook_handle)
272 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
273 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
274 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
276 REAL(KIND=JPRB) :: zhook_handle
278 IF (lhook) CALL dr_hook(
'MODE_SOIL:HYDCONDSAT_FUNC_2D',0,zhook_handle)
279 SELECT CASE (hpedotf)
283 - 0.581989e+01*pclay(:,:) - 0.907123e-01*psand(:,:) &
284 + 0.529268e+01*pclay(:,:)**2 + 0.120332e+01*psand(:,:)**2))
287 WHERE(pclay/=xundef) &
292 IF (lhook) CALL dr_hook(
'MODE_SOIL:HYDCONDSAT_FUNC_2D',1,zhook_handle)
301 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
302 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
303 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
cgsat_func_2d
304 REAL(KIND=JPRB) :: zhook_handle
306 IF (lhook) CALL dr_hook(
'MODE_SOIL:CGSAT_FUNC_2D',0,zhook_handle)
307 WHERE (pclay/=xundef)
308 cgsat_func_2d = ( -1.5571*psand - 1.441*pclay + 4.70217 )*1.e-6
312 IF (lhook) CALL dr_hook(
'MODE_SOIL:CGSAT_FUNC_2D',1,zhook_handle)
321 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
322 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
c1sat_func_2d
323 REAL(KIND=JPRB) :: zhook_handle
325 IF (lhook) CALL dr_hook(
'MODE_SOIL:C1SAT_FUNC_2D',0,zhook_handle)
326 WHERE (pclay/=xundef)
331 IF (lhook) CALL dr_hook(
'MODE_SOIL:C1SAT_FUNC_2D',1,zhook_handle)
340 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
341 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
c2ref_func_2d
342 REAL(KIND=JPRB) :: zhook_handle
344 IF (lhook) CALL dr_hook(
'MODE_SOIL:C2REF_FUNC_2D',0,zhook_handle)
345 WHERE (pclay/=xundef)
350 IF (lhook) CALL dr_hook(
'MODE_SOIL:C2REF_FUNC_2D',1,zhook_handle)
359 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
360 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
c3_func_2d
361 REAL(KIND=JPRB) :: zhook_handle
363 IF (lhook) CALL dr_hook(
'MODE_SOIL:C3_FUNC_2D',0,zhook_handle)
364 WHERE (pclay/=xundef)
369 IF (lhook) CALL dr_hook(
'MODE_SOIL:C3_FUNC_2D',1,zhook_handle)
378 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
379 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
c4b_func_2d
380 REAL(KIND=JPRB) :: zhook_handle
382 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4B_FUNC_2D',0,zhook_handle)
383 WHERE (pclay/=xundef)
388 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4B_FUNC_2D',1,zhook_handle)
397 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
398 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
399 REAL,
DIMENSION(:,:),
INTENT(IN) :: pd2
400 REAL,
DIMENSION(:,:),
INTENT(IN) :: pd3
401 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
c4ref_func_2d
402 REAL(KIND=JPRB) :: zhook_handle
404 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4REF_FUNC_2D',0,zhook_handle)
405 WHERE (pclay/=xundef .AND. pd2/=xundef .AND. pd3/=xundef)
407 + 0.4881 * psand - 25.73 * pclay &
408 + 5.927 *(psand**2) + 88.63 *(pclay**2) &
409 - 6.085 *(psand**3) - 81.33 *(pclay**3) )
421 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4REF_FUNC_2D',1,zhook_handle)
430 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
431 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
acoef_func_2d
432 REAL(KIND=JPRB) :: zhook_handle
434 IF (lhook) CALL dr_hook(
'MODE_SOIL:ACOEF_FUNC_2D',0,zhook_handle)
435 WHERE (pclay/=xundef)
440 IF (lhook) CALL dr_hook(
'MODE_SOIL:ACOEF_FUNC_2D',1,zhook_handle)
449 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
450 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
pcoef_func_2d
451 REAL(KIND=JPRB) :: zhook_handle
453 IF (lhook) CALL dr_hook(
'MODE_SOIL:PCOEF_FUNC_2D',0,zhook_handle)
454 WHERE (pclay/=xundef)
459 IF (lhook) CALL dr_hook(
'MODE_SOIL:PCOEF_FUNC_2D',1,zhook_handle)
468 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
469 REAL,
DIMENSION(SIZE(PCLAY,1),SIZE(PCLAY,2)) ::
aniso_func_2d
470 REAL(KIND=JPRB) :: zhook_handle
472 IF (lhook) CALL dr_hook(
'MODE_SOIL:ANISO_FUNC_2D',0,zhook_handle)
473 WHERE (pclay/=xundef)
478 IF (lhook) CALL dr_hook(
'MODE_SOIL:ANISO_FUNC_2D',1,zhook_handle)
489 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
490 REAL,
DIMENSION(:),
INTENT(IN) :: psand
491 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
493 REAL(KIND=JPRB) :: zhook_handle
495 IF (lhook) CALL dr_hook(
'MODE_SOIL:WSAT_FUNC_1D',0,zhook_handle)
496 SELECT CASE (hpedotf)
498 WHERE(psand/=xundef)
wsat_func_1d = 0.001 * (-108.*psand+494.305)
500 WHERE(psand/=xundef)
wsat_func_1d = 0.505-0.142*psand-0.037*pclay
504 IF (lhook) CALL dr_hook(
'MODE_SOIL:WSAT_FUNC_1D',1,zhook_handle)
513 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
514 REAL,
DIMENSION(:),
INTENT(IN) :: psand
515 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
517 REAL(KIND=JPRB) :: zhook_handle
519 IF (lhook) CALL dr_hook(
'MODE_SOIL:WWILT_FUNC_1D',0,zhook_handle)
520 SELECT CASE (hpedotf)
522 WHERE(pclay/=xundef)
wwilt_func_1d = 37.1342e-3*(pclay*100.)**0.5
524 WHERE(pclay/=xundef) &
525 wwilt_func_1d = 0.15333-0.147*psand+0.33*pclay-0.102*(pclay**2)
529 IF (lhook) CALL dr_hook(
'MODE_SOIL:WWILT_FUNC_1D',1,zhook_handle)
538 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
539 REAL,
DIMENSION(:),
INTENT(IN) :: psand
540 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
542 REAL(KIND=JPRB) :: zhook_handle
544 IF (lhook) CALL dr_hook(
'MODE_SOIL:WFC_FUNC_1D',0,zhook_handle)
545 SELECT CASE (hpedotf)
547 WHERE(pclay/=xundef)
wfc_func_1d = 89.0467e-3*(pclay*100.)**0.3496
549 WHERE(pclay/=xundef) &
550 wfc_func_1d = 0.1537-0.1233*psand+0.2685*pclay**(1./3.)
554 IF (lhook) CALL dr_hook(
'MODE_SOIL:WFC_FUNC_1D',1,zhook_handle)
563 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
564 REAL,
DIMENSION(:),
INTENT(IN) :: psand
565 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
567 REAL(KIND=JPRB) :: zhook_handle
569 IF (lhook) CALL dr_hook(
'MODE_SOIL:W33_FUNC_1D',0,zhook_handle)
570 SELECT CASE (hpedotf)
572 WHERE(pclay/=xundef) &
573 w33_func_1d = 0.2298915119-0.4062575773*psand+0.0874218705*pclay &
574 + 0.2942558675*psand**(1./3.)+0.0413771051*pclay**(1./3.)
576 WHERE(pclay/=xundef) &
577 w33_func_1d = 0.2016592588-0.5785747196*psand+0.1113006987*pclay &
578 + 0.4305771483*psand**(1./3.)-0.0080618093*pclay**(1./3.)
582 IF (lhook) CALL dr_hook(
'MODE_SOIL:W33_FUNC_1D',1,zhook_handle)
591 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
592 REAL,
DIMENSION(:),
INTENT(IN) :: psand
593 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
595 REAL(KIND=JPRB) :: zhook_handle
597 IF (lhook) CALL dr_hook(
'MODE_SOIL:BCOEF_FUNC_1D',0,zhook_handle)
598 SELECT CASE (hpedotf)
602 WHERE (pclay/=xundef)
bcoef_func_1d = 3.10+15.7*pclay-0.3*psand
606 IF (lhook) CALL dr_hook(
'MODE_SOIL:BCOEF_FUNC_1D',1,zhook_handle)
615 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
616 REAL,
DIMENSION(:),
INTENT(IN) :: psand
617 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
619 REAL(KIND=JPRB) :: zhook_handle
621 IF (lhook) CALL dr_hook(
'MODE_SOIL:MATPOTSAT_FUNC_1D',0,zhook_handle)
622 SELECT CASE (hpedotf)
626 WHERE(psand/=xundef) &
631 IF (lhook) CALL dr_hook(
'MODE_SOIL:MATPOTSAT_FUNC_1D',1,zhook_handle)
640 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
641 REAL,
DIMENSION(:),
INTENT(IN) :: psand
642 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
644 REAL(KIND=JPRB) :: zhook_handle
646 IF (lhook) CALL dr_hook(
'MODE_SOIL:HYDCONDSAT_FUNC_1D',0,zhook_handle)
647 SELECT CASE (hpedotf)
651 - 0.581989e+01*pclay - 0.907123e-01*psand &
652 + 0.529268e+01*pclay**2 + 0.120332e+01*psand**2))
655 WHERE(pclay/=xundef) &
660 IF (lhook) CALL dr_hook(
'MODE_SOIL:HYDCONDSAT_FUNC_1D',1,zhook_handle)
669 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
670 REAL,
DIMENSION(:),
INTENT(IN) :: psand
672 REAL(KIND=JPRB) :: zhook_handle
674 IF (lhook) CALL dr_hook(
'MODE_SOIL:CGSAT_FUNC_1D',0,zhook_handle)
675 WHERE (pclay/=xundef)
676 cgsat_func_1d = ( -1.5571*psand - 1.441*pclay + 4.70217 )*1.e-6
680 IF (lhook) CALL dr_hook(
'MODE_SOIL:CGSAT_FUNC_1D',1,zhook_handle)
689 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
691 REAL(KIND=JPRB) :: zhook_handle
693 IF (lhook) CALL dr_hook(
'MODE_SOIL:C1SAT_FUNC_1D',0,zhook_handle)
694 WHERE (pclay/=xundef)
699 IF (lhook) CALL dr_hook(
'MODE_SOIL:C1SAT_FUNC_1D',1,zhook_handle)
708 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
710 REAL(KIND=JPRB) :: zhook_handle
712 IF (lhook) CALL dr_hook(
'MODE_SOIL:C2REF_FUNC_1D',0,zhook_handle)
713 WHERE (pclay/=xundef)
718 IF (lhook) CALL dr_hook(
'MODE_SOIL:C2REF_FUNC_1D',1,zhook_handle)
727 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
729 REAL(KIND=JPRB) :: zhook_handle
731 IF (lhook) CALL dr_hook(
'MODE_SOIL:C3_FUNC_1D',0,zhook_handle)
732 WHERE (pclay/=xundef)
737 IF (lhook) CALL dr_hook(
'MODE_SOIL:C3_FUNC_1D',1,zhook_handle)
746 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
748 REAL(KIND=JPRB) :: zhook_handle
750 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4B_FUNC_1D',0,zhook_handle)
751 WHERE (pclay/=xundef)
756 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4B_FUNC_1D',1,zhook_handle)
765 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
766 REAL,
DIMENSION(:),
INTENT(IN) :: psand
767 REAL,
DIMENSION(:),
INTENT(IN) :: pd2
768 REAL,
DIMENSION(:),
INTENT(IN) :: pd3
770 REAL(KIND=JPRB) :: zhook_handle
772 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4REF_FUNC_1D',0,zhook_handle)
773 WHERE (pclay/=xundef .AND. pd2/=xundef .AND. pd3/=xundef)
775 + 0.4881 * psand - 25.73 * pclay &
776 + 5.927 *(psand**2) + 88.63 *(pclay**2) &
777 - 6.085 *(psand**3) - 81.33 *(pclay**3) )
789 IF (lhook) CALL dr_hook(
'MODE_SOIL:C4REF_FUNC_1D',1,zhook_handle)
798 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
800 REAL(KIND=JPRB) :: zhook_handle
802 IF (lhook) CALL dr_hook(
'MODE_SOIL:ACOEF_FUNC_1D',0,zhook_handle)
803 WHERE (pclay/=xundef)
808 IF (lhook) CALL dr_hook(
'MODE_SOIL:ACOEF_FUNC_1D',1,zhook_handle)
817 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
819 REAL(KIND=JPRB) :: zhook_handle
821 IF (lhook) CALL dr_hook(
'MODE_SOIL:PCOEF_FUNC_1D',0,zhook_handle)
822 WHERE (pclay/=xundef)
827 IF (lhook) CALL dr_hook(
'MODE_SOIL:PCOEF_FUNC_1D',1,zhook_handle)
836 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
838 REAL(KIND=JPRB) :: zhook_handle
840 IF (lhook) CALL dr_hook(
'MODE_SOIL:ANISO_FUNC_1D',0,zhook_handle)
841 WHERE (pclay/=xundef)
846 IF (lhook) CALL dr_hook(
'MODE_SOIL:ANISO_FUNC_1D',1,zhook_handle)
real function, dimension(size(pclay, 1), size(pclay, 2)) c3_func_2d(PCLAY)
real function, dimension(size(pclay)) aniso_func_1d(PCLAY)
real function, dimension(size(pclay)) c4ref_func_1d(PCLAY, PSAND, PD2, PD3)
real function, dimension(size(pclay)) hydcondsat_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay)) c4b_func_1d(PCLAY)
real function, dimension(size(pclay)) acoef_func_1d(PCLAY)
real function, dimension(size(pclay)) wfc_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(psand)) matpotsat_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay)) c3_func_1d(PCLAY)
real function, dimension(size(pclay, 1), size(pclay, 2)) aniso_func_2d(PCLAY)
real function, dimension(size(pclay, 1), size(pclay, 2)) wwilt_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) c4b_func_2d(PCLAY)
real function, dimension(size(psand, 1), size(psand, 2)) matpotsat_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay)) pcoef_func_1d(PCLAY)
real function, dimension(size(pclay, 1), size(pclay, 2)) bcoef_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay)) c1sat_func_1d(PCLAY)
real function, dimension(size(psand, 1), size(psand, 2)) wsat_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) wfc_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) c2ref_func_2d(PCLAY)
real function, dimension(size(pclay)) cgsat_func_1d(PCLAY, PSAND)
real function, dimension(size(pclay, 1), size(pclay, 2)) pcoef_func_2d(PCLAY)
real function, dimension(size(pclay, 1), size(pclay, 2)) hydcondsat_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) w33_func_2d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) acoef_func_2d(PCLAY)
real function, dimension(size(pclay)) bcoef_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) cgsat_func_2d(PCLAY, PSAND)
real function, dimension(size(pclay)) c2ref_func_1d(PCLAY)
real function, dimension(size(pclay)) w33_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) c4ref_func_2d(PCLAY, PSAND, PD2, PD3)
real function, dimension(size(psand)) wsat_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay)) wwilt_func_1d(PCLAY, PSAND, HPEDOTF)
real function, dimension(size(pclay, 1), size(pclay, 2)) c1sat_func_2d(PCLAY)