regrid_sfc  1.13.0
readin_setup.F90
Go to the documentation of this file.
1 
4 
13  subroutine readin_setup(unt,namel,grid_setup)
14 
15  use grids_io, only : grid_setup_type
16  use utilities, only : error_handler
17 
18  implicit none
19 
20  ! INPUTS
21  integer, intent(in) :: unt
22  character(*), intent(in) :: namel
23  ! OUTPUTS
24  type(grid_setup_type), intent(out) :: grid_setup
25 
26  character(len=7) :: gridtype
27  character(len=100) :: fname, fname_mask, fname_coord
28  character(len=100) :: dir, dir_mask, dir_coord
29  character(len=4) :: default_str="NULL"
30  integer :: ires, jres
31  integer :: ierr
32 
33  namelist /input/ fname, dir, &
34  gridtype, &
35  fname_mask, dir_mask, &
36  fname_coord, dir_coord, &
37  ires, jres
38 
39  namelist /output/ fname, dir, &
40  gridtype, &
41  fname_mask, dir_mask, &
42  fname_coord, dir_coord,&
43  ires, jres
44 
45  ! set defaults
46  fname = default_str
47  dir = default_str
48  fname_mask = default_str
49  dir_mask = default_str
50  fname_coord = default_str
51  dir_coord = default_str
52  ires = 0
53  jres = 0
54 
55  select case (namel)
56  case ("input")
57  read(unt, nml=input, iostat=ierr)
58  if (ierr /= 0) call error_handler("READING input NAMELIST.", ierr)
59  case ("output")
60  read(unt, nml=output, iostat=ierr)
61  if (ierr /= 0) call error_handler("READING output NAMELIST.", ierr)
62  case default
63  call error_handler("unknown namel in readin_setup", 1)
64  end select
65 
66  grid_setup%descriptor = gridtype
67 
68  grid_setup%dir = dir
69  grid_setup%fname = fname
70 
71  ! set-up mask details, based on file type
72  select case (gridtype)
73  case ("fv3_rst") ! for history file and restarts, use veg type
74  grid_setup%dir_mask = dir_mask ! get from a fix file
75  grid_setup%fname_mask = fname_mask
76  grid_setup%mask_variable(1) = "vegetation_type" ! if getting from fix file
77  case ("gau_inc") ! gsi-output incr files only, use calculated mask
78  if (trim(fname_mask) == default_str) then ! if not specified, use input file
79  grid_setup%dir_mask = dir
80  grid_setup%fname_mask = fname
81  else
82  grid_setup%dir_mask = dir_mask
83  grid_setup%fname_mask = fname_mask
84  endif
85  grid_setup%mask_variable(1) = "soilsnow_mask "
86  case default
87  call error_handler("unknown gridtype in readin_setup", 1)
88  end select
89 
90  grid_setup%dir_coord = dir_coord
91  grid_setup%fname_coord = fname_coord
92  grid_setup%ires = ires
93  grid_setup%jres = jres
94 
95  end subroutine readin_setup
subroutine readin_setup(unt, namel, grid_setup)
Subroutine to read in namelists, and convert values into setupgrid.