SCALE-RM
Functions/Subroutines | Variables
mod_urban_vars Module Reference

module URBAN Variables More...

Functions/Subroutines

subroutine, public urban_vars_setup
 Setup. More...
 
subroutine, public urban_vars_finalize
 Finalize. More...
 
subroutine, public urban_vars_restart_open
 Open urban restart file for read. More...
 
subroutine, public urban_vars_restart_read
 Read urban restart. More...
 
subroutine, public urban_vars_history
 History output set for urban variables. More...
 
subroutine, public urban_vars_monitor
 monitor output More...
 
subroutine, public urban_vars_check (force)
 Budget monitor for urban. More...
 
subroutine, public urban_vars_restart_create
 Create urban restart file. More...
 
subroutine, public urban_vars_restart_enddef
 Exit netCDF define mode. More...
 
subroutine, public urban_vars_restart_close
 Close restart file. More...
 
subroutine, public urban_vars_restart_def_var
 Define urban variables in restart file. More...
 
subroutine, public urban_vars_restart_write
 Write urban restart. More...
 

Variables

logical, public urban_restart_output = .false.
 Output restart file? More...
 
character(len=h_long), public urban_restart_in_basename = ''
 Basename of the input file. More...
 
logical, public urban_restart_in_aggregate
 Switch to use aggregate file. More...
 
logical, public urban_restart_in_postfix_timelabel = .false.
 Add timelabel to the basename of input file? More...
 
character(len=h_long), public urban_restart_out_basename = ''
 Basename of the output file. More...
 
logical, public urban_restart_out_aggregate
 Switch to use aggregate file. More...
 
logical, public urban_restart_out_postfix_timelabel = .true.
 Add timelabel to the basename of output file? More...
 
character(len=h_mid), public urban_restart_out_title = 'URBAN restart'
 Title of the output file. More...
 
character(len=h_short), public urban_restart_out_dtype = 'DEFAULT'
 REAL4 or REAL8. More...
 
real(rp), dimension(:,:,:), allocatable, public urban_trl
 
real(rp), dimension(:,:,:), allocatable, public urban_tbl
 
real(rp), dimension(:,:,:), allocatable, public urban_tgl
 
real(rp), dimension(:,:), allocatable, public urban_tr
 
real(rp), dimension(:,:), allocatable, public urban_tb
 
real(rp), dimension(:,:), allocatable, public urban_tg
 
real(rp), dimension(:,:), allocatable, public urban_tc
 
real(rp), dimension(:,:), allocatable, public urban_qc
 
real(rp), dimension(:,:), allocatable, public urban_uc
 
real(rp), dimension(:,:), allocatable, public urban_rainr
 
real(rp), dimension(:,:), allocatable, public urban_rainb
 
real(rp), dimension(:,:), allocatable, public urban_raing
 
real(rp), dimension(:,:), allocatable, public urban_sfc_temp
 
real(rp), dimension(:,:,:,:), allocatable, public urban_sfc_albedo
 
real(rp), dimension(:,:,:), allocatable, public urban_trl_t
 
real(rp), dimension(:,:,:), allocatable, public urban_tbl_t
 
real(rp), dimension(:,:,:), allocatable, public urban_tgl_t
 
real(rp), dimension(:,:), allocatable, public urban_tc_t
 
real(rp), dimension(:,:), allocatable, public urban_uc_t
 
real(rp), dimension(:,:), allocatable, public urban_qc_t
 
real(rp), dimension(:,:), allocatable, public urban_tr_t
 
real(rp), dimension(:,:), allocatable, public urban_tb_t
 
real(rp), dimension(:,:), allocatable, public urban_tg_t
 
real(rp), dimension(:,:), allocatable, public urban_rainr_t
 
real(rp), dimension(:,:), allocatable, public urban_rainb_t
 
real(rp), dimension(:,:), allocatable, public urban_raing_t
 
real(rp), dimension(:,:), allocatable, public urban_roff
 
real(rp), dimension(:,:), allocatable, public urban_sflx_mw
 
real(rp), dimension(:,:), allocatable, public urban_sflx_mu
 
real(rp), dimension(:,:), allocatable, public urban_sflx_mv
 
real(rp), dimension(:,:), allocatable, public urban_sflx_sh
 
real(rp), dimension(:,:), allocatable, public urban_sflx_lh
 
real(rp), dimension(:,:), allocatable, public urban_sflx_shex
 
real(rp), dimension(:,:), allocatable, public urban_sflx_lhex
 
real(rp), dimension(:,:), allocatable, public urban_sflx_qvex
 
real(rp), dimension(:,:,:), allocatable, public urban_sflx_qtrc
 
real(rp), dimension(:,:), allocatable, public urban_sflx_gh
 
real(rp), dimension(:,:), allocatable, public urban_z0m
 
real(rp), dimension(:,:), allocatable, public urban_z0h
 
real(rp), dimension(:,:), allocatable, public urban_z0e
 
real(rp), dimension(:,:), allocatable, public urban_zd
 
real(rp), dimension(:,:), allocatable, public urban_ah
 
real(rp), dimension(:,:), allocatable, public urban_ahl
 
real(rp), dimension(:,:), allocatable, public urban_ustar
 
real(rp), dimension(:,:), allocatable, public urban_tstar
 
real(rp), dimension(:,:), allocatable, public urban_qstar
 
real(rp), dimension(:,:), allocatable, public urban_wstar
 
real(rp), dimension(:,:), allocatable, public urban_rlmo
 
real(rp), dimension(:,:), allocatable, public urban_u10
 
real(rp), dimension(:,:), allocatable, public urban_v10
 
real(rp), dimension(:,:), allocatable, public urban_t2
 
real(rp), dimension(:,:), allocatable, public urban_q2
 
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_dens
 
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_water
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_engi
 

Detailed Description

module URBAN Variables

Description
Container for urban variables
Author
Team SCALE
NAMELIST
  • PARAM_URBAN_VARS
    nametypedefault valuecomment
    URBAN_RESTART_IN_BASENAME character(len=H_LONG) '' Basename of the input file
    URBAN_RESTART_IN_AGGREGATE logical Switch to use aggregate file
    URBAN_RESTART_IN_POSTFIX_TIMELABEL logical .false. Add timelabel to the basename of input file?
    URBAN_RESTART_IN_CHECK_COORDINATES logical .true.
    URBAN_RESTART_OUTPUT logical .false. Output restart file?
    URBAN_RESTART_OUT_BASENAME character(len=H_LONG) '' Basename of the output file
    URBAN_RESTART_OUT_AGGREGATE logical Switch to use aggregate file
    URBAN_RESTART_OUT_POSTFIX_TIMELABEL logical .true. Add timelabel to the basename of output file?
    URBAN_RESTART_OUT_TITLE character(len=H_MID) 'URBAN restart' Title of the output file
    URBAN_RESTART_OUT_DTYPE character(len=H_SHORT) 'DEFAULT' REAL4 or REAL8
    URBAN_VARS_CHECKRANGE logical .false.

History Output
namedescriptionunitvariable
URBAN_AH urban parameter of anthropogenic sensible heat W/m2 URBAN_AH
URBAN_AHL urban parameter of anthropogenic latent heat W/m2 URBAN_AHL
URBAN_Q2 urban 2m specific humidity kg/kg URBAN_Q2
URBAN_Qstar urban moisture scale kg/kg URBAN_Qstar
URBAN_RLmo urban inversed Obukhov length 1/m URBAN_RLmo
URBAN_RUNOFF urban runoff water kg/m2/s URBAN_ROFF
URBAN_SFLX_GH urban grid average of subsurface heat flux (downward) W/m2 URBAN_SFLX_GH
URBAN_SFLX_LH urban grid average of latent heat flux (upward) W/m2 URBAN_SFLX_LH
URBAN_SFLX_MU urban grid average of u-momentum flux kg/m2/s URBAN_SFLX_MU
URBAN_SFLX_MV urban grid average of v-momentum flux kg/m2/s URBAN_SFLX_MV
URBAN_SFLX_MW urban grid average of w-momentum flux kg/m2/s URBAN_SFLX_MW
URBAN_SFLX_SH urban grid average of sensible heat flux (upward) W/m2 URBAN_SFLX_SH
URBAN_SFLX_evap urban grid average of water vapor flux (upward) kg/m2/s URBAN_SFLX_QTRC
URBAN_T2 urban 2m temprerature K URBAN_T2
URBAN_Tstar urban temperature scale K URBAN_Tstar
URBAN_U10 urban 10m x-wind m/s URBAN_U10
URBAN_Ustar urban friction velocity m/s URBAN_Ustar
URBAN_V10 urban 10m y-wind m/s URBAN_V10
URBAN_Wstar urban convective velocity scale m/s URBAN_Wstar
URBAN_Z0E urban parameter of rougness length for vapor m URBAN_Z0E
URBAN_Z0H urban parameter of rougness length for heat m URBAN_Z0H
URBAN_Z0M urban parameter of rougness length for momentum m URBAN_Z0M
URBAN_ZD urban parameter of displacement height m URBAN_ZD
URBAN_QC urban canopy humidity kg/kg URBAN_QC
URBAN_RAINB urban rain strage on wall kg/m2 URBAN_RAINB
URBAN_RAING urban rain strage on road kg/m2 URBAN_RAING
URBAN_RAINR urban rain strage on roof kg/m2 URBAN_RAINR
URBAN_SFC_ALB_IR_dif urban grid average of albedo for IR (diffuse) 1 URBAN_SFC_albedo
URBAN_SFC_ALB_IR_dir urban grid average of albedo for IR (direct) 1 URBAN_SFC_albedo
URBAN_SFC_ALB_NIR_dif urban grid average of albedo for NIR (diffuse) 1 URBAN_SFC_albedo
URBAN_SFC_ALB_NIR_dir urban grid average of albedo for NIR (direct) 1 URBAN_SFC_albedo
URBAN_SFC_ALB_VIS_dif urban grid average of albedo for VIS (diffuse) 1 URBAN_SFC_albedo
URBAN_SFC_ALB_VIS_dir urban grid average of albedo for VIS (direct) 1 URBAN_SFC_albedo
URBAN_SFC_TEMP urban grid average of temperature K URBAN_SFC_TEMP
URBAN_TB urban surface temperature of wall K URBAN_TB
URBAN_TBL urban temperature in layer of wall K URBAN_TBL
URBAN_TC urban canopy air temperature K URBAN_TC
URBAN_TG urban surface temperature of road K URBAN_TG
URBAN_TGL urban temperature in layer of road K URBAN_TGL
URBAN_TR urban surface temperature of roof K URBAN_TR
URBAN_TRL urban temperature in layer of roof K URBAN_TRL
URBAN_UC urban canopy wind m/s URBAN_UC

Function/Subroutine Documentation

◆ urban_vars_setup()

subroutine, public mod_urban_vars::urban_vars_setup

Setup.

Definition at line 306 of file mod_urban_vars.F90.

