SCALE-RM
Functions/Subroutines | Variables
scale_landuse Module Reference

module LANDUSE More...

Functions/Subroutines

subroutine, public landuse_setup (OCEAN_do, URBAN_do, LAKE_do)
 Setup. More...
 
subroutine, public landuse_calc_fact
 
subroutine, public landuse_fillhalo (FILL_BND)
 HALO Communication. More...
 
subroutine, public landuse_write
 Write landuse data. More...
 

Variables

real(rp), dimension(:,:), allocatable, public landuse_fact_ocean
 ocean factor More...
 
real(rp), dimension(:,:), allocatable, public landuse_fact_land
 land factor More...
 
real(rp), dimension(:,:), allocatable, public landuse_fact_urban
 urban factor More...
 
real(rp), dimension(:,:), allocatable, public landuse_fact_lake
 lake factor More...
 
logical, dimension(:,:), allocatable, public landuse_exists_ocean
 ocean calculation flag More...
 
logical, dimension(:,:), allocatable, public landuse_exists_land
 land calculation flag More...
 
logical, dimension(:,:), allocatable, public landuse_exists_urban
 urban calculation flag More...
 
logical, dimension(:,:), allocatable, public landuse_exists_lake
 lake calculation flag More...
 
real(rp), dimension(:,:), allocatable, public landuse_frac_land
 land fraction More...
 
real(rp), dimension(:,:), allocatable, public landuse_frac_urban
 urban fraction More...
 
real(rp), dimension(:,:), allocatable, public landuse_frac_lake
 lake fraction More...
 
integer, parameter, public landuse_index_ocean = 0
 ocean index More...
 
integer, parameter, public landuse_index_urban = -1
 urban index More...
 
integer, parameter, public landuse_index_lake = -2
 lake index More...
 
integer, parameter, public landuse_pft_nmin = -2
 minimum number of PFT type More...
 
integer, public landuse_pft_nmax = 17
 number of plant functional type(PFT) More...
 
integer, public landuse_pft_mosaic = 2
 number of PFT mosaic More...
 
real(rp), dimension(:,:,:), allocatable, public landuse_frac_pft
 fraction of PFT for each mosaic More...
 
integer, dimension(:,:,:), allocatable, public landuse_index_pft
 index of PFT for each mosaic More...
 

Detailed Description

module LANDUSE

Description
Land use category module Manage land/lake/urban/PFT fraction and PFT index
Author
Team SCALE
Note
frac_urban = fact_urban / ( fact_urban + fact_land ) frac_lake = fact_lake / ( fact_lake + fact_urban + fact_land ) frac_land = ( fact_lake + fact_urban + fact_land ) / ( fact_lake + fact_urban + fact_land + fact_ocean) fact_lake + fact_urban + fact_land + fact_ocean = 1
NAMELIST
  • PARAM_LANDUSE
    nametypedefault valuecomment
    LANDUSE_IN_BASENAME character(len=H_LONG) '' basename of the input file
    LANDUSE_IN_AGGREGATE logical switch to use aggregated file
    LANDUSE_IN_CHECK_COORDINATES logical .true. switch for check of coordinates
    LANDUSE_OUT_BASENAME character(len=H_LONG) '' basename of the output file
    LANDUSE_OUT_AGGREGATE logical switch to use aggregated file
    LANDUSE_OUT_DTYPE character(len=H_SHORT) 'DEFAULT' REAL4 or REAL8
    LANDUSE_PFT_MOSAIC integer 2 number of PFT mosaic
    LANDUSE_PFT_NMAX integer 17 number of plant functional type(PFT)
    LANDUSE_ALLOCEAN logical .false.
    LANDUSE_ALLLAND logical .false.
    LANDUSE_ALLURBAN logical .false.
    LANDUSE_ALLLAKE logical .false.
    LANDUSE_IGNORE_LAKE logical .false.
    LANDUSE_MOSAICWORLD logical .false.

History Output
No history output

Function/Subroutine Documentation

◆ landuse_setup()

