SCALE-RM
Functions/Subroutines | Variables
mod_land_vars Module Reference

module LAND Variables More...

Functions/Subroutines

subroutine, public land_vars_setup
 Setup. More...
 
subroutine, public land_vars_restart_open
 Open land restart file for read. More...
 
subroutine, public land_vars_restart_read
 Read land restart. More...
 
subroutine, public land_vars_history
 History output set for land variables. More...
 
subroutine, public land_vars_total
 Budget monitor for land. More...
 
subroutine, public land_vars_external_in (LAND_TEMP_in, LAND_WATER_in, LAND_SFC_TEMP_in, LAND_SFC_albedo_in)
 Input from External I/O. More...
 
real(rp) function, dimension(ia, ja), public convert_ws2vwc (WS, critical)
 conversion from water saturation [fraction] to volumetric water content [m3/m3] More...
 
subroutine, public land_vars_restart_create
 Create land restart file. More...
 
subroutine, public land_vars_restart_enddef
 Exit netCDF define mode. More...
 
subroutine, public land_vars_restart_close
 Close restart file. More...
 
subroutine, public land_vars_restart_def_var
 Define land variables in restart file. More...
 
subroutine, public land_vars_restart_write
 Write land variables to restart file. More...
 

Variables

logical, public land_restart_output = .false.
 Output restart file? More...
 
character(len=h_long), public land_restart_in_basename = ''
 Basename of the input file. More...
 
logical, public land_restart_in_postfix_timelabel = .false.
 Add timelabel to the basename of input file? More...
 
character(len=h_long), public land_restart_out_basename = ''
 Basename of the output file. More...
 
logical, public land_restart_out_postfix_timelabel = .true.
 Add timelabel to the basename of output file? More...
 
character(len=h_mid), public land_restart_out_title = 'LAND restart'
 Title of the output file. More...
 
character(len=h_short), public land_restart_out_dtype = 'DEFAULT'
 REAL4 or REAL8. More...
 
real(rp), dimension(:,:,:), allocatable, public land_temp
 temperature of each soil layer [K] More...
 
real(rp), dimension(:,:,:), allocatable, public land_water
 moisture of each soil layer [m3/m3] More...
 
real(rp), dimension(:,:), allocatable, public land_sfc_temp
 land surface skin temperature [K] More...
 
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
 land surface albedo (0-1) More...
 
real(rp), dimension(:,:,:), allocatable, public land_temp_t
 tendency of LAND_TEMP More...
 
real(rp), dimension(:,:,:), allocatable, public land_water_t
 tendency of LAND_WATER More...
 
