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...
 
subroutine, public landuse_finalize
 Finalize. 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 102 of file scale_landuse.F90.

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

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().

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 238 of file scale_landuse.F90.

238  implicit none
239 
240  real(RP) :: fact_soil
241  integer :: i, j
242  !---------------------------------------------------------------------------
243 
244  log_newline
245  log_info("LANDUSE_calc_fact",*) 'calculate landuse factor'
246 
247  ! make factors
248  !$omp parallel do private(fact_soil)
249  !$acc kernels
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  !$acc end kernels
265 
266  !$acc update host(LANDUSE_fact_ocean, LANDUSE_fact_land, LANDUSE_fact_urban, LANDUSE_fact_lake)
267  !$acc update host(LANDUSE_exists_ocean, LANDUSE_exists_land, LANDUSE_exists_urban, LANDUSE_exists_lake)
268 
269  return

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().

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 275 of file scale_landuse.F90.

275  use scale_comm_cartesc, only: &
276  comm_vars8, &
277  comm_wait
278  implicit none
279 
280  logical, intent(in), optional :: FILL_BND
281 
282  real(RP) :: temp(IA,JA)
283 
284  logical :: FILL_BND_
285  integer :: p
286  !---------------------------------------------------------------------------
287 
288  ! tentative (calculated in mod_cnvlanduse.F90)
289  !$acc update device(LANDUSE_frac_land, LANDUSE_frac_lake, LANDUSE_frac_urban)
290  !$acc update device(LANDUSE_frac_PFT, LANDUSE_index_PFT)
291 
292  fill_bnd_ = .true.
293  if ( present(fill_bnd) ) fill_bnd_ = fill_bnd
294 
295  call comm_vars8( landuse_frac_land(:,:), 1 )
296  call comm_vars8( landuse_frac_lake(:,:), 2 )
297  call comm_vars8( landuse_frac_urban(:,:), 3 )
298  call comm_vars8( landuse_fact_ocean(:,:), 4 )
299  call comm_vars8( landuse_fact_land(:,:), 5 )
300  call comm_vars8( landuse_fact_urban(:,:), 6 )
301  call comm_vars8( landuse_fact_lake(:,:), 7 )
302 
303  call comm_wait ( landuse_frac_land(:,:), 1, fill_bnd_ )
304  call comm_wait ( landuse_frac_lake(:,:), 2, fill_bnd_ )
305  call comm_wait ( landuse_frac_urban(:,:), 3, fill_bnd_ )
306  call comm_wait ( landuse_fact_ocean(:,:), 4, fill_bnd_ )
307  call comm_wait ( landuse_fact_land(:,:), 5, fill_bnd_ )
308  call comm_wait ( landuse_fact_urban(:,:), 6, fill_bnd_ )
309  call comm_wait ( landuse_fact_lake(:,:), 7, fill_bnd_ )
310 
311  !$acc data create(temp)
312 
313  do p = 1, landuse_pft_mosaic
314  !$acc kernels
315  temp(:,:) = real(landuse_index_pft(:,:,p),kind=rp)
316  !$acc end kernels
317 
318  call comm_vars8( landuse_frac_pft(:,:,p), 8+2*(p-1) )
319  call comm_vars8( temp(:,:) , 9+2*(p-1) )
320 
321  call comm_wait ( landuse_frac_pft(:,:,p), 8+2*(p-1), fill_bnd_ )
322  call comm_wait ( temp(:,:) , 9+2*(p-1), fill_bnd_ )
323 
324  !$acc kernels
325  landuse_index_pft(:,:,p) = aint(temp(:,:),kind=4)
326  !$acc end kernels
327  enddo
328 
329  !$acc end data
330 
331  !$acc update host( LANDUSE_frac_land, LANDUSE_frac_lake, LANDUSE_frac_urban )
332  !$acc update host( LANDUSE_fact_ocean, LANDUSE_fact_land, LANDUSE_fact_urban, LANDUSE_fact_lake )
333  !$acc update host( LANDUSE_frac_PFT, LANDUSE_index_PFT )
334 
335  return

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, scale_prc::prc_abort(), and scale_precision::rp.

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

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 522 of file scale_landuse.F90.