subroutine, public scale_landuse::landuse_setup ( logical, intent(in)  OCEAN_do,
logical, intent(in)  URBAN_do,
logical, intent(in)  LAKE_do 
)

Setup.

Definition at line 101 of file scale_landuse.F90.

References scale_file::file_aggregate, scale_atmos_grid_cartesc_index::ia, scale_io::io_fid_conf, scale_atmos_grid_cartesc_index::ja, landuse_calc_fact(), landuse_exists_lake, landuse_exists_land, landuse_exists_ocean, landuse_exists_urban, landuse_fact_lake, landuse_fact_land, landuse_fact_ocean, landuse_fact_urban, landuse_frac_lake, landuse_frac_land, landuse_frac_pft, landuse_frac_urban, landuse_index_lake, landuse_index_pft, landuse_index_urban, landuse_pft_mosaic, landuse_pft_nmax, and scale_prc::prc_abort().

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

101  use scale_prc, only: &
102  prc_abort
103  use scale_file, only: &
105  implicit none
106 
107  logical, intent(in) :: ocean_do
108  logical, intent(in) :: urban_do
109  logical, intent(in) :: lake_do
110 
111  namelist / param_landuse / &
112  landuse_in_basename, &
113  landuse_in_aggregate, &
114  landuse_in_check_coordinates, &
115  landuse_out_basename, &
116  landuse_out_aggregate, &
117  landuse_out_dtype, &
118  landuse_pft_mosaic, &
119  landuse_pft_nmax, &
120  landuse_allocean, &
121  landuse_allland, &
122  landuse_allurban, &
123  landuse_alllake, &
124  landuse_ignore_lake, &
125  landuse_mosaicworld
126 
127  integer :: ierr
128  !---------------------------------------------------------------------------
129 
130  log_newline
131  log_info("LANDUSE_setup",*) 'Setup'
132 
133  landuse_in_aggregate = file_aggregate
134  landuse_out_aggregate = file_aggregate
135 
136  !--- read namelist
137  rewind(io_fid_conf)
138  read(io_fid_conf,nml=param_landuse,iostat=ierr)
139  if( ierr < 0 ) then !--- missing
140  log_info("LANDUSE_setup",*) 'Not found namelist. Default used.'
141  elseif( ierr > 0 ) then !--- fatal error
142  log_error("LANDUSE_setup",*) 'Not appropriate names in namelist PARAM_LANDUSE. Check!'
143  call prc_abort
144  endif
145  log_nml(param_landuse)
146 
147  allocate( landuse_frac_land(ia,ja) )
148  allocate( landuse_frac_urban(ia,ja) )
149  allocate( landuse_frac_lake(ia,ja) )
150  landuse_frac_land(:,:) = 0.0_rp
151  landuse_frac_urban(:,:) = 0.0_rp
152  landuse_frac_lake(:,:) = 0.0_rp
153 
154  allocate( landuse_index_pft(ia,ja,landuse_pft_mosaic) )
155  allocate( landuse_frac_pft(ia,ja,landuse_pft_mosaic) )
156  landuse_frac_pft(:,:,:) = 0.0_rp
157  landuse_frac_pft(:,:,1) = 1.0_rp ! tentative, mosaic is off
158  landuse_index_pft(:,:,:) = 1 ! default
159 
160  allocate( landuse_fact_ocean(ia,ja) )
161  allocate( landuse_fact_land(ia,ja) )
162  allocate( landuse_fact_urban(ia,ja) )
163  allocate( landuse_fact_lake(ia,ja) )
164  landuse_fact_ocean(:,:) = 0.0_rp
165  landuse_fact_land(:,:) = 0.0_rp
166  landuse_fact_urban(:,:) = 0.0_rp
167  landuse_fact_lake(:,:) = 0.0_rp
168 
169  allocate( landuse_exists_ocean(ia,ja) )
170  allocate( landuse_exists_land(ia,ja) )
171  allocate( landuse_exists_urban(ia,ja) )
172  allocate( landuse_exists_lake(ia,ja) )
173  landuse_exists_ocean(:,:) = .false.
174  landuse_exists_land(:,:) = .false.
175  landuse_exists_urban(:,:) = .false.
176  landuse_exists_lake(:,:) = .false.
177 
178 
179 
180  if ( landuse_allocean ) then
181 
182  log_info("LANDUSE_setup",*) 'Assume all grids are ocean'
183 
184  call landuse_calc_fact
185 
186  elseif( landuse_allland ) then
187 
188  log_info("LANDUSE_setup",*) 'Assume all grids are land'
189  log_info("LANDUSE_setup",*) 'Assume land PFT is 1 (bare ground)'
190  landuse_frac_land(:,:) = 1.0_rp
191 
192  call landuse_calc_fact
193 
194  elseif( landuse_allurban ) then
195 
196  log_info("LANDUSE_setup",*) 'Assume all grids are land'
197  log_info("LANDUSE_setup",*) 'Assume all lands are urban'
198  log_info("LANDUSE_setup",*) 'Assume land PFT is urban: ', landuse_index_urban
199  landuse_frac_land(:,:) = 1.0_rp
200  landuse_frac_urban(:,:) = 1.0_rp
201  landuse_index_pft(:,:,:) = landuse_index_urban
202 
203  call landuse_calc_fact
204 
205  elseif( landuse_alllake ) then
206 
207  log_info("LANDUSE_setup",*) 'Assume all grids are land'
208  log_info("LANDUSE_setup",*) 'Assume all lands are lake'
209  log_info("LANDUSE_setup",*) 'Assume land PFT is lake: ', landuse_index_lake
210  landuse_frac_land(:,:) = 1.0_rp
211  landuse_frac_lake(:,:) = 1.0_rp
212  landuse_index_pft(:,:,:) = landuse_index_lake
213 
214  call landuse_calc_fact
215 
216  elseif( landuse_mosaicworld ) then
217 
218  log_info("LANDUSE_setup",*) 'Assume all grids have ocean, land, and urban'
219 ! LOG_INFO("LANDUSE_setup",*) 'Assume all grids have ocean, land, urban, and lake'
220  log_info("LANDUSE_setup",*) 'Assume land PFT is 1 (bare ground)'
221  landuse_frac_land(:,:) = 0.5_rp
222  landuse_frac_urban(:,:) = 0.5_rp
223 ! LANDUSE_frac_lake (:,:) = 0.25_RP
224 
225  call landuse_calc_fact
226 
227  else ! default: read from file
228 
229  call landuse_read( ocean_do, urban_do, lake_do )
230  call landuse_calc_fact
231 
232  endif
233 
234  return
integer, public ia
of whole cells: x, local, with HALO
logical, public file_aggregate
Definition: scale_file.F90:171
logical, public ocean_do
logical, public lake_do
integer, public ja
of whole cells: y, local, with HALO
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
module file
Definition: scale_file.F90:15
module PROCESS
Definition: scale_prc.F90:11
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
logical, public urban_do
real(rp), dimension(:,:), allocatable, public landuse_frac_land
land fraction
Here is the call graph for this function:
Here is the caller graph for this function:

◆ landuse_calc_fact()

subroutine, public scale_landuse::landuse_calc_fact ( )

Definition at line 239 of file scale_landuse.F90.

References scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ja, landuse_exists_lake, landuse_exists_land, landuse_exists_ocean, landuse_exists_urban, landuse_fact_lake, landuse_fact_land, landuse_fact_ocean, landuse_fact_urban, landuse_frac_lake, landuse_frac_land, and landuse_frac_urban.

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_setup(), and mod_mkinit::read_sounding().

239  implicit none
240 
241  real(RP) :: fact_soil
242  integer :: i, j
243  !---------------------------------------------------------------------------
244 
245  log_newline
246  log_info("LANDUSE_calc_fact",*) 'calculate landuse factor'
247 
248  ! make factors
249  !$omp parallel do private(fact_soil)
250  do j = 1, ja
251  do i = 1, ia
252  landuse_fact_ocean(i,j) = max( 1.0_rp - landuse_frac_land(i,j), 0.0_rp )
253  landuse_fact_lake(i,j) = landuse_frac_land(i,j) * landuse_frac_lake(i,j)
254  fact_soil = max( landuse_frac_land(i,j) - landuse_fact_lake(i,j), 0.0_rp )
255  landuse_fact_urban(i,j) = fact_soil * landuse_frac_urban(i,j)
256  landuse_fact_land(i,j) = max( fact_soil - landuse_fact_urban(i,j), 0.0_rp )
257 
258  if( landuse_fact_ocean(i,j) > 0.0_rp ) landuse_exists_ocean(i,j) = .true.
259  if( landuse_fact_land(i,j) > 0.0_rp ) landuse_exists_land(i,j) = .true.
260  if( landuse_fact_urban(i,j) > 0.0_rp ) landuse_exists_urban(i,j) = .true.
261  if( landuse_fact_lake(i,j) > 0.0_rp ) landuse_exists_lake(i,j) = .true.
262  enddo
263  enddo
264 
265  return
integer, public ia
of whole cells: x, local, with HALO
integer, public ja
of whole cells: y, local, with HALO
real(rp), dimension(:,:), allocatable, public landuse_frac_land
land fraction
Here is the caller graph for this function:

◆ landuse_fillhalo()

subroutine, public scale_landuse::landuse_fillhalo ( logical, intent(in), optional  FILL_BND)

HALO Communication.

Definition at line 271 of file scale_landuse.F90.

References scale_file_cartesc::file_cartesc_close(), scale_file_cartesc::file_cartesc_flush(), scale_file_cartesc::file_cartesc_open(), scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::ja, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, landuse_fact_lake, landuse_fact_land, landuse_fact_ocean, landuse_fact_urban, landuse_frac_lake, landuse_frac_land, landuse_frac_pft, landuse_frac_urban, landuse_index_lake, landuse_index_pft, landuse_index_urban, landuse_pft_mosaic, and scale_prc::prc_abort().

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_write(), and mod_mkinit::read_sounding().

271  use scale_comm_cartesc, only: &
272  comm_vars8, &
273  comm_wait
274  implicit none
275 
276  logical, intent(in), optional :: fill_bnd
277 
278  real(RP) :: temp(ia,ja)
279 
280  logical :: fill_bnd_
281  integer :: p
282  !---------------------------------------------------------------------------
283 
284  fill_bnd_ = .true.
285  if ( present(fill_bnd) ) fill_bnd_ = fill_bnd
286 
287  call comm_vars8( landuse_frac_land(:,:), 1 )
288  call comm_vars8( landuse_frac_lake(:,:), 2 )
289  call comm_vars8( landuse_frac_urban(:,:), 3 )
290  call comm_vars8( landuse_fact_ocean(:,:), 4 )
291  call comm_vars8( landuse_fact_land(:,:), 5 )
292  call comm_vars8( landuse_fact_urban(:,:), 6 )
293  call comm_vars8( landuse_fact_lake(:,:), 7 )
294 
295  call comm_wait ( landuse_frac_land(:,:), 1, fill_bnd_ )
296  call comm_wait ( landuse_frac_lake(:,:), 2, fill_bnd_ )
297  call comm_wait ( landuse_frac_urban(:,:), 3, fill_bnd_ )
298  call comm_wait ( landuse_fact_ocean(:,:), 4, fill_bnd_ )
299  call comm_wait ( landuse_fact_land(:,:), 5, fill_bnd_ )
300  call comm_wait ( landuse_fact_urban(:,:), 6, fill_bnd_ )
301  call comm_wait ( landuse_fact_lake(:,:), 7, fill_bnd_ )
302 
303  do p = 1, landuse_pft_mosaic
304  temp(:,:) = real(LANDUSE_index_PFT(:,:,p),kind=rp)
305 
306  call comm_vars8( landuse_frac_pft(:,:,p), 8+2*(p-1) )
307  call comm_vars8( temp(:,:) , 9+2*(p-1) )
308 
309  call comm_wait ( landuse_frac_pft(:,:,p), 8+2*(p-1), fill_bnd_ )
310  call comm_wait ( temp(:,:) , 9+2*(p-1), fill_bnd_ )
311 
312  landuse_index_pft(:,:,p) = aint(temp(:,:),kind=4)
313  enddo
314 
315  return
integer, public ia
of whole cells: x, local, with HALO
integer, public ja
of whole cells: y, local, with HALO
module COMMUNICATION
integer, parameter, public rp
real(rp), dimension(:,:), allocatable, public landuse_frac_land
land fraction
Here is the call graph for this function:
Here is the caller graph for this function:

◆ landuse_write()

subroutine, public scale_landuse::landuse_write ( )

Write landuse data.

Definition at line 501 of file scale_landuse.F90.

References scale_file_cartesc::file_cartesc_close(), scale_file_cartesc::file_cartesc_create(), scale_file_cartesc::file_cartesc_def_var(), scale_file_cartesc::file_cartesc_enddef(), landuse_fact_lake, landuse_fact_land, landuse_fact_ocean, landuse_fact_urban, landuse_fillhalo(), landuse_frac_lake, landuse_frac_land, landuse_frac_pft, landuse_frac_urban, and landuse_pft_mosaic.

Referenced by mod_admin_restart::admin_restart_write(), mod_cnvlanduse::cnvlanduse(), and mod_mkinit::read_sounding().

501  use scale_file_cartesc, only: &
505  file_cartesc_write_var, &
507  implicit none
508 
509  real(RP) :: temp(ia,ja)
510 
511  integer :: vid(7+landuse_pft_mosaic*2)
512  character(len=H_SHORT) :: varname
513 
514  integer :: fid
515  integer :: p
516  !---------------------------------------------------------------------------
517 
518  if ( landuse_out_basename /= '' .and. landuse_out_basename /= landuse_in_basename ) then
519 
520  log_newline
521  log_info("LANDUSE_write",*) 'Output landuse file '
522 
523  call landuse_fillhalo( fill_bnd=.false. )
524 
525  call file_cartesc_create( landuse_out_basename, landuse_out_title, landuse_out_dtype, & ! [IN]
526  fid, & ! [OUT]
527  haszcoord=.false., aggregate=landuse_out_aggregate ) ! [IN]
528 
529  call file_cartesc_def_var( fid, 'FRAC_LAND' , 'LAND fraction' , '1', 'XY', landuse_out_dtype, vid(1), standard_name="land_area_fraction" )
530  call file_cartesc_def_var( fid, 'FRAC_LAKE' , 'LAKE fraction' , '1', 'XY', landuse_out_dtype, vid(2) )
531  call file_cartesc_def_var( fid, 'FRAC_URBAN' , 'URBAN fraction' , '1', 'XY', landuse_out_dtype, vid(3) )
532  call file_cartesc_def_var( fid, 'FRAC_OCEAN_abs', 'absolute OCEAN fraction', '1', 'XY', landuse_out_dtype, vid(4) )
533  call file_cartesc_def_var( fid, 'FRAC_LAND_abs' , 'absolute LAND fraction' , '1', 'XY', landuse_out_dtype, vid(5) )
534  call file_cartesc_def_var( fid, 'FRAC_URBAN_abs', 'absolute URBAN fraction', '1', 'XY', landuse_out_dtype, vid(6) )
535  call file_cartesc_def_var( fid, 'FRAC_LAKE_abs' , 'absolute LAKE fraction' , '1', 'XY', landuse_out_dtype, vid(7) )
536 
537  do p = 1, landuse_pft_mosaic
538  write(varname,'(A8,I1.1)') 'FRAC_PFT', p
539  call file_cartesc_def_var( fid, varname, 'PFT fraction', '1', 'XY', landuse_out_dtype, vid(8+2*(p-1)) )
540  write(varname,'(A9,I1.1)') 'INDEX_PFT', p
541  call file_cartesc_def_var( fid, varname, 'PFT index', '1', 'XY', landuse_out_dtype, vid(9+2*(p-1)) )
542  end do
543 
544  call file_cartesc_enddef( fid )
545 
546  call file_cartesc_write_var( fid, vid(1), landuse_frac_land(:,:), 'FRAC_LAND' , 'XY' )
547  call file_cartesc_write_var( fid, vid(2), landuse_frac_lake(:,:), 'FRAC_LAKE' , 'XY' )
548  call file_cartesc_write_var( fid, vid(3), landuse_frac_urban(:,:), 'FRAC_URBAN' , 'XY' )
549  call file_cartesc_write_var( fid, vid(4), landuse_fact_ocean(:,:), 'FRAC_OCEAN_abs', 'XY' )
550  call file_cartesc_write_var( fid, vid(5), landuse_fact_land(:,:), 'FRAC_LAND_abs' , 'XY' )
551  call file_cartesc_write_var( fid, vid(6), landuse_fact_urban(:,:), 'FRAC_URBAN_abs', 'XY' )
552  call file_cartesc_write_var( fid, vid(7), landuse_fact_lake(:,:), 'FRAC_LAKE_abs' , 'XY' )
553 
554  do p = 1, landuse_pft_mosaic
555  write(varname,'(A8,I1.1)') 'FRAC_PFT', p
556  call file_cartesc_write_var( fid, vid(8+2*(p-1)), landuse_frac_pft(:,:,p), varname, 'XY' )
557  write(varname,'(A9,I1.1)') 'INDEX_PFT', p
558  temp(:,:) = real(LANDUSE_index_PFT(:,:,p),kind=rp)
559  call file_cartesc_write_var( fid, vid(9+2*(p-1)), temp(:,:), varname, 'XY' )
560  end do
561 
562  call file_cartesc_close( fid )
563 
564  end if
565 
566  return
integer, public ia
of whole cells: x, local, with HALO
integer, public ja
of whole cells: y, local, with HALO
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
subroutine, public file_cartesc_def_var(fid, varname, desc, unit, dim_type, datatype, vid, standard_name, timeintv, nsteps, cell_measures)
Define a variable to file.
module file / cartesianC
integer, parameter, public rp
real(rp), dimension(:,:), allocatable, public landuse_frac_land
land fraction
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ landuse_fact_ocean

