6 SUBROUTINE prep_snow_grib(HPROGRAM,HSURF,HFILE,KLUOUT,KLAYER,PFIELD)
39 USE modd_snow_par
, ONLY : xansmin, xansmax, xrhosmax
50 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
51 CHARACTER(LEN=10),
INTENT(IN) :: HSURF
52 CHARACTER(LEN=28),
INTENT(IN) :: HFILE
53 INTEGER,
INTENT(IN) :: KLUOUT
54 INTEGER,
INTENT(IN) :: KLAYER
55 REAL,
DIMENSION(:,:,:),
POINTER :: PFIELD
59 REAL,
DIMENSION(:) ,
POINTER :: ZMASK => null()
60 REAL,
DIMENSION(:),
POINTER :: ZFIELD1D => null()
61 REAL,
DIMENSION(:),
POINTER :: ZHEAT => null()
62 REAL,
DIMENSION(:),
POINTER :: ZRHO => null()
65 REAL(KIND=JPRB) :: ZHOOK_HANDLE
83 IF (hsurf(7:8)==
'RO')
THEN 85 SELECT CASE(hsurf(1:3))
87 ALLOCATE(pfield(
nni,1,1))
89 ALLOCATE(pfield(
nni,1,1))
91 ALLOCATE(pfield(
nni,1,1))
103 SELECT CASE(hsurf(1:3))
110 ALLOCATE(pfield(
SIZE(zfield1d),1,1))
111 pfield(:,1,1)=zfield1d(:)
120 ALLOCATE(pfield(
SIZE(zfield1d),1,1))
121 pfield(:,1,1)=zfield1d(:)
130 WHERE (zfield1d/=
xundef) zfield1d(:) = min(zfield1d,
xtt)
132 ALLOCATE(pfield(
SIZE(zfield1d),1,1))
133 pfield(:,1,1)=zfield1d(:)
140 ALLOCATE(pfield(
SIZE(zfield1d),1,1))
141 pfield(:,1,1)=zfield1d(:)
148 ALLOCATE(pfield(
SIZE(zfield1d),1,1))
149 pfield(:,1,1)=zfield1d(:)
155 ALLOCATE(pfield(
nni,1,1))
161 ALLOCATE(pfield(
nni,1,1))
167 ALLOCATE(pfield(
nni,1,1))
173 ALLOCATE(pfield(
nni,1,1))
187 IF (
lhook)
CALL dr_hook(
'PREP_SNOW_GRIB',1,zhook_handle)
static const char * trim(const char *name, int *n)
character(len=28) cgrib_file
subroutine read_grib_ts(HGRIB, KLUOUT, HINMODEL, PMASK, PTS)
character(len=6) cinmodel
subroutine prep_snow_grib(HPROGRAM, HSURF, HFILE, KLUOUT, KLAYER, PFIELD)
subroutine read_grib_snow_alb(HGRIB, KLUOUT, HINMODEL, PMASK, PSNVA)
integer, parameter ngrid_level
subroutine read_grib_snow_veg_and_depth(HGRIB, KLUOUT, HINMODEL, PMASK, PSNV, PSNVD)
subroutine read_grib_snow_den(HGRIB, KLUOUT, HINMODEL, PMASK, PSNV)
subroutine read_grib_land_mask(HGRIB, KLUOUT, HINMODEL, PMASK)
real, dimension(ngrid_level) xgrid_snow