Go to the documentation of this file.
148 integer,
public,
parameter ::
i_z0m = 9
149 integer,
public,
parameter ::
i_z0h = 10
150 integer,
public,
parameter ::
i_z0e = 11
156 private :: land_param_read
162 logical,
private :: land_vars_checkrange = .false.
165 integer,
private,
parameter :: vmax = 16
166 integer,
private,
parameter :: i_temp = 1
167 integer,
private,
parameter :: i_water = 2
168 integer,
private,
parameter :: i_ice = 3
169 integer,
private,
parameter :: i_waterds = 4
170 integer,
private,
parameter :: i_sfc_temp = 5
171 integer,
private,
parameter :: i_sfc_alb_ir_dir = 6
172 integer,
private,
parameter :: i_sfc_alb_ir_dif = 7
173 integer,
private,
parameter :: i_sfc_alb_nir_dir = 8
174 integer,
private,
parameter :: i_sfc_alb_nir_dif = 9
175 integer,
private,
parameter :: i_sfc_alb_vis_dir = 10
176 integer,
private,
parameter :: i_sfc_alb_vis_dif = 11
177 integer,
private,
parameter :: i_snow_sfc_temp = 12
178 integer,
private,
parameter :: i_snow_swe = 13
179 integer,
private,
parameter :: i_snow_depth = 14
180 integer,
private,
parameter :: i_snow_dzero = 15
181 integer,
private,
parameter :: i_snow_nosnowsec = 16
183 character(len=H_SHORT),
private :: var_name(vmax)
184 character(len=H_MID),
private :: var_desc(vmax)
185 character(len=H_MID),
private :: var_stdn(vmax)
186 character(len=H_SHORT),
private :: var_unit(vmax)
187 integer,
private :: var_id(vmax)
188 integer,
private :: restart_fid = -1
190 data var_name /
'LAND_TEMP', &
195 'LAND_SFC_ALB_IR_dir', &
196 'LAND_SFC_ALB_IR_dif', &
197 'LAND_SFC_ALB_NIR_dir', &
198 'LAND_SFC_ALB_NIR_dif', &
199 'LAND_SFC_ALB_VIS_dir', &
200 'LAND_SFC_ALB_VIS_dif', &
201 'LAND_SNOW_SFC_TEMP', &
205 'LAND_SNOW_nosnowsec' /
207 data var_desc /
'temperature at each soil layer', &
208 'moisture at each soil layer', &
209 'ice at each soil layer', &
210 'degree of saturation at each soil layer', &
211 'land surface skin temperature', &
212 'land surface albedo for IR (direct)', &
213 'land surface albedo for IR (diffuse)', &
214 'land surface albedo for NIR (direct)', &
215 'land surface albedo for NIR (diffuse)', &
216 'land surface albedo for VIS (direct)', &
217 'land surface albedo for VIS (diffuse)', &
218 'Snow surface temperature', &
219 'Snow water equivalent', &
221 'Snow depth at melting point', &
222 'Time duration without snow' /
224 data var_stdn /
'soil_temperature', &
225 'volume_fraction_of_condensed_water_in_soil', &
227 'volume_fraction_of_condensed_water_in_soil_at_field_capacity', &
228 'surface_temperature_where_land', &
241 data var_unit /
'K', &
258 real(
rp),
private,
allocatable :: land_property_table(:,:)
260 logical,
private :: land_restart_in_check_coordinates = .true.
263 integer,
parameter :: im_temp = 1
264 integer,
parameter :: im_water = 2
265 integer,
parameter :: im_ice = 3
266 integer,
parameter :: im_sfc = 4
267 integer,
parameter :: im_roff = 5
268 integer,
parameter :: im_masflx = 6
269 integer,
parameter :: im_engi = 7
270 integer,
parameter :: im_w_engi = 8
271 integer,
parameter :: im_i_engi = 9
272 integer,
parameter :: im_engsfc_gh = 10
273 integer,
parameter :: im_engsfc_ei = 11
274 integer,
parameter :: im_roff_ei = 12
275 integer,
parameter :: im_engflx = 13
276 integer,
parameter :: im_max = 13
277 integer,
private :: monit_id(im_max)
301 namelist / param_land_vars / &
305 land_restart_in_check_coordinates, &
315 integer :: i, j, iv, p
319 log_info(
"LAND_vars_setup",*)
'Setup'
322 case (
'NONE',
'OFF' )
468 log_info(
"LAND_vars_setup",*)
'Not found namelist. Default used.'
469 elseif( ierr > 0 )
then
470 log_error(
"LAND_vars_setup",*)
'Not appropriate names in namelist PARAM_LAND_VARS. Check!'
473 log_nml(param_land_vars)
476 log_info(
"LAND_vars_setup",*)
'List of prognostic variables (LAND) '
477 log_info_cont(
'(1x,A,A24,A,A48,A,A12,A)') &
478 ' |',
'VARNAME ',
'|', &
479 'DESCRIPTION ',
'[',
'UNIT ',
']'
481 log_info_cont(
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
482 'NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']'
490 log_info(
"LAND_vars_setup",*)
'Restart input? : NO'
497 log_info(
"LAND_vars_setup",*)
'Restart output? : NO'
503 land_property_table(:,:) = undef
527 call monitor_reg(
'LND_TEMP',
'land temperature',
'K m3', &
529 dim_type=
'LXY', is_tendency=.false. )
530 call monitor_reg(
'LND_WATER',
'land water',
'kg', &
531 monit_id(im_water), &
532 dim_type=
'LXY', is_tendency=.false. )
535 dim_type=
'LXY', is_tendency=.false. )
536 call monitor_reg(
'LND_MASSFC',
'SFC water flux',
'kg', &
538 dim_type=
'XY', is_tendency=.true. )
539 call monitor_reg(
'LND_ROFF',
'runoff water',
'kg', &
541 dim_type=
'XY', is_tendency=.true. )
542 call monitor_reg(
'LND_MASFLX',
'total mass change',
'kg', &
543 monit_id(im_masflx), &
544 dim_type=
'XY', is_tendency=.true. )
545 call monitor_reg(
'LND_ENGI',
'total internal energy',
'J', &
547 dim_type=
'LXY', is_tendency=.false. )
548 call monitor_reg(
'LND_WTR_ENGI',
'water internal energy',
'J', &
549 monit_id(im_w_engi), &
550 dim_type=
'LXY', is_tendency=.false. )
551 call monitor_reg(
'LND_ICE_ENGI',
'ice internal energy',
'J', &
552 monit_id(im_i_engi), &
553 dim_type=
'LXY', is_tendency=.false. )
554 call monitor_reg(
'LND_ENGSFC_GH',
'SFC ground heat flux',
'J', &
555 monit_id(im_engsfc_gh), &
556 dim_type=
'XY', is_tendency=.true. )
557 call monitor_reg(
'LND_ENGSFC_EI',
'SFC internal energy flux',
'J', &
558 monit_id(im_engsfc_ei), &
559 dim_type=
'XY', is_tendency=.true. )
560 call monitor_reg(
'LND_ROFF_EI',
'internal energy of runoff water',
'J', &
561 monit_id(im_roff_ei), &
562 dim_type=
'XY', is_tendency=.true. )
563 call monitor_reg(
'LND_ENGFLX',
'total internal energy change',
'J', &
564 monit_id(im_engflx), &
565 dim_type=
'XY', is_tendency=.true. )
577 file_cartesc_check_coordinates
582 character(len=19) :: timelabel
583 character(len=H_LONG) :: basename
587 log_info(
"LAND_vars_restart_open",*)
'Open restart file (LAND) '
598 log_info(
"LAND_vars_restart_open",*)
'basename: ', trim(basename)
602 if ( land_restart_in_check_coordinates )
then
603 call file_cartesc_check_coordinates( restart_fid, land=.true. )
607 log_info(
"LAND_vars_restart_open",*)
'restart file for land is not specified.'
626 if ( restart_fid /= -1 )
then
628 log_info(
"LAND_vars_restart_read",*)
'Read from restart file (LAND) '
630 call file_cartesc_read( restart_fid, var_name(i_temp),
'LXY', &
632 call file_cartesc_read( restart_fid, var_name(i_water),
'LXY', &
634 call file_cartesc_read( restart_fid, var_name(i_ice),
'LXY', &
636 allow_missing = .true. )
637 call file_cartesc_read( restart_fid, var_name(i_sfc_temp),
'XY', &
639 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir),
'XY', &
641 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif),
'XY', &
643 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir),
'XY', &
645 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif),
'XY', &
647 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir),
'XY', &
649 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif),
'XY', &
653 call file_cartesc_read( restart_fid, var_name(i_snow_sfc_temp),
'XY', &
655 call file_cartesc_read( restart_fid, var_name(i_snow_swe),
'XY', &
657 call file_cartesc_read( restart_fid, var_name(i_snow_depth),
'XY', &
659 call file_cartesc_read( restart_fid, var_name(i_snow_dzero),
'XY', &
661 call file_cartesc_read( restart_fid, var_name(i_snow_nosnowsec),
'XY', &
669 log_error(
"LAND_vars_restart_read",*)
'invalid restart file ID for land.'
692 call file_history_in(
land_temp(:,:,:), var_name(i_temp), var_desc(i_temp), var_unit(i_temp), dim_type=
'LXY', standard_name=var_stdn(i_temp) )
693 call file_history_in(
land_water(:,:,:), var_name(i_water), var_desc(i_water), var_unit(i_water), dim_type=
'LXY', standard_name=var_stdn(i_water) )
694 call file_history_in(
land_ice(:,:,:), var_name(i_ice), var_desc(i_ice), var_unit(i_ice), dim_type=
'LXY', standard_name=var_stdn(i_ice) )
702 call file_history_in( land_waterds(:,:,:), var_name(i_waterds), var_desc(i_waterds), var_unit(i_waterds), dim_type=
'LXY', fill_halo=.true., standard_name=var_stdn(i_waterds) )
705 call file_history_in(
land_sfc_temp(:,:), var_name(i_sfc_temp), &
706 var_desc(i_sfc_temp), var_unit(i_sfc_temp), standard_name=var_stdn(i_sfc_temp) )
708 var_desc(i_sfc_alb_ir_dir), var_unit(i_sfc_alb_ir_dir), standard_name=var_stdn(i_sfc_alb_ir_dir) )
710 var_desc(i_sfc_alb_ir_dif), var_unit(i_sfc_alb_ir_dif), standard_name=var_stdn(i_sfc_alb_ir_dif) )
712 var_desc(i_sfc_alb_nir_dir), var_unit(i_sfc_alb_nir_dir), standard_name=var_stdn(i_sfc_alb_nir_dir) )
714 var_desc(i_sfc_alb_nir_dif), var_unit(i_sfc_alb_nir_dif), standard_name=var_stdn(i_sfc_alb_nir_dif) )
716 var_desc(i_sfc_alb_vis_dir), var_unit(i_sfc_alb_vis_dir), standard_name=var_stdn(i_sfc_alb_vis_dir) )
718 var_desc(i_sfc_alb_vis_dif), var_unit(i_sfc_alb_vis_dif), standard_name=var_stdn(i_sfc_alb_vis_dif) )
721 call file_history_in(
snow_sfc_temp(:,:), var_name(i_snow_sfc_temp), &
722 var_desc(i_snow_sfc_temp), var_unit(i_snow_sfc_temp), standard_name=var_stdn(i_snow_sfc_temp) )
723 call file_history_in(
snow_swe(:,:), var_name(i_snow_swe), &
724 var_desc(i_snow_swe), var_unit(i_snow_swe), standard_name=var_stdn(i_snow_swe) )
725 call file_history_in(
snow_depth(:,:), var_name(i_snow_depth), &
726 var_desc(i_snow_depth), var_unit(i_snow_depth), standard_name=var_stdn(i_snow_depth) )
727 call file_history_in(
snow_dzero(:,:), var_name(i_snow_dzero), &
728 var_desc(i_snow_dzero), var_unit(i_snow_dzero), standard_name=var_stdn(i_snow_dzero) )
729 call file_history_in(
snow_nosnowsec(:,:), var_name(i_snow_nosnowsec), &
730 var_desc(i_snow_nosnowsec), var_unit(i_snow_nosnowsec), standard_name=var_stdn(i_snow_nosnowsec) )
733 call file_history_in(
land_sflx_gh(:,:),
'LAND_SFLX_GH', &
734 'land subsurface heat flux (downward)',
'J/m2/s' )
736 'land surface water mass flux (downward)',
'kg/m2/s' )
738 'land surface internal energy flux (downward)',
'kg/m2/s' )
740 call file_history_in(
land_runoff(:,:),
'LAND_RUNOFF', &
741 'runoff water',
'kg/m2/s' )
743 'internal energy of runoff water',
'J/m2/s' )
745 call file_history_in(
land_sflx_mw(:,:),
'LAND_SFLX_MW', &
746 'land surface w-momentum flux (upward)',
'kg/m2/s' )
747 call file_history_in(
land_sflx_mu(:,:),
'LAND_SFLX_MU', &
748 'land surface u-momentum flux (upward)',
'kg/m2/s' )
749 call file_history_in(
land_sflx_mv(:,:),
'LAND_SFLX_MV', &
750 'land surface v-momentum flux (upward)',
'kg/m2/s' )
751 call file_history_in(
land_sflx_sh(:,:),
'LAND_SFLX_SH', &
752 'land surface sensible heat flux (upward)',
'J/m2/s' )
753 call file_history_in(
land_sflx_lh(:,:),
'LAND_SFLX_LH', &
754 'land surface latent heat flux (upward)',
'J/m2/s' )
757 'land surface water vapor flux (upward)',
'kg/m2/s' )
759 call file_history_in(
land_u10(:,:),
'LAND_U10', &
760 'land 10m x-wind',
'm/s' )
761 call file_history_in(
land_v10(:,:),
'LAND_V10', &
762 'land 10m y-wind',
'm/s' )
763 call file_history_in(
land_t2(:,:),
'LAND_T2', &
764 'land 2m temperature',
'K' )
765 call file_history_in(
land_q2(:,:),
'LAND_Q2', &
766 'land 2m specific humidity',
'kg/kg' )
768 call file_history_in(
land_ustar(:,:),
'LAND_Ustar', &
769 'land friction velocity',
'm/s' )
770 call file_history_in(
land_tstar(:,:),
'LAND_Tstar', &
771 'land temperature scale',
'K' )
772 call file_history_in(
land_qstar(:,:),
'LAND_Qstar', &
773 'land moisture scale',
'kg/kg' )
774 call file_history_in(
land_wstar(:,:),
'LAND_Wstar', &
775 'land convective velocity scale',
'm/s' )
776 call file_history_in(
land_rlmo(:,:),
'LAND_RLmo', &
777 'land inversed Obukhov length',
'1/m' )
780 call file_history_in(
soil_ustar(:,:),
'SOIL_Ustar', &
781 'soil friction velocity',
'm/s' )
782 call file_history_in(
soil_tstar(:,:),
'SOIL_Tstar', &
783 'soil temperature scale',
'K' )
784 call file_history_in(
soil_qstar(:,:),
'SOIL_Qstar', &
785 'soil moisture scale',
'kg/kg' )
786 call file_history_in(
soil_wstar(:,:),
'SOIL_Wstar', &
787 'soil convective velocity scale',
'm/s' )
788 call file_history_in(
soil_rlmo(:,:),
'SOIL_RLmo', &
789 'soil inversed Obukhov length',
'1/m' )
791 call file_history_in(
snow_ustar(:,:),
'SNOW_Ustar', &
792 'snow friction velocity',
'm/s' )
793 call file_history_in(
snow_tstar(:,:),
'SNOW_Tstar', &
794 'snow temperature scale',
'K' )
795 call file_history_in(
snow_qstar(:,:),
'SNOW_Qstar', &
796 'snow moisture scale',
'kg/kg' )
797 call file_history_in(
snow_wstar(:,:),
'SNOW_Wstar', &
798 'snow convective velocity scale',
'm/s' )
799 call file_history_in(
snow_rlmo(:,:),
'SNOW_RLmo', &
800 'snow inversed Obukhov length',
'1/m' )
828 call monitor_put( monit_id(im_temp),
land_temp(:,:,:) )
829 if ( monit_id(im_water) > 0 )
then
838 call monitor_put( monit_id(im_water), work3d(:,:,:) )
840 if ( monit_id(im_ice) > 0 )
then
849 call monitor_put( monit_id(im_ice), work3d(:,:,:) )
855 call monitor_put( monit_id(im_roff),
land_runoff(:,:) )
856 if ( monit_id(im_masflx) > 0 )
then
863 call monitor_put( monit_id(im_masflx), work2d(:,:) )
867 if ( monit_id(im_engi) > 0 )
then
880 call monitor_put( monit_id(im_engi), work3d(:,:,:) )
882 if ( monit_id(im_w_engi) > 0 )
then
891 call monitor_put( monit_id(im_w_engi), work3d(:,:,:) )
893 if ( monit_id(im_i_engi) > 0 )
then
902 call monitor_put( monit_id(im_i_engi), work3d(:,:,:) )
906 call monitor_put( monit_id(im_engsfc_gh),
land_sflx_gh(:,:) )
909 if ( monit_id(im_engflx) > 0 )
then
917 call monitor_put( monit_id(im_engflx), work2d(:,:) )
938 logical,
intent(in),
optional :: force
942 if (
present(force) )
then
945 check = land_vars_checkrange
951 var_name(i_temp), __file__, __line__, &
955 var_name(i_water), __file__, __line__, &
959 var_name(i_ice), __file__, __line__, &
963 var_name(i_sfc_temp), __file__, __line__, &
967 var_name(i_sfc_alb_ir_dir ), __file__, __line__, &
971 var_name(i_sfc_alb_ir_dif ), __file__, __line__, &
975 var_name(i_sfc_alb_nir_dir), __file__, __line__, &
979 var_name(i_sfc_alb_nir_dif), __file__, __line__, &
983 var_name(i_sfc_alb_vis_dir), __file__, __line__, &
987 var_name(i_sfc_alb_vis_dif), __file__, __line__, &
993 var_name(i_snow_sfc_temp), __file__, __line__, &
997 var_name(i_snow_swe), __file__, __line__, &
1001 var_name(i_snow_depth), __file__, __line__, &
1006 var_name(i_snow_dzero), __file__, __line__, &
1012 if (
present(force) )
then
1030 land_ice(:,:,:), var_name(i_ice), &
1070 snow_swe(:,:), var_name(i_snow_swe), &
1094 subroutine land_param_read
1116 namelist / param_land_property / &
1119 namelist / param_land_data / &
1137 integer :: io_fid_land_property
1142 read(
io_fid_conf,nml=param_land_property,iostat=ierr)
1144 log_info(
"LAND_param_read",*)
'Not found namelist. Default used.'
1145 elseif( ierr > 0 )
then
1146 log_error(
"LAND_param_read",*)
'Not appropriate names in namelist PARAM_LAND_PROPERTY. Check!'
1149 log_nml(param_land_property)
1154 open( io_fid_land_property, &
1156 form =
'formatted', &
1160 if ( ierr /= 0 )
then
1161 log_error(
"LAND_param_read",*)
'Failed to open land parameter file! :', &
1166 log_info(
"LAND_param_read",*)
'Properties for each plant functional type (PFT)'
1167 log_info_cont(
'(12(1x,A))')
' PFT DESCRIPTION', &
1181 rewind(io_fid_land_property)
1198 read(io_fid_land_property,nml=param_land_data,iostat=ierr)
1199 if ( ierr < 0 )
then
1201 elseif( ierr > 0 )
then
1202 log_error(
"LAND_param_read",*)
'Not appropriate names in namelist PARAM_LAND_DATA. Check!'
1206 if( z0h < 0.0_rp )
then
1209 if( z0e < 0.0_rp )
then
1219 land_property_table(index,
i_alblw ) = alblw
1220 land_property_table(index,
i_albsw ) = albsw
1221 land_property_table(index,
i_z0m ) = z0m
1222 land_property_table(index,
i_z0h ) = z0h
1223 land_property_table(index,
i_z0e ) = z0e
1225 log_info_cont(
'(1x,A4,I4.3,1x,A32,4(1x,F7.3),2(1x,ES7.1),5(1x,F6.3))') &
1243 close( io_fid_land_property )
1248 end subroutine land_param_read
1255 real(
rp),
intent(in) :: ws(
lia,
lja)
1256 logical,
intent(in) :: critical
1261 integer :: i, j, num
1290 character(len=19) :: timelabel
1291 character(len=H_LONG) :: basename
1297 log_info(
"LAND_vars_restart_create",*)
'Create restart file (LAND) '
1306 log_info(
"LAND_vars_restart_create",*)
'basename: ', trim(basename)
1325 if ( restart_fid /= -1 )
then
1340 if ( restart_fid /= -1 )
then
1342 log_info(
"LAND_vars_restart_close",*)
'Close restart file (LAND) '
1361 if ( restart_fid /= -1 )
then
1363 do i = i_temp, i_ice
1365 var_name(i), var_desc(i), var_unit(i), &
1368 standard_name=var_stdn(i) )
1370 do i = i_sfc_temp, i_sfc_alb_vis_dif
1372 var_name(i), var_desc(i), var_unit(i), &
1375 standard_name=var_stdn(i) )
1379 do i = i_snow_sfc_temp, i_snow_nosnowsec
1381 var_name(i), var_desc(i), var_unit(i), &
1384 standard_name=var_stdn(i) )
1397 file_cartesc_write_var
1401 if ( restart_fid /= -1 )
then
1405 call file_cartesc_write_var( restart_fid, var_id(i_temp), &
1407 var_name(i_temp),
'LXY', fill_halo=.true. )
1408 call file_cartesc_write_var( restart_fid, var_id(i_water), &
1410 var_name(i_water),
'LXY', fill_halo=.true. )
1411 call file_cartesc_write_var( restart_fid, var_id(i_ice), &
1413 var_name(i_ice),
'LXY', fill_halo=.true. )
1414 call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), &
1416 var_name(i_sfc_temp),
'XY', fill_halo=.true. )
1417 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), &
1419 var_name(i_sfc_alb_ir_dir),
'XY', fill_halo=.true. )
1420 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), &
1422 var_name(i_sfc_alb_ir_dif),
'XY', fill_halo=.true. )
1423 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), &
1425 var_name(i_sfc_alb_nir_dir),
'XY', fill_halo=.true. )
1426 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), &
1428 var_name(i_sfc_alb_nir_dif),
'XY', fill_halo=.true. )
1429 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), &
1431 var_name(i_sfc_alb_vis_dir),
'XY', fill_halo=.true. )
1432 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), &
1434 var_name(i_sfc_alb_vis_dif),
'XY', fill_halo=.true. )
1437 call file_cartesc_write_var( restart_fid, var_id(i_snow_sfc_temp),
snow_sfc_temp(:,:), &
1438 var_name(i_snow_sfc_temp),
'XY', fill_halo=.true. )
1439 call file_cartesc_write_var( restart_fid, var_id(i_snow_swe),
snow_swe(:,:), &
1440 var_name(i_snow_swe),
'XY', fill_halo=.true. )
1441 call file_cartesc_write_var( restart_fid, var_id(i_snow_depth),
snow_depth(:,:), &
1442 var_name(i_snow_depth),
'XY', fill_halo=.true. )
1443 call file_cartesc_write_var( restart_fid, var_id(i_snow_dzero),
snow_dzero(:,:), &
1444 var_name(i_snow_dzero),
'XY', fill_halo=.true. )
1445 call file_cartesc_write_var( restart_fid, var_id(i_snow_nosnowsec),
snow_nosnowsec(:,:), &
1446 var_name(i_snow_nosnowsec),
'XY', fill_halo=.true. )
character(len=h_long), public land_restart_out_basename
Basename of the output file.
integer, parameter, public n_rad_dir
real(rp), dimension(:,:,:), allocatable, public land_temp
temperature of each soil layer [K]
subroutine, public prc_abort
Abort Process.
integer, parameter, public i_r_direct
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
real(rp), dimension(:,:), allocatable, public atmos_temp
real(rp), dimension(:,:), allocatable, public snow_sfc_temp
snow surface temperature [K]
real(rp), dimension(:,:), allocatable, public atmos_qv
integer, parameter, public i_stomataresist
real(rp), dimension(:,:), allocatable, public land_sflx_mu
land surface u-momentum flux [kg/m2/s]
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
real(rp), dimension(:,:), allocatable, target, public land_tstar
temperature scale [K]
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.
real(rp), dimension(:,:,:,:), allocatable, public land_sfc_albedo
land surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
integer, parameter, public i_r_diffuse
real(rp), dimension(:,:), allocatable, public land_sflx_engi
land surface internal energy flux [J/m2/s]
subroutine, public land_vars_history
History output set for land variables.
integer, parameter, public i_alblw
integer, parameter, public i_albsw
real(rp), dimension(:,:), allocatable, public atmos_w
real(rp), dimension(:,:), pointer, public soil_ustar
real(rp), dimension(:,:,:), allocatable, public land_water_t
tendency of LAND_WATER
real(rp), dimension(:,:,:), allocatable, public land_water
moisture of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_runoff
runoff of the land water [kg/m2/s]
integer, parameter, public i_r_ir
real(rp), dimension(:,:), allocatable, public atmos_u
subroutine, public prof_rapstart(rapname_base, level, disable_barrier)
Start raptime.
subroutine, public land_vars_restart_def_var
Define land variables in restart file.
module atmosphere / hydrometeor
character(len=h_mid), public land_restart_out_title
Title of the output file.
logical, public land_restart_in_aggregate
Switch to use aggregate file.
real(rp), dimension(:,:), allocatable, public land_sflx_mv
land surface v-momentum flux [kg/m2/s]
integer, parameter, public i_waterdiff
real(rp), dimension(:,:), allocatable, public atmos_cossza
real(rp), public land_grid_cartesc_real_totarea
total area
integer, parameter, public i_z0m
real(rp), dimension(:,:,:,:), allocatable, public atmos_sflx_rad_dn
real(rp), dimension(:,:,:), allocatable, public land_ice_t
tendency of LAND_ICE
integer function, public io_get_available_fid()
search & get available file ID
real(rp), dimension(:,:), allocatable, public snow_wstar
logical, dimension(:,:), allocatable, public landuse_exists_land
land calculation flag
real(rp), dimension(:,:), allocatable, public atmos_sflx_water
real(rp), dimension(:,:), pointer, public soil_rlmo
character(len=h_short), public snow_type
real(rp), dimension(:,:), allocatable, target, public land_rlmo
inversed Obukhov length [1/m]
subroutine, public land_vars_monitor
monitor output
real(rp), public land_grid_cartesc_real_totvol
total volume
real(rp), dimension(:,:), allocatable, public snow_tstar
real(rp), dimension(:,:), pointer, public soil_tstar
module land / grid / cartesianC / index
real(rp), dimension(:,:), allocatable, public land_sflx_gh
land surface heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_sflx_mw
land surface w-momentum flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public atmos_pres
subroutine, public land_vars_restart_write
Write land variables to restart file.
subroutine, public land_vars_restart_close
Close restart file.
integer, parameter, public rp
logical, public land_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
integer, parameter, public i_r_nir
real(rp), dimension(:,:), pointer, public soil_wstar
real(rp), dimension(:,:), allocatable, public land_sflx_sh
land surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, target, public land_wstar
convective velocity scale [m/s]
real(rp), dimension(:,:), allocatable, target, public land_ustar
friction velocity [m/s]
subroutine, public check(current_line, v)
Undefined value checker.
character(len=h_long), public land_property_in_filename
the file of land parameter table
real(rp), dimension(:,:,:), allocatable, public land_property
land surface property
real(rp), dimension(:,:,:), allocatable, public land_temp_t
tendency of LAND_TEMP
real(rp), dimension(:,:), allocatable, public snow_ustar
module land / grid / cartesianC / real
integer, dimension(:,:,:), allocatable, public landuse_index_pft
index of PFT for each mosaic
real(rp), dimension(:,:), allocatable, target, public land_qstar
moisture scale [kg/kg]
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
integer, public landuse_pft_nmax
number of plant functional type(PFT)
real(rp), dimension(:,:), allocatable, public land_sflx_water
land surface water flux [kg/m2/s]
logical, public land_restart_out_aggregate
Switch to use aggregate file.
subroutine, public land_vars_restart_open
Open land restart file for read.
integer, parameter, public land_property_nmax
real(rp), dimension(:,:), allocatable, public snow_nosnowsec
sec while no snow [s]
integer, parameter, public i_thermalcond
subroutine, public monitor_reg(name, desc, unit, itemid, ndims, dim_type, is_tendency)
Search existing item, or matching check between requested and registered item.
logical, public land_restart_output
Output restart file?
subroutine, public land_vars_restart_enddef
Exit netCDF define mode.
real(rp), dimension(:,:), allocatable, public land_runoff_engi
internal energy of the runoff [J/m2/s]
integer, parameter, public i_heatcapacity
character(len=h_long), public land_restart_in_basename
Basename of the input file.
character(len=h_short), public land_restart_out_dtype
REAL4 or REAL8.
real(rp), dimension(:,:), pointer, public soil_qstar
real(rp), dimension(:,:), allocatable, public snow_swe
snow water equivalent [kg/m2]
integer, parameter, public i_waterlimit
integer, parameter, public i_z0h
real(rp), dimension(:,:), allocatable, public land_q2
land surface water vapor at 2m [kg/kg]
integer, parameter, public i_z0e
real(rp) function, dimension(lia, lja), public convert_ws2vwc(WS, critical)
conversion from water saturation [fraction] to volumetric water content [m3/m3]
subroutine, public land_vars_check(force)
Budget monitor for land.
real(rp), dimension(:,:), allocatable, public atmos_dens
real(rp), parameter, public const_dwatr
density of water [kg/m3]
real(rp), dimension(:,:,:), allocatable, public land_grid_cartesc_real_vol
volume of grid cell
real(rp), dimension(:,:), allocatable, public land_sfc_temp
land surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public snow_qstar
subroutine, public land_vars_setup
Setup.
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
logical, public statistics_checktotal
calc&report variable totals to logfile?
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
subroutine, public time_gettimelabel(timelabel)
generate time label
module coupler / surface-atmospehre
real(rp), dimension(:,:), allocatable, public snow_depth
snow depth [m]
real(rp), dimension(:,:), allocatable, public land_u10
land surface velocity u at 10m [m/s]
integer, parameter, public i_r_vis
logical, public snow_flag
real(rp), dimension(:,:), allocatable, public atmos_sfc_dens
real(rp), public lhf
latent heat of fusion for use [J/kg]
logical function, public file_get_aggregate(fid)
real(rp), dimension(:,:), allocatable, public land_sflx_lh
land surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public land_v10
land surface velocity v at 10m [m/s]
subroutine, public prof_rapend(rapname_base, level, disable_barrier)
Save raptime.
character(len=h_mid), public description
subroutine, public land_vars_restart_create
Create land restart file.
real(rp), parameter, public const_dice
density of ice [kg/m3]
integer, parameter, public n_rad_rgn
subroutine, public land_vars_restart_read
Read land restart.
real(rp), dimension(:,:,:), allocatable, public land_ice
ice of each soil layer [m3/m3]
real(rp), dimension(:,:), allocatable, public land_t2
land surface temperature at 2m [K]
real(rp), public const_undef
real(rp), dimension(:,:), allocatable, public atmos_sflx_engi
real(rp), dimension(:,:), allocatable, public snow_rlmo
real(rp), dimension(:,:), allocatable, public atmos_pbl
integer, parameter, public i_watercritical
integer, public io_fid_conf
Config file ID.
real(rp), public cv_water
CV for water [J/kg/K].
real(rp), dimension(:,:), allocatable, public snow_dzero
snow depth at melting point [m]
real(rp), dimension(:,:), allocatable, public atmos_v
logical, public land_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
real(rp), dimension(:,:,:), allocatable, public land_sflx_qtrc
land surface tracer flux [kg/m2/s]
real(rp), public cv_ice
CV for ice [J/kg/K].
real(rp), dimension(:,:), allocatable, public land_grid_cartesc_real_area
area of grid cell
integer, parameter, public landuse_pft_nmin
minimum number of PFT type