522  use scale_file_cartesc, only: &
526  file_cartesc_write_var, &
528  implicit none
529 
530  real(RP) :: temp(IA,JA)
531 
532  integer :: vid(7+LANDUSE_PFT_mosaic*2)
533  character(len=H_SHORT) :: varname
534 
535  integer :: fid
536  integer :: p
537  !---------------------------------------------------------------------------
538 
539  if ( landuse_out_basename /= '' .and. landuse_out_basename /= landuse_in_basename ) then
540 
541  log_newline
542  log_info("LANDUSE_write",*) 'Output landuse file '
543 
544  call landuse_fillhalo( fill_bnd=.false. )
545 
546  call file_cartesc_create( landuse_out_basename, landuse_out_title, landuse_out_dtype, & ! [IN]
547  fid, & ! [OUT]
548  haszcoord=.false., aggregate=landuse_out_aggregate ) ! [IN]
549 
550  call file_cartesc_def_var( fid, 'FRAC_LAND' , 'LAND fraction' , '1', 'XY', landuse_out_dtype, vid(1), standard_name="land_area_fraction" )
551  call file_cartesc_def_var( fid, 'FRAC_LAKE' , 'LAKE fraction' , '1', 'XY', landuse_out_dtype, vid(2) )
552  call file_cartesc_def_var( fid, 'FRAC_URBAN' , 'URBAN fraction' , '1', 'XY', landuse_out_dtype, vid(3) )
553  call file_cartesc_def_var( fid, 'FRAC_OCEAN_abs', 'absolute OCEAN fraction', '1', 'XY', landuse_out_dtype, vid(4) )
554  call file_cartesc_def_var( fid, 'FRAC_LAND_abs' , 'absolute LAND fraction' , '1', 'XY', landuse_out_dtype, vid(5) )
555  call file_cartesc_def_var( fid, 'FRAC_URBAN_abs', 'absolute URBAN fraction', '1', 'XY', landuse_out_dtype, vid(6) )
556  call file_cartesc_def_var( fid, 'FRAC_LAKE_abs' , 'absolute LAKE fraction' , '1', 'XY', landuse_out_dtype, vid(7) )
557 
558  do p = 1, landuse_pft_mosaic
559  write(varname,'(A8,I1.1)') 'FRAC_PFT', p
560  call file_cartesc_def_var( fid, varname, 'PFT fraction', '1', 'XY', landuse_out_dtype, vid(8+2*(p-1)) )
561  write(varname,'(A9,I1.1)') 'INDEX_PFT', p
562  call file_cartesc_def_var( fid, varname, 'PFT index', '1', 'XY', landuse_out_dtype, vid(9+2*(p-1)) )
563  end do
564 
565  call file_cartesc_enddef( fid )
566 
567  call file_cartesc_write_var( fid, vid(1), landuse_frac_land(:,:), 'FRAC_LAND' , 'XY' )
568  call file_cartesc_write_var( fid, vid(2), landuse_frac_lake(:,:), 'FRAC_LAKE' , 'XY' )
569  call file_cartesc_write_var( fid, vid(3), landuse_frac_urban(:,:), 'FRAC_URBAN' , 'XY' )
570  call file_cartesc_write_var( fid, vid(4), landuse_fact_ocean(:,:), 'FRAC_OCEAN_abs', 'XY' )
571  call file_cartesc_write_var( fid, vid(5), landuse_fact_land(:,:), 'FRAC_LAND_abs' , 'XY' )
572  call file_cartesc_write_var( fid, vid(6), landuse_fact_urban(:,:), 'FRAC_URBAN_abs', 'XY' )
573  call file_cartesc_write_var( fid, vid(7), landuse_fact_lake(:,:), 'FRAC_LAKE_abs' , 'XY' )
574 
575  do p = 1, landuse_pft_mosaic
576  write(varname,'(A8,I1.1)') 'FRAC_PFT', p
577  call file_cartesc_write_var( fid, vid(8+2*(p-1)), landuse_frac_pft(:,:,p), varname, 'XY' )
578  write(varname,'(A9,I1.1)') 'INDEX_PFT', p
579  temp(:,:) = real(landuse_index_pft(:,:,p),kind=rp)
580  call file_cartesc_write_var( fid, vid(9+2*(p-1)), temp(:,:), varname, 'XY' )
581  end do
582 
583  call file_cartesc_close( fid )
584 
585  end if
586 
587  return

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, landuse_index_pft, landuse_pft_mosaic, and scale_precision::rp.

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ landuse_finalize()

subroutine, public scale_landuse::landuse_finalize

Finalize.

Definition at line 593 of file scale_landuse.F90.

593  implicit none
594  !---------------------------------------------------------------------------
595 
596  log_newline
597  log_info("LANDUSE_finalize",*) 'Finalize'
598 
599  !$acc exit data delete(LANDUSE_frac_land, LANDUSE_frac_urban, LANDUSE_frac_lake)
600  deallocate( landuse_frac_land )
601  deallocate( landuse_frac_urban )
602  deallocate( landuse_frac_lake )
603 
604  !$acc exit data delete(LANDUSE_index_PFT, LANDUSE_frac_PFT)
605  deallocate( landuse_index_pft )
606  deallocate( landuse_frac_pft )
607 
608  !$acc exit data delete(LANDUSE_fact_ocean, LANDUSE_fact_land, LANDUSE_fact_urban, LANDUSE_fact_lake)
609  deallocate( landuse_fact_ocean )
610  deallocate( landuse_fact_land )
611  deallocate( landuse_fact_urban )
612  deallocate( landuse_fact_lake )
613 
614  !$acc exit data delete(LANDUSE_exists_ocean, LANDUSE_exists_land, LANDUSE_exists_urban, LANDUSE_exists_lake)
615  deallocate( landuse_exists_ocean )
616  deallocate( landuse_exists_land )
617  deallocate( landuse_exists_urban )
618  deallocate( landuse_exists_lake )
619 
620  return