306  use scale_prc, only: &
307  prc_abort
308  use scale_const, only: &
309  undef => const_undef
310  use scale_monitor, only: &
312  implicit none
313 
314  namelist / param_urban_vars / &
315  urban_restart_in_basename, &
316  urban_restart_in_aggregate, &
317  urban_restart_in_postfix_timelabel, &
318  urban_restart_in_check_coordinates, &
319  urban_restart_output, &
320  urban_restart_out_basename, &
321  urban_restart_out_aggregate, &
322  urban_restart_out_postfix_timelabel, &
323  urban_restart_out_title, &
324  urban_restart_out_dtype, &
325  urban_vars_checkrange
326 
327  integer :: ierr
328  integer :: iv
329  !---------------------------------------------------------------------------
330 
331  log_newline
332  log_info("URBAN_vars_setup",*) 'Setup'
333 
334  allocate( urban_trl(uks:uke,uia,uja) )
335  allocate( urban_tbl(uks:uke,uia,uja) )
336  allocate( urban_tgl(uks:uke,uia,uja) )
337  allocate( urban_tr(uia,uja) )
338  allocate( urban_tb(uia,uja) )
339  allocate( urban_tg(uia,uja) )
340  allocate( urban_tc(uia,uja) )
341  allocate( urban_qc(uia,uja) )
342  allocate( urban_uc(uia,uja) )
343  allocate( urban_rainr(uia,uja) )
344  allocate( urban_rainb(uia,uja) )
345  allocate( urban_raing(uia,uja) )
346  allocate( urban_roff(uia,uja) )
347  urban_trl(:,:,:) = undef
348  urban_tbl(:,:,:) = undef
349  urban_tgl(:,:,:) = undef
350  urban_tr(:,:) = undef
351  urban_tb(:,:) = undef
352  urban_tg(:,:) = undef
353  urban_tc(:,:) = undef
354  urban_qc(:,:) = undef
355  urban_uc(:,:) = undef
356  urban_rainr(:,:) = undef
357  urban_rainb(:,:) = undef
358  urban_raing(:,:) = undef
359  urban_roff(:,:) = undef
360  !$acc enter data create(URBAN_TRL,URBAN_TBL,URBAN_TGL,URBAN_TR,URBAN_TB,URBAN_TG,URBAN_TC,URBAN_QC,URBAN_UC,URBAN_RAINR,URBAN_RAINB,URBAN_RAING,URBAN_ROFF)
361 
362  allocate( urban_sfc_temp(uia,uja) )
363  allocate( urban_sfc_albedo(uia,uja,n_rad_dir,n_rad_rgn) )
364  urban_sfc_temp(:,:) = undef
365  urban_sfc_albedo(:,:,:,:) = undef
366  !$acc enter data create(URBAN_SFC_TEMP,URBAN_SFC_albedo)
367 
368  allocate( urban_tr_t(uia,uja) )
369  allocate( urban_tb_t(uia,uja) )
370  allocate( urban_tg_t(uia,uja) )
371  allocate( urban_tc_t(uia,uja) )
372  allocate( urban_qc_t(uia,uja) )
373  allocate( urban_uc_t(uia,uja) )
374  allocate( urban_trl_t(uks:uke,uia,uja) )
375  allocate( urban_tbl_t(uks:uke,uia,uja) )
376  allocate( urban_tgl_t(uks:uke,uia,uja) )
377  allocate( urban_rainr_t(uia,uja) )
378  allocate( urban_rainb_t(uia,uja) )
379  allocate( urban_raing_t(uia,uja) )
380  urban_tr_t(:,:) = undef
381  urban_tb_t(:,:) = undef
382  urban_tg_t(:,:) = undef
383  urban_tc_t(:,:) = undef
384  urban_qc_t(:,:) = undef
385  urban_uc_t(:,:) = undef
386  urban_trl_t(:,:,:) = undef
387  urban_tbl_t(:,:,:) = undef
388  urban_tgl_t(:,:,:) = undef
389  urban_rainr_t(:,:) = undef
390  urban_rainb_t(:,:) = undef
391  urban_raing_t(:,:) = undef
392  !$acc enter data create(URBAN_TR_t,URBAN_TB_t,URBAN_TG_t,URBAN_TC_t,URBAN_QC_t,URBAN_UC_t,URBAN_TRL_t,URBAN_TBL_t,URBAN_TGL_t,URBAN_RAINR_t,URBAN_RAINB_t,URBAN_RAING_t)
393 
394  allocate( urban_sflx_mw(uia,uja) )
395  allocate( urban_sflx_mu(uia,uja) )
396  allocate( urban_sflx_mv(uia,uja) )
397  allocate( urban_sflx_sh(uia,uja) )
398  allocate( urban_sflx_lh(uia,uja) )
399  allocate( urban_sflx_shex(uia,uja) )
400  allocate( urban_sflx_lhex(uia,uja) )
401  allocate( urban_sflx_qvex(uia,uja) )
402  allocate( urban_sflx_gh(uia,uja) )
403  allocate( urban_sflx_qtrc(uia,uja,max(qa,1)) )
404  urban_sflx_mw(:,:) = undef
405  urban_sflx_mu(:,:) = undef
406  urban_sflx_mv(:,:) = undef
407  urban_sflx_sh(:,:) = undef
408  urban_sflx_lh(:,:) = undef
409  urban_sflx_shex(:,:) = undef
410  urban_sflx_lhex(:,:) = undef
411  urban_sflx_qvex(:,:) = undef
412  urban_sflx_gh(:,:) = undef
413  urban_sflx_qtrc(:,:,:) = undef
414  !$acc enter data create(URBAN_SFLX_MW,URBAN_SFLX_MU,URBAN_SFLX_MV,URBAN_SFLX_SH,URBAN_SFLX_LH,URBAN_SFLX_SHEX,URBAN_SFLX_LHEX,URBAN_SFLX_QVEX,URBAN_SFLX_GH,URBAN_SFLX_QTRC)
415 
416  allocate( urban_z0m(uia,uja) )
417  allocate( urban_z0h(uia,uja) )
418  allocate( urban_z0e(uia,uja) )
419  allocate( urban_zd(uia,uja) )
420  allocate( urban_ah(uia,uja) )
421  allocate( urban_ahl(uia,uja) )
422  allocate( urban_ustar(uia,uja) )
423  allocate( urban_tstar(uia,uja) )
424  allocate( urban_qstar(uia,uja) )
425  allocate( urban_wstar(uia,uja) )
426  allocate( urban_rlmo(uia,uja) )
427  allocate( urban_u10(uia,uja) )
428  allocate( urban_v10(uia,uja) )
429  allocate( urban_t2(uia,uja) )
430  allocate( urban_q2(uia,uja) )
431  urban_z0m(:,:) = undef
432  urban_z0h(:,:) = undef
433  urban_z0e(:,:) = undef
434  urban_zd(:,:) = undef
435  urban_ah(:,:) = undef
436  urban_ahl(:,:) = undef
437  urban_ustar(:,:) = undef
438  urban_tstar(:,:) = undef
439  urban_qstar(:,:) = undef
440  urban_wstar(:,:) = undef
441  urban_rlmo(:,:) = undef
442  urban_u10(:,:) = undef
443  urban_v10(:,:) = undef
444  urban_t2(:,:) = undef
445  urban_q2(:,:) = undef
446  !$acc enter data create(URBAN_Z0M,URBAN_Z0H,URBAN_Z0E,URBAN_ZD,URBAN_AH,URBAN_AHL,URBAN_Ustar,URBAN_Tstar,URBAN_Qstar,URBAN_Wstar,URBAN_RLmo,URBAN_U10,URBAN_V10,URBAN_T2,URBAN_Q2)
447 
448  allocate( atmos_temp(uia,uja) )
449  allocate( atmos_pres(uia,uja) )
450  allocate( atmos_w(uia,uja) )
451  allocate( atmos_u(uia,uja) )
452  allocate( atmos_v(uia,uja) )
453  allocate( atmos_dens(uia,uja) )
454  allocate( atmos_qv(uia,uja) )
455  allocate( atmos_pbl(uia,uja) )
456  allocate( atmos_sfc_dens(uia,uja) )
457  allocate( atmos_sfc_pres(uia,uja) )
458  allocate( atmos_sflx_lw(uia,uja,2) )
459  allocate( atmos_sflx_sw(uia,uja,2) )
460  allocate( atmos_cossza(uia,uja) )
461  allocate( atmos_sflx_water(uia,uja) )
462  allocate( atmos_sflx_engi(uia,uja) )
463  atmos_temp(:,:) = undef
464  atmos_pres(:,:) = undef
465  atmos_w(:,:) = undef
466  atmos_u(:,:) = undef
467  atmos_v(:,:) = undef
468  atmos_dens(:,:) = undef
469  atmos_qv(:,:) = undef
470  atmos_pbl(:,:) = undef
471  atmos_sfc_dens(:,:) = undef
472  atmos_sfc_pres(:,:) = undef
473  atmos_sflx_lw(:,:,:) = undef
474  atmos_sflx_sw(:,:,:) = undef
475  atmos_cossza(:,:) = undef
476  atmos_sflx_water(:,:) = undef
477  atmos_sflx_engi(:,:) = undef
478  !$acc enter data create(ATMOS_TEMP,ATMOS_PRES,ATMOS_W,ATMOS_U,ATMOS_V,ATMOS_DENS,ATMOS_QV,ATMOS_PBL,ATMOS_SFC_DENS,ATMOS_SFC_PRES,ATMOS_SFLX_LW,ATMOS_SFLX_SW,ATMOS_cosSZA,ATMOS_SFLX_water,ATMOS_SFLX_ENGI)
479 
480  !--- read namelist
481  rewind(io_fid_conf)
482  read(io_fid_conf,nml=param_urban_vars,iostat=ierr)
483  if( ierr < 0 ) then !--- missing
484  log_info("URBAN_vars_setup",*) 'Not found namelist. Default used.'
485  elseif( ierr > 0 ) then !--- fatal error
486  log_error("URBAN_vars_setup",*) 'Not appropriate names in namelist PARAM_URBAN_VARS. Check!'
487  call prc_abort
488  endif
489  log_nml(param_urban_vars)
490 
491  log_newline
492  log_info("URBAN_vars_setup",*) 'List of prognostic variables (URBAN) '
493  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
494  ' |', 'VARNAME ','|', &
495  'DESCRIPTION ', '[', 'UNIT ', ']'
496  do iv = 1, vmax
497  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
498  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
499  enddo
500 
501  log_newline
502  if ( urban_restart_in_basename /= '' ) then
503  log_info("URBAN_vars_setup",*) 'Restart input? : YES, file = ', trim(urban_restart_in_basename)
504  log_info("URBAN_vars_setup",*) 'Add timelabel? : ', urban_restart_in_postfix_timelabel
505  else
506  log_info("URBAN_vars_setup",*) 'Restart input? : NO'
507  endif
508  if ( urban_restart_output &
509  .AND. urban_restart_out_basename /= '' ) then
510  log_info("URBAN_vars_setup",*) 'Restart output? : YES, file = ', trim(urban_restart_out_basename)
511  log_info("URBAN_vars_setup",*) 'Add timelabel? : ', urban_restart_out_postfix_timelabel
512  else
513  log_info("URBAN_vars_setup",*) 'Restart output? : NO'
514  urban_restart_output = .false.
515  endif
516 
517  ! monitor
518  call monitor_reg( 'URB_TRL', 'roof temperature', 'K m3', & ! (in)
519  monit_id(im_trl), & ! (out)
520  dim_type='UXY', is_tendency=.false. ) ! (in)
521  call monitor_reg( 'URB_TBL', 'wall temperature', 'K m3', & ! (in)
522  monit_id(im_tbl), & ! (out)
523  dim_type='UXY', is_tendency=.false. ) ! (in)
524  call monitor_reg( 'URB_TGL', 'road temperature', 'K m3', & ! (in)
525  monit_id(im_tgl), & ! (out)
526  dim_type='UXY', is_tendency=.false. ) ! (in)
527  call monitor_reg( 'URB_TR', 'roof surface temperature', 'K m2', & ! (in)
528  monit_id(im_tr), & ! (out)
529  dim_type='XY', is_tendency=.false. ) ! (in)
530  call monitor_reg( 'URB_TB', 'wall surface temperature', 'K m2', & ! (in)
531  monit_id(im_tb), & ! (out)
532  dim_type='XY', is_tendency=.false. ) ! (in)
533  call monitor_reg( 'URB_TG', 'road surface temperature', 'K m2', & ! (in)
534  monit_id(im_tg), & ! (out)
535  dim_type='XY', is_tendency=.false. ) ! (in)
536  call monitor_reg( 'URB_TC', 'canopy temperature', 'K m2', & ! (in)
537  monit_id(im_tc), & ! (out)
538  dim_type='XY', is_tendency=.false. ) ! (in)
539  call monitor_reg( 'URB_UC', 'canopy wind speed', 'm3/s', & ! (in)
540  monit_id(im_uc), & ! (out)
541  dim_type='XY', is_tendency=.false. ) ! (in)
542  call monitor_reg( 'URB_QC', 'canopy humidity', 'kg/m', & ! (in)
543  monit_id(im_qc), & ! (out)
544  dim_type='XY', is_tendency=.false. ) ! (in)
545  call monitor_reg( 'URB_RAINR', 'roof water', 'kg', & ! (in)
546  monit_id(im_rainr), & ! (out)
547  dim_type='XY', is_tendency=.false. ) ! (in)
548  call monitor_reg( 'URB_RAINB', 'wall water', 'kg', & ! (in)
549  monit_id(im_rainb), & ! (out)
550  dim_type='XY', is_tendency=.false. ) ! (in)
551  call monitor_reg( 'URB_RAING', 'road water', 'kg', & ! (in)
552  monit_id(im_raing), & ! (out)
553  dim_type='XY', is_tendency=.false. ) ! (in)
554  call monitor_reg( 'URB_ROFF', 'runoff water', 'kg', & ! (in)
555  monit_id(im_roff), & ! (out)
556  dim_type='XY', is_tendency=.false. ) ! (in)
557 
558  return

