69 CHARACTER(LEN=18),
INTENT(IN) :: HFILE
70 CHARACTER(LEN=5),
DIMENSION(3),
PARAMETER :: HVARNAME=(/
'drdt0',
'tau ',
'kappa'/)
77 REAL(KIND=JPRB) :: ZHOOK_HANDLE
79 IF (
lhook)
CALL dr_hook(
'SNOWCRO_FLANNER',0,zhook_handle)
86 ierror = nf90_open(hfile,nf90_nowrite,
nid_file)
105 IF (
lhook)
CALL dr_hook(
'SNOWCRO_FLANNER',1,zhook_handle)
118 INTEGER,
INTENT(IN) :: ID_FILE
119 CHARACTER(LEN=5),
INTENT(IN) :: HSURF
120 REAL,
DIMENSION(:,:,:),
POINTER :: PVAR
123 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IVARDIMSID
129 ierror = nf90_inq_varid(id_file,
trim(hsurf),
nid_var)
134 IF ( ierror/=nf90_noerr )
CALL handle_err_cdf(ierror,
"can't get variable dimensions number")
138 ierror = nf90_inquire_variable(id_file,
nid_var,dimids=ivardimsid)
139 IF ( ierror/=nf90_noerr )
CALL handle_err_cdf(ierror,
"can't get variable dimensions ids")
144 ierror = nf90_inquire_dimension(id_file,ivardimsid(1),len=
nlendim1)
145 IF ( ierror/=nf90_noerr )
CALL handle_err_cdf(ierror,
"can't get variable dimensions lengths")
146 ierror = nf90_inquire_dimension(id_file,ivardimsid(2),len=
nlendim2)
147 IF ( ierror/=nf90_noerr )
CALL handle_err_cdf(ierror,
"can't get variable dimensions lengths")
148 ierror = nf90_inquire_dimension(id_file,ivardimsid(3),len=
nlendim3)
149 IF ( ierror/=nf90_noerr )
CALL handle_err_cdf(ierror,
"can't get variable dimensions lengths")
152 CALL abor1_sfx(
'SNOWCRO_FLANNER: incorrect number of dimensions for variable '//
trim(hsurf))
169 ierror = nf90_get_var(id_file,
nid_var,pvar)
175 CALL mpi_bcast(pvar,kind(pvar)*
SIZE(pvar)/4,mpi_real,
npio,
ncomm,infompi)
static const char * trim(const char *name, int *n)
subroutine read_var_fz06(ID_FILE, HSURF, PVAR)
subroutine handle_err_cdf(status, line)
subroutine abor1_sfx(YTEXT)
subroutine read_fz06(HFILE)