References 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, and landuse_index_pft.

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

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 48 of file scale_landuse.F90.

48  real(RP), public, allocatable :: LANDUSE_fact_lake (:,:)

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

◆ landuse_exists_ocean

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

◆ landuse_exists_land

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

land calculation flag

Definition at line 51 of file scale_landuse.F90.

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

Referenced by mod_land_driver::land_driver_calc_tendency(), mod_land_driver::land_driver_update(), mod_land_driver::land_surface_set(), mod_land_vars::land_vars_check(), landuse_calc_fact(), landuse_finalize(), and landuse_setup().

◆ landuse_exists_urban

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

◆ landuse_exists_lake

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

lake calculation flag

Definition at line 53 of file scale_landuse.F90.

53  logical, public, allocatable :: LANDUSE_exists_lake (:,:)

Referenced by landuse_calc_fact(), landuse_finalize(), and landuse_setup().

◆ 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 56 of file scale_landuse.F90.

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

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

◆ landuse_frac_lake

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

lake fraction

Definition at line 57 of file scale_landuse.F90.

57  real(RP), public, allocatable :: LANDUSE_frac_lake (:,:)

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

◆ landuse_index_ocean

integer, parameter, public scale_landuse::landuse_index_ocean = 0

ocean index

Definition at line 59 of file scale_landuse.F90.

59  integer, public, parameter :: LANDUSE_index_OCEAN = 0

◆ landuse_index_urban

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

urban index

Definition at line 60 of file scale_landuse.F90.

60  integer, public, parameter :: LANDUSE_index_URBAN = -1

Referenced by landuse_fillhalo(), and landuse_setup().

◆ landuse_index_lake

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

lake index

Definition at line 61 of file scale_landuse.F90.

61  integer, public, parameter :: LANDUSE_index_LAKE = -2

Referenced by landuse_fillhalo(), and landuse_setup().

◆ landuse_pft_nmin

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

minimum number of PFT type

Definition at line 63 of file scale_landuse.F90.

63  integer, public, parameter :: LANDUSE_PFT_nmin = -2

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

◆ landuse_pft_nmax

integer, public scale_landuse::landuse_pft_nmax = 17

number of plant functional type(PFT)

Definition at line 64 of file scale_landuse.F90.

64  integer, public :: LANDUSE_PFT_nmax = 17

Referenced by mod_cnvlanduse::cnvlanduse(), mod_realinput::land_interporation(), mod_land_vars::land_vars_finalize(), mod_land_vars::land_vars_setup(), landuse_setup(), and mod_realinput::realinput_surface().

◆ landuse_pft_mosaic

integer, public scale_landuse::landuse_pft_mosaic = 2

number of PFT mosaic

Definition at line 65 of file scale_landuse.F90.

65  integer, public :: LANDUSE_PFT_mosaic = 2

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

◆ landuse_frac_pft

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

fraction of PFT for each mosaic

Definition at line 67 of file scale_landuse.F90.

67  real(RP), public, allocatable :: LANDUSE_frac_PFT (:,:,:)

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

◆ landuse_index_pft

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

index of PFT for each mosaic

Definition at line 68 of file scale_landuse.F90.

68  integer, public, allocatable :: LANDUSE_index_PFT(:,:,:)

Referenced by mod_cnvlanduse::cnvlanduse(), mod_realinput::land_interporation(), mod_land_vars::land_vars_finalize(), mod_land_vars::land_vars_setup(), landuse_fillhalo(), landuse_finalize(), landuse_setup(), and landuse_write().

mod_urban_admin::urban_do
logical, public urban_do
Definition: mod_urban_admin.F90:32
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:350
scale_file_cartesc::file_cartesc_enddef
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
Definition: scale_file_cartesC.F90:964
scale_file_cartesc::file_cartesc_def_var
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.
Definition: scale_file_cartesC.F90:3360
scale_file
module file
Definition: scale_file.F90:15
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_precision::rp
integer, parameter, public rp
Definition: scale_precision.F90:41
scale_atmos_grid_cartesc_index::ia
integer, public ia
Definition: scale_atmos_grid_cartesC_index.F90:48
mod_lake_admin::lake_do
logical, public lake_do
Definition: mod_lake_admin.F90:32
scale_file_cartesc::file_cartesc_close
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Definition: scale_file_cartesC.F90:1044
scale_atmos_grid_cartesc_index::ja
integer, public ja
Definition: scale_atmos_grid_cartesC_index.F90:49
scale_landuse::landuse_fact_land
real(rp), dimension(:,:), allocatable, public landuse_fact_land
land factor
Definition: scale_landuse.F90:46
mod_ocean_admin::ocean_do
logical, public ocean_do
Definition: mod_ocean_admin.F90:32
scale_file::file_aggregate
logical, public file_aggregate
Definition: scale_file.F90:196
scale_file_cartesc::file_cartesc_create
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
Definition: scale_file_cartesC.F90:796
scale_comm_cartesc
module COMMUNICATION
Definition: scale_comm_cartesC.F90:11
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11