References atmos_cossza, atmos_dens, atmos_pbl, atmos_pres, atmos_qv, atmos_sfc_dens, atmos_sfc_pres, atmos_sflx_engi, atmos_sflx_lw, atmos_sflx_sw, atmos_sflx_water, atmos_temp, atmos_u, atmos_v, atmos_w, scale_const::const_undef, scale_io::io_fid_conf, scale_monitor::monitor_reg(), scale_cpl_sfc_index::n_rad_dir, scale_cpl_sfc_index::n_rad_rgn, scale_prc::prc_abort(), scale_tracer::qa, scale_urban_grid_cartesc_index::uia, scale_urban_grid_cartesc_index::uja, scale_urban_grid_cartesc_index::uke, scale_urban_grid_cartesc_index::uks, urban_ah, urban_ahl, urban_q2, urban_qc, urban_qc_t, urban_qstar, urban_rainb, urban_rainb_t, urban_raing, urban_raing_t, urban_rainr, urban_rainr_t, urban_restart_in_aggregate, urban_restart_in_basename, urban_restart_in_postfix_timelabel, urban_restart_out_aggregate, urban_restart_out_basename, urban_restart_out_dtype, urban_restart_out_postfix_timelabel, urban_restart_out_title, urban_restart_output, urban_rlmo, urban_roff, urban_sfc_albedo, urban_sfc_temp, urban_sflx_gh, urban_sflx_lh, urban_sflx_lhex, urban_sflx_mu, urban_sflx_mv, urban_sflx_mw, urban_sflx_qtrc, urban_sflx_qvex, urban_sflx_sh, urban_sflx_shex, urban_t2, urban_tb, urban_tb_t, urban_tbl, urban_tbl_t, urban_tc, urban_tc_t, urban_tg, urban_tg_t, urban_tgl, urban_tgl_t, urban_tr, urban_tr_t, urban_trl, urban_trl_t, urban_tstar, urban_u10, urban_uc, urban_uc_t, urban_ustar, urban_v10, urban_wstar, urban_z0e, urban_z0h, urban_z0m, and urban_zd.

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:

◆ urban_vars_finalize()

subroutine, public mod_urban_vars::urban_vars_finalize

Finalize.

Definition at line 564 of file mod_urban_vars.F90.

564  implicit none
565  !---------------------------------------------------------------------------
566 
567  log_newline
568  log_info("URBAN_vars_finalize",*) 'Finalize'
569 
570  !$acc exit data delete(URBAN_TRL,URBAN_TBL,URBAN_TGL,URBAN_TR,URBAN_TB,URBAN_TG,URBAN_TC,URBAN_QC,URBAN_UC,URBAN_RAINR,URBAN_RAINB,URBAN_RAING,URBAN_ROFF)
571  deallocate( urban_trl )
572  deallocate( urban_tbl )
573  deallocate( urban_tgl )
574  deallocate( urban_tr )
575  deallocate( urban_tb )
576  deallocate( urban_tg )
577  deallocate( urban_tc )
578  deallocate( urban_qc )
579  deallocate( urban_uc )
580  deallocate( urban_rainr )
581  deallocate( urban_rainb )
582  deallocate( urban_raing )
583  deallocate( urban_roff )
584 
585  !$acc exit data delete(URBAN_SFC_TEMP,URBAN_SFC_albedo)
586  deallocate( urban_sfc_temp )
587  deallocate( urban_sfc_albedo )
588 
589  !$acc exit data delete(URBAN_TR_t,URBAN_TB_t,URBAN_TG_t,URBAN_TC_t,URBAN_QC_t,URBAN_UC_t,URBAN_TRL_t,URBAN_TBL_t,URBAN_TGL_t,URBAN_RAINR_t,URBAN_RAINB_t,URBAN_RAING_t)
590  deallocate( urban_tr_t )
591  deallocate( urban_tb_t )
592  deallocate( urban_tg_t )
593  deallocate( urban_tc_t )
594  deallocate( urban_qc_t )
595  deallocate( urban_uc_t )
596  deallocate( urban_trl_t )
597  deallocate( urban_tbl_t )
598  deallocate( urban_tgl_t )
599  deallocate( urban_rainr_t )
600  deallocate( urban_rainb_t )
601  deallocate( urban_raing_t )
602 
603  !$acc exit data delete(URBAN_SFLX_MW,URBAN_SFLX_MU,URBAN_SFLX_MV,URBAN_SFLX_SH,URBAN_SFLX_LH,URBAN_SFLX_SHEX,URBAN_SFLX_LHEX,URBAN_SFLX_QVEX,URBAN_SFLX_GH,URBAN_SFLX_QTRC)
604  deallocate( urban_sflx_mw )
605  deallocate( urban_sflx_mu )
606  deallocate( urban_sflx_mv )
607  deallocate( urban_sflx_sh )
608  deallocate( urban_sflx_lh )
609  deallocate( urban_sflx_shex )
610  deallocate( urban_sflx_lhex )
611  deallocate( urban_sflx_qvex )
612  deallocate( urban_sflx_gh )
613  deallocate( urban_sflx_qtrc )
614 
615  !$acc exit data delete(URBAN_Z0M,URBAN_Z0H,URBAN_Z0E,URBAN_ZD,URBAN_AH,URBAN_AHL,URBAN_Ustar,URBAN_Tstar,URBAN_Qstar,URBAN_Wstar,URBAN_RLmo,URBAN_U10,URBAN_V10,URBAN_T2,URBAN_Q2)
616  deallocate( urban_z0m )
617  deallocate( urban_z0h )
618  deallocate( urban_z0e )
619  deallocate( urban_zd )
620  deallocate( urban_ah )
621  deallocate( urban_ahl )
622  deallocate( urban_ustar )
623  deallocate( urban_tstar )
624  deallocate( urban_qstar )
625  deallocate( urban_wstar )
626  deallocate( urban_rlmo )
627  deallocate( urban_u10 )
628  deallocate( urban_v10 )
629  deallocate( urban_t2 )
630  deallocate( urban_q2 )
631 
632  !$acc exit data delete(ATMOS_TEMP,ATMOS_PRES,ATMOS_W,ATMOS_U,ATMOS_V,ATMOS_DENS,ATMOS_QV,ATMOS_PBL,ATMOS_SFC_DENS,ATMOS_SFC_PRES,ATMOS_SFLX_LW,ATMOS_SFLX_SW,ATMOS_cosSZA,ATMOS_SFLX_water,ATMOS_SFLX_ENGI)
633  deallocate( atmos_temp )
634  deallocate( atmos_pres )
635  deallocate( atmos_w )
636  deallocate( atmos_u )
637  deallocate( atmos_v )
638  deallocate( atmos_dens )
639  deallocate( atmos_qv )
640  deallocate( atmos_pbl )
641  deallocate( atmos_sfc_dens )
642  deallocate( atmos_sfc_pres )
643  deallocate( atmos_sflx_lw )
644  deallocate( atmos_sflx_sw )
645  deallocate( atmos_cossza )
646  deallocate( atmos_sflx_water )
647  deallocate( atmos_sflx_engi )
648 
649  return

References atmos_cossza, atmos_dens, atmos_pbl, atmos_pres, atmos_qv, atmos_sfc_dens, atmos_sfc_pres, atmos_sflx_engi, atmos_sflx_lw, atmos_sflx_sw, atmos_sflx_water, atmos_temp, atmos_u, atmos_v, atmos_w, urban_ah, urban_ahl, urban_q2, urban_qc, urban_qc_t, urban_qstar, urban_rainb, urban_rainb_t, urban_raing, urban_raing_t, urban_rainr, urban_rainr_t, urban_rlmo, urban_roff, urban_sfc_albedo, urban_sfc_temp, urban_sflx_gh, urban_sflx_lh, urban_sflx_lhex, urban_sflx_mu, urban_sflx_mv, urban_sflx_mw, urban_sflx_qtrc, urban_sflx_qvex, urban_sflx_sh, urban_sflx_shex, urban_t2, urban_tb, urban_tb_t, urban_tbl, urban_tbl_t, urban_tc, urban_tc_t, urban_tg, urban_tg_t, urban_tgl, urban_tgl_t, urban_tr, urban_tr_t, urban_trl, urban_trl_t, urban_tstar, urban_u10, urban_uc, urban_uc_t, urban_ustar, urban_v10, urban_wstar, urban_z0e, urban_z0h, urban_z0m, and urban_zd.

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

Here is the caller graph for this function:

◆ urban_vars_restart_open()

subroutine, public mod_urban_vars::urban_vars_restart_open

Open urban restart file for read.

Definition at line 655 of file mod_urban_vars.F90.

655  use scale_time, only: &
657  use scale_file_cartesc, only: &
659  file_cartesc_check_coordinates
660  use mod_urban_admin, only: &
661  urban_do
662  implicit none
663 
664  character(len=19) :: timelabel
665  character(len=H_LONG) :: basename
666  !---------------------------------------------------------------------------
667 
668  call prof_rapstart('URB_Restart', 1)
669 
670  log_newline
671  log_info("URBAN_vars_restart_open",*) 'Open restart file (URBAN) '
672 
673  if ( urban_do .and. urban_restart_in_basename /= '' ) then
674 
675  if ( urban_restart_in_postfix_timelabel ) then
676  call time_gettimelabel( timelabel )
677  basename = trim(urban_restart_in_basename)//'_'//trim(timelabel)
678  else
679  basename = trim(urban_restart_in_basename)
680  endif
681 
682  log_info("URBAN_vars_restart_open",*) 'basename: ', trim(basename)
683 
684  call file_cartesc_open( basename, restart_fid, aggregate=urban_restart_in_aggregate )
685 
686  if ( urban_restart_in_check_coordinates ) then
687  call file_cartesc_check_coordinates( restart_fid, urban=.true. )
688  end if
689 
690  else
691  log_info("URBAN_vars_restart_open",*) 'restart file for urban is not specified.'
692  endif
693 
694  call prof_rapend('URB_Restart', 1)
695 
696  return

References scale_file_cartesc::file_cartesc_open(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_time::time_gettimelabel(), mod_urban_admin::urban_do, urban_restart_in_aggregate, urban_restart_in_basename, and urban_restart_in_postfix_timelabel.

Referenced by mod_admin_restart::admin_restart_read().

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

◆ urban_vars_restart_read()

subroutine, public mod_urban_vars::urban_vars_restart_read

Read urban restart.

Definition at line 702 of file mod_urban_vars.F90.

702  use scale_prc, only: &
703  prc_abort
704  use scale_file, only: &
706  use scale_file_cartesc, only: &
707  file_cartesc_read, &
709  implicit none
710  !---------------------------------------------------------------------------
711 
712  call prof_rapstart('URB_Restart', 1)
713 
714  if ( restart_fid /= -1 ) then
715  log_newline
716  log_info("URBAN_vars_restart_read",*) 'Read from restart file (URBAN) '
717 
718  call file_cartesc_read( restart_fid, var_name(i_trl), 'UXY', & ! [IN]
719  urban_trl(:,:,:) ) ! [OUT]
720  call file_cartesc_read( restart_fid, var_name(i_tbl), 'UXY', & ! [IN]
721  urban_tbl(:,:,:) ) ! [OUT]
722  call file_cartesc_read( restart_fid, var_name(i_tgl), 'UXY', & ! [IN]
723  urban_tgl(:,:,:) ) ! [OUT]
724 
725  call file_cartesc_read( restart_fid, var_name(i_tr), 'XY', & ! [IN]
726  urban_tr(:,:) ) ! [OUT]
727  call file_cartesc_read( restart_fid, var_name(i_tb), 'XY', & ! [IN]
728  urban_tb(:,:) ) ! [OUT]
729  call file_cartesc_read( restart_fid, var_name(i_tg), 'XY', & ! [IN]
730  urban_tg(:,:) ) ! [OUT]
731  call file_cartesc_read( restart_fid, var_name(i_tc), 'XY', & ! [IN]
732  urban_tc(:,:) ) ! [OUT]
733  call file_cartesc_read( restart_fid, var_name(i_qc), 'XY', & ! [IN]
734  urban_qc(:,:) ) ! [OUT]
735  call file_cartesc_read( restart_fid, var_name(i_uc), 'XY', & ! [IN]
736  urban_uc(:,:) ) ! [OUT]
737 
738  call file_cartesc_read( restart_fid, var_name(i_rainr), 'XY', & ! [IN]
739  urban_rainr(:,:) ) ! [OUT]
740  call file_cartesc_read( restart_fid, var_name(i_rainb), 'XY', & ! [IN]
741  urban_rainb(:,:) ) ! [OUT]
742  call file_cartesc_read( restart_fid, var_name(i_raing), 'XY', & ! [IN]
743  urban_raing(:,:) ) ! [OUT]
744 
745  call file_cartesc_read( restart_fid, var_name(i_sfc_temp), 'XY', & ! [IN]
746  urban_sfc_temp(:,:) ) ! [OUT]
747  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir), 'XY', & ! [IN]
748  urban_sfc_albedo(:,:,i_r_direct ,i_r_ir ) ) ! [OUT]
749  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif), 'XY', & ! [IN]
750  urban_sfc_albedo(:,:,i_r_diffuse,i_r_ir ) ) ! [OUT]
751  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir), 'XY', & ! [IN]
752  urban_sfc_albedo(:,:,i_r_direct ,i_r_nir) ) ! [OUT]
753  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif), 'XY', & ! [IN]
754  urban_sfc_albedo(:,:,i_r_diffuse,i_r_nir) ) ! [OUT]
755  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir), 'XY', & ! [IN]
756  urban_sfc_albedo(:,:,i_r_direct ,i_r_vis) ) ! [OUT]
757  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif), 'XY', & ! [IN]
758  urban_sfc_albedo(:,:,i_r_diffuse,i_r_vis) ) ! [OUT]
759 
760  if( file_get_aggregate(restart_fid) ) call file_cartesc_flush( restart_fid ) ! commit all pending read requests
761 
762  !$acc update device(URBAN_TRL,URBAN_TGL)
763  !$acc update device(URBAN_TR,URBAN_TB,URBAN_TG,URBAN_TC,URBAN_QC,URBAN_UC)
764  !$acc update device(URBAN_RAINR,URBAN_RAINB,URBAN_RAING)
765  !$acc update device(URBAN_SFC_TEMP,URBAN_SFC_albedo)
766 
767  call urban_vars_check( force = .true. )
768  else
769  log_error("URBAN_vars_restart_read",*) 'invalid restart file ID for urban.'
770  call prc_abort
771  endif
772 
773  call prof_rapend('URB_Restart', 1)
774 
775  return