real(rp), dimension(:,:), allocatable, public scale_landuse::landuse_fact_ocean

◆ landuse_fact_land

real(rp), dimension (:,:), allocatable, public scale_landuse::landuse_fact_land

◆ landuse_fact_urban

real(rp), dimension(:,:), allocatable, public scale_landuse::landuse_fact_urban

◆ landuse_fact_lake

real(rp), dimension (:,:), allocatable, public scale_landuse::landuse_fact_lake

lake factor

Definition at line 47 of file scale_landuse.F90.

Referenced by mod_cpl_vars::cpl_vars_setup(), landuse_calc_fact(), landuse_fillhalo(), landuse_setup(), and landuse_write().

47  real(RP), public, allocatable :: landuse_fact_lake (:,:)

◆ landuse_exists_ocean

logical, dimension(:,:), allocatable, public scale_landuse::landuse_exists_ocean

ocean calculation flag

Definition at line 49 of file scale_landuse.F90.

Referenced by landuse_calc_fact(), landuse_setup(), mod_ocean_driver::ocean_driver_calc_tendency(), and mod_ocean_driver::ocean_driver_update().

49  logical, public, allocatable :: landuse_exists_ocean(:,:)

◆ landuse_exists_land

logical, dimension (:,:), allocatable, public scale_landuse::landuse_exists_land

land calculation flag

Definition at line 50 of file scale_landuse.F90.

Referenced by mod_land_driver::land_driver_calc_tendency(), landuse_calc_fact(), and landuse_setup().

50  logical, public, allocatable :: landuse_exists_land (:,:)