real(rp), dimension(:,:), allocatable, public land_sfc_temp_t
 tendency of LAND_SFC_TEMP More...
 
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo_t
 tendency of LAND_SFC_albedo More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_mw
 land surface w-momentum flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_mu
 land surface u-momentum flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_mv
 land surface v-momentum flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_sh
 land surface sensible heat flux [J/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_lh
 land surface latent heat flux [J/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_gh
 land surface heat flux [J/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_sflx_evap
 land surface water vapor flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public land_u10
 land surface velocity u at 10m [m/s] More...
 
real(rp), dimension(:,:), allocatable, public land_v10
 land surface velocity v at 10m [m/s] More...
 
real(rp), dimension(:,:), allocatable, public land_t2
 land surface temperature at 2m [K] More...
 
real(rp), dimension(:,:), allocatable, public land_q2
 land surface water vapor at 2m [kg/kg] More...
 
real(rp), dimension(:,:), allocatable, public atmos_temp
 
real(rp), dimension(:,:), allocatable, public atmos_pres
 
real(rp), dimension(:,:), allocatable, public atmos_w
 
real(rp), dimension(:,:), allocatable, public atmos_u
 
real(rp), dimension(:,:), allocatable, public atmos_v
 
real(rp), dimension(:,:), allocatable, public atmos_dens
 
real(rp), dimension(:,:), allocatable, public atmos_qv
 
real(rp), dimension(:,:), allocatable, public atmos_pbl
 
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_lw
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_sw
 
real(rp), dimension(:,:), allocatable, public atmos_cossza
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_prec
 
real(rp), dimension(:,:,:), allocatable, public land_property
 land surface property More...
 
character(len=h_long), public land_property_in_filename = ''
 the file of land parameter table More...
 
integer, parameter, public land_property_nmax = 8
 
integer, parameter, public i_waterlimit = 1
 
integer, parameter, public i_watercritical = 2
 
integer, parameter, public i_thermalcond = 3
 
integer, parameter, public i_heatcapacity = 4
 
integer, parameter, public i_waterdiff = 5
 
integer, parameter, public i_z0m = 6
 
integer, parameter, public i_z0h = 7
 
integer, parameter, public i_z0e = 8
 

Detailed Description

module LAND Variables

Description
Container for land variables
Author
Team SCALE
  • 2013-08-31 (T.Yamaura) [new]
NAMELIST
  • PARAM_LAND_VARS
    nametypedefault valuecomment
    LAND_RESTART_IN_BASENAME character(len=H_LONG) '' Basename of the input file
    LAND_RESTART_IN_POSTFIX_TIMELABEL logical .false. Add timelabel to the basename of input file?
    LAND_RESTART_IN_CHECK_COORDINATES logical .true.
    LAND_RESTART_OUTPUT logical .false. Output restart file?
    LAND_RESTART_OUT_BASENAME character(len=H_LONG) '' Basename of the output file
    LAND_RESTART_OUT_POSTFIX_TIMELABEL logical .true. Add timelabel to the basename of output file?
    LAND_RESTART_OUT_TITLE character(len=H_MID) 'LAND restart' Title of the output file
    LAND_RESTART_OUT_DTYPE character(len=H_SHORT) 'DEFAULT' REAL4 or REAL8
    LAND_VARS_CHECKRANGE logical .false.

  • PARAM_LAND_PROPERTY
    nametypedefault valuecomment
    LAND_PROPERTY_IN_FILENAME character(len=H_LONG) '' the file of land parameter table

  • PARAM_LAND_DATA
    nametypedefault valuecomment
    INDEX integer
    DESCRIPTION character(len=H_MID)
    STRGMAX real(RP)
    STRGCRT real(RP)
    TCS real(RP)
    HCS real(RP)
    DFW real(RP)
    Z0M real(RP)
    Z0H real(RP)
    Z0E real(RP)

History Output
namedescriptionunitvariable
LAND_ALB_LW land surface albedo (longwave) 1 LAND_SFC_albedo
LAND_ALB_SW land surface albedo (shortwave) 1 LAND_SFC_albedo
LAND_SFC_TEMP land surface skin temperature K LAND_SFC_TEMP
LAND_SFLX_GH land surface ground heat flux J/m2/s LAND_SFLX_GH
LAND_SFLX_LH land surface latent heat flux J/m2/s LAND_SFLX_LH
LAND_SFLX_MU land surface u-momentum flux kg/m2/s LAND_SFLX_MU
LAND_SFLX_MV land surface v-momentum flux kg/m2/s LAND_SFLX_MV
LAND_SFLX_MW land surface w-momentum flux kg/m2/s LAND_SFLX_MW
LAND_SFLX_SH land surface sensible heat flux J/m2/s LAND_SFLX_SH
LAND_SFLX_evap land surface water vapor flux kg/m2/s LAND_SFLX_evap
LAND_TEMP temperature at each soil layer K LAND_TEMP
LAND_WATER moisture at each soil layer m3/m3 LAND_WATER
LAND_DSAT degree of saturation at each soil layer 1 LAND_WATERDS

Function/Subroutine Documentation

◆ land_vars_setup()

subroutine, public mod_land_vars::land_vars_setup ( )

Setup.

Definition at line 202 of file mod_land_vars.f90.

References atmos_cossza, atmos_dens, atmos_pbl, atmos_pres, atmos_qv, atmos_sfc_pres, atmos_sflx_lw, atmos_sflx_prec, atmos_sflx_sw, atmos_temp, atmos_u, atmos_v, atmos_w, scale_const::const_undef, scale_grid_index::ia, scale_grid_index::ie, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_l, scale_stdio::io_nml, scale_grid_index::is, scale_grid_index::ja, scale_grid_index::je, scale_grid_index::js, land_property, land_property_nmax, land_q2, land_restart_in_basename, land_restart_in_postfix_timelabel, land_restart_out_basename, land_restart_out_dtype, land_restart_out_postfix_timelabel, land_restart_out_title, land_restart_output, land_sfc_albedo, land_sfc_albedo_t, land_sfc_temp, land_sfc_temp_t, land_sflx_evap, land_sflx_gh, land_sflx_lh, land_sflx_mu, land_sflx_mv, land_sflx_mw, land_sflx_sh, land_t2, land_temp, land_temp_t, land_u10, land_v10, land_water, land_water_t, scale_landuse::landuse_index_pft, scale_landuse::landuse_pft_nmax, scale_land_grid_index::lkmax, and scale_process::prc_mpistop().

Referenced by mod_rm_driver::scalerm(), and mod_rm_prep::scalerm_prep().

202  use scale_process, only: &
204  use scale_const, only: &
205  undef => const_undef
206  use scale_comm, only: &
207  comm_vars8, &
208  comm_wait
209  use scale_landuse, only: &
212  implicit none
213 
214  namelist / param_land_vars / &
215  land_restart_in_basename, &
216  land_restart_in_postfix_timelabel, &
217  land_restart_in_check_coordinates, &
218  land_restart_output, &
219  land_restart_out_basename, &
220  land_restart_out_postfix_timelabel, &
221  land_restart_out_title, &
222  land_restart_out_dtype, &
223  land_vars_checkrange
224 
225  integer :: ierr
226  integer :: i, j, iv, p
227  !---------------------------------------------------------------------------
228 
229  if( io_l ) write(io_fid_log,*)
230  if( io_l ) write(io_fid_log,*) '++++++ Module[VARS] / Categ[LAND] / Origin[SCALE-RM]'
231 
232  allocate( land_temp(lkmax,ia,ja) )
233  allocate( land_water(lkmax,ia,ja) )
234  allocate( land_sfc_temp(ia,ja) )
235  allocate( land_sfc_albedo(ia,ja,2) )
236  land_temp(:,:,:) = undef
237  land_water(:,:,:) = undef
238  land_sfc_temp(:,:) = undef
239  land_sfc_albedo(:,:,:) = undef
240 
241  allocate( land_temp_t(lkmax,ia,ja) )
242  allocate( land_water_t(lkmax,ia,ja) )
243  allocate( land_sfc_temp_t(ia,ja) )
244  allocate( land_sfc_albedo_t(ia,ja,2) )
245  land_temp_t(:,:,:) = undef
246  land_water_t(:,:,:) = undef
247  land_sfc_temp_t(:,:) = undef
248  land_sfc_albedo_t(:,:,:) = undef
249 
250  allocate( land_sflx_mw(ia,ja) )
251  allocate( land_sflx_mu(ia,ja) )
252  allocate( land_sflx_mv(ia,ja) )
253  allocate( land_sflx_sh(ia,ja) )
254  allocate( land_sflx_lh(ia,ja) )
255  allocate( land_sflx_gh(ia,ja) )
256  allocate( land_sflx_evap(ia,ja) )
257  land_sflx_mw(:,:) = undef
258  land_sflx_mu(:,:) = undef
259  land_sflx_mv(:,:) = undef
260  land_sflx_sh(:,:) = undef
261  land_sflx_lh(:,:) = undef
262  land_sflx_gh(:,:) = undef
263  land_sflx_evap(:,:) = undef
264 
265  allocate( land_u10(ia,ja) )
266  allocate( land_v10(ia,ja) )
267  allocate( land_t2(ia,ja) )
268  allocate( land_q2(ia,ja) )
269  land_u10(:,:) = undef
270  land_v10(:,:) = undef
271  land_t2(:,:) = undef
272  land_q2(:,:) = undef
273 
274  allocate( atmos_temp(ia,ja) )
275  allocate( atmos_pres(ia,ja) )
276  allocate( atmos_w(ia,ja) )
277  allocate( atmos_u(ia,ja) )
278  allocate( atmos_v(ia,ja) )
279  allocate( atmos_dens(ia,ja) )
280  allocate( atmos_qv(ia,ja) )
281  allocate( atmos_pbl(ia,ja) )
282  allocate( atmos_sfc_pres(ia,ja) )
283  allocate( atmos_sflx_lw(ia,ja) )
284  allocate( atmos_sflx_sw(ia,ja) )
285  allocate( atmos_cossza(ia,ja) )
286  allocate( atmos_sflx_prec(ia,ja) )
287  atmos_temp(:,:) = undef
288  atmos_pres(:,:) = undef
289  atmos_w(:,:) = undef
290  atmos_u(:,:) = undef
291  atmos_v(:,:) = undef
292  atmos_dens(:,:) = undef
293  atmos_qv(:,:) = undef
294  atmos_pbl(:,:) = undef
295  atmos_sfc_pres(:,:) = undef
296  atmos_sflx_lw(:,:) = undef
297  atmos_sflx_sw(:,:) = undef
298  atmos_cossza(:,:) = undef
299  atmos_sflx_prec(:,:) = undef
300 
301  land_qa_comm = lkmax &
302  + lkmax &
303  + 1 &
304  + 2
305 
306  allocate( work_comm(ia,ja,land_qa_comm) )
307 
308  !--- read namelist
309  rewind(io_fid_conf)
310  read(io_fid_conf,nml=param_land_vars,iostat=ierr)
311  if( ierr < 0 ) then !--- missing
312  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
313  elseif( ierr > 0 ) then !--- fatal error
314  write(*,*) 'xxx Not appropriate names in namelist PARAM_LAND_VARS. Check!'
315  call prc_mpistop
316  endif
317  if( io_nml ) write(io_fid_nml,nml=param_land_vars)
318 
319  if( io_l ) write(io_fid_log,*)
320  if( io_l ) write(io_fid_log,*) '*** List of prognostic variables (LAND) ***'
321  if( io_l ) write(io_fid_log,'(1x,A,A24,A,A48,A,A12,A)') &
322  '*** |', 'VARNAME ','|', &
323  'DESCRIPTION ', '[', 'UNIT ', ']'
324  do iv = 1, vmax
325  if( io_l ) write(io_fid_log,'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
326  '*** NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
327  enddo
328 
329  if( io_l ) write(io_fid_log,*)
330  if ( land_restart_in_basename /= '' ) then
331  if( io_l ) write(io_fid_log,*) '*** Restart input? : YES, file = ', trim(land_restart_in_basename)
332  if( io_l ) write(io_fid_log,*) '*** Add timelabel? : ', land_restart_in_postfix_timelabel
333  else
334  if( io_l ) write(io_fid_log,*) '*** Restart input? : NO'
335  endif
336  if ( land_restart_output &
337  .AND. land_restart_out_basename /= '' ) then
338  if( io_l ) write(io_fid_log,*) '*** Restart output? : YES, file = ', trim(land_restart_out_basename)
339  if( io_l ) write(io_fid_log,*) '*** Add timelabel? : ', land_restart_out_postfix_timelabel
340  else
341  if( io_l ) write(io_fid_log,*) '*** Restart output? : NO'
342  land_restart_output = .false.
343  endif
344 
345  ! Read land property table
346  allocate( land_property_table(landuse_pft_nmax,land_property_nmax) )
347  land_property_table(:,:) = undef
348 
349  call land_param_read
350 
351  ! Apply land property to 2D map
352  allocate( land_property(ia,ja,land_property_nmax) )
353 
354  ! tentative, mosaic is off
355  do p = 1, land_property_nmax
356  do j = js, je
357  do i = is, ie
358  land_property(i,j,p) = land_property_table( landuse_index_pft(i,j,1), p )
359  enddo
360  enddo
361  enddo
362 
363  do p = 1, land_property_nmax
364  call comm_vars8( land_property(:,:,p), p )
365  enddo
366  do p = 1, land_property_nmax
367  call comm_wait ( land_property(:,:,p), p )
368  enddo
369 
370  return
real(rp), dimension(:,:), allocatable, public land_v10
land surface velocity v at 10m [m/s]
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
subroutine, public prc_mpistop
Abort MPI.
real(rp), dimension(:,:), allocatable, public atmos_qv
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_pbl
real(rp), dimension(:,:), allocatable, public atmos_sflx_prec
real(rp), dimension(:,:), allocatable, public atmos_u
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo_t
tendency of LAND_SFC_albedo
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_w
real(rp), dimension(:,:), allocatable, public land_sflx_evap
land surface water vapor flux [kg/m2/s]
real(rp), public const_undef
Definition: scale_const.F90:43
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
real(rp), dimension(:,:), allocatable, public atmos_pres
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public atmos_temp
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public land_q2
land surface water vapor at 2m [kg/kg]
real(rp), dimension(:,:), allocatable, public land_t2
land surface temperature at 2m [K]
module LANDUSE
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
module COMMUNICATION
Definition: scale_comm.F90:23
module PROCESS
real(rp), dimension(:,:), allocatable, public land_u10
land surface velocity u at 10m [m/s]
integer, dimension(:,:,:), allocatable, public landuse_index_pft
index of PFT for each mosaic
real(rp), dimension(:,:,:), allocatable, public land_water_t
tendency of LAND_WATER
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:), allocatable, public land_sfc_temp_t
tendency of LAND_SFC_TEMP
module CONSTANT
Definition: scale_const.F90:14
real(rp), dimension(:,:), allocatable, public atmos_dens
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_v
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_temp_t
tendency of LAND_TEMP
integer, public landuse_pft_nmax
number of plant functional type(PFT)
real(rp), dimension(:,:), allocatable, public atmos_sflx_sw
real(rp), dimension(:,:,:), allocatable, public land_property
land surface property
real(rp), dimension(:,:), allocatable, public atmos_sflx_lw
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_open()

subroutine, public mod_land_vars::land_vars_restart_open ( )

Open land restart file for read.

Definition at line 376 of file mod_land_vars.f90.

References scale_fileio::fileio_open(), scale_stdio::io_fid_log, scale_stdio::io_l, land_restart_in_basename, land_restart_in_postfix_timelabel, mod_land_admin::land_sw, and scale_time::time_gettimelabel().

Referenced by mod_admin_restart::admin_restart_read().

376  use scale_time, only: &
378  use scale_fileio, only: &
379  fileio_open, &
380  fileio_check_coordinates
381  use mod_land_admin, only: &
382  land_sw
383  implicit none
384 
385  character(len=19) :: timelabel
386  character(len=H_LONG) :: basename
387  !---------------------------------------------------------------------------
388 
389  if( io_l ) write(io_fid_log,*)
390  if( io_l ) write(io_fid_log,*) '*** Open restart file (LAND) ***'
391 
392  if ( land_sw .and. land_restart_in_basename /= '' ) then
393 
394  if ( land_restart_in_postfix_timelabel ) then
395  call time_gettimelabel( timelabel )
396  basename = trim(land_restart_in_basename)//'_'//trim(timelabel)
397  else
398  basename = trim(land_restart_in_basename)
399  endif
400 
401  if( io_l ) write(io_fid_log,*) '*** basename: ', trim(basename)
402 
403  call fileio_open( restart_fid, & ! [OUT]
404  basename ) ! [IN]
405 
406  if ( land_restart_in_check_coordinates ) then
407  call fileio_check_coordinates( restart_fid, land=.true. )
408  end if
409 
410  else
411  if( io_l ) write(io_fid_log,*) '*** restart file for land is not specified.'
412  endif
413 
414  return
module Land admin
module FILE I/O (netcdf)
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:90
module TIME
Definition: scale_time.F90:15
subroutine, public fileio_open(fid, basename)
open a netCDF file for read
logical, public land_sw
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_read()

subroutine, public mod_land_vars::land_vars_restart_read ( )

Read land restart.

Definition at line 420 of file mod_land_vars.f90.

References scale_fileio::fileio_flush(), scale_stdio::io_aggregate, scale_stdio::io_fid_log, scale_stdio::io_l, land_sfc_albedo, land_sfc_temp, land_sflx_evap, land_sflx_gh, land_sflx_lh, land_sflx_mu, land_sflx_mv, land_sflx_mw, land_sflx_sh, land_temp, land_vars_total(), and land_water.

Referenced by mod_admin_restart::admin_restart_read(), and mod_rm_driver::resume_state().

420  use scale_fileio, only: &
421  fileio_read, &
423  implicit none
424  !---------------------------------------------------------------------------
425 
426  if ( restart_fid /= -1 ) then
427  if( io_l ) write(io_fid_log,*)
428  if( io_l ) write(io_fid_log,*) '*** Read from restart file (LAND) ***'
429 
430  call fileio_read( land_temp(:,:,:), & ! [OUT]
431  restart_fid, var_name(i_temp), 'Land', step=1 ) ! [IN]
432  call fileio_read( land_water(:,:,:), & ! [OUT]
433  restart_fid, var_name(i_water), 'Land', step=1 ) ! [IN]
434  call fileio_read( land_sfc_temp(:,:), & ! [OUT]
435  restart_fid, var_name(i_sfc_temp), 'XY', step=1 ) ! [IN]
436  call fileio_read( land_sfc_albedo(:,:,i_lw), & ! [OUT]
437  restart_fid, var_name(i_alb_lw), 'XY', step=1 ) ! [IN]
438  call fileio_read( land_sfc_albedo(:,:,i_sw), & ! [OUT]
439  restart_fid, var_name(i_alb_sw), 'XY', step=1 ) ! [IN]
440  call fileio_read( land_sflx_mw(:,:), & ! [OUT]
441  restart_fid, var_name(i_sflx_mw), 'XY', step=1 ) ! [IN]
442  call fileio_read( land_sflx_mu(:,:), & ! [OUT]
443  restart_fid, var_name(i_sflx_mu), 'XY', step=1 ) ! [IN]
444  call fileio_read( land_sflx_mv(:,:), & ! [OUT]
445  restart_fid, var_name(i_sflx_mv), 'XY', step=1 ) ! [IN]
446  call fileio_read( land_sflx_sh(:,:), & ! [OUT]
447  restart_fid, var_name(i_sflx_sh), 'XY', step=1 ) ! [IN]
448  call fileio_read( land_sflx_lh(:,:), & ! [OUT]
449  restart_fid, var_name(i_sflx_lh), 'XY', step=1 ) ! [IN]
450  call fileio_read( land_sflx_gh(:,:), & ! [OUT]
451  restart_fid, var_name(i_sflx_gh), 'XY', step=1 ) ! [IN]
452  call fileio_read( land_sflx_evap(:,:), & ! [OUT]
453  restart_fid, var_name(i_sflx_evap), 'XY', step=1 ) ! [IN]
454 
455  if( io_aggregate ) call fileio_flush( restart_fid ) ! commit all pending read requests
456 
457  call land_vars_total
458  else
459  if( io_l ) write(io_fid_log,*) '*** invalid restart file ID for land.'
460  endif
461 
462  return
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
subroutine, public fileio_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
module FILE I/O (netcdf)
real(rp), dimension(:,:), allocatable, public land_sflx_evap
land surface water vapor flux [kg/m2/s]
integer, parameter, public i_lw
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
integer, parameter, public i_sw
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_history()

subroutine, public mod_land_vars::land_vars_history ( )

History output set for land variables.

Definition at line 468 of file mod_land_vars.f90.

References i_waterlimit, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, land_property, land_sfc_albedo, land_sfc_temp, land_sflx_evap, land_sflx_gh, land_sflx_lh, land_sflx_mu, land_sflx_mv, land_sflx_mw, land_sflx_sh, land_temp, land_water, and scale_land_grid_index::lkmax.

Referenced by mod_land_driver::land_driver(), and mod_land_driver::land_driver_resume().

468  use scale_history, only: &
469  hist_in
470  implicit none
471 
472  real(RP) :: LAND_WATERDS(LKMAX,IA,JA)
473  integer :: k, i, j
474  !---------------------------------------------------------------------------
475 
476  if ( land_vars_checkrange ) then
477  call valcheck( land_temp(:,is:ie,js:je), 0.0_rp, 1000.0_rp, var_name(i_temp), &
478  __file__, __line__ )
479  call valcheck( land_water(:,is:ie,js:je), 0.0_rp, 1000.0_rp, var_name(i_water), &
480  __file__, __line__ )
481  call valcheck( land_sfc_temp(is:ie,js:je), 0.0_rp, 1000.0_rp, var_name(i_sfc_temp), &
482  __file__, __line__ )
483  call valcheck( land_sfc_albedo(is:ie,js:je,i_lw), 0.0_rp, 2.0_rp, var_name(i_alb_lw), &
484  __file__, __line__ )
485  call valcheck( land_sfc_albedo(is:ie,js:je,i_sw), 0.0_rp, 2.0_rp, var_name(i_alb_sw), &
486  __file__, __line__ )
487  endif
488 
489  call hist_in( land_temp(:,:,:), var_name(i_temp), var_desc(i_temp), var_unit(i_temp), zdim='land' )
490  call hist_in( land_water(:,:,:), var_name(i_water), var_desc(i_water), var_unit(i_water), zdim='land' )
491  do j = js, je
492  do i = is, ie
493  do k = 1, lkmax
494  land_waterds(k,i,j) = land_water(k,i,j) / land_property(i,j,i_waterlimit)
495  end do
496  end do
497  end do
498  call hist_in( land_waterds(:,:,:), var_name(i_waterds), var_desc(i_waterds), var_unit(i_waterds), zdim='land', nohalo=.true. )
499 
500 
501  call hist_in( land_sfc_temp(:,:), var_name(i_sfc_temp), var_desc(i_sfc_temp), var_unit(i_sfc_temp) )
502  call hist_in( land_sfc_albedo(:,:,i_lw), var_name(i_alb_lw), var_desc(i_alb_lw), var_unit(i_alb_lw) )
503  call hist_in( land_sfc_albedo(:,:,i_sw), var_name(i_alb_sw), var_desc(i_alb_sw), var_unit(i_alb_sw) )
504 
505  call hist_in( land_sflx_mw(:,:), var_name(i_sflx_mw), var_desc(i_sflx_mw), var_unit(i_sflx_mw) )
506  call hist_in( land_sflx_mu(:,:), var_name(i_sflx_mu), var_desc(i_sflx_mu), var_unit(i_sflx_mu) )
507  call hist_in( land_sflx_mv(:,:), var_name(i_sflx_mv), var_desc(i_sflx_mv), var_unit(i_sflx_mv) )
508  call hist_in( land_sflx_sh(:,:), var_name(i_sflx_sh), var_desc(i_sflx_sh), var_unit(i_sflx_sh) )
509  call hist_in( land_sflx_lh(:,:), var_name(i_sflx_lh), var_desc(i_sflx_lh), var_unit(i_sflx_lh) )
510  call hist_in( land_sflx_gh(:,:), var_name(i_sflx_gh), var_desc(i_sflx_gh), var_unit(i_sflx_gh) )
511  call hist_in( land_sflx_evap(:,:), var_name(i_sflx_evap), var_desc(i_sflx_evap), var_unit(i_sflx_evap) )
512 
513  return
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
integer, parameter, public i_waterlimit
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_evap
land surface water vapor flux [kg/m2/s]
integer, parameter, public i_lw
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
integer, parameter, public i_sw
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
module HISTORY
real(rp), dimension(:,:,:), allocatable, public land_property
land surface property
Here is the caller graph for this function:

◆ land_vars_total()

subroutine, public mod_land_vars::land_vars_total ( )

Budget monitor for land.

Definition at line 519 of file mod_land_vars.f90.

References land_sfc_albedo, land_sfc_temp, land_temp, land_water, scale_land_grid_index::lke, scale_land_grid_index::lks, and scale_rm_statistics::statistics_checktotal.

Referenced by mod_land_driver::land_driver(), land_vars_external_in(), land_vars_restart_read(), and land_vars_restart_write().

519  use scale_rm_statistics, only: &
521  stat_total
522  implicit none
523 
524  real(RP) :: total
525 
526  character(len=2) :: sk
527  integer :: k
528  !---------------------------------------------------------------------------
529 
530  if ( statistics_checktotal ) then
531 
532  do k = lks, lke
533  write(sk,'(I2.2)') k
534 
535  call stat_total( total, land_temp(k,:,:), trim(var_name(i_temp) )//sk )
536  call stat_total( total, land_water(k,:,:), trim(var_name(i_water))//sk )
537  enddo
538 
539  call stat_total( total, land_sfc_temp(:,:), var_name(i_sfc_temp) )
540  call stat_total( total, land_sfc_albedo(:,:,i_lw), var_name(i_alb_lw) )
541  call stat_total( total, land_sfc_albedo(:,:,i_sw), var_name(i_alb_sw) )
542 
543  endif
544 
545  return
logical, public statistics_checktotal
calc&report variable totals to logfile?
integer, parameter, public i_lw
module Statistics
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
integer, parameter, public i_sw
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
Here is the caller graph for this function:

◆ land_vars_external_in()

subroutine, public mod_land_vars::land_vars_external_in ( real(rp), dimension (:,:,:), intent(in)  LAND_TEMP_in,
real(rp), dimension(:,:,:), intent(in)  LAND_WATER_in,
real(rp), dimension (ia,ja), intent(in)  LAND_SFC_TEMP_in,
real(rp), dimension(ia,ja,2), intent(in)  LAND_SFC_albedo_in 
)

Input from External I/O.

Definition at line 555 of file mod_land_vars.f90.

References i_heatcapacity, i_thermalcond, i_watercritical, i_waterdiff, i_waterlimit, i_z0e, i_z0h, i_z0m, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_fid_nml, scale_stdio::io_get_available_fid(), scale_stdio::io_l, scale_stdio::io_nml, land_property_in_filename, land_sfc_albedo, land_sfc_temp, land_sflx_evap, land_sflx_gh, land_sflx_lh, land_sflx_mu, land_sflx_mv, land_sflx_mw, land_sflx_sh, land_temp, land_vars_total(), land_water, scale_landuse::landuse_pft_nmax, and scale_process::prc_mpistop().

555  implicit none
556 
557  real(RP), intent(in) :: LAND_TEMP_in (:,:,:)
558  real(RP), intent(in) :: LAND_WATER_in(:,:,:)
559  real(RP), intent(in) :: LAND_SFC_TEMP_in (IA,JA)
560  real(RP), intent(in) :: LAND_SFC_albedo_in(IA,JA,2)
561  !---------------------------------------------------------------------------
562 
563  if( io_l ) write(io_fid_log,*)
564  if( io_l ) write(io_fid_log,*) '*** External Input (land) ***'
565 
566  land_temp(:,:,:) = land_temp_in(:,:,:)
567  land_water(:,:,:) = land_water_in(:,:,:)
568  land_sfc_temp(:,:) = land_sfc_temp_in(:,:)
569  land_sfc_albedo(:,:,:) = land_sfc_albedo_in(:,:,:)
570 
571  land_sflx_mw(:,:) = 0.0_rp
572  land_sflx_mu(:,:) = 0.0_rp
573  land_sflx_mv(:,:) = 0.0_rp
574  land_sflx_sh(:,:) = 0.0_rp
575  land_sflx_lh(:,:) = 0.0_rp
576  land_sflx_gh(:,:) = 0.0_rp
577  land_sflx_evap(:,:) = 0.0_rp
578 
579  call land_vars_total
580 
581  return
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_evap
land surface water vapor flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
Here is the call graph for this function:

◆ convert_ws2vwc()

real(rp) function, dimension(ia,ja), public mod_land_vars::convert_ws2vwc ( real(rp), dimension(ia,ja), intent(in)  WS,
logical, intent(in)  critical 
)

conversion from water saturation [fraction] to volumetric water content [m3/m3]

Definition at line 720 of file mod_land_vars.f90.

References i_watercritical, i_waterlimit, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, and land_property.

Referenced by mod_realinput::land_interporation().

720  implicit none
721 
722  real(RP), intent(in) :: WS(IA,JA) ! water saturation [fraction]
723  logical, intent(in) :: critical ! is I_WaterCritical used?
724 
725  real(RP) :: VWC(IA,JA) ! volumetric water content [m3/m3]
726 
727  ! work
728  integer :: i, j, num
729  !---------------------------------------------------------------------------
730 
731  if( critical ) then
732  num = i_watercritical
733  else
734  num = i_waterlimit
735  end if
736 
737  do j = js, je
738  do i = is, ie
739  vwc(i,j) = max( min( ws(i,j)*land_property(i,j,num), land_property(i,j,num) ), 0.0_rp )
740  end do
741  end do
742 
743  return
integer, parameter, public i_waterlimit
integer, parameter, public i_watercritical
real(rp), dimension(:,:,:), allocatable, public land_property
land surface property
Here is the caller graph for this function:

◆ land_vars_restart_create()

subroutine, public mod_land_vars::land_vars_restart_create ( )

Create land restart file.

Definition at line 749 of file mod_land_vars.f90.

References scale_fileio::fileio_create(), scale_stdio::io_fid_log, scale_stdio::io_l, land_restart_out_basename, land_restart_out_dtype, land_restart_out_postfix_timelabel, land_restart_out_title, mod_land_admin::land_sw, and scale_time::time_gettimelabel().

Referenced by mod_admin_restart::admin_restart_write().

749  use scale_time, only: &
751  use scale_fileio, only: &
753  use mod_land_admin, only: &
754  land_sw
755  implicit none
756 
757  character(len=19) :: timelabel
758  character(len=H_LONG) :: basename
759  !---------------------------------------------------------------------------
760 
761  if ( land_sw .and. land_restart_out_basename /= '' ) then
762 
763  if( io_l ) write(io_fid_log,*)
764  if( io_l ) write(io_fid_log,*) '*** Create restart file (LAND) ***'
765 
766  if ( land_restart_out_postfix_timelabel ) then
767  call time_gettimelabel( timelabel )
768  basename = trim(land_restart_out_basename)//'_'//trim(timelabel)
769  else
770  basename = trim(land_restart_out_basename)
771  endif
772 
773  if( io_l ) write(io_fid_log,*) '*** basename: ', trim(basename)
774 
775  call fileio_create( restart_fid, & ! [OUT]
776  basename, land_restart_out_title, land_restart_out_dtype ) ! [IN]
777 
778  endif
779 
780  return
module Land admin
module FILE I/O (netcdf)
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:90
subroutine, public fileio_create(fid, basename, title, datatype, date, subsec, append, nozcoord)
Create/open a netCDF file.
module TIME
Definition: scale_time.F90:15
logical, public land_sw
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_enddef()

subroutine, public mod_land_vars::land_vars_restart_enddef ( )

Exit netCDF define mode.

Definition at line 786 of file mod_land_vars.f90.

References scale_fileio::fileio_enddef().

Referenced by mod_admin_restart::admin_restart_write().

786  use scale_fileio, only: &
788  implicit none
789 
790  if ( restart_fid /= -1 ) then
791  call fileio_enddef( restart_fid ) ! [IN]
792  endif
793 
794  return
module FILE I/O (netcdf)
subroutine, public fileio_enddef(fid)
Exit netCDF file define mode.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_close()

subroutine, public mod_land_vars::land_vars_restart_close ( )

Close restart file.

Definition at line 800 of file mod_land_vars.f90.

References scale_fileio::fileio_close(), scale_stdio::io_fid_log, and scale_stdio::io_l.

Referenced by mod_admin_restart::admin_restart_read(), and mod_admin_restart::admin_restart_write().

800  use scale_fileio, only: &
802  implicit none
803  !---------------------------------------------------------------------------
804 
805  if ( restart_fid /= -1 ) then
806  if( io_l ) write(io_fid_log,*)
807  if( io_l ) write(io_fid_log,*) '*** Close restart file (LAND) ***'
808 
809  call fileio_close( restart_fid ) ! [IN]
810 
811  restart_fid = -1
812  endif
813 
814  return
module FILE I/O (netcdf)
subroutine, public fileio_close(fid)
Close a netCDF file.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_def_var()

subroutine, public mod_land_vars::land_vars_restart_def_var ( )

Define land variables in restart file.

Definition at line 820 of file mod_land_vars.f90.

References scale_fileio::fileio_def_var(), and land_restart_out_dtype.

Referenced by mod_admin_restart::admin_restart_write().

820  use scale_fileio, only: &
822  implicit none
823  !---------------------------------------------------------------------------
824 
825  if ( restart_fid /= -1 ) then
826 
827  call fileio_def_var( restart_fid, var_id(i_temp), var_name(i_temp), var_desc(i_temp), &
828  var_unit(i_temp), 'Land', land_restart_out_dtype)
829  call fileio_def_var( restart_fid, var_id(i_water), var_name(i_water), var_desc(i_water), &
830  var_unit(i_water), 'Land', land_restart_out_dtype)
831  call fileio_def_var( restart_fid, var_id(i_sfc_temp), var_name(i_sfc_temp), var_desc(i_sfc_temp), &
832  var_unit(i_sfc_temp), 'XY', land_restart_out_dtype)
833  call fileio_def_var( restart_fid, var_id(i_alb_lw), var_name(i_alb_lw), var_desc(i_alb_lw), &
834  var_unit(i_alb_lw), 'XY', land_restart_out_dtype)
835  call fileio_def_var( restart_fid, var_id(i_alb_sw), var_name(i_alb_sw), var_desc(i_alb_sw), &
836  var_unit(i_alb_sw), 'XY', land_restart_out_dtype)
837  call fileio_def_var( restart_fid, var_id(i_sflx_mw), var_name(i_sflx_mw), var_desc(i_sflx_mw), &
838  var_unit(i_sflx_mw), 'XY', land_restart_out_dtype)
839  call fileio_def_var( restart_fid, var_id(i_sflx_mu), var_name(i_sflx_mu), var_desc(i_sflx_mu), &
840  var_unit(i_sflx_mu), 'XY', land_restart_out_dtype)
841  call fileio_def_var( restart_fid, var_id(i_sflx_mv), var_name(i_sflx_mv), var_desc(i_sflx_mv), &
842  var_unit(i_sflx_mv), 'XY', land_restart_out_dtype)
843  call fileio_def_var( restart_fid, var_id(i_sflx_sh), var_name(i_sflx_sh), var_desc(i_sflx_sh), &
844  var_unit(i_sflx_sh), 'XY', land_restart_out_dtype)
845  call fileio_def_var( restart_fid, var_id(i_sflx_lh), var_name(i_sflx_lh), var_desc(i_sflx_lh), &
846  var_unit(i_sflx_lh), 'XY', land_restart_out_dtype)
847  call fileio_def_var( restart_fid, var_id(i_sflx_gh), var_name(i_sflx_gh), var_desc(i_sflx_gh), &
848  var_unit(i_sflx_gh), 'XY', land_restart_out_dtype)
849  call fileio_def_var( restart_fid, var_id(i_sflx_evap), var_name(i_sflx_evap), var_desc(i_sflx_evap), &
850  var_unit(i_sflx_evap), 'XY', land_restart_out_dtype)
851 
852  endif
853 
854  return
module FILE I/O (netcdf)
subroutine, public fileio_def_var(fid, vid, varname, desc, unit, axistype, datatype, timeintv, nsteps)
Define a variable to file.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ land_vars_restart_write()

subroutine, public mod_land_vars::land_vars_restart_write ( )

Write land variables to restart file.

Definition at line 860 of file mod_land_vars.f90.

References land_sfc_albedo, land_sfc_temp, land_sflx_evap, land_sflx_gh, land_sflx_lh, land_sflx_mu, land_sflx_mv, land_sflx_mw, land_sflx_sh, land_temp, land_vars_total(), and land_water.

Referenced by mod_admin_restart::admin_restart_write().

860  use scale_fileio, only: &
861  fileio_write_var
862  implicit none
863  !---------------------------------------------------------------------------
864 
865  if ( restart_fid /= -1 ) then
866 
867  call land_vars_total
868 
869  call fileio_write_var( restart_fid, var_id(i_temp), land_temp(:,:,:), & ! [IN]
870  var_name(i_temp), 'Land', nohalo=.true. ) ! [IN]
871  call fileio_write_var( restart_fid, var_id(i_water), land_water(:,:,:), & ! [IN]
872  var_name(i_water), 'Land', nohalo=.true. ) ! [IN]
873  call fileio_write_var( restart_fid, var_id(i_sfc_temp), land_sfc_temp(:,:), & ! [IN]
874  var_name(i_sfc_temp), 'XY', nohalo=.true. ) ! [IN]
875  call fileio_write_var( restart_fid, var_id(i_alb_lw), land_sfc_albedo(:,:,i_lw), & ! [IN]
876  var_name(i_alb_lw), 'XY', nohalo=.true. ) ! [IN]
877  call fileio_write_var( restart_fid, var_id(i_alb_sw), land_sfc_albedo(:,:,i_sw), & ! [IN]
878  var_name(i_alb_sw), 'XY', nohalo=.true. ) ! [IN]
879  call fileio_write_var( restart_fid, var_id(i_sflx_mw), land_sflx_mw(:,:), & ! [IN]
880  var_name(i_sflx_mw), 'XY', nohalo=.true. ) ! [IN]
881  call fileio_write_var( restart_fid, var_id(i_sflx_mu), land_sflx_mu(:,:), & ! [IN]
882  var_name(i_sflx_mu), 'XY', nohalo=.true. ) ! [IN]
883  call fileio_write_var( restart_fid, var_id(i_sflx_mv), land_sflx_mv(:,:), & ! [IN]
884  var_name(i_sflx_mv), 'XY', nohalo=.true. ) ! [IN]
885  call fileio_write_var( restart_fid, var_id(i_sflx_sh), land_sflx_sh(:,:), & ! [IN]
886  var_name(i_sflx_sh), 'XY', nohalo=.true. ) ! [IN]
887  call fileio_write_var( restart_fid, var_id(i_sflx_lh), land_sflx_lh(:,:), & ! [IN]
888  var_name(i_sflx_lh), 'XY', nohalo=.true. ) ! [IN]
889  call fileio_write_var( restart_fid, var_id(i_sflx_gh), land_sflx_gh(:,:), & ! [IN]
890  var_name(i_sflx_gh), 'XY', nohalo=.true. ) ! [IN]
891  call fileio_write_var( restart_fid, var_id(i_sflx_evap), land_sflx_evap(:,:), & ! [IN]
892  var_name(i_sflx_evap), 'XY', nohalo=.true. ) ! [IN]
893 
894  endif
895 
896  return
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
module FILE I/O (netcdf)
real(rp), dimension(:,:), allocatable, public land_sflx_evap
land surface water vapor flux [kg/m2/s]
integer, parameter, public i_lw
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
integer, parameter, public i_sw
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
real(rp), dimension(:,:,:), allocatable, public land_sfc_albedo
land surface albedo (0-1)
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ land_restart_output

logical, public mod_land_vars::land_restart_output = .false.

Output restart file?

Definition at line 52 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), mod_admin_restart::admin_restart_write(), and land_vars_setup().

52  logical, public :: LAND_RESTART_OUTPUT = .false.

◆ land_restart_in_basename

character(len=h_long), public mod_land_vars::land_restart_in_basename = ''

Basename of the input file.

Definition at line 54 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_open(), and land_vars_setup().

54  character(len=H_LONG), public :: LAND_RESTART_IN_BASENAME = ''

◆ land_restart_in_postfix_timelabel

logical, public mod_land_vars::land_restart_in_postfix_timelabel = .false.

Add timelabel to the basename of input file?

Definition at line 55 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_open(), and land_vars_setup().

55  logical, public :: LAND_RESTART_IN_POSTFIX_TIMELABEL = .false.

◆ land_restart_out_basename

character(len=h_long), public mod_land_vars::land_restart_out_basename = ''

Basename of the output file.

Definition at line 56 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_create(), and land_vars_setup().

56  character(len=H_LONG), public :: LAND_RESTART_OUT_BASENAME = ''

◆ land_restart_out_postfix_timelabel

logical, public mod_land_vars::land_restart_out_postfix_timelabel = .true.

Add timelabel to the basename of output file?

Definition at line 57 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_create(), and land_vars_setup().

57  logical, public :: LAND_RESTART_OUT_POSTFIX_TIMELABEL = .true.

◆ land_restart_out_title

character(len=h_mid), public mod_land_vars::land_restart_out_title = 'LAND restart'

Title of the output file.

Definition at line 58 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_create(), and land_vars_setup().

58  character(len=H_MID), public :: LAND_RESTART_OUT_TITLE = 'LAND restart'

◆ land_restart_out_dtype

character(len=h_short), public mod_land_vars::land_restart_out_dtype = 'DEFAULT'

REAL4 or REAL8.

Definition at line 59 of file mod_land_vars.f90.

Referenced by mod_admin_restart::admin_restart_setup(), land_vars_restart_create(), land_vars_restart_def_var(), and land_vars_setup().

59  character(len=H_SHORT), public :: LAND_RESTART_OUT_DTYPE = 'DEFAULT'

◆ land_temp

real(rp), dimension (:,:,:), allocatable, public mod_land_vars::land_temp

◆ land_water

real(rp), dimension (:,:,:), allocatable, public mod_land_vars::land_water

◆ land_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sfc_temp

◆ land_sfc_albedo

real(rp), dimension(:,:,:), allocatable, public mod_land_vars::land_sfc_albedo

◆ land_temp_t

real(rp), dimension (:,:,:), allocatable, public mod_land_vars::land_temp_t

tendency of LAND_TEMP

Definition at line 68 of file mod_land_vars.f90.

Referenced by mod_land_driver::land_driver(), mod_land_phy_driver::land_phy_driver(), and land_vars_setup().

68  real(RP), public, allocatable :: LAND_TEMP_t (:,:,:)

◆ land_water_t

real(rp), dimension (:,:,:), allocatable, public mod_land_vars::land_water_t

tendency of LAND_WATER

Definition at line 69 of file mod_land_vars.f90.

Referenced by mod_land_driver::land_driver(), mod_land_phy_driver::land_phy_driver(), and land_vars_setup().

69  real(RP), public, allocatable :: LAND_WATER_t (:,:,:)

◆ land_sfc_temp_t

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sfc_temp_t

tendency of LAND_SFC_TEMP

Definition at line 70 of file mod_land_vars.f90.

Referenced by mod_land_driver::land_driver(), mod_land_phy_driver::land_phy_driver(), and land_vars_setup().

70  real(RP), public, allocatable :: LAND_SFC_TEMP_t (:,:)

◆ land_sfc_albedo_t

real(rp), dimension(:,:,:), allocatable, public mod_land_vars::land_sfc_albedo_t

tendency of LAND_SFC_albedo

Definition at line 71 of file mod_land_vars.f90.

Referenced by mod_land_driver::land_driver(), mod_land_phy_driver::land_phy_driver(), and land_vars_setup().

71  real(RP), public, allocatable :: LAND_SFC_albedo_t(:,:,:)

◆ land_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_mw

land surface w-momentum flux [kg/m2/s]

Definition at line 74 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

74  real(RP), public, allocatable :: LAND_SFLX_MW (:,:)

◆ land_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_mu

land surface u-momentum flux [kg/m2/s]

Definition at line 75 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

75  real(RP), public, allocatable :: LAND_SFLX_MU (:,:)

◆ land_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_mv

land surface v-momentum flux [kg/m2/s]

Definition at line 76 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

76  real(RP), public, allocatable :: LAND_SFLX_MV (:,:)

◆ land_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_sh

land surface sensible heat flux [J/m2/s]

Definition at line 77 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

77  real(RP), public, allocatable :: LAND_SFLX_SH (:,:)

◆ land_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_lh

land surface latent heat flux [J/m2/s]

Definition at line 78 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

78  real(RP), public, allocatable :: LAND_SFLX_LH (:,:)

◆ land_sflx_gh

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_sflx_gh

land surface heat flux [J/m2/s]

Definition at line 79 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

79  real(RP), public, allocatable :: LAND_SFLX_GH (:,:)

◆ land_sflx_evap

real(rp), dimension(:,:), allocatable, public mod_land_vars::land_sflx_evap

land surface water vapor flux [kg/m2/s]

Definition at line 80 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_external_in(), land_vars_history(), land_vars_restart_read(), land_vars_restart_write(), and land_vars_setup().

80  real(RP), public, allocatable :: LAND_SFLX_evap(:,:)

◆ land_u10

real(rp), dimension(:,:), allocatable, public mod_land_vars::land_u10

land surface velocity u at 10m [m/s]

Definition at line 83 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_setup().

83  real(RP), public, allocatable :: LAND_U10(:,:)

◆ land_v10

real(rp), dimension(:,:), allocatable, public mod_land_vars::land_v10

land surface velocity v at 10m [m/s]

Definition at line 84 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_setup().

84  real(RP), public, allocatable :: LAND_V10(:,:)

◆ land_t2

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_t2

land surface temperature at 2m [K]

Definition at line 85 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_setup().

85  real(RP), public, allocatable :: LAND_T2 (:,:)

◆ land_q2

real(rp), dimension (:,:), allocatable, public mod_land_vars::land_q2

land surface water vapor at 2m [kg/kg]

Definition at line 86 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_setup().

86  real(RP), public, allocatable :: LAND_Q2 (:,:)

◆ atmos_temp

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_temp

Definition at line 89 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

89  real(RP), public, allocatable :: ATMOS_TEMP (:,:)

◆ atmos_pres

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_pres

Definition at line 90 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

90  real(RP), public, allocatable :: ATMOS_PRES (:,:)

◆ atmos_w

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_w

Definition at line 91 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

91  real(RP), public, allocatable :: ATMOS_W (:,:)

◆ atmos_u

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_u

Definition at line 92 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

92  real(RP), public, allocatable :: ATMOS_U (:,:)

◆ atmos_v

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_v

Definition at line 93 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

93  real(RP), public, allocatable :: ATMOS_V (:,:)

◆ atmos_dens

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_dens

Definition at line 94 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

94  real(RP), public, allocatable :: ATMOS_DENS (:,:)

◆ atmos_qv

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_qv

Definition at line 95 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

95  real(RP), public, allocatable :: ATMOS_QV (:,:)

◆ atmos_pbl

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_pbl

Definition at line 96 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

96  real(RP), public, allocatable :: ATMOS_PBL (:,:)

◆ atmos_sfc_pres

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_sfc_pres

Definition at line 97 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

97  real(RP), public, allocatable :: ATMOS_SFC_PRES (:,:)

◆ atmos_sflx_lw

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_sflx_lw

Definition at line 98 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

98  real(RP), public, allocatable :: ATMOS_SFLX_LW (:,:)

◆ atmos_sflx_sw

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_sflx_sw

Definition at line 99 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

99  real(RP), public, allocatable :: ATMOS_SFLX_SW (:,:)

◆ atmos_cossza

real(rp), dimension (:,:), allocatable, public mod_land_vars::atmos_cossza

Definition at line 100 of file mod_land_vars.f90.

Referenced by mod_land_driver::land_surface_get(), and land_vars_setup().

100  real(RP), public, allocatable :: ATMOS_cosSZA (:,:)

◆ atmos_sflx_prec

real(rp), dimension(:,:), allocatable, public mod_land_vars::atmos_sflx_prec

Definition at line 101 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_get(), and land_vars_setup().

101  real(RP), public, allocatable :: ATMOS_SFLX_prec(:,:)

◆ land_property

real(rp), dimension (:,:,:), allocatable, public mod_land_vars::land_property

land surface property

Definition at line 103 of file mod_land_vars.f90.

Referenced by convert_ws2vwc(), mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), land_vars_history(), and land_vars_setup().

103  real(RP), public, allocatable :: LAND_PROPERTY (:,:,:)

◆ land_property_in_filename

character(len=h_long), public mod_land_vars::land_property_in_filename = ''

the file of land parameter table

Definition at line 105 of file mod_land_vars.f90.

Referenced by land_vars_external_in().

105  character(len=H_LONG), public :: LAND_PROPERTY_IN_FILENAME = ''

◆ land_property_nmax

integer, parameter, public mod_land_vars::land_property_nmax = 8

Definition at line 107 of file mod_land_vars.f90.

Referenced by land_vars_setup().

107  integer, public, parameter :: LAND_PROPERTY_nmax = 8

◆ i_waterlimit

integer, parameter, public mod_land_vars::i_waterlimit = 1

Definition at line 108 of file mod_land_vars.f90.

Referenced by convert_ws2vwc(), mod_land_phy_driver::land_phy_driver(), land_vars_external_in(), and land_vars_history().

108  integer, public, parameter :: I_WaterLimit = 1 ! maximum soil moisture [m3/m3]

◆ i_watercritical

integer, parameter, public mod_land_vars::i_watercritical = 2

Definition at line 109 of file mod_land_vars.f90.

Referenced by convert_ws2vwc(), mod_land_phy_driver::land_phy_driver(), and land_vars_external_in().

109  integer, public, parameter :: I_WaterCritical = 2 ! critical soil moisture [m3/m3]

◆ i_thermalcond

integer, parameter, public mod_land_vars::i_thermalcond = 3

Definition at line 110 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), and land_vars_external_in().

110  integer, public, parameter :: I_ThermalCond = 3 ! thermal conductivity for soil [W/K/m]

◆ i_heatcapacity

integer, parameter, public mod_land_vars::i_heatcapacity = 4

Definition at line 111 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), and land_vars_external_in().

111  integer, public, parameter :: I_HeatCapacity = 4 ! heat capacity for soil [J/K/m3]

◆ i_waterdiff

integer, parameter, public mod_land_vars::i_waterdiff = 5

Definition at line 112 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), and land_vars_external_in().

112  integer, public, parameter :: I_WaterDiff = 5 ! moisture diffusivity in the soil [m2/s]

◆ i_z0m

integer, parameter, public mod_land_vars::i_z0m = 6

Definition at line 113 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_external_in().

113  integer, public, parameter :: I_Z0M = 6 ! roughness length for momemtum [m]

◆ i_z0h

integer, parameter, public mod_land_vars::i_z0h = 7

Definition at line 114 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_external_in().

114  integer, public, parameter :: I_Z0H = 7 ! roughness length for heat [m]

◆ i_z0e

integer, parameter, public mod_land_vars::i_z0e = 8

Definition at line 115 of file mod_land_vars.f90.

Referenced by mod_land_phy_driver::land_phy_driver(), mod_land_driver::land_surface_set(), and land_vars_external_in().

115  integer, public, parameter :: I_Z0E = 8 ! roughness length for vapor [m]