References scale_file_cartesc::file_cartesc_flush(), scale_file::file_get_aggregate(), scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, scale_prc::prc_abort(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), urban_qc, urban_rainb, urban_raing, urban_rainr, urban_sfc_albedo, urban_sfc_temp, urban_tb, urban_tbl, urban_tc, urban_tg, urban_tgl, urban_tr, urban_trl, urban_uc, and urban_vars_check().

Referenced by mod_admin_restart::admin_restart_read().

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

◆ urban_vars_history()

subroutine, public mod_urban_vars::urban_vars_history

History output set for urban variables.

Definition at line 781 of file mod_urban_vars.F90.

781  use scale_file_history, only: &
782  file_history_in
783  use scale_atmos_hydrometeor, only: &
784  i_qv
785  implicit none
786  !---------------------------------------------------------------------------
787 
788  call prof_rapstart('URB_History', 1)
789 
790  call file_history_in( urban_trl(:,:,:), var_name(i_trl), var_desc(i_trl), var_unit(i_trl), dim_type='UXY' )
791  call file_history_in( urban_tbl(:,:,:), var_name(i_tbl), var_desc(i_tbl), var_unit(i_tbl), dim_type='UXY' )
792  call file_history_in( urban_tgl(:,:,:), var_name(i_tgl), var_desc(i_tgl), var_unit(i_tgl), dim_type='UXY' )
793 
794  call file_history_in( urban_tr(:,:), var_name(i_tr), var_desc(i_tr), var_unit(i_tr) )
795  call file_history_in( urban_tb(:,:), var_name(i_tb), var_desc(i_tb), var_unit(i_tb) )
796  call file_history_in( urban_tg(:,:), var_name(i_tg), var_desc(i_tg), var_unit(i_tg) )
797  call file_history_in( urban_tc(:,:), var_name(i_tc), var_desc(i_tc), var_unit(i_tc) )
798  call file_history_in( urban_qc(:,:), var_name(i_qc), var_desc(i_qc), var_unit(i_qc) )
799  call file_history_in( urban_uc(:,:), var_name(i_uc), var_desc(i_uc), var_unit(i_uc) )
800 
801  call file_history_in( urban_rainr(:,:), var_name(i_rainr), var_desc(i_rainr), var_unit(i_rainr) )
802  call file_history_in( urban_rainb(:,:), var_name(i_rainb), var_desc(i_rainb), var_unit(i_rainb) )
803  call file_history_in( urban_raing(:,:), var_name(i_raing), var_desc(i_raing), var_unit(i_raing) )
804 
805  call file_history_in( urban_sfc_temp(:,:), var_name(i_sfc_temp), &
806  var_desc(i_sfc_temp), var_unit(i_sfc_temp), standard_name=var_stdn(i_sfc_temp) )
807 
808  call file_history_in( urban_sfc_albedo(:,:,i_r_direct ,i_r_ir ), var_name(i_sfc_alb_ir_dir), &
809  var_desc(i_sfc_alb_ir_dir), var_unit(i_sfc_alb_ir_dir), standard_name=var_stdn(i_sfc_alb_ir_dir) )
810  call file_history_in( urban_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), var_name(i_sfc_alb_ir_dif), &
811  var_desc(i_sfc_alb_ir_dif), var_unit(i_sfc_alb_ir_dif), standard_name=var_stdn(i_sfc_alb_ir_dif) )
812  call file_history_in( urban_sfc_albedo(:,:,i_r_direct ,i_r_nir), var_name(i_sfc_alb_nir_dir), &
813  var_desc(i_sfc_alb_nir_dir), var_unit(i_sfc_alb_nir_dir), standard_name=var_stdn(i_sfc_alb_nir_dir) )
814  call file_history_in( urban_sfc_albedo(:,:,i_r_diffuse,i_r_nir), var_name(i_sfc_alb_nir_dif), &
815  var_desc(i_sfc_alb_nir_dif), var_unit(i_sfc_alb_nir_dif), standard_name=var_stdn(i_sfc_alb_nir_dif) )
816  call file_history_in( urban_sfc_albedo(:,:,i_r_direct ,i_r_vis), var_name(i_sfc_alb_vis_dir), &
817  var_desc(i_sfc_alb_vis_dir), var_unit(i_sfc_alb_vis_dir), standard_name=var_stdn(i_sfc_alb_vis_dir) )
818  call file_history_in( urban_sfc_albedo(:,:,i_r_diffuse,i_r_vis), var_name(i_sfc_alb_vis_dif), &
819  var_desc(i_sfc_alb_vis_dif), var_unit(i_sfc_alb_vis_dif), standard_name=var_stdn(i_sfc_alb_vis_dif) )
820 
821  call file_history_in( urban_roff(:,:), 'URBAN_RUNOFF', &
822  'urban runoff water', 'kg/m2/s' )
823 
824  call file_history_in( urban_sflx_mw(:,:), 'URBAN_SFLX_MW', &
825  'urban grid average of w-momentum flux', 'kg/m2/s' )
826  call file_history_in( urban_sflx_mu(:,:), 'URBAN_SFLX_MU', &
827  'urban grid average of u-momentum flux', 'kg/m2/s' )
828  call file_history_in( urban_sflx_mv(:,:), 'URBAN_SFLX_MV', &
829  'urban grid average of v-momentum flux', 'kg/m2/s' )
830  call file_history_in( urban_sflx_sh(:,:), 'URBAN_SFLX_SH', &
831  'urban grid average of sensible heat flux (upward)', 'W/m2' )
832  call file_history_in( urban_sflx_lh(:,:), 'URBAN_SFLX_LH', &
833  'urban grid average of latent heat flux (upward)', 'W/m2' )
834  call file_history_in( urban_sflx_gh(:,:), 'URBAN_SFLX_GH', &
835  'urban grid average of subsurface heat flux (downward)', 'W/m2' )
836  if ( i_qv > 0 ) &
837  call file_history_in( urban_sflx_qtrc(:,:,i_qv), 'URBAN_SFLX_evap', &
838  'urban grid average of water vapor flux (upward)', 'kg/m2/s' )
839 
840  call file_history_in( urban_ustar(:,:), 'URBAN_Ustar', &
841  'urban friction velocity', 'm/s' )
842  call file_history_in( urban_tstar(:,:), 'URBAN_Tstar', &
843  'urban temperature scale', 'K' )
844  call file_history_in( urban_qstar(:,:), 'URBAN_Qstar', &
845  'urban moisture scale', 'kg/kg' )
846  call file_history_in( urban_wstar(:,:), 'URBAN_Wstar', &
847  'urban convective velocity scale', 'm/s' )
848  call file_history_in( urban_rlmo(:,:), 'URBAN_RLmo', &
849  'urban inversed Obukhov length', '1/m' )
850  call file_history_in( urban_u10(:,:), 'URBAN_U10', &
851  'urban 10m x-wind', 'm/s' )
852  call file_history_in( urban_v10(:,:), 'URBAN_V10', &
853  'urban 10m y-wind', 'm/s' )
854  call file_history_in( urban_t2(:,:), 'URBAN_T2', &
855  'urban 2m temprerature', 'K' )
856  call file_history_in( urban_q2(:,:), 'URBAN_Q2', &
857  'urban 2m specific humidity', 'kg/kg' )
858  call file_history_in( urban_z0m(:,:), 'URBAN_Z0M', &
859  'urban parameter of rougness length for momentum', 'm' )
860  call file_history_in( urban_z0h(:,:), 'URBAN_Z0H', &
861  'urban parameter of rougness length for heat', 'm' )
862  call file_history_in( urban_z0e(:,:), 'URBAN_Z0E', &
863  'urban parameter of rougness length for vapor', 'm' )
864  call file_history_in( urban_zd(:,:), 'URBAN_ZD', &
865  'urban parameter of displacement height', 'm' )
866  call file_history_in( urban_ah(:,:), 'URBAN_AH', &
867  'urban parameter of anthropogenic sensible heat', 'W/m2' )
868  call file_history_in( urban_ahl(:,:), 'URBAN_AHL', &
869  'urban parameter of anthropogenic latent heat', 'W/m2' )
870 
871 
872  call prof_rapend ('URB_History', 1)
873 
874  return

References scale_atmos_hydrometeor::i_qv, scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), urban_ah, urban_ahl, urban_q2, urban_qc, urban_qstar, urban_rainb, urban_raing, urban_rainr, urban_rlmo, urban_roff, urban_sfc_albedo, urban_sfc_temp, urban_sflx_gh, urban_sflx_lh, urban_sflx_mu, urban_sflx_mv, urban_sflx_mw, urban_sflx_qtrc, urban_sflx_sh, urban_t2, urban_tb, urban_tbl, urban_tc, urban_tg, urban_tgl, urban_tr, urban_trl, urban_tstar, urban_u10, urban_uc, urban_ustar, urban_v10, urban_wstar, urban_z0e, urban_z0h, urban_z0m, and urban_zd.

Referenced by mod_rm_driver::restart_read(), and mod_rm_driver::rm_driver().

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

◆ urban_vars_monitor()

subroutine, public mod_urban_vars::urban_vars_monitor

monitor output

Definition at line 880 of file mod_urban_vars.F90.