◆ landuse_exists_urban

logical, dimension(:,:), allocatable, public scale_landuse::landuse_exists_urban

urban calculation flag

Definition at line 51 of file scale_landuse.F90.

Referenced by landuse_calc_fact(), and landuse_setup().

51  logical, public, allocatable :: landuse_exists_urban(:,:)

◆ landuse_exists_lake

logical, dimension (:,:), allocatable, public scale_landuse::landuse_exists_lake

lake calculation flag

Definition at line 52 of file scale_landuse.F90.

Referenced by landuse_calc_fact(), and landuse_setup().

52  logical, public, allocatable :: landuse_exists_lake (:,:)

◆ landuse_frac_land

real(rp), dimension (:,:), allocatable, public scale_landuse::landuse_frac_land

◆ landuse_frac_urban

real(rp), dimension(:,:), allocatable, public scale_landuse::landuse_frac_urban

urban fraction

Definition at line 55 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_calc_fact(), landuse_fillhalo(), landuse_setup(), landuse_write(), and mod_mkinit::read_sounding().

55  real(RP), public, allocatable :: landuse_frac_urban(:,:)

◆ landuse_frac_lake

real(rp), dimension (:,:), allocatable, public scale_landuse::landuse_frac_lake

lake fraction

Definition at line 56 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_calc_fact(), landuse_fillhalo(), landuse_setup(), and landuse_write().

56  real(RP), public, allocatable :: landuse_frac_lake (:,:)

◆ landuse_index_ocean

integer, parameter, public scale_landuse::landuse_index_ocean = 0

ocean index

Definition at line 58 of file scale_landuse.F90.

58  integer, public, parameter :: landuse_index_ocean = 0

◆ landuse_index_urban

integer, parameter, public scale_landuse::landuse_index_urban = -1

urban index

Definition at line 59 of file scale_landuse.F90.

Referenced by landuse_fillhalo(), and landuse_setup().

59  integer, public, parameter :: landuse_index_urban = -1

◆ landuse_index_lake

integer, parameter, public scale_landuse::landuse_index_lake = -2

lake index

Definition at line 60 of file scale_landuse.F90.

Referenced by landuse_fillhalo(), and landuse_setup().

60  integer, public, parameter :: landuse_index_lake = -2

◆ landuse_pft_nmin

integer, parameter, public scale_landuse::landuse_pft_nmin = -2

minimum number of PFT type

Definition at line 62 of file scale_landuse.F90.

Referenced by mod_land_vars::land_vars_setup(), and mod_land_vars::land_vars_total().

62  integer, public, parameter :: landuse_pft_nmin = -2

◆ landuse_pft_nmax

integer, public scale_landuse::landuse_pft_nmax = 17

number of plant functional type(PFT)

Definition at line 63 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), mod_land_vars::land_vars_setup(), mod_land_vars::land_vars_total(), and landuse_setup().

63  integer, public :: landuse_pft_nmax = 17

◆ landuse_pft_mosaic

integer, public scale_landuse::landuse_pft_mosaic = 2

number of PFT mosaic

Definition at line 64 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_fillhalo(), landuse_setup(), and landuse_write().

64  integer, public :: landuse_pft_mosaic = 2

◆ landuse_frac_pft

real(rp), dimension (:,:,:), allocatable, public scale_landuse::landuse_frac_pft

fraction of PFT for each mosaic

Definition at line 66 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), landuse_fillhalo(), landuse_setup(), and landuse_write().

66  real(RP), public, allocatable :: landuse_frac_pft (:,:,:)

◆ landuse_index_pft

integer, dimension(:,:,:), allocatable, public scale_landuse::landuse_index_pft

index of PFT for each mosaic

Definition at line 67 of file scale_landuse.F90.

Referenced by mod_cnvlanduse::cnvlanduse(), mod_land_vars::land_vars_setup(), landuse_fillhalo(), and landuse_setup().

67  integer, public, allocatable :: landuse_index_pft(:,:,:)