880  use scale_const, only: &
881  dwatr => const_dwatr
882  use scale_atmos_hydrometeor, only: &
883  cv_water
884  use scale_monitor, only: &
885  monitor_put
886  implicit none
887 
888  real(RP) :: WORK3D(UKA,UIA,UJA)
889  real(RP) :: WORK2D(UIA,UJA)
890 
891  integer :: k, i, j
892  !---------------------------------------------------------------------------
893 
894  !$acc data create(WORK3D,WORK2D)
895 
896  call monitor_put( monit_id(im_trl), urban_trl(:,:,:) )
897  call monitor_put( monit_id(im_tbl), urban_tbl(:,:,:) )
898  call monitor_put( monit_id(im_tgl), urban_tgl(:,:,:) )
899 
900  call monitor_put( monit_id(im_tr), urban_tr(:,:) )
901  call monitor_put( monit_id(im_tb), urban_tb(:,:) )
902  call monitor_put( monit_id(im_tg), urban_tg(:,:) )
903  call monitor_put( monit_id(im_tc), urban_tc(:,:) )
904  call monitor_put( monit_id(im_uc), urban_uc(:,:) )
905  if ( monit_id(im_qc) > 0 ) then
906  !$omp parallel do
907  !$acc kernels
908  do j = ujs, uje
909  do i = uis, uie
910  work2d(i,j) = urban_qc(i,j) * atmos_dens(i,j)
911  end do
912  end do
913  !$acc end kernels
914  call monitor_put( monit_id(im_qc), work2d(:,:) )
915  end if
916 
917  ! mass budget
918  call monitor_put( monit_id(im_rainr), urban_rainr(:,:) )
919  call monitor_put( monit_id(im_rainb), urban_rainb(:,:) )
920  call monitor_put( monit_id(im_raing), urban_raing(:,:) )
921  call monitor_put( monit_id(im_roff) , urban_roff(:,:) )
922 !!$ call MONITOR_put( MONIT_id(IM_SFCWR), URBAN_SFLX_waterR(:,:) )
923 !!$ call MONITOR_put( MONIT_id(IM_SFCWB), URBAN_SFLX_waterB(:,:) )
924 !!$ call MONITOR_put( MONIT_id(IM_SFCWG), URBAN_SFLX_waterG(:,:) )
925 !!$ call MONITOR_put( MONIT_id(IM_SFCIR), URBAN_SFLX_iceR (:,:) )
926 !!$ call MONITOR_put( MONIT_id(IM_SFCIB), URBAN_SFLX_iceB (:,:) )
927 !!$ call MONITOR_put( MONIT_id(IM_SFCIG), URBAN_SFLX_iceG (:,:) )
928 !!$ if ( MONIT_id(IM_MASFLX) > 0 ) then
929 !!$ !$omp parallel do
930 !!$ do j = UJS, UJE
931 !!$ do i = UIS, UIE
932 !!$ WORK2D(i,j) = URBAN_SFLX_waterR(i,j) + URBAN_SFLX_iceR(i,j) &
933 !!$ + URBAN_SFLX_waterB(i,j) + URBAN_SFLX_iceB(i,j) &
934 !!$ + URBAN_SFLX_waterG(i,j) + URBAN_SFLX_iceG(i,j) &
935 !!$ - URBAN_RUNOFF(i,j)
936 !!$ end do
937 !!$ end do
938 !!$ call MONITOR_put( MONIT_id(IM_MASFLX), WORK2D(:,:) )
939 !!$ end if
940 
941  ! energy budget
942 !!$ if ( MONIT_id(IM_ENGI_S) > 0 ) then
943 !!$ !$omp parallel do
944 !!$ do j = UJS, UJE
945 !!$ do i = UIS, UIE
946 !!$ do k = UKS, UKE
947 !!$ WORK3D(k,i,j) = CAPR(i,j) * URBAN_TRL(k,i,j) &
948 !!$ + CAPB(i,j) * URBAN_TRB(k,i,j) &
949 !!$ + CAPG(i,j) * URBAN_TRG(k,i,j)
950 !!$ end do
951 !!$ end do
952 !!$ end do
953 !!$ call MONITOR_put( MONIT_id(IM_ENGI_S), WORK3D(:,:,:) )
954 !!$ end if
955 !!$ if ( MONIT_id(IM_ENGI_SR) > 0 ) then
956 !!$ !$omp parallel do
957 !!$ do j = UJS, UJE
958 !!$ do i = UIS, UIE
959 !!$ do k = UKS, UKE
960 !!$ WORK3D(k,i,j) = CAPR(i,j) * URBAN_TRL(k,i,j)
961 !!$ end do
962 !!$ end do
963 !!$ end do
964 !!$ call MONITOR_put( MONIT_id(IM_ENGI_SR), WORK3D(:,:,:) )
965 !!$ end if
966 !!$ if ( MONIT_id(IM_ENGI_SB) > 0 ) then
967 !!$ !$omp parallel do
968 !!$ do j = UJS, UJE
969 !!$ do i = UIS, UIE
970 !!$ do k = UKS, UKE
971 !!$ WORK3D(k,i,j) = CAPB(i,j) * URBAN_TBL(k,i,j)
972 !!$ end do
973 !!$ end do
974 !!$ end do
975 !!$ call MONITOR_put( MONIT_id(IM_ENGI_SB), WORK3D(:,:,:) )
976 !!$ end if
977 !!$ if ( MONIT_id(IM_ENGI_SG) > 0 ) then
978 !!$ !$omp parallel do
979 !!$ do j = UJS, UJE
980 !!$ do i = UIS, UIE
981 !!$ do k = UKS, UKE
982 !!$ WORK3D(k,i,j) = CAPG(i,j) * URBAN_TGL(k,i,j)
983 !!$ end do
984 !!$ end do
985 !!$ end do
986 !!$ call MONITOR_put( MONIT_id(IM_ENGI_SG), WORK3D(:,:,:) )
987 !!$ end if
988 !!$ if ( MONIT_id(IM_ENGI_W) > 0 ) then
989 !!$ !$omp parallel do
990 !!$ do j = UJS, UJE
991 !!$ do i = UIS, UIE
992 !!$ WORK2D(i,j) = CV_WATER * ( URBAN_RAINR(k,i,j) * URBAN_TRL(UKS,i,j) &
993 !!$ + URBAN_RAINB(k,i,j) * URBAN_TBL(UKS,i,j) &
994 !!$ + URBAN_RAING(k,i,j) * URBAN_TGL(UKS,i,j) )
995 !!$ end do
996 !!$ end do
997 !!$ call MONITOR_put( MONIT_id(IM_ENGI_W), WORK2D(:,:) )
998 !!$ end if
999 !!$ if ( MONIT_id(IM_ENGI_WR) > 0 ) then
1000 !!$ !$omp parallel do
1001 !!$ do j = UJS, UJE
1002 !!$ do i = UIS, UIE
1003 !!$ WORK2D(i,j) = CV_WATER * URBAN_RAINR(k,i,j) * URBAN_TRL(UKS,i,j)
1004 !!$ end do
1005 !!$ end do
1006 !!$ call MONITOR_put( MONIT_id(IM_ENGI_WR), WORK2D(:,:) )
1007 !!$ end if
1008 !!$ if ( MONIT_id(IM_ENGI_WB) > 0 ) then
1009 !!$ !$omp parallel do
1010 !!$ do j = UJS, UJE
1011 !!$ do i = UIS, UIE
1012 !!$ WORK2D(i,j) = CV_WATER * URBAN_RAINB(k,i,j) * URBAN_TBL(UKS,i,j)
1013 !!$ end do
1014 !!$ end do
1015 !!$ call MONITOR_put( MONIT_id(IM_ENGI_WB), WORK2D(:,:) )
1016 !!$ end if
1017 !!$ if ( MONIT_id(IM_ENGI_WG) > 0 ) then
1018 !!$ !$omp parallel do
1019 !!$ do j = UJS, UJE
1020 !!$ do i = UIS, UIE
1021 !!$ WORK2D(i,j) = CV_WATER * URBAN_RAING(k,i,j) * URBAN_TGL(UKS,i,j)
1022 !!$ end do
1023 !!$ end do
1024 !!$ call MONITOR_put( MONIT_id(IM_ENGI_WG), WORK2D(:,:) )
1025 !!$ end if
1026 
1027 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_GHR), URBAN_SFLX_GHR (:,:) )
1028 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_GHB), URBAN_SFLX_GHB (:,:) )
1029 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_GHG), URBAN_SFLX_GHG (:,:) )
1030 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_EIR), URBAN_SFLX_ENGIR (:,:) )
1031 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_EIB), URBAN_SFLX_ENGIB (:,:) )
1032 !!$ call MONITOR_put( MONIT_id(IM_ENGSFC_EIG), URBAN_SFLX_ENGIG (:,:) )
1033 !!$ call MONITOR_put( MONIT_id(IM_ROFF_EIR), URBAN_RUNOFF_ENGIR(:,:) )
1034 !!$ call MONITOR_put( MONIT_id(IM_ROFF_EIB), URBAN_RUNOFF_ENGIB(:,:) )
1035 !!$ call MONITOR_put( MONIT_id(IM_ROFF_EIG), URBAN_RUNOFF_ENGIG(:,:) )
1036 !!$ if ( MONIT_id(IM_ENGFLX) > 0 ) then
1037 !!$ !$omp parallel do
1038 !!$ do j = UJS, UJE
1039 !!$ do i = UIS, UIE
1040 !!$ WORK2D(i,j) = URBAN_SFLX_GHR(i,j) + URBAN_SFLX_ENGIR(i,j) &
1041 !!$ + URBAN_SFLX_GHB(i,j) + URBAN_SFLX_ENGIB(i,j) &
1042 !!$ + URBAN_SFLX_GHG(i,j) + URBAN_SFLX_ENGIG(i,j) &
1043 !!$ - URBAN_RUNOFF_ENGIR(i,j) &
1044 !!$ - URBAN_RUNOFF_ENGIB(i,j) &
1045 !!$ - URBAN_RUNOFF_ENGIG(i,j)
1046 !!$ end do
1047 !!$ end do
1048 !!$ call MONITOR_put( MONIT_id(IM_ENGFLX), WORK2D(:,:) )
1049 !!$ end if
1050 
1051  !$acc end data
1052 
1053  return

References atmos_dens, scale_const::const_dwatr, scale_atmos_hydrometeor::cv_water, scale_urban_grid_cartesc_index::uie, scale_urban_grid_cartesc_index::uis, scale_urban_grid_cartesc_index::uje, scale_urban_grid_cartesc_index::ujs, urban_qc, urban_rainb, urban_raing, urban_rainr, urban_roff, urban_tb, urban_tbl, urban_tc, urban_tg, urban_tgl, urban_tr, urban_trl, and urban_uc.

Referenced by mod_rm_driver::restart_read(), and mod_rm_driver::rm_driver().

Here is the caller graph for this function:

◆ urban_vars_check()

subroutine, public mod_urban_vars::urban_vars_check ( logical, intent(in), optional  force)

Budget monitor for urban.

Definition at line 1059 of file mod_urban_vars.F90.

1059  use scale_statistics, only: &
1061  statistics_total
1062  use scale_atmos_hydrometeor, only: &
1063  i_qv
1064  use scale_urban_grid_cartesc_real, only: &
1069  use scale_landuse, only: &
1071  implicit none
1072  logical, intent(in), optional :: force
1073  logical :: check
1074  !---------------------------------------------------------------------------
1075 
1076  if ( present(force) ) then
1077  check = force
1078  else
1079  check = urban_vars_checkrange
1080  end if
1081 
1082  if ( check ) then
1083  call valcheck( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1084  urban_trl(:,:,:), 0.0_rp, 1000.0_rp, var_name(i_trl), &
1085  __file__, __line__, mask = landuse_exists_urban(:,:) )
1086  call valcheck( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1087  urban_tbl(:,:,:), 0.0_rp, 1000.0_rp, var_name(i_tbl), &
1088  __file__, __line__, mask = landuse_exists_urban(:,:) )
1089  call valcheck( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1090  urban_tgl(:,:,:), 0.0_rp, 1000.0_rp, var_name(i_tgl), &
1091  __file__, __line__, mask = landuse_exists_urban(:,:) )
1092  call valcheck( uia, uis, uie, uja, ujs, uje, &
1093  urban_tr(:,:), 0.0_rp, 1000.0_rp, var_name(i_tr), &
1094  __file__, __line__, mask = landuse_exists_urban(:,:) )
1095  call valcheck( uia, uis, uie, uja, ujs, uje, &
1096  urban_tb(:,:), 0.0_rp, 1000.0_rp, var_name(i_tb), &
1097  __file__, __line__, mask = landuse_exists_urban(:,:) )
1098  call valcheck( uia, uis, uie, uja, ujs, uje, &
1099  urban_tg(:,:), 0.0_rp, 1000.0_rp, var_name(i_tg), &
1100  __file__, __line__, mask = landuse_exists_urban(:,:) )
1101  call valcheck( uia, uis, uie, uja, ujs, uje, &
1102  urban_tc(:,:), 0.0_rp, 1000.0_rp, var_name(i_tc), &
1103  __file__, __line__, mask = landuse_exists_urban(:,:) )
1104  call valcheck( uia, uis, uie, uja, ujs, uje, &
1105  urban_qc(:,:), 0.0_rp, 1.0_rp, var_name(i_qc), &
1106  __file__, __line__, mask = landuse_exists_urban(:,:) )
1107  call valcheck( uia, uis, uie, uja, ujs, uje, &
1108  urban_uc(:,:), 0.0_rp, 100.0_rp, var_name(i_uc), &
1109  __file__, __line__, mask = landuse_exists_urban(:,:) )
1110  call valcheck( uia, uis, uie, uja, ujs, uje, &
1111  urban_rainr(:,:), 0.0_rp, 1000.0_rp, var_name(i_rainr), &
1112  __file__, __line__, mask = landuse_exists_urban(:,:) )
1113  call valcheck( uia, uis, uie, uja, ujs, uje, &
1114  urban_rainb(:,:), 0.0_rp, 1000.0_rp, var_name(i_rainb), &
1115  __file__, __line__, mask = landuse_exists_urban(:,:) )
1116  call valcheck( uia, uis, uie, uja, ujs, uje, &
1117  urban_raing(:,:), 0.0_rp, 1000.0_rp, var_name(i_raing), &
1118  __file__, __line__, mask = landuse_exists_urban(:,:) )
1119 
1120  call valcheck( uia, uis, uie, uja, ujs, uje, &
1121  urban_sfc_temp(:,:), 0.0_rp, 1000.0_rp, &
1122  var_name(i_sfc_temp), __file__, __line__, &
1123  mask = landuse_exists_urban(:,:) )
1124 
1125  call valcheck( uia, uis, uie, uja, ujs, uje, &
1126  urban_sfc_albedo(:,:,i_r_direct ,i_r_ir ), 0.0_rp, 2.0_rp, &
1127  var_name(i_sfc_alb_ir_dir ), __file__, __line__, &
1128  mask = landuse_exists_urban(:,:) )
1129  call valcheck( uia, uis, uie, uja, ujs, uje, &
1130  urban_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), 0.0_rp, 2.0_rp, &
1131  var_name(i_sfc_alb_ir_dif ), __file__, __line__, &
1132  mask = landuse_exists_urban(:,:) )
1133  call valcheck( uia, uis, uie, uja, ujs, uje, &
1134  urban_sfc_albedo(:,:,i_r_direct ,i_r_nir), 0.0_rp, 2.0_rp, &
1135  var_name(i_sfc_alb_nir_dir), __file__, __line__, &
1136  mask = landuse_exists_urban(:,:) )
1137  call valcheck( uia, uis, uie, uja, ujs, uje, &
1138  urban_sfc_albedo(:,:,i_r_diffuse,i_r_nir), 0.0_rp, 2.0_rp, &
1139  var_name(i_sfc_alb_nir_dif), __file__, __line__, &
1140  mask = landuse_exists_urban(:,:) )
1141  call valcheck( uia, uis, uie, uja, ujs, uje, &
1142  urban_sfc_albedo(:,:,i_r_direct ,i_r_vis), 0.0_rp, 2.0_rp, &
1143  var_name(i_sfc_alb_vis_dir), __file__, __line__, &
1144  mask = landuse_exists_urban(:,:) )
1145  call valcheck( uia, uis, uie, uja, ujs, uje, &
1146  urban_sfc_albedo(:,:,i_r_diffuse,i_r_vis), 0.0_rp, 2.0_rp, &
1147  var_name(i_sfc_alb_vis_dif), __file__, __line__, &
1148  mask = landuse_exists_urban(:,:) )
1149  endif
1150 
1151  if ( present(force) ) then
1152  check = force
1153  else
1154  check = statistics_checktotal
1155  end if
1156 
1157  if ( check ) then
1158 
1159  ! 3D
1160  call statistics_total( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1161  urban_trl(:,:,:), var_name(i_trl), & ! (in)
1162  urban_grid_cartesc_real_vol(:,:,:), & ! (in)
1164  call statistics_total( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1165  urban_tbl(:,:,:), var_name(i_tbl), & ! (in)
1166  urban_grid_cartesc_real_vol(:,:,:), & ! (in)
1168  call statistics_total( uka, uks, uke, uia, uis, uie, uja, ujs, uje, &
1169  urban_tgl(:,:,:), var_name(i_tgl), & ! (in)
1170  urban_grid_cartesc_real_vol(:,:,:), & ! (in)
1172 
1173  ! 2D
1174  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1175  urban_tr(:,:), var_name(i_tr), & ! (in)
1176  urban_grid_cartesc_real_area(:,:), & ! (in)
1178  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1179  urban_tb(:,:), var_name(i_tb), & ! (in)
1180  urban_grid_cartesc_real_area(:,:), & ! (in)
1182  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1183  urban_tg(:,:), var_name(i_tg), & ! (in)
1184  urban_grid_cartesc_real_area(:,:), & ! (in)
1186  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1187  urban_tc(:,:), var_name(i_tc), & ! (in)
1188  urban_grid_cartesc_real_area(:,:), & ! (in)
1190  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1191  urban_qc(:,:), var_name(i_qc), & ! (in)
1192  urban_grid_cartesc_real_area(:,:), & ! (in)
1194  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1195  urban_uc(:,:), var_name(i_uc), & ! (in)
1196  urban_grid_cartesc_real_area(:,:), & ! (in)
1198 
1199  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1200  urban_rainr(:,:), var_name(i_rainr), & ! (in)
1201  urban_grid_cartesc_real_area(:,:), & ! (in)
1203  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1204  urban_rainb(:,:), var_name(i_rainb), & ! (in)
1205  urban_grid_cartesc_real_area(:,:), & ! (in)
1207  call statistics_total( uia, uis, uie, uja, ujs, uje, &
1208  urban_raing(:,:), var_name(i_raing), & ! (in)
1209  urban_grid_cartesc_real_area(:,:), & ! (in)
1211 
1212  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1213  urban_sfc_temp(:,:), var_name(i_sfc_temp), & ! [IN]
1214  urban_grid_cartesc_real_area(:,:), & ! [IN]
1216  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1217  urban_sfc_albedo(:,:,i_r_direct ,i_r_ir ), var_name(i_sfc_alb_ir_dir), & ! [IN]
1218  urban_grid_cartesc_real_area(:,:), & ! [IN]
1220  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1221  urban_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), var_name(i_sfc_alb_ir_dif), & ! [IN]
1222  urban_grid_cartesc_real_area(:,:), & ! [IN]
1224  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1225  urban_sfc_albedo(:,:,i_r_direct ,i_r_nir), var_name(i_sfc_alb_nir_dir), & ! [IN]
1226  urban_grid_cartesc_real_area(:,:), & ! [IN]
1228  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1229  urban_sfc_albedo(:,:,i_r_diffuse,i_r_nir), var_name(i_sfc_alb_nir_dif), & ! [IN]
1230  urban_grid_cartesc_real_area(:,:), & ! [IN]
1232  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1233  urban_sfc_albedo(:,:,i_r_direct ,i_r_vis), var_name(i_sfc_alb_vis_dir), & ! [IN]
1234  urban_grid_cartesc_real_area(:,:), & ! [IN]
1236  call statistics_total( uia, uis, uie, uja, ujs, uje, & ! [IN]
1237  urban_sfc_albedo(:,:,i_r_diffuse,i_r_vis), var_name(i_sfc_alb_vis_dif), & ! [IN]
1238  urban_grid_cartesc_real_area(:,:), & ! [IN]
1240  endif
1241 
1242  return

References scale_debug::check(), scale_atmos_hydrometeor::i_qv, scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, scale_landuse::landuse_exists_urban, scale_statistics::statistics_checktotal, scale_urban_grid_cartesc_index::uia, scale_urban_grid_cartesc_index::uie, scale_urban_grid_cartesc_index::uis, scale_urban_grid_cartesc_index::uja, scale_urban_grid_cartesc_index::uje, scale_urban_grid_cartesc_index::ujs, scale_urban_grid_cartesc_index::uka, scale_urban_grid_cartesc_index::uke, scale_urban_grid_cartesc_index::uks, scale_urban_grid_cartesc_real::urban_grid_cartesc_real_area, scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totarea, scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totvol, scale_urban_grid_cartesc_real::urban_grid_cartesc_real_vol, urban_qc, urban_rainb, urban_raing, urban_rainr, urban_sfc_albedo, urban_sfc_temp, urban_tb, urban_tbl, urban_tc, urban_tg, urban_tgl, urban_tr, urban_trl, and urban_uc.

Referenced by mod_urban_driver::urban_driver_update(), urban_vars_restart_read(), and urban_vars_restart_write().

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

◆ urban_vars_restart_create()

subroutine, public mod_urban_vars::urban_vars_restart_create

Create urban restart file.

Definition at line 1248 of file mod_urban_vars.F90.

1248  use scale_time, only: &
1250  use scale_file_cartesc, only: &
1252  use mod_urban_admin, only: &
1253  urban_do
1254  implicit none
1255 
1256  character(len=19) :: timelabel
1257  character(len=H_LONG) :: basename
1258  !---------------------------------------------------------------------------
1259 
1260  call prof_rapstart('URB_Restart', 1)
1261 
1262  if ( urban_do .and. urban_restart_out_basename /= '' ) then
1263 
1264  log_newline
1265  log_info("URBAN_vars_restart_create",*) 'Create restart file (URBAN) '
1266 
1267  if ( urban_restart_out_postfix_timelabel ) then
1268  call time_gettimelabel( timelabel )
1269  basename = trim(urban_restart_out_basename)//'_'//trim(timelabel)
1270  else
1271  basename = trim(urban_restart_out_basename)
1272  endif
1273 
1274  log_info("URBAN_vars_restart_create",*) 'basename: ', trim(basename)
1275 
1276  call file_cartesc_create( &
1277  basename, urban_restart_out_title, urban_restart_out_dtype, & ! [IN]
1278  restart_fid, & ! [OUT]
1279  aggregate=urban_restart_out_aggregate ) ! [IN]
1280 
1281  endif
1282 
1283  call prof_rapend('URB_Restart', 1)
1284 
1285  return

References scale_file_cartesc::file_cartesc_create(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_time::time_gettimelabel(), mod_urban_admin::urban_do, urban_restart_out_aggregate, urban_restart_out_basename, urban_restart_out_dtype, urban_restart_out_postfix_timelabel, and urban_restart_out_title.

Referenced by mod_admin_restart::admin_restart_write().

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

◆ urban_vars_restart_enddef()

subroutine, public mod_urban_vars::urban_vars_restart_enddef

Exit netCDF define mode.

Definition at line 1291 of file mod_urban_vars.F90.

1291  use scale_file_cartesc, only: &
1293  implicit none
1294 
1295  call prof_rapstart('URB_Restart', 1)
1296 
1297  if ( restart_fid /= -1 ) then
1298  call file_cartesc_enddef( restart_fid ) ! [IN]
1299  endif
1300 
1301  call prof_rapend('URB_Restart', 1)
1302 
1303  return

References scale_file_cartesc::file_cartesc_enddef(), scale_prof::prof_rapend(), and scale_prof::prof_rapstart().

Referenced by mod_admin_restart::admin_restart_write().

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

◆ urban_vars_restart_close()

subroutine, public mod_urban_vars::urban_vars_restart_close

Close restart file.

Definition at line 1309 of file mod_urban_vars.F90.

1309  use scale_file_cartesc, only: &
1311  implicit none
1312  !---------------------------------------------------------------------------
1313 
1314  call prof_rapstart('URB_Restart', 1)
1315 
1316  if ( restart_fid /= -1 ) then
1317  log_newline
1318  log_info("URBAN_vars_restart_close",*) 'Close restart file (URBAN) '
1319 
1320  call file_cartesc_close( restart_fid ) ! [IN]
1321 
1322  restart_fid = -1
1323  endif
1324 
1325  call prof_rapend('URB_Restart', 1)
1326 
1327  return

References scale_file_cartesc::file_cartesc_close(), scale_prof::prof_rapend(), and scale_prof::prof_rapstart().

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

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

◆ urban_vars_restart_def_var()

subroutine, public mod_urban_vars::urban_vars_restart_def_var

Define urban variables in restart file.

Definition at line 1333 of file mod_urban_vars.F90.

1333  use scale_file_cartesc, only: &
1335  implicit none
1336 
1337  integer :: i
1338  !---------------------------------------------------------------------------
1339 
1340  call prof_rapstart('URB_Restart', 1)
1341 
1342  if ( restart_fid /= -1 ) then
1343 
1344  do i = i_trl, i_tgl
1345  call file_cartesc_def_var( restart_fid, & ! [IN]
1346  var_name(i), var_desc(i), var_unit(i), & ! [IN]
1347  'UXY', urban_restart_out_dtype, & ! [IN]
1348  var_id(i) ) ! [OUT]
1349  end do
1350  do i = i_tr, i_sfc_alb_vis_dif
1351  call file_cartesc_def_var( restart_fid, & ! [IN]
1352  var_name(i), var_desc(i), var_unit(i), & ! [IN]
1353  'XY', urban_restart_out_dtype, & ! [IN]
1354  var_id(i) ) ! [OUT]
1355  end do
1356 
1357  endif
1358 
1359  call prof_rapend('URB_Restart', 1)
1360 
1361  return

References scale_file_cartesc::file_cartesc_def_var(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), and urban_restart_out_dtype.

Referenced by mod_admin_restart::admin_restart_write().

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

◆ urban_vars_restart_write()

subroutine, public mod_urban_vars::urban_vars_restart_write

Write urban restart.

Definition at line 1367 of file mod_urban_vars.F90.

1367  use scale_file_cartesc, only: &
1368  file_cartesc_write_var
1369  implicit none
1370  !---------------------------------------------------------------------------
1371 
1372  call prof_rapstart('URB_Restart', 1)
1373 
1374  if ( restart_fid /= -1 ) then
1375 
1376  call urban_vars_check( force = .true. )
1377 
1378  call file_cartesc_write_var( restart_fid, var_id(i_trl), urban_trl(:,:,:), & ! [IN]
1379  var_name(i_trl), 'UXY', fill_halo=.true. ) ! [IN]
1380  call file_cartesc_write_var( restart_fid, var_id(i_tbl), urban_tbl(:,:,:), & ! [IN]
1381  var_name(i_tbl), 'UXY', fill_halo=.true. ) ! [IN]
1382  call file_cartesc_write_var( restart_fid, var_id(i_tgl), urban_tgl(:,:,:), & ! [IN]
1383  var_name(i_tgl), 'UXY', fill_halo=.true. ) ! [IN]
1384 
1385  call file_cartesc_write_var( restart_fid, var_id(i_tr), urban_tr(:,:), & ! [IN]
1386  var_name(i_tr), 'XY', fill_halo=.true. ) ! [IN]
1387  call file_cartesc_write_var( restart_fid, var_id(i_tb), urban_tb(:,:), & ! [IN]
1388  var_name(i_tb), 'XY', fill_halo=.true. ) ! [IN]
1389  call file_cartesc_write_var( restart_fid, var_id(i_tg), urban_tg(:,:), & ! [IN]
1390  var_name(i_tg), 'XY', fill_halo=.true. ) ! [IN]
1391  call file_cartesc_write_var( restart_fid, var_id(i_tc), urban_tc(:,:), & ! [IN]
1392  var_name(i_tc), 'XY', fill_halo=.true. ) ! [IN]
1393  call file_cartesc_write_var( restart_fid, var_id(i_qc), urban_qc(:,:), & ! [IN]
1394  var_name(i_qc), 'XY', fill_halo=.true. ) ! [IN]
1395  call file_cartesc_write_var( restart_fid, var_id(i_uc), urban_uc(:,:), & ! [IN]
1396  var_name(i_uc), 'XY', fill_halo=.true. ) ! [IN]
1397 
1398 
1399  call file_cartesc_write_var( restart_fid, var_id(i_rainr), urban_rainr(:,:), & ! [IN]
1400  var_name(i_rainr), 'XY', fill_halo=.true. ) ! [IN]
1401  call file_cartesc_write_var( restart_fid, var_id(i_rainb), urban_rainb(:,:), & ! [IN]
1402  var_name(i_rainb), 'XY', fill_halo=.true. ) ! [IN]
1403  call file_cartesc_write_var( restart_fid, var_id(i_raing), urban_raing(:,:), & ! [IN]
1404  var_name(i_raing), 'XY', fill_halo=.true. ) ! [IN]
1405 
1406  call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), & ! [IN]
1407  urban_sfc_temp(:,:), & ! [IN]
1408  var_name(i_sfc_temp), 'XY', fill_halo=.true. ) ! [IN]
1409 
1410  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), & ! [IN]
1411  urban_sfc_albedo(:,:,i_r_direct ,i_r_ir ), & ! [IN]
1412  var_name(i_sfc_alb_ir_dir), 'XY', fill_halo=.true. ) ! [IN]
1413  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), & ! [IN]
1414  urban_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), & ! [IN]
1415  var_name(i_sfc_alb_ir_dif), 'XY', fill_halo=.true. ) ! [IN]
1416  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), & ! [IN]
1417  urban_sfc_albedo(:,:,i_r_direct ,i_r_nir), & ! [IN]
1418  var_name(i_sfc_alb_nir_dir), 'XY', fill_halo=.true. ) ! [IN]
1419  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), & ! [IN]
1420  urban_sfc_albedo(:,:,i_r_diffuse,i_r_nir), & ! [IN]
1421  var_name(i_sfc_alb_nir_dif), 'XY', fill_halo=.true. ) ! [IN]
1422  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), & ! [IN]
1423  urban_sfc_albedo(:,:,i_r_direct ,i_r_vis), & ! [IN]
1424  var_name(i_sfc_alb_vis_dir), 'XY', fill_halo=.true. ) ! [IN]
1425  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), & ! [IN]
1426  urban_sfc_albedo(:,:,i_r_diffuse,i_r_vis), & ! [IN]
1427  var_name(i_sfc_alb_vis_dif), 'XY', fill_halo=.true. ) ! [IN]
1428 
1429  endif
1430 
1431  call prof_rapend('URB_Restart', 1)
1432 
1433  return

References scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), urban_qc, urban_rainb, urban_raing, urban_rainr, urban_sfc_albedo, urban_sfc_temp, urban_tb, urban_tbl, urban_tc, urban_tg, urban_tgl, urban_tr, urban_trl, urban_uc, and urban_vars_check().

Referenced by mod_admin_restart::admin_restart_write().

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

Variable Documentation

◆ urban_restart_output

logical, public mod_urban_vars::urban_restart_output = .false.

Output restart file?

Definition at line 49 of file mod_urban_vars.F90.

49  logical, public :: URBAN_RESTART_OUTPUT = .false.

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

◆ urban_restart_in_basename

character(len=h_long), public mod_urban_vars::urban_restart_in_basename = ''

Basename of the input file.

Definition at line 51 of file mod_urban_vars.F90.

51  character(len=H_LONG), public :: URBAN_RESTART_IN_BASENAME = ''

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_open(), and urban_vars_setup().

◆ urban_restart_in_aggregate

logical, public mod_urban_vars::urban_restart_in_aggregate

Switch to use aggregate file.

Definition at line 52 of file mod_urban_vars.F90.

52  logical, public :: URBAN_RESTART_IN_AGGREGATE

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_open(), and urban_vars_setup().

◆ urban_restart_in_postfix_timelabel

logical, public mod_urban_vars::urban_restart_in_postfix_timelabel = .false.

Add timelabel to the basename of input file?

Definition at line 53 of file mod_urban_vars.F90.

53  logical, public :: URBAN_RESTART_IN_POSTFIX_TIMELABEL = .false.

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_open(), and urban_vars_setup().

◆ urban_restart_out_basename

character(len=h_long), public mod_urban_vars::urban_restart_out_basename = ''

Basename of the output file.

Definition at line 54 of file mod_urban_vars.F90.

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

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_create(), and urban_vars_setup().

◆ urban_restart_out_aggregate

logical, public mod_urban_vars::urban_restart_out_aggregate

Switch to use aggregate file.

Definition at line 55 of file mod_urban_vars.F90.

55  logical, public :: URBAN_RESTART_OUT_AGGREGATE

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_create(), and urban_vars_setup().

◆ urban_restart_out_postfix_timelabel

logical, public mod_urban_vars::urban_restart_out_postfix_timelabel = .true.

Add timelabel to the basename of output file?

Definition at line 56 of file mod_urban_vars.F90.

56  logical, public :: URBAN_RESTART_OUT_POSTFIX_TIMELABEL = .true.

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_create(), and urban_vars_setup().

◆ urban_restart_out_title

character(len=h_mid), public mod_urban_vars::urban_restart_out_title = 'URBAN restart'

Title of the output file.

Definition at line 57 of file mod_urban_vars.F90.

57  character(len=H_MID), public :: URBAN_RESTART_OUT_TITLE = 'URBAN restart'

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_create(), and urban_vars_setup().

◆ urban_restart_out_dtype

character(len=h_short), public mod_urban_vars::urban_restart_out_dtype = 'DEFAULT'

REAL4 or REAL8.

Definition at line 58 of file mod_urban_vars.F90.

58  character(len=H_SHORT), public :: URBAN_RESTART_OUT_DTYPE = 'DEFAULT'

Referenced by mod_admin_restart::admin_restart_setup(), urban_vars_restart_create(), urban_vars_restart_def_var(), and urban_vars_setup().

◆ urban_trl

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_trl

◆ urban_tbl

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_tbl

◆ urban_tgl

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_tgl

◆ urban_tr

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tr

◆ urban_tb

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tb

◆ urban_tg

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tg

◆ urban_tc

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tc

◆ urban_qc

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_qc

◆ urban_uc

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_uc

◆ urban_rainr

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_rainr

◆ urban_rainb

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_rainb

◆ urban_raing

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_raing

◆ urban_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sfc_temp

◆ urban_sfc_albedo

real(rp), dimension(:,:,:,:), allocatable, public mod_urban_vars::urban_sfc_albedo

Definition at line 76 of file mod_urban_vars.F90.

76  real(RP), public, allocatable :: URBAN_SFC_albedo(:,:,:,:) ! urban grid average of albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

Referenced by mod_realinput::realinput_surface(), mod_urban_driver::urban_driver_calc_tendency(), mod_mkinit::urban_setup(), mod_urban_driver::urban_surface_set(), urban_vars_check(), urban_vars_finalize(), urban_vars_history(), urban_vars_restart_read(), urban_vars_restart_write(), and urban_vars_setup().

◆ urban_trl_t

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_trl_t

Definition at line 79 of file mod_urban_vars.F90.

79  real(RP), public, allocatable :: URBAN_TRL_t (:,:,:) ! tendency of URBAN_TRL

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tbl_t

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_tbl_t

Definition at line 80 of file mod_urban_vars.F90.

80  real(RP), public, allocatable :: URBAN_TBL_t (:,:,:) ! tendency of URBAN_TBL

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tgl_t

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_tgl_t

Definition at line 81 of file mod_urban_vars.F90.

81  real(RP), public, allocatable :: URBAN_TGL_t (:,:,:) ! tendency of URBAN_TGL

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tc_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tc_t

Definition at line 82 of file mod_urban_vars.F90.

82  real(RP), public, allocatable :: URBAN_TC_t (:,:) ! tendency of URBAN_TC

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_uc_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_uc_t

Definition at line 83 of file mod_urban_vars.F90.

83  real(RP), public, allocatable :: URBAN_UC_t (:,:) ! tendency of URBAN_UC

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_qc_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_qc_t

Definition at line 84 of file mod_urban_vars.F90.

84  real(RP), public, allocatable :: URBAN_QC_t (:,:) ! tendency of URBAN_QC

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tr_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tr_t

Definition at line 85 of file mod_urban_vars.F90.

85  real(RP), public, allocatable :: URBAN_TR_t (:,:) ! tendency of URBAN_TR

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tb_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tb_t

Definition at line 86 of file mod_urban_vars.F90.

86  real(RP), public, allocatable :: URBAN_TB_t (:,:) ! tendency of URBAN_TB

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_tg_t

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_tg_t

Definition at line 87 of file mod_urban_vars.F90.

87  real(RP), public, allocatable :: URBAN_TG_t (:,:) ! tendency of URBAN_TG

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_rainr_t

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_rainr_t

Definition at line 88 of file mod_urban_vars.F90.

88  real(RP), public, allocatable :: URBAN_RAINR_t(:,:) ! tendency of URBAN_RAINR

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_rainb_t

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_rainb_t

Definition at line 89 of file mod_urban_vars.F90.

89  real(RP), public, allocatable :: URBAN_RAINB_t(:,:) ! tendency of URBAN_RAINB

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_raing_t

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_raing_t

Definition at line 90 of file mod_urban_vars.F90.

90  real(RP), public, allocatable :: URBAN_RAING_t(:,:) ! tendency of URBAN_RAING

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_update(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_roff

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_roff

Definition at line 92 of file mod_urban_vars.F90.

92  real(RP), public, allocatable :: URBAN_ROFF (:,:) ! urban runoff [mm/s=kg/m2/s]

Referenced by mod_realinput::realinput_surface(), mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), urban_vars_monitor(), and urban_vars_setup().

◆ urban_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_mw

Definition at line 94 of file mod_urban_vars.F90.

94  real(RP), public, allocatable :: URBAN_SFLX_MW (:,:) ! urban grid average of w-momentum flux [kg/m2/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_mu

Definition at line 95 of file mod_urban_vars.F90.

95  real(RP), public, allocatable :: URBAN_SFLX_MU (:,:) ! urban grid average of u-momentum flux [kg/m2/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_mv

Definition at line 96 of file mod_urban_vars.F90.

96  real(RP), public, allocatable :: URBAN_SFLX_MV (:,:) ! urban grid average of v-momentum flux [kg/m2/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_sh

Definition at line 97 of file mod_urban_vars.F90.

97  real(RP), public, allocatable :: URBAN_SFLX_SH (:,:) ! urban grid average of sensible heat flux [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_lh

Definition at line 98 of file mod_urban_vars.F90.

98  real(RP), public, allocatable :: URBAN_SFLX_LH (:,:) ! urban grid average of latent heat flux [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_shex

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_sflx_shex

Definition at line 99 of file mod_urban_vars.F90.

99  real(RP), public, allocatable :: URBAN_SFLX_SHEX(:,:) ! grid average of extera (anthropogenic) sensible heat flux [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_sflx_lhex

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_sflx_lhex

Definition at line 100 of file mod_urban_vars.F90.

100  real(RP), public, allocatable :: URBAN_SFLX_LHEX(:,:) ! grid average of extera (anthropogenic) latent heat flux [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_sflx_qvex

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_sflx_qvex

Definition at line 101 of file mod_urban_vars.F90.

101  real(RP), public, allocatable :: URBAN_SFLX_QVEX(:,:) ! grid average of extera (anthropogenic) water vapour flux [kg/kg/m2/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), and urban_vars_setup().

◆ urban_sflx_qtrc

real(rp), dimension (:,:,:), allocatable, public mod_urban_vars::urban_sflx_qtrc

Definition at line 102 of file mod_urban_vars.F90.

102  real(RP), public, allocatable :: URBAN_SFLX_QTRC (:,:,:) ! urban grid average of water vapor flux [kg/m2/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_sflx_gh

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_sflx_gh

Definition at line 103 of file mod_urban_vars.F90.

103  real(RP), public, allocatable :: URBAN_SFLX_GH (:,:) ! urban grid average of ground heat flux [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_z0m

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_z0m

Definition at line 106 of file mod_urban_vars.F90.

106  real(RP), public, allocatable :: URBAN_Z0M (:,:) ! urban grid average of rougness length (momentum) [m]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_setup(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_z0h

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_z0h

Definition at line 107 of file mod_urban_vars.F90.

107  real(RP), public, allocatable :: URBAN_Z0H (:,:) ! urban grid average of rougness length (heat) [m]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_setup(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_z0e

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_z0e

Definition at line 108 of file mod_urban_vars.F90.

108  real(RP), public, allocatable :: URBAN_Z0E (:,:) ! urban grid average of rougness length (vapor) [m]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_setup(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_zd

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_zd

Definition at line 109 of file mod_urban_vars.F90.

109  real(RP), public, allocatable :: URBAN_ZD (:,:) ! urban grid average of displacement height [m]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_driver_setup(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_ah

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_ah

Definition at line 110 of file mod_urban_vars.F90.

110  real(RP), public, allocatable :: URBAN_AH (:,:) ! grid average of anthropogenic sensible heat [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_ahl

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_ahl

Definition at line 111 of file mod_urban_vars.F90.

111  real(RP), public, allocatable :: URBAN_AHL (:,:) ! grid average of anthropogenic latent heat [W/m2]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_ustar

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_ustar

Definition at line 114 of file mod_urban_vars.F90.

114  real(RP), public, allocatable :: URBAN_Ustar(:,:) ! urban grid average of friction velocity [m/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_tstar

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_tstar

Definition at line 115 of file mod_urban_vars.F90.

115  real(RP), public, allocatable :: URBAN_Tstar(:,:) ! urban grid average of temperature scale [K]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_qstar

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_qstar

Definition at line 116 of file mod_urban_vars.F90.

116  real(RP), public, allocatable :: URBAN_Qstar(:,:) ! urban grid average of moisture scale [kg/kg]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_wstar

real(rp), dimension(:,:), allocatable, public mod_urban_vars::urban_wstar

Definition at line 117 of file mod_urban_vars.F90.

117  real(RP), public, allocatable :: URBAN_Wstar(:,:) ! urban grid average of convective velocity scale [m/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_rlmo

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_rlmo

Definition at line 118 of file mod_urban_vars.F90.

118  real(RP), public, allocatable :: URBAN_RLmo (:,:) ! urban grid average of inversed Obukhov length [1/m]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_u10

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_u10

Definition at line 119 of file mod_urban_vars.F90.

119  real(RP), public, allocatable :: URBAN_U10 (:,:) ! urban grid average of velocity u at 10m [m/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_v10

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_v10

Definition at line 120 of file mod_urban_vars.F90.

120  real(RP), public, allocatable :: URBAN_V10 (:,:) ! urban grid average of velocity v at 10m [m/s]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_t2

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_t2

Definition at line 121 of file mod_urban_vars.F90.

121  real(RP), public, allocatable :: URBAN_T2 (:,:) ! urban grid average of temperature at 2m [K]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ urban_q2

real(rp), dimension (:,:), allocatable, public mod_urban_vars::urban_q2

Definition at line 122 of file mod_urban_vars.F90.

122  real(RP), public, allocatable :: URBAN_Q2 (:,:) ! urban grid average of water vapor at 2m [kg/kg]

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_set(), urban_vars_finalize(), urban_vars_history(), and urban_vars_setup().

◆ atmos_temp

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

Definition at line 125 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_pres

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

Definition at line 126 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_w

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

Definition at line 127 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_u

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

Definition at line 128 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_v

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

Definition at line 129 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_dens

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

Definition at line 130 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), urban_vars_monitor(), and urban_vars_setup().

◆ atmos_qv

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

Definition at line 131 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_pbl

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

Definition at line 132 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sfc_dens

real(rp), dimension (:,:), allocatable, public mod_urban_vars::atmos_sfc_dens

Definition at line 133 of file mod_urban_vars.F90.

133  real(RP), public, allocatable :: ATMOS_SFC_DENS (:,:)

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sfc_pres

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

Definition at line 134 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sflx_lw

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

Definition at line 135 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sflx_sw

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

Definition at line 136 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_cossza

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

Definition at line 137 of file mod_urban_vars.F90.

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

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sflx_water

real(rp), dimension(:,:), allocatable, public mod_urban_vars::atmos_sflx_water

Definition at line 138 of file mod_urban_vars.F90.

138  real(RP), public, allocatable :: ATMOS_SFLX_water(:,:)

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

◆ atmos_sflx_engi

real(rp), dimension(:,:), allocatable, public mod_urban_vars::atmos_sflx_engi

Definition at line 139 of file mod_urban_vars.F90.

139  real(RP), public, allocatable :: ATMOS_SFLX_ENGI(:,:)

Referenced by mod_urban_driver::urban_driver_calc_tendency(), mod_urban_driver::urban_surface_get(), urban_vars_finalize(), and urban_vars_setup().

mod_urban_vars::urban_q2
real(rp), dimension(:,:), allocatable, public urban_q2
Definition: mod_urban_vars.F90:122
scale_statistics
module Statistics
Definition: scale_statistics.F90:11
mod_urban_vars::urban_z0m
real(rp), dimension(:,:), allocatable, public urban_z0m
Definition: mod_urban_vars.F90:106
mod_urban_admin::urban_do
logical, public urban_do
Definition: mod_urban_admin.F90:32
mod_urban_vars::urban_sfc_temp
real(rp), dimension(:,:), allocatable, public urban_sfc_temp
Definition: mod_urban_vars.F90:75
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_vol
real(rp), dimension(:,:,:), allocatable, public urban_grid_cartesc_real_vol
volume of grid cell
Definition: scale_urban_grid_cartesC_real.F90:39
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:350
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totvol
real(rp), public urban_grid_cartesc_real_totvol
total volume
Definition: scale_urban_grid_cartesC_real.F90:40
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
mod_urban_vars::urban_sfc_albedo
real(rp), dimension(:,:,:,:), allocatable, public urban_sfc_albedo
Definition: mod_urban_vars.F90:76
scale_atmos_hydrometeor
module atmosphere / hydrometeor
Definition: scale_atmos_hydrometeor.F90:12
mod_urban_vars::urban_sflx_shex
real(rp), dimension(:,:), allocatable, public urban_sflx_shex
Definition: mod_urban_vars.F90:99
mod_urban_vars::urban_sflx_mu
real(rp), dimension(:,:), allocatable, public urban_sflx_mu
Definition: mod_urban_vars.F90:95
mod_urban_vars::urban_z0h
real(rp), dimension(:,:), allocatable, public urban_z0h
Definition: mod_urban_vars.F90:107
mod_urban_vars::urban_sflx_lhex
real(rp), dimension(:,:), allocatable, public urban_sflx_lhex
Definition: mod_urban_vars.F90:100
scale_file_history
module file_history
Definition: scale_file_history.F90:15
scale_file
module file
Definition: scale_file.F90:15
scale_prc
module PROCESS
Definition: scale_prc.F90:11
mod_urban_vars::urban_sflx_qtrc
real(rp), dimension(:,:,:), allocatable, public urban_sflx_qtrc
Definition: mod_urban_vars.F90:102
mod_urban_vars::urban_t2
real(rp), dimension(:,:), allocatable, public urban_t2
Definition: mod_urban_vars.F90:121
scale_const
module CONSTANT
Definition: scale_const.F90:11
mod_urban_vars::urban_sflx_mv
real(rp), dimension(:,:), allocatable, public urban_sflx_mv
Definition: mod_urban_vars.F90:96
mod_urban_vars::urban_v10
real(rp), dimension(:,:), allocatable, public urban_v10
Definition: mod_urban_vars.F90:120
mod_urban_vars::urban_z0e
real(rp), dimension(:,:), allocatable, public urban_z0e
Definition: mod_urban_vars.F90:108
scale_file_cartesc::file_cartesc_close
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Definition: scale_file_cartesC.F90:1044
mod_urban_vars::urban_u10
real(rp), dimension(:,:), allocatable, public urban_u10
Definition: mod_urban_vars.F90:119
scale_monitor::monitor_reg
subroutine, public monitor_reg(name, desc, unit, itemid, ndims, dim_type, is_tendency)
Search existing item, or matching check between requested and registered item.
Definition: scale_monitor.F90:243
scale_time
module TIME
Definition: scale_time.F90:11
scale_atmos_hydrometeor::i_qv
integer, public i_qv
Definition: scale_atmos_hydrometeor.F90:93
scale_const::const_dwatr
real(rp), parameter, public const_dwatr
density of water [kg/m3]
Definition: scale_const.F90:89
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_statistics::statistics_checktotal
logical, public statistics_checktotal
calc&report variable totals to logfile?
Definition: scale_statistics.F90:109
mod_urban_vars::urban_sflx_lh
real(rp), dimension(:,:), allocatable, public urban_sflx_lh
Definition: mod_urban_vars.F90:98
scale_file_cartesc::file_cartesc_flush
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
Definition: scale_file_cartesC.F90:1018
scale_landuse::landuse_exists_urban
logical, dimension(:,:), allocatable, public landuse_exists_urban
urban calculation flag
Definition: scale_landuse.F90:52
scale_time::time_gettimelabel
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:93
mod_urban_vars::urban_sflx_sh
real(rp), dimension(:,:), allocatable, public urban_sflx_sh
Definition: mod_urban_vars.F90:97
scale_file::file_get_aggregate
logical function, public file_get_aggregate(fid)
Definition: scale_file.F90:6316
scale_file_cartesc::file_cartesc_open
subroutine, public file_cartesc_open(basename, fid, single, aggregate)
open a netCDF file for read
Definition: scale_file_cartesC.F90:760
mod_urban_vars::urban_sflx_qvex
real(rp), dimension(:,:), allocatable, public urban_sflx_qvex
Definition: mod_urban_vars.F90:101
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_totarea
real(rp), public urban_grid_cartesc_real_totarea
total area
Definition: scale_urban_grid_cartesC_real.F90:38
scale_landuse
module LANDUSE
Definition: scale_landuse.F90:19
mod_urban_admin
module Urban admin
Definition: mod_urban_admin.F90:11
mod_urban_vars::urban_sflx_mw
real(rp), dimension(:,:), allocatable, public urban_sflx_mw
Definition: mod_urban_vars.F90:94
scale_urban_grid_cartesc_real
module urban / grid / cartesianC / real
Definition: scale_urban_grid_cartesC_real.F90:12
mod_urban_vars::urban_sflx_gh
real(rp), dimension(:,:), allocatable, public urban_sflx_gh
Definition: mod_urban_vars.F90:103
scale_const::const_undef
real(rp), public const_undef
Definition: scale_const.F90:43
scale_file_cartesc
module file / cartesianC
Definition: scale_file_cartesC.F90:11
scale_atmos_hydrometeor::cv_water
real(rp), public cv_water
CV for water [J/kg/K].
Definition: scale_atmos_hydrometeor.F90:151
scale_urban_grid_cartesc_real::urban_grid_cartesc_real_area
real(rp), dimension(:,:), allocatable, public urban_grid_cartesc_real_area
area of grid cell
Definition: scale_urban_grid_cartesC_real.F90:37
scale_monitor
module MONITOR
Definition: scale_monitor.F90:12