!STARTOFREGISTRYGENERATEDINCLUDE 'inc/allocs.inc'
!
! WARNING This file is generated automatically by use_registry
! using the data base in the file named Registry.
! Do not edit. Your changes to this file will be lost.
!
#if 1
#endif
#if (NNN == 0)
IF(okay_to_alloc.AND.in_use_for_config(id,'lu_index'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%lu_index(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%lu_index(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%lu_index=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'lu_index'
grid%tail_statevars%DataName = 'LU_INDEX'
grid%tail_statevars%Description = 'LAND USE CATEGORY'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%lu_index
grid%tail_statevars%streams(1) = 234881027 ! 0e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%lu_index(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%lu_index(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'lu_mask').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%lu_mask(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%lu_mask(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%lu_mask=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'lu_mask'
grid%tail_statevars%DataName = 'LU_MASK'
grid%tail_statevars%Description = '0 land 1 water'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%lu_mask
grid%tail_statevars%streams(1) = 268435458 ! 10000002
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%lu_mask(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%lu_mask(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'znu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%znu(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znu(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%znu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'znu'
grid%tail_statevars%DataName = 'ZNU'
grid%tail_statevars%Description = 'eta values on half (mass) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%znu
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%znu(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znu(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'znw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%znw(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znw(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%znw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'znw'
grid%tail_statevars%DataName = 'ZNW'
grid%tail_statevars%Description = 'eta values on full (w) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%znw
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = kde
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( kde, kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top_stag'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%znw(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znw(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'zs').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%zs(1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zs(1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%zs=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'zs'
grid%tail_statevars%DataName = 'ZS'
grid%tail_statevars%Description = 'DEPTHS OF CENTERS OF SOIL LAYERS'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%zs
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = 1
grid%tail_statevars%ed1 = config_flags%num_soil_layers
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = 1
grid%tail_statevars%em1 = config_flags%num_soil_layers
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = 1
grid%tail_statevars%ep1 = config_flags%num_soil_layers
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'soil_layers_stag'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%zs(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zs(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'dzs').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%dzs(1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dzs(1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%dzs=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dzs'
grid%tail_statevars%DataName = 'DZS'
grid%tail_statevars%Description = 'THICKNESSES OF SOIL LAYERS'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%dzs
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = 1
grid%tail_statevars%ed1 = config_flags%num_soil_layers
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = 1
grid%tail_statevars%em1 = config_flags%num_soil_layers
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = 1
grid%tail_statevars%ep1 = config_flags%num_soil_layers
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'soil_layers_stag'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%dzs(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dzs(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%u_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u_1'
grid%tail_statevars%DataName = 'U_1'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%u_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%u_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%u_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u_2'
grid%tail_statevars%DataName = 'U_2'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%u_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%u_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_2(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_bxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_bxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_bys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_bye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_bye=initial_data_value
ELSE
ALLOCATE(grid%u_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bxs(1,1,1). ')
endif
ALLOCATE(grid%u_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bxe(1,1,1). ')
endif
ALLOCATE(grid%u_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bys(1,1,1). ')
endif
ALLOCATE(grid%u_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_btxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_btxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_btys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%u_btye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_btye=initial_data_value
ELSE
ALLOCATE(grid%u_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btxs(1,1,1). ')
endif
ALLOCATE(grid%u_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btxe(1,1,1). ')
endif
ALLOCATE(grid%u_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btys(1,1,1). ')
endif
ALLOCATE(grid%u_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ru').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ru(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ru=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ru'
grid%tail_statevars%DataName = 'MU_U'
grid%tail_statevars%Description = 'mu-coupled u'
grid%tail_statevars%Units = 'Pa m s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ru
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ru(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ru_m').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ru_m(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru_m(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ru_m=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ru_m'
grid%tail_statevars%DataName = 'RU_M'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ru_m
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ru_m(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru_m(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ru_tend').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ru_tend(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru_tend(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ru_tend=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ru_tend'
grid%tail_statevars%DataName = 'RU_TEND'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ru_tend
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ru_tend(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ru_tend(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%v_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v_1'
grid%tail_statevars%DataName = 'V_1'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%v_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%v_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%v_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v_2'
grid%tail_statevars%DataName = 'V_2'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%v_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%v_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_2(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_bxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_bxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_bys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_bye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_bye=initial_data_value
ELSE
ALLOCATE(grid%v_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bxs(1,1,1). ')
endif
ALLOCATE(grid%v_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bxe(1,1,1). ')
endif
ALLOCATE(grid%v_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bys(1,1,1). ')
endif
ALLOCATE(grid%v_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_btxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_btxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_btys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%v_btye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_btye=initial_data_value
ELSE
ALLOCATE(grid%v_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btxs(1,1,1). ')
endif
ALLOCATE(grid%v_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btxe(1,1,1). ')
endif
ALLOCATE(grid%v_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btys(1,1,1). ')
endif
ALLOCATE(grid%v_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rv(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rv'
grid%tail_statevars%DataName = 'MU_V'
grid%tail_statevars%Description = 'mu-coupled v'
grid%tail_statevars%Units = 'Pa m s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%rv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%rv(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rv_m').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rv_m(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv_m(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rv_m=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rv_m'
grid%tail_statevars%DataName = 'RV_M'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%rv_m
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%rv_m(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv_m(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rv_tend').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rv_tend(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv_tend(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rv_tend=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rv_tend'
grid%tail_statevars%DataName = 'RV_TEND'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%rv_tend
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%rv_tend(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rv_tend(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'w_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%w_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'w_1'
grid%tail_statevars%DataName = 'W_1'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%w_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%w_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'w_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%w_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'w_2'
grid%tail_statevars%DataName = 'W_2'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%w_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%w_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_2(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_bxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_bxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_bys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_bye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_bye=initial_data_value
ELSE
ALLOCATE(grid%w_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bxs(1,1,1). ')
endif
ALLOCATE(grid%w_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bxe(1,1,1). ')
endif
ALLOCATE(grid%w_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bys(1,1,1). ')
endif
ALLOCATE(grid%w_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_btxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_btxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_btys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%w_btye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%w_btye=initial_data_value
ELSE
ALLOCATE(grid%w_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btxs(1,1,1). ')
endif
ALLOCATE(grid%w_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btxe(1,1,1). ')
endif
ALLOCATE(grid%w_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btys(1,1,1). ')
endif
ALLOCATE(grid%w_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%w_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ph_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ph_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ph_1'
grid%tail_statevars%DataName = 'PH_1'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ph_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%ph_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ph_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ph_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ph_2'
grid%tail_statevars%DataName = 'PH_2'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ph_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%ph_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_2(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_bxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_bxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_bys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_bye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_bye=initial_data_value
ELSE
ALLOCATE(grid%ph_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bxs(1,1,1). ')
endif
ALLOCATE(grid%ph_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bxe(1,1,1). ')
endif
ALLOCATE(grid%ph_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bys(1,1,1). ')
endif
ALLOCATE(grid%ph_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_btxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_btxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_btys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%ph_btye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph_btye=initial_data_value
ELSE
ALLOCATE(grid%ph_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btxs(1,1,1). ')
endif
ALLOCATE(grid%ph_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btxe(1,1,1). ')
endif
ALLOCATE(grid%ph_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btys(1,1,1). ')
endif
ALLOCATE(grid%ph_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'phb'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%phb(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%phb(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%phb=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'phb'
grid%tail_statevars%DataName = 'PHB'
grid%tail_statevars%Description = 'base-state geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%phb
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%phb(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%phb(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ph0').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%ph0(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph0(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ph0=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ph0'
grid%tail_statevars%DataName = 'PH0'
grid%tail_statevars%Description = 'initial geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%ph0
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%ph0(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ph0(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'php').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%php(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%php(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%php=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'php'
grid%tail_statevars%DataName = 'PHP'
grid%tail_statevars%Description = 'geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%php
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%php(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%php(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%t_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't_1'
grid%tail_statevars%DataName = 'T_1'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%t_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%t_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%t_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't_2'
grid%tail_statevars%DataName = 'T_2'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%t_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%t_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_2(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_bxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_bxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_bys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_bye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_bye=initial_data_value
ELSE
ALLOCATE(grid%t_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bxs(1,1,1). ')
endif
ALLOCATE(grid%t_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bxe(1,1,1). ')
endif
ALLOCATE(grid%t_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bys(1,1,1). ')
endif
ALLOCATE(grid%t_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_btxs(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btxs(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_btxe(sm32:em32,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btxe(sm32:em32,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_btys(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btys(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%t_btye(sm31:em31,sm33:em33,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btye(sm31:em31,sm33:em33,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_btye=initial_data_value
ELSE
ALLOCATE(grid%t_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btxs(1,1,1). ')
endif
ALLOCATE(grid%t_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btxe(1,1,1). ')
endif
ALLOCATE(grid%t_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btys(1,1,1). ')
endif
ALLOCATE(grid%t_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t_init').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%t_init(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_init(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_init=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't_init'
grid%tail_statevars%DataName = 'T_INIT'
grid%tail_statevars%Description = 'initial potential temperature'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%t_init
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%t_init(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_init(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mu_1').AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mu_1(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_1(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mu_1'
grid%tail_statevars%DataName = 'MU_1'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mu_1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mu_1(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_1(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mu_2').AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mu_2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mu_2'
grid%tail_statevars%DataName = 'MU_2'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mu_2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mu_2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_2(1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_bxs(sm32:em32,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bxs(sm32:em32,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_bxe(sm32:em32,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bxe(sm32:em32,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_bys(sm31:em31,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bys(sm31:em31,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_bye(sm31:em31,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bye(sm31:em31,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_bye=initial_data_value
ELSE
ALLOCATE(grid%mu_bxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bxs(1,1,1). ')
endif
ALLOCATE(grid%mu_bxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bxe(1,1,1). ')
endif
ALLOCATE(grid%mu_bys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bys(1,1,1). ')
endif
ALLOCATE(grid%mu_bye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_bye(1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_btxs(sm32:em32,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btxs(sm32:em32,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_btxe(sm32:em32,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btxe(sm32:em32,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_btys(sm31:em31,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btys(sm31:em31,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(spec_bdy_width))) * RWORDSIZE
ALLOCATE(grid%mu_btye(sm31:em31,1,spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btye(sm31:em31,1,spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu_btye=initial_data_value
ELSE
ALLOCATE(grid%mu_btxs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btxs(1,1,1). ')
endif
ALLOCATE(grid%mu_btxe(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btxe(1,1,1). ')
endif
ALLOCATE(grid%mu_btys(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btys(1,1,1). ')
endif
ALLOCATE(grid%mu_btye(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu_btye(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mub'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mub(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mub(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mub=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mub'
grid%tail_statevars%DataName = 'MUB'
grid%tail_statevars%Description = 'base state dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mub
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mub(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mub(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mu0').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mu0(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu0(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mu0=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mu0'
grid%tail_statevars%DataName = 'MU0'
grid%tail_statevars%Description = 'initial dry mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mu0
grid%tail_statevars%streams(1) = 67108864 ! 04000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mu0(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mu0(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mudf').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mudf(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mudf(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mudf=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mudf'
grid%tail_statevars%DataName = 'MUDF'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mudf
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mudf(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mudf(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'muu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%muu(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muu(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%muu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'muu'
grid%tail_statevars%DataName = 'MUU'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%muu
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%muu(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muu(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'muv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%muv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%muv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'muv'
grid%tail_statevars%DataName = 'MUV'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%muv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%muv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mut').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mut(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mut(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mut=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mut'
grid%tail_statevars%DataName = 'MUT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mut
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mut(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mut(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'muts').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%muts(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muts(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%muts=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'muts'
grid%tail_statevars%DataName = 'MUTS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%muts
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%muts(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%muts(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p'
grid%tail_statevars%DataName = 'P'
grid%tail_statevars%Description = 'perturbation pressure'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%p
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'al').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%al(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%al(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%al=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'al'
grid%tail_statevars%DataName = 'AL'
grid%tail_statevars%Description = 'inverse perturbation density'
grid%tail_statevars%Units = 'm3 kg-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%al
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%al(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%al(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%alt(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%alt(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%alt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alt'
grid%tail_statevars%DataName = 'ALT'
grid%tail_statevars%Description = 'inverse density'
grid%tail_statevars%Units = 'm3 kg-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%alt
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%alt(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%alt(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alb'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%alb(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%alb(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%alb=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alb'
grid%tail_statevars%DataName = 'ALB'
grid%tail_statevars%Description = 'inverse base density'
grid%tail_statevars%Units = 'm3 kg-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%alb
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%alb(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%alb(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'zx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%zx(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zx(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%zx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'zx'
grid%tail_statevars%DataName = 'ZX'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%zx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%zx(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zx(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'zy').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%zy(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zy(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%zy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'zy'
grid%tail_statevars%DataName = 'ZY'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%zy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%zy(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%zy(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rdz').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rdz(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdz(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rdz=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rdz'
grid%tail_statevars%DataName = 'RDZ'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%rdz
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%rdz(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdz(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rdzw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rdzw(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdzw(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rdzw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rdzw'
grid%tail_statevars%DataName = 'RDZW'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%rdzw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%rdzw(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdzw(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'pb'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%pb(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%pb(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%pb=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'pb'
grid%tail_statevars%DataName = 'PB'
grid%tail_statevars%Description = 'BASE STATE PRESSURE '
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%pb
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%pb(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%pb(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'fnm').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%fnm(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fnm(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%fnm=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'fnm'
grid%tail_statevars%DataName = 'FNM'
grid%tail_statevars%Description = 'upper weight for vertical stretching'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%fnm
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%fnm(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fnm(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'fnp').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%fnp(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fnp(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%fnp=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'fnp'
grid%tail_statevars%DataName = 'FNP'
grid%tail_statevars%Description = 'lower weight for vertical stretching'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%fnp
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%fnp(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fnp(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rdnw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rdnw(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdnw(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rdnw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rdnw'
grid%tail_statevars%DataName = 'RDNW'
grid%tail_statevars%Description = 'inverse d(eta) values between full (w) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%rdnw
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%rdnw(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdnw(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rdn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%rdn(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdn(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rdn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rdn'
grid%tail_statevars%DataName = 'RDN'
grid%tail_statevars%Description = 'inverse d(eta) values between half (mass) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%rdn
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%rdn(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rdn(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'dnw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%dnw(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dnw(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%dnw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dnw'
grid%tail_statevars%DataName = 'DNW'
grid%tail_statevars%Description = 'd(eta) values between full (w) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%dnw
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%dnw(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dnw(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'dn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%dn(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dn(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%dn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dn'
grid%tail_statevars%DataName = 'DN '
grid%tail_statevars%Description = 'd(eta) values between half (mass) levels'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%dn
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%dn(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dn(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t_base').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%t_base(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_base(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t_base=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't_base'
grid%tail_statevars%DataName = 'T_BASE'
grid%tail_statevars%Description = 'BASE STATE T IN IDEALIZED CASES'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%t_base
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%t_base(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t_base(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'z').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%z(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%z=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'z'
grid%tail_statevars%DataName = 'Z'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%z
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%z(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'z_at_w').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%z_at_w(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z_at_w(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%z_at_w=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'z_at_w'
grid%tail_statevars%DataName = 'Z_AT_W'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%z_at_w
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%z_at_w(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z_at_w(1,1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'cfn'
grid%tail_statevars%DataName = 'CFN'
grid%tail_statevars%Description = 'extrapolation constant'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%cfn
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%cfn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'cfn1'
grid%tail_statevars%DataName = 'CFN1'
grid%tail_statevars%Description = 'extrapolation constant'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%cfn1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%cfn1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'step_number'
grid%tail_statevars%DataName = 'STEP_NUMBER'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%step_number
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%step_number=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'this_is_an_ideal_run'
grid%tail_statevars%DataName = 'THIS_IS_AN_IDEAL_RUN'
grid%tail_statevars%Description = 'T/F flag: this is an ARW ideal simulation'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%this_is_an_ideal_run
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%this_is_an_ideal_run=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'stepping_to_time'
grid%tail_statevars%DataName = 'STEPPING_TO_TIME'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%stepping_to_time
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%stepping_to_time=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'last_step_updated'
grid%tail_statevars%DataName = 'LAST_STEP_UPDATED'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%last_step_updated
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%last_step_updated=0
IF(okay_to_alloc.AND.in_use_for_config(id,'p_hyd').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%p_hyd(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p_hyd(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%p_hyd=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p_hyd'
grid%tail_statevars%DataName = 'P_HYD'
grid%tail_statevars%Description = 'hydrostatic pressure'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%p_hyd
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%p_hyd(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p_hyd(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'p_hyd_w').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%p_hyd_w(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p_hyd_w(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%p_hyd_w=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p_hyd_w'
grid%tail_statevars%DataName = 'P_HYD_W'
grid%tail_statevars%Description = 'hydrostatic pressure at full levels'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%p_hyd_w
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%p_hyd_w(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%p_hyd_w(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q2'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%q2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%q2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%q2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q2'
grid%tail_statevars%DataName = 'Q2'
grid%tail_statevars%Description = 'QV at 2 M'
grid%tail_statevars%Units = 'kg kg-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%q2
grid%tail_statevars%streams(1) = 41943041 ! 02800001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%q2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%q2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t2'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%t2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%t2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't2'
grid%tail_statevars%DataName = 'T2'
grid%tail_statevars%Description = 'TEMP at 2 M'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%t2
grid%tail_statevars%streams(1) = 109051905 ! 06800001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%t2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%t2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'th2'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%th2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%th2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%th2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'th2'
grid%tail_statevars%DataName = 'TH2'
grid%tail_statevars%Description = 'POT TEMP at 2 M'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%th2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%th2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%th2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'psfc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%psfc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%psfc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%psfc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'psfc'
grid%tail_statevars%DataName = 'PSFC'
grid%tail_statevars%Description = 'SFC PRESSURE'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%psfc
grid%tail_statevars%streams(1) = 100663297 ! 06000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%psfc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%psfc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qsfc').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%qsfc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qsfc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qsfc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qsfc'
grid%tail_statevars%DataName = 'QSFC'
grid%tail_statevars%Description = 'SPECIFIC HUMIDITY AT LOWER BOUNDARY'
grid%tail_statevars%Units = 'kg kg-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%qsfc
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%qsfc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qsfc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u10'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%u10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u10'
grid%tail_statevars%DataName = 'U10'
grid%tail_statevars%Description = 'U at 10 M'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%u10
grid%tail_statevars%streams(1) = 33554435 ! 02000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%u10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%v10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = 'V at 10 M'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%v10
grid%tail_statevars%streams(1) = 33554435 ! 02000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%v10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v10(1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'rdx'
grid%tail_statevars%DataName = 'RDX'
grid%tail_statevars%Description = 'INVERSE X GRID LENGTH'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%rdx
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%rdx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'rdy'
grid%tail_statevars%DataName = 'RDY'
grid%tail_statevars%Description = 'INVERSE Y GRID LENGTH'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%rdy
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%rdy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'dts'
grid%tail_statevars%DataName = 'DTS'
grid%tail_statevars%Description = 'SMALL TIMESTEP'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%dts
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%dts=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'dtseps'
grid%tail_statevars%DataName = 'DTSEPS'
grid%tail_statevars%Description = 'TIME WEIGHT CONSTANT FOR SMALL STEPS'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%dtseps
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%dtseps=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'resm'
grid%tail_statevars%DataName = 'RESM'
grid%tail_statevars%Description = 'TIME WEIGHT CONSTANT FOR SMALL STEPS'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%resm
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%resm=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'zetatop'
grid%tail_statevars%DataName = 'ZETATOP'
grid%tail_statevars%Description = 'ZETA AT MODEL TOP'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%zetatop
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%zetatop=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'cf1'
grid%tail_statevars%DataName = 'CF1'
grid%tail_statevars%Description = '2nd order extrapolation constant'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%cf1
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%cf1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'cf2'
grid%tail_statevars%DataName = 'CF2'
grid%tail_statevars%Description = '2nd order extrapolation constant'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%cf2
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%cf2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'cf3'
grid%tail_statevars%DataName = 'CF3'
grid%tail_statevars%Description = '2nd order extrapolation constant'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%cf3
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%cf3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'itimestep'
grid%tail_statevars%DataName = 'ITIMESTEP'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%itimestep
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%itimestep=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'xtime'
grid%tail_statevars%DataName = 'XTIME'
grid%tail_statevars%Description = 'minutes since simulation start'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%xtime
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xtime=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'julian'
grid%tail_statevars%DataName = 'JULIAN'
grid%tail_statevars%Description = 'day of year, 0.0 at 0Z on 1 Jan.'
grid%tail_statevars%Units = 'days'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%julian
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%julian=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'lbc_fid'
grid%tail_statevars%DataName = 'LBC_FID'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%lbc_fid
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%lbc_fid=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'tiled'
grid%tail_statevars%DataName = 'TILED'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%tiled
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%tiled=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'patched'
grid%tail_statevars%DataName = 'PATCHED'
grid%tail_statevars%Description = ''
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%patched
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%patched=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'press_adj'
grid%tail_statevars%DataName = 'PRESS_ADJ'
grid%tail_statevars%Description = 'T/F flag adjust mu'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%press_adj
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%press_adj=.FALSE.
IF(okay_to_alloc.AND.in_use_for_config(id,'imask_nostag').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%imask_nostag(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_nostag(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%imask_nostag=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'imask_nostag'
grid%tail_statevars%DataName = 'IMASK_NOSTAG'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%imask_nostag
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%imask_nostag(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_nostag(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'imask_xstag').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%imask_xstag(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_xstag(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%imask_xstag=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'imask_xstag'
grid%tail_statevars%DataName = 'IMASK_XSTAG'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%imask_xstag
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%imask_xstag(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_xstag(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'imask_ystag').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%imask_ystag(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_ystag(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%imask_ystag=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'imask_ystag'
grid%tail_statevars%DataName = 'IMASK_YSTAG'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%imask_ystag
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%imask_ystag(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_ystag(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'imask_xystag').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%imask_xystag(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_xystag(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%imask_xystag=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'imask_xystag'
grid%tail_statevars%DataName = 'IMASK_XYSTAG'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'XY'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%imask_xystag
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%imask_xystag(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%imask_xystag(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'moist'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist(sm31:em31,sm32:em32,sm33:em33,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist(sm31:em31,sm32:em32,sm33:em33,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'moist'
grid%tail_statevars%DataName = 'MOIST'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%moist
grid%tail_statevars%num_table => moist_num_table
grid%tail_statevars%index_table => moist_index_table
grid%tail_statevars%boundary_table => moist_boundary_table
grid%tail_statevars%dname_table => moist_dname_table
grid%tail_statevars%desc_table => moist_desc_table
grid%tail_statevars%units_table => moist_units_table
grid%tail_statevars%streams_table => moist_streams_table
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%moist(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist(1,1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_bys(sm31:em31,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bys(sm31:em31,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_bye(sm31:em31,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bye(sm31:em31,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_bye=initial_data_value
ELSE
ALLOCATE(grid%moist_bxs(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bxs(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_bxe(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bxe(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_bys(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bys(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_bye(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_bye(1,1,1,num_moist). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_btys(sm31:em31,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btys(sm31:em31,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_moist)) * RWORDSIZE
ALLOCATE(grid%moist_btye(sm31:em31,sm33:em33,spec_bdy_width,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btye(sm31:em31,sm33:em33,spec_bdy_width,num_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%moist_btye=initial_data_value
ELSE
ALLOCATE(grid%moist_btxs(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btxs(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_btxe(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btxe(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_btys(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btys(1,1,1,num_moist). ')
endif
ALLOCATE(grid%moist_btye(1,1,1,num_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%moist_btye(1,1,1,num_moist). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'scalar'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar(sm31:em31,sm32:em32,sm33:em33,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar(sm31:em31,sm32:em32,sm33:em33,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'scalar'
grid%tail_statevars%DataName = 'SCALAR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%scalar
grid%tail_statevars%num_table => scalar_num_table
grid%tail_statevars%index_table => scalar_index_table
grid%tail_statevars%boundary_table => scalar_boundary_table
grid%tail_statevars%dname_table => scalar_dname_table
grid%tail_statevars%desc_table => scalar_desc_table
grid%tail_statevars%units_table => scalar_units_table
grid%tail_statevars%streams_table => scalar_streams_table
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%scalar(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar(1,1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_bys(sm31:em31,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bys(sm31:em31,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_bye(sm31:em31,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bye(sm31:em31,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_bye=initial_data_value
ELSE
ALLOCATE(grid%scalar_bxs(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bxs(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_bxe(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bxe(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_bys(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bys(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_bye(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_bye(1,1,1,num_scalar). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_btys(sm31:em31,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btys(sm31:em31,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_scalar)) * RWORDSIZE
ALLOCATE(grid%scalar_btye(sm31:em31,sm33:em33,spec_bdy_width,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btye(sm31:em31,sm33:em33,spec_bdy_width,num_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%scalar_btye=initial_data_value
ELSE
ALLOCATE(grid%scalar_btxs(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btxs(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_btxe(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btxe(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_btys(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btys(1,1,1,num_scalar). ')
endif
ALLOCATE(grid%scalar_btye(1,1,1,num_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%scalar_btye(1,1,1,num_scalar). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'fcx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((model_config_rec%spec_bdy_width)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%fcx(1:model_config_rec%spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fcx(1:model_config_rec%spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%fcx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'fcx'
grid%tail_statevars%DataName = 'FCX'
grid%tail_statevars%Description = 'RELAXATION TERM FOR BOUNDARY ZONE'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'C'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%fcx
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = 1
grid%tail_statevars%ed1 = config_flags%spec_bdy_width
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = 1
grid%tail_statevars%em1 = config_flags%spec_bdy_width
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = 1
grid%tail_statevars%ep1 = config_flags%spec_bdy_width
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = ''
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%fcx(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%fcx(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'gcx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((model_config_rec%spec_bdy_width)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%gcx(1:model_config_rec%spec_bdy_width),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%gcx(1:model_config_rec%spec_bdy_width). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%gcx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'gcx'
grid%tail_statevars%DataName = 'GCX'
grid%tail_statevars%Description = '2ND RELAXATION TERM FOR BOUNDARY ZONE'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'C'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%gcx
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = 1
grid%tail_statevars%ed1 = config_flags%spec_bdy_width
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = 1
grid%tail_statevars%em1 = config_flags%spec_bdy_width
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = 1
grid%tail_statevars%ep1 = config_flags%spec_bdy_width
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = ''
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%gcx(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%gcx(1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'dtbc'
grid%tail_statevars%DataName = 'DTBC'
grid%tail_statevars%Description = 'TIME SINCE BOUNDARY READ'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%dtbc
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%dtbc=initial_data_value
IF(okay_to_alloc.AND.in_use_for_config(id,'smois'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%smois(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%smois(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%smois=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'smois'
grid%tail_statevars%DataName = 'SMOIS'
grid%tail_statevars%Description = 'SOIL MOISTURE'
grid%tail_statevars%Units = 'm3 m-3'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%smois
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = config_flags%num_soil_layers
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = config_flags%num_soil_layers
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = config_flags%num_soil_layers
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'soil_layers_stag'
ENDIF
ELSE
ALLOCATE(grid%smois(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%smois(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'sh2o'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%sh2o(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sh2o(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%sh2o=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'sh2o'
grid%tail_statevars%DataName = 'SH2O'
grid%tail_statevars%Description = 'SOIL LIQUID WATER'
grid%tail_statevars%Units = 'm3 m-3'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%sh2o
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = config_flags%num_soil_layers
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = config_flags%num_soil_layers
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = config_flags%num_soil_layers
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'soil_layers_stag'
ENDIF
ELSE
ALLOCATE(grid%sh2o(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sh2o(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'smcrel'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%smcrel(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%smcrel(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%smcrel=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'smcrel'
grid%tail_statevars%DataName = 'SMCREL'
grid%tail_statevars%Description = 'RELATIVE SOIL MOISTURE'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%smcrel
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = config_flags%num_soil_layers
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = config_flags%num_soil_layers
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = config_flags%num_soil_layers
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'soil_layers_stag'
ENDIF
ELSE
ALLOCATE(grid%smcrel(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%smcrel(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xice'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xice(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xice(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xice=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xice'
grid%tail_statevars%DataName = 'SEAICE'
grid%tail_statevars%Description = 'SEA ICE FLAG'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xice
grid%tail_statevars%streams(1) = 771751937 ! 2e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xice(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xice(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ivgtyp'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%ivgtyp(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ivgtyp(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ivgtyp=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ivgtyp'
grid%tail_statevars%DataName = 'IVGTYP'
grid%tail_statevars%Description = 'DOMINANT VEGETATION CATEGORY'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%ivgtyp
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ivgtyp(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ivgtyp(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'isltyp'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%isltyp(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%isltyp(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%isltyp=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'isltyp'
grid%tail_statevars%DataName = 'ISLTYP'
grid%tail_statevars%Description = 'DOMINANT SOIL CATEGORY'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%isltyp
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%isltyp(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%isltyp(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'vegfra'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%vegfra(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vegfra(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vegfra=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'vegfra'
grid%tail_statevars%DataName = 'VEGFRA'
grid%tail_statevars%Description = 'VEGETATION FRACTION'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%vegfra
grid%tail_statevars%streams(1) = 704643073 ! 2a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%vegfra(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vegfra(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snow'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%snow(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snow(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%snow=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snow'
grid%tail_statevars%DataName = 'SNOW'
grid%tail_statevars%Description = 'SNOW WATER EQUIVALENT'
grid%tail_statevars%Units = 'kg m-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%snow
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%snow(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snow(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snowh'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%snowh(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snowh(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%snowh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snowh'
grid%tail_statevars%DataName = 'SNOWH'
grid%tail_statevars%Description = 'PHYSICAL SNOW DEPTH'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%snowh
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%snowh(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snowh(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'htop').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%htop(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%htop(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%htop=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'htop'
grid%tail_statevars%DataName = 'HTOP'
grid%tail_statevars%Description = 'TOP OF CONVECTION LEVEL'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%htop
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%htop(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%htop(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'hbot').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%hbot(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%hbot(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%hbot=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'hbot'
grid%tail_statevars%DataName = 'HBOT'
grid%tail_statevars%Description = 'BOT OF CONVECTION LEVEL'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%hbot
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%hbot(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%hbot(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tslb'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((model_config_rec%num_soil_layers)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%tslb(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tslb(sm31:em31,sm32:em32,1:model_config_rec%num_soil_layers). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tslb=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tslb'
grid%tail_statevars%DataName = 'TSLB'
grid%tail_statevars%Description = 'SOIL TEMPERATURE'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%tslb
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = config_flags%num_soil_layers
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = config_flags%num_soil_layers
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = config_flags%num_soil_layers
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'soil_layers_stag'
ENDIF
ELSE
ALLOCATE(grid%tslb(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tslb(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msft'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msft(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msft(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msft=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msft'
grid%tail_statevars%DataName = 'MAPFAC_M'
grid%tail_statevars%Description = 'Map scale factor on mass grid'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msft
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msft(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msft(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfu'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfu(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfu(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfu'
grid%tail_statevars%DataName = 'MAPFAC_U'
grid%tail_statevars%Description = 'Map scale factor on u-grid'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfu
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfu(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfu(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfv'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfv'
grid%tail_statevars%DataName = 'MAPFAC_V'
grid%tail_statevars%Description = 'Map scale factor on v-grid'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfv
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msftx'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msftx(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msftx(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msftx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msftx'
grid%tail_statevars%DataName = 'MAPFAC_MX'
grid%tail_statevars%Description = 'Map scale factor on mass grid, x direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msftx
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msftx(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msftx(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfty'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfty(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfty(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfty=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfty'
grid%tail_statevars%DataName = 'MAPFAC_MY'
grid%tail_statevars%Description = 'Map scale factor on mass grid, y direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfty
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfty(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfty(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfux'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfux(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfux(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfux=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfux'
grid%tail_statevars%DataName = 'MAPFAC_UX'
grid%tail_statevars%Description = 'Map scale factor on u-grid, x direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfux
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfux(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfux(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfuy'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfuy(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfuy(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfuy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfuy'
grid%tail_statevars%DataName = 'MAPFAC_UY'
grid%tail_statevars%Description = 'Map scale factor on u-grid, y direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfuy
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfuy(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfuy(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfvx'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfvx(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvx(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfvx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfvx'
grid%tail_statevars%DataName = 'MAPFAC_VX'
grid%tail_statevars%Description = 'Map scale factor on v-grid, x direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfvx
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfvx(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvx(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfvx_inv'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfvx_inv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvx_inv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfvx_inv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfvx_inv'
grid%tail_statevars%DataName = 'MF_VX_INV'
grid%tail_statevars%Description = 'Inverse map scale factor on v-grid, x direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfvx_inv
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfvx_inv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvx_inv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'msfvy'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%msfvy(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvy(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%msfvy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'msfvy'
grid%tail_statevars%DataName = 'MAPFAC_VY'
grid%tail_statevars%Description = 'Map scale factor on v-grid, y direction'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%msfvy
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%msfvy(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%msfvy(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'f'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%f(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%f(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%f=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'f'
grid%tail_statevars%DataName = 'F'
grid%tail_statevars%Description = 'Coriolis sine latitude term'
grid%tail_statevars%Units = 's-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%f
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%f(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%f(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'e'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%e(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%e(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%e=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'e'
grid%tail_statevars%DataName = 'E'
grid%tail_statevars%Description = 'Coriolis cosine latitude term'
grid%tail_statevars%Units = 's-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%e
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%e(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%e(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'sina'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%sina(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sina(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%sina=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'sina'
grid%tail_statevars%DataName = 'SINALPHA'
grid%tail_statevars%Description = 'Local sine of map rotation'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%sina
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%sina(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sina(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'cosa'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%cosa(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%cosa(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%cosa=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'cosa'
grid%tail_statevars%DataName = 'COSALPHA'
grid%tail_statevars%Description = 'Local cosine of map rotation'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%cosa
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%cosa(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%cosa(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ht'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%ht(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ht=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ht'
grid%tail_statevars%DataName = 'HGT'
grid%tail_statevars%Description = 'Terrain Height'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%ht
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ht(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ht_fine').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%ht_fine(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_fine(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ht_fine=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ht_fine'
grid%tail_statevars%DataName = 'HGT_FINE'
grid%tail_statevars%Description = 'Fine Terrain Height'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%ht_fine
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ht_fine(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_fine(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ht_int').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%ht_int(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_int(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ht_int=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ht_int'
grid%tail_statevars%DataName = 'HGT_INT'
grid%tail_statevars%Description = 'Terrain Height Horizontally Interpolated'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%ht_int
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ht_int(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_int(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ht_input').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%ht_input(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_input(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ht_input=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ht_input'
grid%tail_statevars%DataName = 'HGT_INPUT'
grid%tail_statevars%Description = 'Terrain Height from FG Input File'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%ht_input
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ht_input(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ht_input(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tsk'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%tsk(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tsk(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tsk=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tsk'
grid%tail_statevars%DataName = 'TSK'
grid%tail_statevars%Description = 'SURFACE SKIN TEMPERATURE'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%tsk
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%tsk(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tsk(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u_base').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%u_base(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_base(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%u_base=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u_base'
grid%tail_statevars%DataName = 'U_BASE'
grid%tail_statevars%Description = 'BASE STATE X WIND IN IDEALIZED CASES'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%u_base
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%u_base(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%u_base(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v_base').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%v_base(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_base(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%v_base=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v_base'
grid%tail_statevars%DataName = 'V_BASE'
grid%tail_statevars%Description = 'BASE STATE Y WIND IN IDEALIZED CASES'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%v_base
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%v_base(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%v_base(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qv_base').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%qv_base(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qv_base(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qv_base=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qv_base'
grid%tail_statevars%DataName = 'QV_BASE'
grid%tail_statevars%Description = 'BASE STATE QV IN IDEALIZED CASES'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%qv_base
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%qv_base(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qv_base(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'z_base').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%z_base(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z_base(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%z_base=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'z_base'
grid%tail_statevars%DataName = 'Z_BASE'
grid%tail_statevars%Description = 'BASE STATE HEIGHT IN IDEALIZED CASES'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%z_base
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%z_base(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%z_base(1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'u_frame'
grid%tail_statevars%DataName = 'U_FRAME'
grid%tail_statevars%Description = 'FRAME X WIND'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%u_frame
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%u_frame=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'v_frame'
grid%tail_statevars%DataName = 'V_FRAME'
grid%tail_statevars%Description = 'FRAME Y WIND'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%v_frame
grid%tail_statevars%streams(1) = 33554432 ! 02000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%v_frame=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'p_top'
grid%tail_statevars%DataName = 'P_TOP'
grid%tail_statevars%Description = 'PRESSURE TOP OF THE MODEL'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%p_top
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%p_top=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 't00'
grid%tail_statevars%DataName = 'T00'
grid%tail_statevars%Description = 'BASE STATE TEMPERATURE '
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%t00
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%t00=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'p00'
grid%tail_statevars%DataName = 'P00'
grid%tail_statevars%Description = 'BASE STATE PRESURE'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%p00
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%p00=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'tlp'
grid%tail_statevars%DataName = 'TLP'
grid%tail_statevars%Description = 'BASE STATE LAPSE RATE '
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%tlp
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%tlp=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'tiso'
grid%tail_statevars%DataName = 'TISO'
grid%tail_statevars%Description = 'TEMP AT WHICH THE BASE T TURNS CONST'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%tiso
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%tiso=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'tlp_strat'
grid%tail_statevars%DataName = 'TLP_STRAT'
grid%tail_statevars%Description = 'BASE STATE LAPSE RATE (DT/D(LN(P)) IN STRATOSPHERE'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%tlp_strat
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%tlp_strat=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'p_strat'
grid%tail_statevars%DataName = 'P_STRAT'
grid%tail_statevars%Description = 'BASE STATE PRESSURE AT BOTTOM OF STRATOSPHERE'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%p_strat
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%p_strat=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'max_msftx'
grid%tail_statevars%DataName = 'MAX_MSTFX'
grid%tail_statevars%Description = 'Max map factor in domain'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%max_msftx
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%max_msftx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'max_msfty'
grid%tail_statevars%DataName = 'MAX_MSTFY'
grid%tail_statevars%Description = 'Max map factor in domain'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%max_msfty
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%max_msfty=initial_data_value
IF(okay_to_alloc.AND.in_use_for_config(id,'rainc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%rainc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rainc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rainc'
grid%tail_statevars%DataName = 'RAINC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%rainc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%rainc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rainnc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%rainnc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainnc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rainnc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rainnc'
grid%tail_statevars%DataName = 'RAINNC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL GRID SCALE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%rainnc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%rainnc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainnc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'raincv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%raincv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%raincv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%raincv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'raincv'
grid%tail_statevars%DataName = 'RAINCV'
grid%tail_statevars%Description = 'TIME-STEP CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%raincv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%raincv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%raincv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rainncv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%rainncv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainncv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rainncv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rainncv'
grid%tail_statevars%DataName = 'RAINNCV'
grid%tail_statevars%Description = 'TIME-STEP NONCONVECTIVE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%rainncv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%rainncv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%rainncv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlat'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlat(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlat=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlat'
grid%tail_statevars%DataName = 'XLAT'
grid%tail_statevars%Description = 'LATITUDE, SOUTH IS NEGATIVE'
grid%tail_statevars%Units = 'degree_north'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlat
grid%tail_statevars%streams(1) = 503316483 ! 1e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlat(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlong'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlong(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlong=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlong'
grid%tail_statevars%DataName = 'XLONG'
grid%tail_statevars%Description = 'LONGITUDE, WEST IS NEGATIVE'
grid%tail_statevars%Units = 'degree_east'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlong
grid%tail_statevars%streams(1) = 503316483 ! 1e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlong(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlat_u'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlat_u(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat_u(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlat_u=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlat_u'
grid%tail_statevars%DataName = 'XLAT_U'
grid%tail_statevars%Description = 'LATITUDE, SOUTH IS NEGATIVE'
grid%tail_statevars%Units = 'degree_north'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlat_u
grid%tail_statevars%streams(1) = 234881027 ! 0e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlat_u(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat_u(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlong_u'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlong_u(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong_u(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlong_u=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlong_u'
grid%tail_statevars%DataName = 'XLONG_U'
grid%tail_statevars%Description = 'LONGITUDE, WEST IS NEGATIVE'
grid%tail_statevars%Units = 'degree_east'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlong_u
grid%tail_statevars%streams(1) = 234881027 ! 0e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlong_u(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong_u(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlat_v'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlat_v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat_v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlat_v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlat_v'
grid%tail_statevars%DataName = 'XLAT_V'
grid%tail_statevars%Description = 'LATITUDE, SOUTH IS NEGATIVE'
grid%tail_statevars%Units = 'degree_north'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlat_v
grid%tail_statevars%streams(1) = 234881027 ! 0e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlat_v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlat_v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xlong_v'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xlong_v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong_v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xlong_v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xlong_v'
grid%tail_statevars%DataName = 'XLONG_V'
grid%tail_statevars%Description = 'LONGITUDE, WEST IS NEGATIVE'
grid%tail_statevars%Units = 'degree_east'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xlong_v
grid%tail_statevars%streams(1) = 234881027 ! 0e000003
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xlong_v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xlong_v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'albedo').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%albedo(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%albedo(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%albedo=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'albedo'
grid%tail_statevars%DataName = 'ALBEDO'
grid%tail_statevars%Description = 'ALBEDO'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%albedo
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%albedo(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%albedo(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'clat'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%clat(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%clat(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%clat=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'clat'
grid%tail_statevars%DataName = 'CLAT'
grid%tail_statevars%Description = 'COMPUTATIONAL GRID LATITUDE, SOUTH IS NEGATIVE'
grid%tail_statevars%Units = 'degree_north'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%clat
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%clat(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%clat(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'albbck').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%albbck(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%albbck(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%albbck=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'albbck'
grid%tail_statevars%DataName = 'ALBBCK'
grid%tail_statevars%Description = 'BACKGROUND ALBEDO'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%albbck
grid%tail_statevars%streams(1) = 771751937 ! 2e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%albbck(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%albbck(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'embck').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%embck(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%embck(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%embck=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'embck'
grid%tail_statevars%DataName = 'EMBCK'
grid%tail_statevars%Description = 'BACKGROUND EMISSIVITY'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%embck
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%embck(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%embck(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'emiss').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%emiss(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%emiss(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%emiss=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'emiss'
grid%tail_statevars%DataName = 'EMISS'
grid%tail_statevars%Description = 'SURFACE EMISSIVITY'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%emiss
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%emiss(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%emiss(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snotime').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%snotime(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snotime(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%snotime=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snotime'
grid%tail_statevars%DataName = 'SNOTIME'
grid%tail_statevars%Description = 'SNOTIME'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%snotime
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%snotime(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snotime(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'noahres').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%noahres(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%noahres(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%noahres=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'noahres'
grid%tail_statevars%DataName = 'NOAHRES'
grid%tail_statevars%Description = 'RESIDUAL OF THE NOAH SURFACE ENERGY BUDGET'
grid%tail_statevars%Units = 'W m{-2}'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%noahres
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%noahres(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%noahres(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'cldefi').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%cldefi(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%cldefi(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%cldefi=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'cldefi'
grid%tail_statevars%DataName = 'CLDEFI'
grid%tail_statevars%Description = 'precipitation efficiency in BMJ SCHEME'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%cldefi
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%cldefi(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%cldefi(1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'stepra'
grid%tail_statevars%DataName = 'STEPRA'
grid%tail_statevars%Description = 'NUMBER OF FUNDAMENTAL TIMESTEPS BETWEEN RADIATION CALLS'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%stepra
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%stepra=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'warm_rain'
grid%tail_statevars%DataName = 'WARM_RAIN'
grid%tail_statevars%Description = 'WARM_RAIN_LOGICAL'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%warm_rain
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%warm_rain=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'adv_moist_cond'
grid%tail_statevars%DataName = 'ADV_MOIST_COND'
grid%tail_statevars%Description = 'ADVECT MOIST CONDENSATES LOGICAL'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'l'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%lfield_0d => grid%adv_moist_cond
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%adv_moist_cond=.FALSE.
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'save_topo_from_real'
grid%tail_statevars%DataName = 'SAVE_TOPO_FROM_REAL'
grid%tail_statevars%Description = '1=original topo from real/0=topo modified by WRF'
grid%tail_statevars%Units = 'flag'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%save_topo_from_real
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
ENDIF
IF ( setinitval .EQ. 3 ) grid%save_topo_from_real=0
IF(okay_to_alloc.AND.in_use_for_config(id,'tmn'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%tmn(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tmn(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tmn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tmn'
grid%tail_statevars%DataName = 'TMN'
grid%tail_statevars%Description = 'SOIL TEMPERATURE AT LOWER BOUNDARY'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%tmn
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%tmn(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tmn(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xland'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xland(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xland(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xland=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xland'
grid%tail_statevars%DataName = 'XLAND'
grid%tail_statevars%Description = 'LAND MASK (1 FOR LAND, 2 FOR WATER)'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xland
grid%tail_statevars%streams(1) = 167772161 ! 0a000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xland(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xland(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snowc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%snowc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snowc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%snowc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snowc'
grid%tail_statevars%DataName = 'SNOWC'
grid%tail_statevars%Description = 'FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%snowc
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%snowc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%snowc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'znt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%znt(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znt(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%znt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'znt'
grid%tail_statevars%DataName = 'ZNT'
grid%tail_statevars%Description = 'TIME-VARYING ROUGHNESS LENGTH'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%znt
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%znt(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%znt(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ust').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%ust(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ust(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ust=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ust'
grid%tail_statevars%DataName = 'UST'
grid%tail_statevars%Description = 'U* IN SIMILARITY THEORY'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%ust
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%ust(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ust(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mol').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%mol(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mol(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%mol=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mol'
grid%tail_statevars%DataName = 'MOL'
grid%tail_statevars%Description = 'T* IN SIMILARITY THEORY'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%mol
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%mol(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%mol(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'pblh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%pblh(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%pblh(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%pblh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'pblh'
grid%tail_statevars%DataName = 'PBLH'
grid%tail_statevars%Description = 'PBL HEIGHT'
grid%tail_statevars%Units = 'm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%pblh
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%pblh(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%pblh(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'hfx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%hfx(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%hfx(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%hfx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'hfx'
grid%tail_statevars%DataName = 'HFX'
grid%tail_statevars%Description = 'UPWARD HEAT FLUX AT THE SURFACE'
grid%tail_statevars%Units = 'W m-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%hfx
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%hfx(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%hfx(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qfx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%qfx(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qfx(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qfx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qfx'
grid%tail_statevars%DataName = 'QFX'
grid%tail_statevars%Description = 'UPWARD MOISTURE FLUX AT THE SURFACE'
grid%tail_statevars%Units = 'kg m-2 s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%qfx
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%qfx(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%qfx(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'regime').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%regime(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%regime(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%regime=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'regime'
grid%tail_statevars%DataName = 'REGIME'
grid%tail_statevars%Description = 'FLAGS: 1=Night/Stable, 2=Mechanical Turbulent, 3=Forced Conv, 4=Free Conv'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%regime
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%regime(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%regime(1,1). ')
endif
ENDIF
IF ( setinitval .EQ. 3 ) grid%run_days=0
IF ( setinitval .EQ. 3 ) grid%run_hours=0
IF ( setinitval .EQ. 3 ) grid%run_minutes=0
IF ( setinitval .EQ. 3 ) grid%run_seconds=0
IF ( setinitval .EQ. 3 ) grid%start_year=0
IF ( setinitval .EQ. 3 ) grid%start_month=0
IF ( setinitval .EQ. 3 ) grid%start_day=0
IF ( setinitval .EQ. 3 ) grid%start_hour=0
IF ( setinitval .EQ. 3 ) grid%start_minute=0
IF ( setinitval .EQ. 3 ) grid%start_second=0
IF ( setinitval .EQ. 3 ) grid%end_year=0
IF ( setinitval .EQ. 3 ) grid%end_month=0
IF ( setinitval .EQ. 3 ) grid%end_day=0
IF ( setinitval .EQ. 3 ) grid%end_hour=0
IF ( setinitval .EQ. 3 ) grid%end_minute=0
IF ( setinitval .EQ. 3 ) grid%end_second=0
IF ( setinitval .EQ. 3 ) grid%interval_seconds=0
IF ( setinitval .EQ. 3 ) grid%input_from_file=.FALSE.
IF ( setinitval .EQ. 3 ) grid%fine_input_stream=0
IF ( setinitval .EQ. 3 ) grid%input_from_hires=.FALSE.
IF ( setinitval .EQ. 3 ) grid%all_ic_times=.FALSE.
IF ( setinitval .EQ. 3 ) grid%julyr=0
IF ( setinitval .EQ. 3 ) grid%julday=0
IF ( setinitval .EQ. 3 ) grid%gmt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%write_input=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_restart_at_0h=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_hist_at_0h_rst=.FALSE.
IF ( setinitval .EQ. 3 ) grid%adjust_output_times=.FALSE.
IF ( setinitval .EQ. 3 ) grid%adjust_input_times=.FALSE.
IF ( setinitval .EQ. 3 ) grid%diag_print=0
IF ( setinitval .EQ. 3 ) grid%nocolons=.FALSE.
IF ( setinitval .EQ. 3 ) grid%cycling=.FALSE.
IF ( setinitval .EQ. 3 ) grid%output_diagnostics=0
IF ( setinitval .EQ. 3 ) grid%nwp_diagnostics=0
IF ( setinitval .EQ. 3 ) grid%output_ready_flag=.FALSE.
IF ( setinitval .EQ. 3 ) grid%usepio=.FALSE.
IF ( setinitval .EQ. 3 ) grid%pioprocs=0
IF ( setinitval .EQ. 3 ) grid%piostart=0
IF ( setinitval .EQ. 3 ) grid%piostride=0
IF ( setinitval .EQ. 3 ) grid%pioshift=0
IF ( setinitval .EQ. 3 ) grid%dfi_opt=0
IF ( setinitval .EQ. 3 ) grid%dfi_savehydmeteors=0
IF ( setinitval .EQ. 3 ) grid%dfi_nfilter=0
IF ( setinitval .EQ. 3 ) grid%dfi_write_filtered_input=.FALSE.
IF ( setinitval .EQ. 3 ) grid%dfi_write_dfi_history=.FALSE.
IF ( setinitval .EQ. 3 ) grid%dfi_cutoff_seconds=0
IF ( setinitval .EQ. 3 ) grid%dfi_time_dim=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_year=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_month=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_day=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_hour=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_minute=0
IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_second=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_year=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_month=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_day=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_hour=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_minute=0
IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_second=0
IF ( setinitval .EQ. 3 ) grid%time_step=0
IF ( setinitval .EQ. 3 ) grid%time_step_fract_num=0
IF ( setinitval .EQ. 3 ) grid%time_step_fract_den=0
IF ( setinitval .EQ. 3 ) grid%time_step_dfi=0
IF ( setinitval .EQ. 3 ) grid%min_time_step=0
IF ( setinitval .EQ. 3 ) grid%min_time_step_den=0
IF ( setinitval .EQ. 3 ) grid%max_time_step=0
IF ( setinitval .EQ. 3 ) grid%max_time_step_den=0
IF ( setinitval .EQ. 3 ) grid%target_cfl=initial_data_value
IF ( setinitval .EQ. 3 ) grid%target_hcfl=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_step_increase_pct=0
IF ( setinitval .EQ. 3 ) grid%starting_time_step=0
IF ( setinitval .EQ. 3 ) grid%starting_time_step_den=0
IF ( setinitval .EQ. 3 ) grid%step_to_output_time=.FALSE.
IF ( setinitval .EQ. 3 ) grid%adaptation_domain=0
IF ( setinitval .EQ. 3 ) grid%use_adaptive_time_step=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_adaptive_time_step_dfi=.FALSE.
IF ( setinitval .EQ. 3 ) grid%max_dom=0
IF ( setinitval .EQ. 3 ) grid%lats_to_mic=0
IF ( setinitval .EQ. 3 ) grid%s_we=0
IF ( setinitval .EQ. 3 ) grid%e_we=0
IF ( setinitval .EQ. 3 ) grid%s_sn=0
IF ( setinitval .EQ. 3 ) grid%e_sn=0
IF ( setinitval .EQ. 3 ) grid%s_vert=0
IF ( setinitval .EQ. 3 ) grid%e_vert=0
IF ( setinitval .EQ. 3 ) grid%num_metgrid_levels=0
IF ( setinitval .EQ. 3 ) grid%num_metgrid_soil_levels=0
IF ( setinitval .EQ. 3 ) grid%p_top_requested=initial_data_value
IF ( setinitval .EQ. 3 ) grid%interp_theta=.FALSE.
IF ( setinitval .EQ. 3 ) grid%interp_type=0
IF ( setinitval .EQ. 3 ) grid%rebalance=0
IF ( setinitval .EQ. 3 ) grid%vert_refine_method=0
IF ( setinitval .EQ. 3 ) grid%vert_refine_fact=0
IF ( setinitval .EQ. 3 ) grid%extrap_type=0
IF ( setinitval .EQ. 3 ) grid%t_extrap_type=0
IF ( setinitval .EQ. 3 ) grid%hypsometric_opt=0
IF ( setinitval .EQ. 3 ) grid%lowest_lev_from_sfc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_levels_below_ground=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_tavg_for_tsk=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_surface=.FALSE.
IF ( setinitval .EQ. 3 ) grid%lagrange_order=0
IF ( setinitval .EQ. 3 ) grid%force_sfc_in_vinterp=0
IF ( setinitval .EQ. 3 ) grid%zap_close_levels=initial_data_value
IF ( setinitval .EQ. 3 ) grid%maxw_horiz_pres_diff=initial_data_value
IF ( setinitval .EQ. 3 ) grid%trop_horiz_pres_diff=initial_data_value
IF ( setinitval .EQ. 3 ) grid%maxw_above_this_level=initial_data_value
IF ( setinitval .EQ. 3 ) grid%use_maxw_level=0
IF ( setinitval .EQ. 3 ) grid%use_trop_level=0
IF ( setinitval .EQ. 3 ) grid%sfcp_to_sfcp=.FALSE.
IF ( setinitval .EQ. 3 ) grid%adjust_heights=.FALSE.
IF ( setinitval .EQ. 3 ) grid%smooth_cg_topo=.FALSE.
IF ( setinitval .EQ. 3 ) grid%nest_interp_coord=0
IF ( setinitval .EQ. 3 ) grid%interp_method_type=0
IF ( setinitval .EQ. 3 ) grid%aggregate_lu=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rh2qv_wrt_liquid=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rh2qv_method=0
IF ( setinitval .EQ. 3 ) grid%qv_max_p_safe=initial_data_value
IF ( setinitval .EQ. 3 ) grid%qv_max_flag=initial_data_value
IF ( setinitval .EQ. 3 ) grid%qv_max_value=initial_data_value
IF ( setinitval .EQ. 3 ) grid%qv_min_p_safe=initial_data_value
IF ( setinitval .EQ. 3 ) grid%qv_min_flag=initial_data_value
IF ( setinitval .EQ. 3 ) grid%qv_min_value=initial_data_value
IF ( setinitval .EQ. 3 ) grid%ideal_init_method=0
IF ( setinitval .EQ. 3 ) grid%dx=initial_data_value
IF ( setinitval .EQ. 3 ) grid%dy=initial_data_value
IF ( setinitval .EQ. 3 ) grid%grid_id=0
IF ( setinitval .EQ. 3 ) grid%grid_allowed=.FALSE.
IF ( setinitval .EQ. 3 ) grid%parent_id=0
IF ( setinitval .EQ. 3 ) grid%i_parent_start=0
IF ( setinitval .EQ. 3 ) grid%j_parent_start=0
IF ( setinitval .EQ. 3 ) grid%parent_grid_ratio=0
IF ( setinitval .EQ. 3 ) grid%parent_time_step_ratio=0
IF ( setinitval .EQ. 3 ) grid%feedback=0
IF ( setinitval .EQ. 3 ) grid%smooth_option=0
IF ( setinitval .EQ. 3 ) grid%blend_width=0
IF ( setinitval .EQ. 3 ) grid%ztop=initial_data_value
IF ( setinitval .EQ. 3 ) grid%moad_grid_ratio=0
IF ( setinitval .EQ. 3 ) grid%moad_time_step_ratio=0
IF ( setinitval .EQ. 3 ) grid%shw=0
IF ( setinitval .EQ. 3 ) grid%tile_sz_x=0
IF ( setinitval .EQ. 3 ) grid%tile_sz_y=0
IF ( setinitval .EQ. 3 ) grid%numtiles=0
IF ( setinitval .EQ. 3 ) grid%numtiles_inc=0
IF ( setinitval .EQ. 3 ) grid%numtiles_x=0
IF ( setinitval .EQ. 3 ) grid%numtiles_y=0
IF ( setinitval .EQ. 3 ) grid%tile_strategy=0
IF ( setinitval .EQ. 3 ) grid%nproc_x=0
IF ( setinitval .EQ. 3 ) grid%nproc_y=0
IF ( setinitval .EQ. 3 ) grid%irand=0
IF ( setinitval .EQ. 3 ) grid%dt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%fft_used=0
IF ( setinitval .EQ. 3 ) grid%cu_used=0
IF ( setinitval .EQ. 3 ) grid%shcu_used=0
IF ( setinitval .EQ. 3 ) grid%cam_used=0
IF ( setinitval .EQ. 3 ) grid%alloc_qndropsource=0
#endif
#if (NNN == 1)
IF ( setinitval .EQ. 3 ) grid%num_moves=0
IF ( setinitval .EQ. 3 ) grid%ts_buf_size=0
IF ( setinitval .EQ. 3 ) grid%max_ts_locs=0
IF ( setinitval .EQ. 3 ) grid%vortex_interval=0
IF ( setinitval .EQ. 3 ) grid%max_vortex_speed=0
IF ( setinitval .EQ. 3 ) grid%corral_dist=0
IF ( setinitval .EQ. 3 ) grid%track_level=0
IF ( setinitval .EQ. 3 ) grid%time_to_move=initial_data_value
IF ( setinitval .EQ. 3 ) grid%move_id=0
IF ( setinitval .EQ. 3 ) grid%move_interval=0
IF ( setinitval .EQ. 3 ) grid%move_cd_x=0
IF ( setinitval .EQ. 3 ) grid%move_cd_y=0
IF ( setinitval .EQ. 3 ) grid%swap_x=.FALSE.
IF ( setinitval .EQ. 3 ) grid%swap_y=.FALSE.
IF ( setinitval .EQ. 3 ) grid%cycle_x=.FALSE.
IF ( setinitval .EQ. 3 ) grid%cycle_y=.FALSE.
IF ( setinitval .EQ. 3 ) grid%reorder_mesh=.FALSE.
IF ( setinitval .EQ. 3 ) grid%perturb_input=.FALSE.
IF ( setinitval .EQ. 3 ) grid%eta_levels=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_dz=initial_data_value
IF ( setinitval .EQ. 3 ) grid%ocean_levels=0
IF ( setinitval .EQ. 3 ) grid%ocean_z=initial_data_value
IF ( setinitval .EQ. 3 ) grid%ocean_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%ocean_s=initial_data_value
IF ( setinitval .EQ. 3 ) grid%num_traj=0
IF ( setinitval .EQ. 3 ) grid%max_ts_level=0
IF ( setinitval .EQ. 3 ) grid%track_loc_in=0
IF ( setinitval .EQ. 3 ) grid%num_ext_model_couple_dom=0
IF ( setinitval .EQ. 3 ) grid%insert_bogus_storm=.FALSE.
IF ( setinitval .EQ. 3 ) grid%remove_storm=.FALSE.
IF ( setinitval .EQ. 3 ) grid%num_storm=0
IF ( setinitval .EQ. 3 ) grid%latc_loc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%lonc_loc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%vmax_meters_per_second=initial_data_value
IF ( setinitval .EQ. 3 ) grid%rmax=initial_data_value
IF ( setinitval .EQ. 3 ) grid%vmax_ratio=initial_data_value
IF ( setinitval .EQ. 3 ) grid%rankine_lid=initial_data_value
IF ( setinitval .EQ. 3 ) grid%force_read_thompson=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_thompson_tables=.FALSE.
IF ( setinitval .EQ. 3 ) grid%mp_physics=0
IF ( setinitval .EQ. 3 ) grid%nssl_cccn=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_alphah=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_alphahl=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_cnoh=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_cnohl=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_cnor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_cnos=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_rho_qh=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_rho_qhl=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nssl_rho_qs=initial_data_value
IF ( setinitval .EQ. 3 ) grid%nudge_lightning=0
IF ( setinitval .EQ. 3 ) grid%nudge_light_times=0
IF ( setinitval .EQ. 3 ) grid%nudge_light_timee=0
IF ( setinitval .EQ. 3 ) grid%nudge_light_int=0
IF ( setinitval .EQ. 3 ) grid%gsfcgce_hail=0
IF ( setinitval .EQ. 3 ) grid%gsfcgce_2ice=0
IF ( setinitval .EQ. 3 ) grid%progn=0
IF ( setinitval .EQ. 3 ) grid%accum_mode=initial_data_value
IF ( setinitval .EQ. 3 ) grid%aitken_mode=initial_data_value
IF ( setinitval .EQ. 3 ) grid%coarse_mode=initial_data_value
IF ( setinitval .EQ. 3 ) grid%do_radar_ref=0
IF ( setinitval .EQ. 3 ) grid%compute_radar_ref=0
IF ( setinitval .EQ. 3 ) grid%ra_lw_physics=0
IF ( setinitval .EQ. 3 ) grid%ra_sw_physics=0
IF ( setinitval .EQ. 3 ) grid%radt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%naer=initial_data_value
IF ( setinitval .EQ. 3 ) grid%sf_sfclay_physics=0
IF ( setinitval .EQ. 3 ) grid%sf_surface_physics=0
IF ( setinitval .EQ. 3 ) grid%bl_pbl_physics=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_tkebudget=0
IF ( setinitval .EQ. 3 ) grid%ysu_topdown_pblmix=0
IF ( setinitval .EQ. 3 ) grid%shinhong_tke_diag=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_tkeadvect=.FALSE.
IF ( setinitval .EQ. 3 ) grid%bl_mynn_cloudpdf=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_mixlength=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_edmf=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_edmf_mom=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_edmf_tke=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_edmf_part=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_cloudmix=0
IF ( setinitval .EQ. 3 ) grid%bl_mynn_mixqt=0
IF ( setinitval .EQ. 3 ) grid%icloud_bl=0
IF ( setinitval .EQ. 3 ) grid%mfshconv=0
IF ( setinitval .EQ. 3 ) grid%sf_urban_physics=0
IF ( setinitval .EQ. 3 ) grid%bldt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%cu_physics=0
IF ( setinitval .EQ. 3 ) grid%shcu_physics=0
IF ( setinitval .EQ. 3 ) grid%cu_diag=0
IF ( setinitval .EQ. 3 ) grid%kf_edrates=0
IF ( setinitval .EQ. 3 ) grid%kfeta_trigger=0
IF ( setinitval .EQ. 3 ) grid%nsas_dx_factor=0
IF ( setinitval .EQ. 3 ) grid%cudt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gsmdt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%isfflx=0
IF ( setinitval .EQ. 3 ) grid%ifsnow=0
IF ( setinitval .EQ. 3 ) grid%icloud=0
IF ( setinitval .EQ. 3 ) grid%ideal_xland=0
IF ( setinitval .EQ. 3 ) grid%swrad_scat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%surface_input_source=0
IF ( setinitval .EQ. 3 ) grid%num_soil_layers=0
IF ( setinitval .EQ. 3 ) grid%maxpatch=0
IF ( setinitval .EQ. 3 ) grid%num_snow_layers=0
IF ( setinitval .EQ. 3 ) grid%num_snso_layers=0
IF ( setinitval .EQ. 3 ) grid%num_urban_layers=0
IF ( setinitval .EQ. 3 ) grid%num_urban_hi=0
IF ( setinitval .EQ. 3 ) grid%num_months=0
IF ( setinitval .EQ. 3 ) grid%sf_surface_mosaic=0
IF ( setinitval .EQ. 3 ) grid%mosaic_cat=0
IF ( setinitval .EQ. 3 ) grid%mosaic_cat_soil=0
IF ( setinitval .EQ. 3 ) grid%mosaic_lu=0
IF ( setinitval .EQ. 3 ) grid%mosaic_soil=0
IF ( setinitval .EQ. 3 ) grid%maxiens=0
IF ( setinitval .EQ. 3 ) grid%maxens=0
IF ( setinitval .EQ. 3 ) grid%maxens2=0
IF ( setinitval .EQ. 3 ) grid%maxens3=0
IF ( setinitval .EQ. 3 ) grid%ensdim=0
IF ( setinitval .EQ. 3 ) grid%cugd_avedx=0
IF ( setinitval .EQ. 3 ) grid%clos_choice=0
IF ( setinitval .EQ. 3 ) grid%imomentum=0
IF ( setinitval .EQ. 3 ) grid%ishallow=0
IF ( setinitval .EQ. 3 ) grid%convtrans_avglen_m=initial_data_value
IF ( setinitval .EQ. 3 ) grid%num_land_cat=0
IF ( setinitval .EQ. 3 ) grid%num_soil_cat=0
IF ( setinitval .EQ. 3 ) grid%mp_zero_out=0
IF ( setinitval .EQ. 3 ) grid%mp_zero_out_thresh=initial_data_value
IF ( setinitval .EQ. 3 ) grid%seaice_threshold=initial_data_value
IF ( setinitval .EQ. 3 ) grid%sst_update=0
IF ( setinitval .EQ. 3 ) grid%sst_skin=0
IF ( setinitval .EQ. 3 ) grid%tmn_update=0
IF ( setinitval .EQ. 3 ) grid%usemonalb=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rdmaxalb=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rdlai2d=.FALSE.
IF ( setinitval .EQ. 3 ) grid%ua_phys=.FALSE.
IF ( setinitval .EQ. 3 ) grid%opt_thcnd=0
IF ( setinitval .EQ. 3 ) grid%co2tf=0
IF ( setinitval .EQ. 3 ) grid%ra_call_offset=0
IF ( setinitval .EQ. 3 ) grid%cam_abs_freq_s=initial_data_value
IF ( setinitval .EQ. 3 ) grid%levsiz=0
IF ( setinitval .EQ. 3 ) grid%paerlev=0
IF ( setinitval .EQ. 3 ) grid%cam_abs_dim1=0
IF ( setinitval .EQ. 3 ) grid%cam_abs_dim2=0
IF ( setinitval .EQ. 3 ) grid%lagday=0
IF ( setinitval .EQ. 3 ) grid%no_src_types=0
IF ( setinitval .EQ. 3 ) grid%alevsiz=0
IF ( setinitval .EQ. 3 ) grid%o3input=0
IF ( setinitval .EQ. 3 ) grid%aer_opt=0
IF ( setinitval .EQ. 3 ) grid%swint_opt=0
IF ( setinitval .EQ. 3 ) grid%aer_type=0
IF ( setinitval .EQ. 3 ) grid%aer_aod550_opt=0
IF ( setinitval .EQ. 3 ) grid%aer_angexp_opt=0
IF ( setinitval .EQ. 3 ) grid%aer_ssa_opt=0
IF ( setinitval .EQ. 3 ) grid%aer_asy_opt=0
IF ( setinitval .EQ. 3 ) grid%aer_aod550_val=initial_data_value
IF ( setinitval .EQ. 3 ) grid%aer_angexp_val=initial_data_value
IF ( setinitval .EQ. 3 ) grid%aer_ssa_val=initial_data_value
IF ( setinitval .EQ. 3 ) grid%aer_asy_val=initial_data_value
IF ( setinitval .EQ. 3 ) grid%cu_rad_feedback=.FALSE.
IF ( setinitval .EQ. 3 ) grid%shallowcu_forced_ra=.FALSE.
IF ( setinitval .EQ. 3 ) grid%numbins=0
IF ( setinitval .EQ. 3 ) grid%thbinsize=initial_data_value
IF ( setinitval .EQ. 3 ) grid%rbinsize=initial_data_value
IF ( setinitval .EQ. 3 ) grid%mindeepfreq=initial_data_value
IF ( setinitval .EQ. 3 ) grid%minshallowfreq=initial_data_value
IF ( setinitval .EQ. 3 ) grid%shcu_aerosols_opt=0
IF ( setinitval .EQ. 3 ) grid%icloud_cu=0
IF ( setinitval .EQ. 3 ) grid%pxlsm_smois_init=0
IF ( setinitval .EQ. 3 ) grid%omlcall=0
IF ( setinitval .EQ. 3 ) grid%sf_ocean_physics=0
IF ( setinitval .EQ. 3 ) grid%traj_opt=0
IF ( setinitval .EQ. 3 ) grid%tracercall=0
IF ( setinitval .EQ. 3 ) grid%omdt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%oml_hml0=initial_data_value
IF ( setinitval .EQ. 3 ) grid%oml_gamma=initial_data_value
IF ( setinitval .EQ. 3 ) grid%oml_relaxation_time=initial_data_value
IF ( setinitval .EQ. 3 ) grid%isftcflx=0
IF ( setinitval .EQ. 3 ) grid%iz0tlnd=0
IF ( setinitval .EQ. 3 ) grid%shadlen=initial_data_value
IF ( setinitval .EQ. 3 ) grid%slope_rad=0
IF ( setinitval .EQ. 3 ) grid%topo_shading=0
IF ( setinitval .EQ. 3 ) grid%topo_wind=0
IF ( setinitval .EQ. 3 ) grid%no_mp_heating=0
IF ( setinitval .EQ. 3 ) grid%fractional_seaice=0
IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_opt=0
IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_max=initial_data_value
IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_min=initial_data_value
IF ( setinitval .EQ. 3 ) grid%seaice_albedo_opt=0
IF ( setinitval .EQ. 3 ) grid%seaice_albedo_default=initial_data_value
IF ( setinitval .EQ. 3 ) grid%seaice_thickness_opt=0
IF ( setinitval .EQ. 3 ) grid%seaice_thickness_default=initial_data_value
IF ( setinitval .EQ. 3 ) grid%tice2tsk_if2cold=.FALSE.
IF ( setinitval .EQ. 3 ) grid%bucket_mm=initial_data_value
IF ( setinitval .EQ. 3 ) grid%bucket_j=initial_data_value
IF ( setinitval .EQ. 3 ) grid%mp_tend_lim=initial_data_value
IF ( setinitval .EQ. 3 ) grid%prec_acc_dt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%prec_acc_opt=0
IF ( setinitval .EQ. 3 ) grid%bucketr_opt=0
IF ( setinitval .EQ. 3 ) grid%process_time_series=0
IF ( setinitval .EQ. 3 ) grid%grav_settling=0
IF ( setinitval .EQ. 3 ) grid%sas_pgcon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%scalar_pblmix=0
IF ( setinitval .EQ. 3 ) grid%tracer_pblmix=0
IF ( setinitval .EQ. 3 ) grid%use_aero_icbc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_rap_aero_icbc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mp_re=0
IF ( setinitval .EQ. 3 ) grid%ccn_conc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%hail_opt=0
IF ( setinitval .EQ. 3 ) grid%dveg=0
IF ( setinitval .EQ. 3 ) grid%opt_crs=0
IF ( setinitval .EQ. 3 ) grid%opt_btr=0
IF ( setinitval .EQ. 3 ) grid%opt_run=0
IF ( setinitval .EQ. 3 ) grid%opt_sfc=0
IF ( setinitval .EQ. 3 ) grid%opt_frz=0
IF ( setinitval .EQ. 3 ) grid%opt_inf=0
IF ( setinitval .EQ. 3 ) grid%opt_rad=0
IF ( setinitval .EQ. 3 ) grid%opt_alb=0
IF ( setinitval .EQ. 3 ) grid%opt_snf=0
IF ( setinitval .EQ. 3 ) grid%opt_tbot=0
IF ( setinitval .EQ. 3 ) grid%opt_stc=0
IF ( setinitval .EQ. 3 ) grid%opt_gla=0
IF ( setinitval .EQ. 3 ) grid%opt_rsf=0
IF ( setinitval .EQ. 3 ) grid%wtddt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%wrf_hydro=0
IF ( setinitval .EQ. 3 ) grid%fgdt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%fgdtzero=0
IF ( setinitval .EQ. 3 ) grid%grid_fdda=0
IF ( setinitval .EQ. 3 ) grid%grid_sfdda=0
IF ( setinitval .EQ. 3 ) grid%if_no_pbl_nudging_uv=0
IF ( setinitval .EQ. 3 ) grid%if_no_pbl_nudging_t=0
IF ( setinitval .EQ. 3 ) grid%if_no_pbl_nudging_ph=0
IF ( setinitval .EQ. 3 ) grid%if_no_pbl_nudging_q=0
IF ( setinitval .EQ. 3 ) grid%if_zfac_uv=0
IF ( setinitval .EQ. 3 ) grid%k_zfac_uv=0
IF ( setinitval .EQ. 3 ) grid%if_zfac_t=0
IF ( setinitval .EQ. 3 ) grid%k_zfac_t=0
IF ( setinitval .EQ. 3 ) grid%if_zfac_ph=0
IF ( setinitval .EQ. 3 ) grid%k_zfac_ph=0
IF ( setinitval .EQ. 3 ) grid%if_zfac_q=0
IF ( setinitval .EQ. 3 ) grid%k_zfac_q=0
IF ( setinitval .EQ. 3 ) grid%dk_zfac_uv=0
IF ( setinitval .EQ. 3 ) grid%dk_zfac_t=0
IF ( setinitval .EQ. 3 ) grid%dk_zfac_ph=0
IF ( setinitval .EQ. 3 ) grid%guv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%guv_sfc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gt_sfc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gq=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gq_sfc=initial_data_value
IF ( setinitval .EQ. 3 ) grid%gph=initial_data_value
IF ( setinitval .EQ. 3 ) grid%dtramp_min=initial_data_value
IF ( setinitval .EQ. 3 ) grid%if_ramping=0
IF ( setinitval .EQ. 3 ) grid%rinblw=initial_data_value
IF ( setinitval .EQ. 3 ) grid%xwavenum=0
IF ( setinitval .EQ. 3 ) grid%ywavenum=0
IF ( setinitval .EQ. 3 ) grid%pxlsm_soil_nudge=0
IF ( setinitval .EQ. 3 ) grid%fasdas=0
IF ( setinitval .EQ. 3 ) grid%obs_nudge_opt=0
IF ( setinitval .EQ. 3 ) grid%max_obs=0
IF ( setinitval .EQ. 3 ) grid%fdda_start=initial_data_value
IF ( setinitval .EQ. 3 ) grid%fdda_end=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudge_wind=0
IF ( setinitval .EQ. 3 ) grid%obs_coef_wind=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudge_temp=0
IF ( setinitval .EQ. 3 ) grid%obs_coef_temp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudge_mois=0
IF ( setinitval .EQ. 3 ) grid%obs_coef_mois=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudge_pstr=0
IF ( setinitval .EQ. 3 ) grid%obs_coef_pstr=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_no_pbl_nudge_uv=0
IF ( setinitval .EQ. 3 ) grid%obs_no_pbl_nudge_t=0
IF ( setinitval .EQ. 3 ) grid%obs_no_pbl_nudge_q=0
IF ( setinitval .EQ. 3 ) grid%obs_sfc_scheme_horiz=0
IF ( setinitval .EQ. 3 ) grid%obs_sfc_scheme_vert=0
IF ( setinitval .EQ. 3 ) grid%obs_max_sndng_gap=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr1_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr1_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr2_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr2_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr4_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr4_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr1_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr1_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr2_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr2_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr4_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr4_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr1_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr1_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr2_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr2_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullr4_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampr4_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezfullmin=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezrampmin=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_nudgezmax=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_sfcfact=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_sfcfacr=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_dpsmx=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_rinxy=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_rinsig=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_twindo=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_npfi=0
IF ( setinitval .EQ. 3 ) grid%obs_ionf=0
IF ( setinitval .EQ. 3 ) grid%obs_idynin=0
IF ( setinitval .EQ. 3 ) grid%obs_dtramp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%obs_prt_max=0
IF ( setinitval .EQ. 3 ) grid%obs_prt_freq=0
IF ( setinitval .EQ. 3 ) grid%obs_ipf_in4dob=.FALSE.
IF ( setinitval .EQ. 3 ) grid%obs_ipf_errob=.FALSE.
IF ( setinitval .EQ. 3 ) grid%obs_ipf_nudob=.FALSE.
IF ( setinitval .EQ. 3 ) grid%obs_ipf_init=.FALSE.
IF ( setinitval .EQ. 3 ) grid%obs_scl_neg_qv_innov=0
IF ( setinitval .EQ. 3 ) grid%scm_force=0
IF ( setinitval .EQ. 3 ) grid%scm_force_dx=initial_data_value
IF ( setinitval .EQ. 3 ) grid%num_force_layers=0
IF ( setinitval .EQ. 3 ) grid%scm_lu_index=0
IF ( setinitval .EQ. 3 ) grid%scm_isltyp=0
IF ( setinitval .EQ. 3 ) grid%scm_vegfra=initial_data_value
IF ( setinitval .EQ. 3 ) grid%scm_canwat=0
IF ( setinitval .EQ. 3 ) grid%scm_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%scm_lon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%scm_th_t_tend=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_qv_t_tend=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_th_adv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_wind_adv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_qv_adv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_ql_adv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_vert_adv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%num_force_soil_layers=0
IF ( setinitval .EQ. 3 ) grid%scm_soilt_force=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_soilq_force=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_force_th_largescale=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_force_qv_largescale=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_force_ql_largescale=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_force_wind_largescale=.FALSE.
IF ( setinitval .EQ. 3 ) grid%scm_force_skintemp=0
IF ( setinitval .EQ. 3 ) grid%scm_force_flux=0
IF ( setinitval .EQ. 3 ) grid%dyn_opt=0
IF ( setinitval .EQ. 3 ) grid%rk_ord=0
IF ( setinitval .EQ. 3 ) grid%w_damping=0
IF ( setinitval .EQ. 3 ) grid%diff_opt=0
IF ( setinitval .EQ. 3 ) grid%diff_opt_dfi=0
IF ( setinitval .EQ. 3 ) grid%km_opt=0
IF ( setinitval .EQ. 3 ) grid%km_opt_dfi=0
#endif
#if (NNN == 2)
IF ( setinitval .EQ. 3 ) grid%damp_opt=0
IF ( setinitval .EQ. 3 ) grid%rad_nudge=0
IF ( setinitval .EQ. 3 ) grid%gwd_opt=0
IF ( setinitval .EQ. 3 ) grid%zdamp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%dampcoef=initial_data_value
IF ( setinitval .EQ. 3 ) grid%khdif=initial_data_value
IF ( setinitval .EQ. 3 ) grid%kvdif=initial_data_value
IF ( setinitval .EQ. 3 ) grid%diff_6th_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%diff_6th_opt=0
IF ( setinitval .EQ. 3 ) grid%use_theta_m=0
IF ( setinitval .EQ. 3 ) grid%use_q_diabatic=0
IF ( setinitval .EQ. 3 ) grid%c_s=initial_data_value
IF ( setinitval .EQ. 3 ) grid%c_k=initial_data_value
IF ( setinitval .EQ. 3 ) grid%smdiv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%emdiv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%epssm=initial_data_value
IF ( setinitval .EQ. 3 ) grid%non_hydrostatic=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_input_w=.FALSE.
IF ( setinitval .EQ. 3 ) grid%time_step_sound=0
IF ( setinitval .EQ. 3 ) grid%h_mom_adv_order=0
IF ( setinitval .EQ. 3 ) grid%v_mom_adv_order=0
IF ( setinitval .EQ. 3 ) grid%h_sca_adv_order=0
IF ( setinitval .EQ. 3 ) grid%v_sca_adv_order=0
IF ( setinitval .EQ. 3 ) grid%momentum_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%moist_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%moist_adv_dfi_opt=0
IF ( setinitval .EQ. 3 ) grid%chem_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%tracer_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%scalar_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%tke_adv_opt=0
IF ( setinitval .EQ. 3 ) grid%top_radiation=.FALSE.
IF ( setinitval .EQ. 3 ) grid%mix_isotropic=0
IF ( setinitval .EQ. 3 ) grid%mix_upper_bound=initial_data_value
IF ( setinitval .EQ. 3 ) grid%top_lid=.FALSE.
IF ( setinitval .EQ. 3 ) grid%tke_upper_bound=initial_data_value
IF ( setinitval .EQ. 3 ) grid%tke_drag_coefficient=initial_data_value
IF ( setinitval .EQ. 3 ) grid%tke_heat_flux=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pert_coriolis=.FALSE.
IF ( setinitval .EQ. 3 ) grid%coriolis2d=.FALSE.
IF ( setinitval .EQ. 3 ) grid%mix_full_fields=.FALSE.
IF ( setinitval .EQ. 3 ) grid%base_pres=initial_data_value
IF ( setinitval .EQ. 3 ) grid%base_temp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%base_lapse=initial_data_value
IF ( setinitval .EQ. 3 ) grid%iso_temp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%base_pres_strat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%base_lapse_strat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%use_baseparam_fr_nml=.FALSE.
IF ( setinitval .EQ. 3 ) grid%fft_filter_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%coupled_filtering=.FALSE.
IF ( setinitval .EQ. 3 ) grid%pos_def=.FALSE.
IF ( setinitval .EQ. 3 ) grid%swap_pole_with_next_j=.FALSE.
IF ( setinitval .EQ. 3 ) grid%actual_distance_average=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rotated_pole=.FALSE.
IF ( setinitval .EQ. 3 ) grid%do_coriolis=.FALSE.
IF ( setinitval .EQ. 3 ) grid%do_curvature=.FALSE.
IF ( setinitval .EQ. 3 ) grid%do_gradp=.FALSE.
IF ( setinitval .EQ. 3 ) grid%tracer_opt=0
IF ( setinitval .EQ. 3 ) grid%tenddiag=0
IF ( setinitval .EQ. 3 ) grid%spec_bdy_width=0
IF ( setinitval .EQ. 3 ) grid%spec_zone=0
IF ( setinitval .EQ. 3 ) grid%relax_zone=0
IF ( setinitval .EQ. 3 ) grid%specified=.FALSE.
IF ( setinitval .EQ. 3 ) grid%constant_bc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%periodic_x=.FALSE.
IF ( setinitval .EQ. 3 ) grid%symmetric_xs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%symmetric_xe=.FALSE.
IF ( setinitval .EQ. 3 ) grid%open_xs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%open_xe=.FALSE.
IF ( setinitval .EQ. 3 ) grid%periodic_y=.FALSE.
IF ( setinitval .EQ. 3 ) grid%symmetric_ys=.FALSE.
IF ( setinitval .EQ. 3 ) grid%symmetric_ye=.FALSE.
IF ( setinitval .EQ. 3 ) grid%open_ys=.FALSE.
IF ( setinitval .EQ. 3 ) grid%open_ye=.FALSE.
IF ( setinitval .EQ. 3 ) grid%polar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%nested=.FALSE.
IF ( setinitval .EQ. 3 ) grid%spec_exp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%spec_bdy_final_mu=0
IF ( setinitval .EQ. 3 ) grid%real_data_init_type=0
IF ( setinitval .EQ. 3 ) grid%have_bcs_moist=.FALSE.
IF ( setinitval .EQ. 3 ) grid%have_bcs_scalar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%background_proc_id=0
IF ( setinitval .EQ. 3 ) grid%forecast_proc_id=0
IF ( setinitval .EQ. 3 ) grid%production_status=0
IF ( setinitval .EQ. 3 ) grid%compression=0
IF ( setinitval .EQ. 3 ) grid%nobs_ndg_vars=0
IF ( setinitval .EQ. 3 ) grid%nobs_err_flds=0
IF ( setinitval .EQ. 3 ) grid%cen_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%cen_lon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%truelat1=initial_data_value
IF ( setinitval .EQ. 3 ) grid%truelat2=initial_data_value
IF ( setinitval .EQ. 3 ) grid%moad_cen_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%stand_lon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pole_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pole_lon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%flag_metgrid=0
IF ( setinitval .EQ. 3 ) grid%flag_snow=0
IF ( setinitval .EQ. 3 ) grid%flag_psfc=0
IF ( setinitval .EQ. 3 ) grid%flag_sm000010=0
IF ( setinitval .EQ. 3 ) grid%flag_sm010040=0
IF ( setinitval .EQ. 3 ) grid%flag_sm040100=0
IF ( setinitval .EQ. 3 ) grid%flag_sm100200=0
IF ( setinitval .EQ. 3 ) grid%flag_st000010=0
IF ( setinitval .EQ. 3 ) grid%flag_st010040=0
IF ( setinitval .EQ. 3 ) grid%flag_st040100=0
IF ( setinitval .EQ. 3 ) grid%flag_st100200=0
IF ( setinitval .EQ. 3 ) grid%flag_soil_layers=0
IF ( setinitval .EQ. 3 ) grid%flag_slp=0
IF ( setinitval .EQ. 3 ) grid%flag_soilhgt=0
IF ( setinitval .EQ. 3 ) grid%flag_mf_xy=0
IF ( setinitval .EQ. 3 ) grid%flag_um_soil=0
IF ( setinitval .EQ. 3 ) grid%bdyfrq=initial_data_value
IF ( setinitval .EQ. 3 ) grid%iswater=0
IF ( setinitval .EQ. 3 ) grid%islake=0
IF ( setinitval .EQ. 3 ) grid%isice=0
IF ( setinitval .EQ. 3 ) grid%isurban=0
IF ( setinitval .EQ. 3 ) grid%isoilwater=0
IF ( setinitval .EQ. 3 ) grid%map_proj=0
IF ( setinitval .EQ. 3 ) grid%use_wps_input=0
IF ( setinitval .EQ. 3 ) grid%dfi_stage=0
IF ( setinitval .EQ. 3 ) grid%mp_physics_dfi=0
IF ( setinitval .EQ. 3 ) grid%windfarm_opt=0
IF ( setinitval .EQ. 3 ) grid%windfarm_ij=0
IF ( setinitval .EQ. 3 ) grid%lightning_option=0
IF ( setinitval .EQ. 3 ) grid%lightning_dt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%lightning_start_seconds=initial_data_value
IF ( setinitval .EQ. 3 ) grid%flashrate_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%iccg_method=0
IF ( setinitval .EQ. 3 ) grid%iccg_prescribed_num=initial_data_value
IF ( setinitval .EQ. 3 ) grid%iccg_prescribed_den=initial_data_value
IF ( setinitval .EQ. 3 ) grid%cellcount_method=0
IF ( setinitval .EQ. 3 ) grid%cldtop_adjustment=initial_data_value
IF ( setinitval .EQ. 3 ) grid%sf_lake_physics=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput1=0
IF ( setinitval .EQ. 3 ) grid%override_restart_timers=.FALSE.
IF ( setinitval .EQ. 3 ) grid%auxhist1_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist1_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist1=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist1=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist2_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist2=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist2=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist3_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist3=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist3=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist4_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist4=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist4=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist5_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist5=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist5=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist6_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist6=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist6=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist7_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist7=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist7=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist8_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist8=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist8=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist9_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist9=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist9=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_oid=0
#endif
#if (NNN == 3)
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist10_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist10=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist10=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist11_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist11=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist11=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist12_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist12=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist12=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist13_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist13=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist13=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist14_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist14=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist14=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist15_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist15=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist15=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist16_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist16=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist16=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist17_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist17=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist17=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist18_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist18=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist18=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist19_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist19=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist19=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist20_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist20=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist20=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist21_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist21=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist21=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist22_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist22=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist22=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist23_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist23=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist23=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_oid=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_interval=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_begin=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxhist24_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxhist24=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxhist24=0
#endif
#if (NNN == 4)
IF ( setinitval .EQ. 3 ) grid%auxinput1_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput1_end=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput1=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput2_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput2=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput2=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput3_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput3=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput3=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput4_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput4=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput4=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput5_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput5=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput5=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput6_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput6=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput6=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput7_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput7=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput7=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput8_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput8=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput8=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput9_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput9=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput9=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput10_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput10=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput10=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput11_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput11=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput11=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput12_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput12=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput12=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput13_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput13=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput13=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput14_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput14=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput14=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput15_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput15=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput15=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_oid=0
#endif
#if (NNN == 5)
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput16_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput16=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput16=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput17_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput17=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput17=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput18_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput18=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput18=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput19_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput19=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput19=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput20_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput20=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput20=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput21_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput21=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput21=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput22_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput22=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput22=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput23_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput23=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput23=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_oid=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_interval=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_begin=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end_y=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end_d=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end_h=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end_m=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end_s=0
IF ( setinitval .EQ. 3 ) grid%auxinput24_end=0
IF ( setinitval .EQ. 3 ) grid%io_form_auxinput24=0
IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput24=0
IF ( setinitval .EQ. 3 ) grid%oid=0
IF ( setinitval .EQ. 3 ) grid%history_interval=0
IF ( setinitval .EQ. 3 ) grid%frames_per_outfile=0
IF ( setinitval .EQ. 3 ) grid%restart=.FALSE.
IF ( setinitval .EQ. 3 ) grid%restart_interval=0
IF ( setinitval .EQ. 3 ) grid%io_form_input=0
IF ( setinitval .EQ. 3 ) grid%io_form_history=0
IF ( setinitval .EQ. 3 ) grid%io_form_restart=0
IF ( setinitval .EQ. 3 ) grid%io_form_boundary=0
IF ( setinitval .EQ. 3 ) grid%debug_level=0
IF ( setinitval .EQ. 3 ) grid%self_test_domain=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_netcdf_classic=.FALSE.
IF ( setinitval .EQ. 3 ) grid%history_interval_d=0
IF ( setinitval .EQ. 3 ) grid%history_interval_h=0
IF ( setinitval .EQ. 3 ) grid%history_interval_m=0
IF ( setinitval .EQ. 3 ) grid%history_interval_s=0
IF ( setinitval .EQ. 3 ) grid%inputout_interval_d=0
IF ( setinitval .EQ. 3 ) grid%inputout_interval_h=0
IF ( setinitval .EQ. 3 ) grid%inputout_interval_m=0
IF ( setinitval .EQ. 3 ) grid%inputout_interval_s=0
IF ( setinitval .EQ. 3 ) grid%inputout_interval=0
IF ( setinitval .EQ. 3 ) grid%restart_interval_d=0
IF ( setinitval .EQ. 3 ) grid%restart_interval_h=0
IF ( setinitval .EQ. 3 ) grid%restart_interval_m=0
IF ( setinitval .EQ. 3 ) grid%restart_interval_s=0
IF ( setinitval .EQ. 3 ) grid%history_begin_y=0
IF ( setinitval .EQ. 3 ) grid%history_begin_d=0
IF ( setinitval .EQ. 3 ) grid%history_begin_h=0
IF ( setinitval .EQ. 3 ) grid%history_begin_m=0
IF ( setinitval .EQ. 3 ) grid%history_begin_s=0
IF ( setinitval .EQ. 3 ) grid%history_begin=0
IF ( setinitval .EQ. 3 ) grid%inputout_begin_y=0
IF ( setinitval .EQ. 3 ) grid%inputout_begin_d=0
IF ( setinitval .EQ. 3 ) grid%inputout_begin_h=0
IF ( setinitval .EQ. 3 ) grid%inputout_begin_m=0
IF ( setinitval .EQ. 3 ) grid%inputout_begin_s=0
IF ( setinitval .EQ. 3 ) grid%restart_begin_y=0
IF ( setinitval .EQ. 3 ) grid%restart_begin_d=0
IF ( setinitval .EQ. 3 ) grid%restart_begin_h=0
IF ( setinitval .EQ. 3 ) grid%restart_begin_m=0
IF ( setinitval .EQ. 3 ) grid%restart_begin_s=0
IF ( setinitval .EQ. 3 ) grid%restart_begin=0
IF ( setinitval .EQ. 3 ) grid%history_end_y=0
IF ( setinitval .EQ. 3 ) grid%history_end_d=0
IF ( setinitval .EQ. 3 ) grid%history_end_h=0
IF ( setinitval .EQ. 3 ) grid%history_end_m=0
IF ( setinitval .EQ. 3 ) grid%history_end_s=0
IF ( setinitval .EQ. 3 ) grid%history_end=0
IF ( setinitval .EQ. 3 ) grid%inputout_end_y=0
IF ( setinitval .EQ. 3 ) grid%inputout_end_d=0
IF ( setinitval .EQ. 3 ) grid%inputout_end_h=0
IF ( setinitval .EQ. 3 ) grid%inputout_end_m=0
IF ( setinitval .EQ. 3 ) grid%inputout_end_s=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_year=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_month=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_day=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_hour=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_minute=0
IF ( setinitval .EQ. 3 ) grid%simulation_start_second=0
IF ( setinitval .EQ. 3 ) grid%reset_simulation_start=.FALSE.
IF ( setinitval .EQ. 3 ) grid%sr_x=0
IF ( setinitval .EQ. 3 ) grid%sr_y=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_d=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_h=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_m=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_s=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_y=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_interval=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval_d=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval_h=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval_m=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval_s=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval_y=0
IF ( setinitval .EQ. 3 ) grid%gfdda_interval=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_y=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_d=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_h=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_m=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_s=0
IF ( setinitval .EQ. 3 ) grid%gfdda_begin_y=0
IF ( setinitval .EQ. 3 ) grid%gfdda_begin_d=0
IF ( setinitval .EQ. 3 ) grid%gfdda_begin_h=0
IF ( setinitval .EQ. 3 ) grid%gfdda_begin_m=0
IF ( setinitval .EQ. 3 ) grid%gfdda_begin_s=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_end_y=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_end_d=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_end_h=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_end_m=0
IF ( setinitval .EQ. 3 ) grid%sgfdda_end_s=0
IF ( setinitval .EQ. 3 ) grid%gfdda_end_y=0
IF ( setinitval .EQ. 3 ) grid%gfdda_end_d=0
IF ( setinitval .EQ. 3 ) grid%gfdda_end_h=0
IF ( setinitval .EQ. 3 ) grid%gfdda_end_m=0
IF ( setinitval .EQ. 3 ) grid%gfdda_end_s=0
IF ( setinitval .EQ. 3 ) grid%io_form_sgfdda=0
IF ( setinitval .EQ. 3 ) grid%io_form_gfdda=0
IF ( setinitval .EQ. 3 ) grid%ignore_iofields_warning=.FALSE.
IF ( setinitval .EQ. 3 ) grid%ncd_nofill=.FALSE.
IF(okay_to_alloc.AND.in_use_for_config(id,'a_u_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_u_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_u_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_u_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_u_1'
grid%tail_statevars%DataName = 'A_U_1'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_u_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_u_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_u_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_u_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_u_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_u_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_u_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_u_2'
grid%tail_statevars%DataName = 'A_U_2'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_u_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_u_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_u_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_u_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_u_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_u_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_u_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_u_1'
grid%tail_statevars%DataName = 'G_U_1'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_u_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_u_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_u_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_u_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_u_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_u_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_u_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_u_2'
grid%tail_statevars%DataName = 'G_U_2'
grid%tail_statevars%Description = 'x-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_u_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_u_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_u_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_v_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_v_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_v_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_v_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_v_1'
grid%tail_statevars%DataName = 'A_V_1'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_v_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_v_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_v_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_v_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_v_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_v_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_v_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_v_2'
grid%tail_statevars%DataName = 'A_V_2'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_v_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_v_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_v_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_v_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_v_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_v_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_v_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_v_1'
grid%tail_statevars%DataName = 'G_V_1'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_v_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_v_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_v_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_v_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_v_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_v_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_v_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_v_2'
grid%tail_statevars%DataName = 'G_V_2'
grid%tail_statevars%Description = 'y-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_v_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_v_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_v_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_w_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_w_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_w_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_w_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_w_1'
grid%tail_statevars%DataName = 'A_W_1'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_w_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%a_w_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_w_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_w_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_w_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_w_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_w_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_w_2'
grid%tail_statevars%DataName = 'A_W_2'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_w_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%a_w_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_w_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_w_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_w_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_w_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_w_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_w_1'
grid%tail_statevars%DataName = 'G_W_1'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_w_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%g_w_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_w_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_w_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_w_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_w_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_w_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_w_2'
grid%tail_statevars%DataName = 'G_W_2'
grid%tail_statevars%Description = 'z-wind component'
grid%tail_statevars%Units = 'm s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_w_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%g_w_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_w_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_ph_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_ph_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_ph_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_ph_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_ph_1'
grid%tail_statevars%DataName = 'A_PH_1'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_ph_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%a_ph_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_ph_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_ph_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_ph_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_ph_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_ph_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_ph_2'
grid%tail_statevars%DataName = 'A_PH_2'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_ph_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%a_ph_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_ph_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_ph_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_ph_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_ph_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_ph_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_ph_1'
grid%tail_statevars%DataName = 'G_PH_1'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_ph_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%g_ph_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_ph_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_ph_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_ph_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_ph_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_ph_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_ph_2'
grid%tail_statevars%DataName = 'G_PH_2'
grid%tail_statevars%Description = 'perturbation geopotential'
grid%tail_statevars%Units = 'm2 s-2'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_ph_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%g_ph_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_ph_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_t_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_t_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_t_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_t_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_t_1'
grid%tail_statevars%DataName = 'A_T_1'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_t_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_t_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_t_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_t_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_t_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_t_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_t_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_t_2'
grid%tail_statevars%DataName = 'A_T_2'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_t_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_t_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_t_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_t_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_t_1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_t_1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_t_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_t_1'
grid%tail_statevars%DataName = 'G_T_1'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_t_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_t_1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_t_1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_t_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_t_2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_t_2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_t_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_t_2'
grid%tail_statevars%DataName = 'G_T_2'
grid%tail_statevars%Description = 'perturbation potential temperature (theta-t0)'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_t_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_t_2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_t_2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_mu_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_mu_1(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_mu_1(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_mu_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_mu_1'
grid%tail_statevars%DataName = 'A_MU_1'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_mu_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_mu_1(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_mu_1(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_mu_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_mu_2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_mu_2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_mu_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_mu_2'
grid%tail_statevars%DataName = 'A_MU_2'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_mu_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_mu_2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_mu_2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_mu_1').AND.(.NOT.grid%is_intermediate).AND.(IAND(1,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_mu_1(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_mu_1(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_mu_1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_mu_1'
grid%tail_statevars%DataName = 'G_MU_1'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 201
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_mu_1
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_mu_1(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_mu_1(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_mu_2').AND.(.NOT.grid%is_intermediate).AND.(IAND(2,tl).NE.0))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_mu_2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_mu_2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_mu_2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_mu_2'
grid%tail_statevars%DataName = 'G_MU_2'
grid%tail_statevars%Description = 'perturbation dry air mass in column'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 202
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_mu_2
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_mu_2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_mu_2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_p'
grid%tail_statevars%DataName = 'A_P'
grid%tail_statevars%Description = 'perturbation pressure'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_p
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_p'
grid%tail_statevars%DataName = 'G_P'
grid%tail_statevars%Description = 'perturbation pressure'
grid%tail_statevars%Units = 'Pa'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_p
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_z').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_z(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_z(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_z=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_z'
grid%tail_statevars%DataName = 'A_Z'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_z
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%a_z(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_z(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_z').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_z(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_z(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_z=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_z'
grid%tail_statevars%DataName = 'G_Z'
grid%tail_statevars%Description = ' '
grid%tail_statevars%Units = ' '
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_z
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = kde
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( kde, kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top_stag'
ENDIF
ELSE
ALLOCATE(grid%g_z(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_z(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'kma_a').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%kma_a(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%kma_a(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%kma_a=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'kma_a'
grid%tail_statevars%DataName = 'A'
grid%tail_statevars%Description = 'KMA Constants A to convert surface presure to full level pressure'
grid%tail_statevars%Units = 'dimensionless'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%kma_a
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = kde
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( kde, kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top_stag'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%kma_a(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%kma_a(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'kma_b').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%kma_b(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%kma_b(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%kma_b=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'kma_b'
grid%tail_statevars%DataName = 'B'
grid%tail_statevars%Description = 'KMA Constants B to convert surface presure to full level pressure'
grid%tail_statevars%Units = 'dimensionless'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = 'Z'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%kma_b
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = kde
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( kde, kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top_stag'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%kma_b(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%kma_b(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_moist'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_a_moist)) * RWORDSIZE
ALLOCATE(grid%a_moist(sm31:em31,sm32:em32,sm33:em33,num_a_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_moist(sm31:em31,sm32:em32,sm33:em33,num_a_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_moist=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_moist'
grid%tail_statevars%DataName = 'A_MOIST'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%a_moist
grid%tail_statevars%num_table => a_moist_num_table
grid%tail_statevars%index_table => a_moist_index_table
grid%tail_statevars%boundary_table => a_moist_boundary_table
grid%tail_statevars%dname_table => a_moist_dname_table
grid%tail_statevars%desc_table => a_moist_desc_table
grid%tail_statevars%units_table => a_moist_units_table
grid%tail_statevars%streams_table => a_moist_streams_table
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_moist(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_moist(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_moist'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_g_moist)) * RWORDSIZE
ALLOCATE(grid%g_moist(sm31:em31,sm32:em32,sm33:em33,num_g_moist),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_moist(sm31:em31,sm32:em32,sm33:em33,num_g_moist). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_moist=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_moist'
grid%tail_statevars%DataName = 'G_MOIST'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%g_moist
grid%tail_statevars%num_table => g_moist_num_table
grid%tail_statevars%index_table => g_moist_index_table
grid%tail_statevars%boundary_table => g_moist_boundary_table
grid%tail_statevars%dname_table => g_moist_dname_table
grid%tail_statevars%desc_table => g_moist_desc_table
grid%tail_statevars%units_table => g_moist_units_table
grid%tail_statevars%streams_table => g_moist_streams_table
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_moist(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_moist(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_h_diabatic'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%g_h_diabatic(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_h_diabatic(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_h_diabatic=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_h_diabatic'
grid%tail_statevars%DataName = 'G_H_DIABATIC'
grid%tail_statevars%Description = 'MICROPHYSICS LATENT HEATING'
grid%tail_statevars%Units = 'K s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%g_h_diabatic
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_h_diabatic(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_h_diabatic(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_h_diabatic'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%a_h_diabatic(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_h_diabatic(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_h_diabatic=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_h_diabatic'
grid%tail_statevars%DataName = 'A_H_DIABATIC'
grid%tail_statevars%Description = 'MICROPHYSICS LATENT HEATING'
grid%tail_statevars%Units = 'K s-1'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%a_h_diabatic
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_h_diabatic(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_h_diabatic(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_rainc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_rainc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_rainc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_rainc'
grid%tail_statevars%DataName = 'G_RAINC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_rainc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_rainc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_rainc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_rainc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_rainc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_rainc'
grid%tail_statevars%DataName = 'A_RAINC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_rainc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_rainc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_rainnc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_rainnc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainnc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_rainnc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_rainnc'
grid%tail_statevars%DataName = 'G_RAINNC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL GRID SCALE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_rainnc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_rainnc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainnc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_rainnc'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_rainnc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainnc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_rainnc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_rainnc'
grid%tail_statevars%DataName = 'A_RAINNC'
grid%tail_statevars%Description = 'ACCUMULATED TOTAL GRID SCALE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_rainnc
grid%tail_statevars%streams(1) = 1 ! 00000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_rainnc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainnc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_raincv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_raincv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_raincv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_raincv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_raincv'
grid%tail_statevars%DataName = 'G_RAINCV'
grid%tail_statevars%Description = 'TIME-STEP CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_raincv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_raincv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_raincv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_raincv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_raincv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_raincv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_raincv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_raincv'
grid%tail_statevars%DataName = 'A_RAINCV'
grid%tail_statevars%Description = 'TIME-STEP CUMULUS PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_raincv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_raincv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_raincv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_rainncv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%g_rainncv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainncv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_rainncv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_rainncv'
grid%tail_statevars%DataName = 'G_RAINNCV'
grid%tail_statevars%Description = 'TIME-STEP NONCONVECTIVE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%g_rainncv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%g_rainncv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_rainncv(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_rainncv').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%a_rainncv(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainncv(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_rainncv=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_rainncv'
grid%tail_statevars%DataName = 'A_RAINNCV'
grid%tail_statevars%Description = 'TIME-STEP NONCONVECTIVE PRECIPITATION'
grid%tail_statevars%Units = 'mm'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%a_rainncv
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%a_rainncv(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_rainncv(1,1). ')
endif
ENDIF
IF ( setinitval .EQ. 3 ) grid%update_sfcdiags=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_wrf_sfcinfo=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_background_errors=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_increments=.FALSE.
IF ( setinitval .EQ. 3 ) grid%var4d=.FALSE.
#endif
#if (NNN == 6)
IF ( setinitval .EQ. 3 ) grid%var4d_bin=0
IF ( setinitval .EQ. 3 ) grid%var4d_bin_rain=0
IF ( setinitval .EQ. 3 ) grid%var4d_lbc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%multi_inc=0
IF ( setinitval .EQ. 3 ) grid%print_detail_radar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_rain=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_xa=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_xb=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_f_obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_map=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_grad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_regression=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_spectral=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_testing=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_parallel=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_be=.FALSE.
IF ( setinitval .EQ. 3 ) grid%print_detail_outerloop=.FALSE.
IF ( setinitval .EQ. 3 ) grid%check_max_iv_print=.FALSE.
IF ( setinitval .EQ. 3 ) grid%check_buddy_print=.FALSE.
IF ( setinitval .EQ. 3 ) grid%analysis_accu=0
IF ( setinitval .EQ. 3 ) grid%calc_w_increment=.FALSE.
IF ( setinitval .EQ. 3 ) grid%dt_cloud_model=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_mod_filtered_obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_buoy=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_synop=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_ships=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_metar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_sound=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_pilot=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_airep=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_qscat=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_tamdar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_geoamv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_mtgirs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_polaramv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_sd_profiler=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wind_stats_sd=.FALSE.
IF ( setinitval .EQ. 3 ) grid%qc_rej_both=.FALSE.
IF ( setinitval .EQ. 3 ) grid%fg_format=0
IF ( setinitval .EQ. 3 ) grid%ob_format=0
IF ( setinitval .EQ. 3 ) grid%ob_format_gpsro=0
IF ( setinitval .EQ. 3 ) grid%num_fgat_time=0
IF ( setinitval .EQ. 3 ) grid%thin_conv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%thin_conv_ascii=.FALSE.
IF ( setinitval .EQ. 3 ) grid%thin_mesh_conv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%thin_rainobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_synopobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_shipsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_metarobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_soundobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mtgirsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_tamdarobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_pilotobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_airepobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_geoamvobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_polaramvobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_bogusobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_buoyobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_profilerobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_satemobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_gpsztdobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_gpspwobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_gpsrefobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%top_km_gpsro=initial_data_value
IF ( setinitval .EQ. 3 ) grid%bot_km_gpsro=initial_data_value
IF ( setinitval .EQ. 3 ) grid%use_ssmiretrievalobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_ssmitbobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_ssmt1obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_ssmt2obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_qscatobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_radarobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_radar_rv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_radar_rf=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_radar_rqv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_radar_rhv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_3dvar_phy=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_rainobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_hirs2obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_hirs3obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_hirs4obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mhsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_msuobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_amsuaobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_amsubobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_airsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_airsretobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_eos_amsuaobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_hsbobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_ssmisobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_iasiobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_seviriobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_amsr2obs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_kma1dvar=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_filtered_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_obs_errfac=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_atmsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mwtsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mwhsobs=.FALSE.
IF ( setinitval .EQ. 3 ) grid%check_max_iv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%max_error_t=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_uv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_spd=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_dir=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_omb_spd=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_omb_dir=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_pw=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_ref=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_rh=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_q=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_p=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_tb=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_thickness=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_rv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_rf=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_rain=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_buv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_bt=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_bq=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_error_slp=initial_data_value
IF ( setinitval .EQ. 3 ) grid%check_buddy=.FALSE.
IF ( setinitval .EQ. 3 ) grid%put_rand_seed=.FALSE.
IF ( setinitval .EQ. 3 ) grid%omb_set_rand=.FALSE.
IF ( setinitval .EQ. 3 ) grid%omb_add_noise=.FALSE.
IF ( setinitval .EQ. 3 ) grid%position_lev_dependant=.FALSE.
IF ( setinitval .EQ. 3 ) grid%obs_qc_pointer=0
IF ( setinitval .EQ. 3 ) grid%qmarker_retain=0
IF ( setinitval .EQ. 3 ) grid%max_sound_input=0
IF ( setinitval .EQ. 3 ) grid%max_mtgirs_input=0
IF ( setinitval .EQ. 3 ) grid%max_tamdar_input=0
IF ( setinitval .EQ. 3 ) grid%max_synop_input=0
IF ( setinitval .EQ. 3 ) grid%max_geoamv_input=0
IF ( setinitval .EQ. 3 ) grid%max_polaramv_input=0
IF ( setinitval .EQ. 3 ) grid%max_airep_input=0
IF ( setinitval .EQ. 3 ) grid%max_satem_input=0
IF ( setinitval .EQ. 3 ) grid%max_pilot_input=0
IF ( setinitval .EQ. 3 ) grid%max_radar_input=0
IF ( setinitval .EQ. 3 ) grid%max_rain_input=0
IF ( setinitval .EQ. 3 ) grid%max_metar_input=0
IF ( setinitval .EQ. 3 ) grid%max_gpspw_input=0
IF ( setinitval .EQ. 3 ) grid%max_ships_input=0
IF ( setinitval .EQ. 3 ) grid%max_profiler_input=0
IF ( setinitval .EQ. 3 ) grid%max_bogus_input=0
IF ( setinitval .EQ. 3 ) grid%max_buoy_input=0
IF ( setinitval .EQ. 3 ) grid%max_ssmi_rv_input=0
IF ( setinitval .EQ. 3 ) grid%max_ssmi_tb_input=0
IF ( setinitval .EQ. 3 ) grid%max_ssmt1_input=0
IF ( setinitval .EQ. 3 ) grid%max_ssmt2_input=0
IF ( setinitval .EQ. 3 ) grid%max_qscat_input=0
IF ( setinitval .EQ. 3 ) grid%max_gpsref_input=0
IF ( setinitval .EQ. 3 ) grid%max_airsr_input=0
IF ( setinitval .EQ. 3 ) grid%max_tovs_input=0
IF ( setinitval .EQ. 3 ) grid%max_ssmis_input=0
IF ( setinitval .EQ. 3 ) grid%report_start=0
IF ( setinitval .EQ. 3 ) grid%report_end=0
IF ( setinitval .EQ. 3 ) grid%tovs_start=0
IF ( setinitval .EQ. 3 ) grid%tovs_end=0
IF ( setinitval .EQ. 3 ) grid%gpsref_thinning=.FALSE.
IF ( setinitval .EQ. 3 ) grid%outer_loop_restart=.FALSE.
IF ( setinitval .EQ. 3 ) grid%max_ext_its=0
IF ( setinitval .EQ. 3 ) grid%ntmax=0
IF ( setinitval .EQ. 3 ) grid%nsave=0
IF ( setinitval .EQ. 3 ) grid%write_interval=0
IF ( setinitval .EQ. 3 ) grid%eps=initial_data_value
IF ( setinitval .EQ. 3 ) grid%precondition_cg=.FALSE.
IF ( setinitval .EQ. 3 ) grid%precondition_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%use_lanczos=.FALSE.
IF ( setinitval .EQ. 3 ) grid%read_lanczos=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_lanczos=.FALSE.
IF ( setinitval .EQ. 3 ) grid%orthonorm_gradient=.FALSE.
IF ( setinitval .EQ. 3 ) grid%cv_options=0
IF ( setinitval .EQ. 3 ) grid%cloud_cv_options=0
IF ( setinitval .EQ. 3 ) grid%as1=initial_data_value
IF ( setinitval .EQ. 3 ) grid%as2=initial_data_value
IF ( setinitval .EQ. 3 ) grid%as3=initial_data_value
IF ( setinitval .EQ. 3 ) grid%as4=initial_data_value
IF ( setinitval .EQ. 3 ) grid%as5=initial_data_value
IF ( setinitval .EQ. 3 ) grid%do_normalize=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_rf=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rf_passes=0
IF ( setinitval .EQ. 3 ) grid%var_scaling1=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling2=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling3=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling4=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling5=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling6=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling7=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling8=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling9=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling10=initial_data_value
IF ( setinitval .EQ. 3 ) grid%var_scaling11=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling1=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling2=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling3=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling4=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling5=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling6=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling7=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling8=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling9=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling10=initial_data_value
IF ( setinitval .EQ. 3 ) grid%len_scaling11=initial_data_value
IF ( setinitval .EQ. 3 ) grid%je_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%power_truncation=initial_data_value
IF ( setinitval .EQ. 3 ) grid%def_sub_domain=.FALSE.
IF ( setinitval .EQ. 3 ) grid%x_start_sub_domain=initial_data_value
IF ( setinitval .EQ. 3 ) grid%y_start_sub_domain=initial_data_value
IF ( setinitval .EQ. 3 ) grid%x_end_sub_domain=initial_data_value
IF ( setinitval .EQ. 3 ) grid%y_end_sub_domain=initial_data_value
IF ( setinitval .EQ. 3 ) grid%stdout=0
IF ( setinitval .EQ. 3 ) grid%stderr=0
IF ( setinitval .EQ. 3 ) grid%trace_unit=0
IF ( setinitval .EQ. 3 ) grid%trace_pe=0
IF ( setinitval .EQ. 3 ) grid%trace_repeat_head=0
IF ( setinitval .EQ. 3 ) grid%trace_repeat_body=0
IF ( setinitval .EQ. 3 ) grid%trace_max_depth=0
IF ( setinitval .EQ. 3 ) grid%trace_use=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trace_use_frequent=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trace_use_dull=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trace_memory=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trace_all_pes=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trace_csv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_html=.FALSE.
IF ( setinitval .EQ. 3 ) grid%warnings_are_fatal=.FALSE.
IF ( setinitval .EQ. 3 ) grid%test_transforms=.FALSE.
IF ( setinitval .EQ. 3 ) grid%test_gradient=.FALSE.
IF ( setinitval .EQ. 3 ) grid%test_statistics=.FALSE.
IF ( setinitval .EQ. 3 ) grid%interpolate_stats=.FALSE.
IF ( setinitval .EQ. 3 ) grid%be_eta=initial_data_value
IF ( setinitval .EQ. 3 ) grid%test_dm_exact=.FALSE.
IF ( setinitval .EQ. 3 ) grid%cv_options_hum=0
IF ( setinitval .EQ. 3 ) grid%check_rh=0
IF ( setinitval .EQ. 3 ) grid%set_omb_rand_fac=initial_data_value
IF ( setinitval .EQ. 3 ) grid%seed_array1=0
IF ( setinitval .EQ. 3 ) grid%seed_array2=0
IF ( setinitval .EQ. 3 ) grid%sfc_assi_options=0
IF ( setinitval .EQ. 3 ) grid%psfc_from_slp=.FALSE.
IF ( setinitval .EQ. 3 ) grid%calculate_cg_cost_fn=.FALSE.
IF ( setinitval .EQ. 3 ) grid%lat_stats_option=.FALSE.
IF ( setinitval .EQ. 3 ) grid%interp_option=0
IF ( setinitval .EQ. 3 ) grid%balance_type=0
IF ( setinitval .EQ. 3 ) grid%use_wpec=.FALSE.
IF ( setinitval .EQ. 3 ) grid%wpec_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%vert_corr=0
IF ( setinitval .EQ. 3 ) grid%vertical_ip=0
IF ( setinitval .EQ. 3 ) grid%vert_evalue=0
IF ( setinitval .EQ. 3 ) grid%max_vert_var1=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var2=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var3=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var4=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var5=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var6=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var7=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var8=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var9=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var10=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var11=initial_data_value
IF ( setinitval .EQ. 3 ) grid%max_vert_var_alpha=initial_data_value
IF ( setinitval .EQ. 3 ) grid%psi_chi_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%psi_t_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%psi_ps_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%psi_rh_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%chi_u_t_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%chi_u_ps_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%chi_u_rh_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%t_u_rh_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%ps_u_rh_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%rttov_emis_atlas_ir=0
IF ( setinitval .EQ. 3 ) grid%rttov_emis_atlas_mw=0
IF ( setinitval .EQ. 3 ) grid%rtminit_print=0
IF ( setinitval .EQ. 3 ) grid%rtminit_nsensor=0
IF ( setinitval .EQ. 3 ) grid%rtminit_platform=0
IF ( setinitval .EQ. 3 ) grid%rtminit_satid=0
IF ( setinitval .EQ. 3 ) grid%rtminit_sensor=0
IF ( setinitval .EQ. 3 ) grid%rad_monitoring=0
IF ( setinitval .EQ. 3 ) grid%thinning_mesh=initial_data_value
IF ( setinitval .EQ. 3 ) grid%thinning=.FALSE.
IF ( setinitval .EQ. 3 ) grid%read_biascoef=.FALSE.
IF ( setinitval .EQ. 3 ) grid%biascorr=.FALSE.
IF ( setinitval .EQ. 3 ) grid%biasprep=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rttov_scatt=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_profile=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_jacobian=.FALSE.
IF ( setinitval .EQ. 3 ) grid%qc_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_iv_rad_ascii=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_oa_rad_ascii=.FALSE.
IF ( setinitval .EQ. 3 ) grid%write_filtered_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_error_factor_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_landem=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_antcorr=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mspps_emis=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_mspps_ts=.FALSE.
IF ( setinitval .EQ. 3 ) grid%mw_emis_sea=0
IF ( setinitval .EQ. 3 ) grid%tovs_min_transfer=0
IF ( setinitval .EQ. 3 ) grid%tovs_batch=.FALSE.
IF ( setinitval .EQ. 3 ) grid%rtm_option=0
IF ( setinitval .EQ. 3 ) grid%use_crtm_kmatrix=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_rttov_kmatrix=.FALSE.
IF ( setinitval .EQ. 3 ) grid%crtm_cloud=.FALSE.
IF ( setinitval .EQ. 3 ) grid%only_sea_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_pseudo_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_platid=0
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_satid=0
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_senid=0
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_ichan=0
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_lat=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_lon=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_inv=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_rad_err=initial_data_value
IF ( setinitval .EQ. 3 ) grid%use_simulated_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%simulated_rad_io=.FALSE.
IF ( setinitval .EQ. 3 ) grid%simulated_rad_ngrid=0
IF ( setinitval .EQ. 3 ) grid%use_varbc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%freeze_varbc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%varbc_factor=initial_data_value
IF ( setinitval .EQ. 3 ) grid%varbc_nbgerr=0
IF ( setinitval .EQ. 3 ) grid%varbc_nobsmin=0
IF ( setinitval .EQ. 3 ) grid%use_clddet_mmr=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_clddet_ecmwf=.FALSE.
IF ( setinitval .EQ. 3 ) grid%airs_warmest_fov=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_satcv=.FALSE.
IF ( setinitval .EQ. 3 ) grid%use_blacklist_rad=.FALSE.
IF ( setinitval .EQ. 3 ) grid%calc_weightfunc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%num_pseudo=0
IF ( setinitval .EQ. 3 ) grid%pseudo_x=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_y=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_z=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_val=initial_data_value
IF ( setinitval .EQ. 3 ) grid%pseudo_err=initial_data_value
IF ( setinitval .EQ. 3 ) grid%alphacv_method=0
IF ( setinitval .EQ. 3 ) grid%ensdim_alpha=0
IF ( setinitval .EQ. 3 ) grid%alpha_truncation=0
IF ( setinitval .EQ. 3 ) grid%alpha_corr_type=0
IF ( setinitval .EQ. 3 ) grid%alpha_corr_scale=initial_data_value
IF ( setinitval .EQ. 3 ) grid%alpha_std_dev=initial_data_value
IF ( setinitval .EQ. 3 ) grid%alpha_vertloc=.FALSE.
IF ( setinitval .EQ. 3 ) grid%alpha_hydrometeors=.FALSE.
#endif
#if (NNN == 7)
IF ( setinitval .EQ. 3 ) grid%hybrid_dual_res=.FALSE.
IF ( setinitval .EQ. 3 ) grid%dual_res_upscale_opt=0
IF ( setinitval .EQ. 3 ) grid%sensitivity_option=0
IF ( setinitval .EQ. 3 ) grid%adj_sens=.FALSE.
IF ( setinitval .EQ. 3 ) grid%jcdfi_use=.FALSE.
IF ( setinitval .EQ. 3 ) grid%jcdfi_diag=0
IF ( setinitval .EQ. 3 ) grid%jcdfi_penalty=initial_data_value
IF ( setinitval .EQ. 3 ) grid%enable_identity=.FALSE.
IF ( setinitval .EQ. 3 ) grid%trajectory_io=.FALSE.
IF ( setinitval .EQ. 3 ) grid%var4d_detail_out=.FALSE.
IF ( setinitval .EQ. 3 ) grid%var4d_run=.FALSE.
IF ( setinitval .EQ. 3 ) grid%mp_physics_ad=0
IF ( setinitval .EQ. 3 ) grid%mp_physics_4dvar=0
IF(okay_to_alloc.AND.in_use_for_config(id,'dummy').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))) * RWORDSIZE
ALLOCATE(grid%dummy(sm31:em31),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dummy(sm31:em31). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%dummy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dummy'
grid%tail_statevars%DataName = 'DUMMY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'X'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%dummy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%dummy(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%dummy(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1'
grid%tail_statevars%DataName = 'V1'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v1
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2'
grid%tail_statevars%DataName = 'V2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v3').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v3(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v3(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v3'
grid%tail_statevars%DataName = 'V3'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v3
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v3(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v3(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v4').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v4(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v4(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v4=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v4'
grid%tail_statevars%DataName = 'V4'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v4
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v4(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v4(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v5').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v5(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v5(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v5=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v5'
grid%tail_statevars%DataName = 'V5'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v5
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v5(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v5(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v6').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v6(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v6(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v6=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v6'
grid%tail_statevars%DataName = 'V6'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v6
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v6(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v6(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v7').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v7(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v7(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v7=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v7'
grid%tail_statevars%DataName = 'V7'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v7
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v7(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v7(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v8').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v8(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v8(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v8=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v8'
grid%tail_statevars%DataName = 'V8'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v8
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v8(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v8(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v9').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v9(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v9(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v9=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v9'
grid%tail_statevars%DataName = 'V9'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v9
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v9(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v9(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v10(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v10(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v10(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v10(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v11').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv%v11(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v11(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%v11=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v11'
grid%tail_statevars%DataName = 'V11'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv%v11
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%v11(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%v11(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alpha').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%vv%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv%alpha=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alpha'
grid%tail_statevars%DataName = 'ALPHA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%vv%alpha
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv%alpha(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv%alpha(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1'
grid%tail_statevars%DataName = 'V1'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v1
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2'
grid%tail_statevars%DataName = 'V2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v3').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v3(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v3(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v3'
grid%tail_statevars%DataName = 'V3'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v3
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v3(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v3(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v4').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v4(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v4(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v4=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v4'
grid%tail_statevars%DataName = 'V4'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v4
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v4(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v4(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v5').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v5(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v5(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v5=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v5'
grid%tail_statevars%DataName = 'V5'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v5
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v5(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v5(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v6').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v6(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v6(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v6=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v6'
grid%tail_statevars%DataName = 'V6'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v6
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v6(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v6(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v7').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v7(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v7(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v7=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v7'
grid%tail_statevars%DataName = 'V7'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v7
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v7(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v7(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v8').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v8(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v8(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v8=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v8'
grid%tail_statevars%DataName = 'V8'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v8
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v8(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v8(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v9').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v9(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v9(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v9=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v9'
grid%tail_statevars%DataName = 'V9'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v9
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v9(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v9(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v10(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v10(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v10(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v10(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v11').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%v11(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v11(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%v11=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v11'
grid%tail_statevars%DataName = 'V11'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vv6%v11
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%v11(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%v11(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alpha').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%vv6%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vv6%alpha=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alpha'
grid%tail_statevars%DataName = 'ALPHA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%vv6%alpha
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vv6%alpha(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vv6%alpha(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1'
grid%tail_statevars%DataName = 'V1'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v1
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2'
grid%tail_statevars%DataName = 'V2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v3').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v3(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v3(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v3'
grid%tail_statevars%DataName = 'V3'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v3
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v3(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v3(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v4').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v4(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v4(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v4=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v4'
grid%tail_statevars%DataName = 'V4'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v4
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v4(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v4(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v5').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v5(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v5(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v5=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v5'
grid%tail_statevars%DataName = 'V5'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v5
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v5(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v5(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v6').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v6(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v6(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v6=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v6'
grid%tail_statevars%DataName = 'V6'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v6
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v6(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v6(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v7').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v7(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v7(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v7=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v7'
grid%tail_statevars%DataName = 'V7'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v7
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v7(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v7(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v8').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v8(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v8(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v8=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v8'
grid%tail_statevars%DataName = 'V8'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v8
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v8(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v8(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v9').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v9(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v9(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v9=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v9'
grid%tail_statevars%DataName = 'V9'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v9
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v9(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v9(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v10(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v10(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v10(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v10(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v11').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp%v11(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v11(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%v11=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v11'
grid%tail_statevars%DataName = 'V11'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp%v11
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%v11(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%v11(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alpha').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%vp%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp%alpha=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alpha'
grid%tail_statevars%DataName = 'ALPHA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%vp%alpha
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp%alpha(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp%alpha(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v1(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1'
grid%tail_statevars%DataName = 'V1'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v1
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v1(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v1(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v2(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2'
grid%tail_statevars%DataName = 'V2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v2(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v2(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v3').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v3(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v3(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v3'
grid%tail_statevars%DataName = 'V3'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v3
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v3(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v3(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v4').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v4(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v4(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v4=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v4'
grid%tail_statevars%DataName = 'V4'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v4
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v4(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v4(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v5').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v5(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v5(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v5=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v5'
grid%tail_statevars%DataName = 'V5'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v5
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v5(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v5(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v6').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v6(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v6(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v6=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v6'
grid%tail_statevars%DataName = 'V6'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v6
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v6(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v6(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v7').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v7(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v7(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v7=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v7'
grid%tail_statevars%DataName = 'V7'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v7
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v7(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v7(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v8').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v8(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v8(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v8=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v8'
grid%tail_statevars%DataName = 'V8'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v8
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v8(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v8(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v9').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v9(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v9(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v9=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v9'
grid%tail_statevars%DataName = 'V9'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v9
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v9(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v9(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v10(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v10(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v10(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v10(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v11').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%v11(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v11(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%v11=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v11'
grid%tail_statevars%DataName = 'V11'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%vp6%v11
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%v11(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%v11(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'alpha').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%vp6%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%alpha(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%vp6%alpha=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'alpha'
grid%tail_statevars%DataName = 'ALPHA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%vp6%alpha
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%vp6%alpha(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%vp6%alpha(1,1,1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ne'
grid%tail_statevars%DataName = 'NE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%ep%ne
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%ep%ne=0
IF(okay_to_alloc.AND.in_use_for_config(id,'v1').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%ep%v1(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v1(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ep%v1=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1'
grid%tail_statevars%DataName = 'V1'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%ep%v1
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ep%v1(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v1(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%ep%v2(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v2(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ep%v2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2'
grid%tail_statevars%DataName = 'V2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%ep%v2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ep%v2(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v2(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v3').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%ep%v3(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v3(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ep%v3=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v3'
grid%tail_statevars%DataName = 'V3'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%ep%v3
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ep%v3(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v3(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v4').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%ep%v4(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v4(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ep%v4=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v4'
grid%tail_statevars%DataName = 'V4'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%ep%v4
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ep%v4(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v4(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v5').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%ensdim_alpha)-(1)+1))) * RWORDSIZE
ALLOCATE(grid%ep%v5(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v5(sm31:em31,sm32:em32,sm33:em33,1:model_config_rec%ensdim_alpha). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ep%v5=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v5'
grid%tail_statevars%DataName = 'V5'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_4d => grid%ep%v5
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%ep%v5(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%ep%v5(1,1,1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'map'
grid%tail_statevars%DataName = 'MAP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%map
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%map=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ptop'
grid%tail_statevars%DataName = 'PTOP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%xb%ptop
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ptop=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ztop'
grid%tail_statevars%DataName = 'ZTOP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%xb%ztop
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ztop=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ds'
grid%tail_statevars%DataName = 'DS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%xb%ds
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ds=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'sigmaf_0'
grid%tail_statevars%DataName = 'SIGMAF_0'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_0d => grid%xb%sigmaf_0
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%sigmaf_0=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'mix'
grid%tail_statevars%DataName = 'MIX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%mix
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%mix=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'mjy'
grid%tail_statevars%DataName = 'MJY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%mjy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%mjy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'mkz'
grid%tail_statevars%DataName = 'MKZ'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%mkz
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%mkz=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'num_of_var'
grid%tail_statevars%DataName = 'NUM_OF_VAR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%num_of_var
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%num_of_var=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ids'
grid%tail_statevars%DataName = 'IDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%ids
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ids=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ide'
grid%tail_statevars%DataName = 'IDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%ide
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ide=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jds'
grid%tail_statevars%DataName = 'JDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jds
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jds=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jde'
grid%tail_statevars%DataName = 'JDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jde
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jde=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kds'
grid%tail_statevars%DataName = 'KDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kds
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kds=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kde'
grid%tail_statevars%DataName = 'KDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kde
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kde=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ims'
grid%tail_statevars%DataName = 'IMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%ims
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ims=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ime'
grid%tail_statevars%DataName = 'IME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%ime
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ime=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jms'
grid%tail_statevars%DataName = 'JMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jms
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jms=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jme'
grid%tail_statevars%DataName = 'JME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jme
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jme=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kms'
grid%tail_statevars%DataName = 'KMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kms
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kms=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kme'
grid%tail_statevars%DataName = 'KME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kme
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kme=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'its'
grid%tail_statevars%DataName = 'ITS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%its
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%its=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ite'
grid%tail_statevars%DataName = 'ITE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%ite
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%ite=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jts'
grid%tail_statevars%DataName = 'JTS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jts
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jts=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jte'
grid%tail_statevars%DataName = 'JTE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%jte
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%jte=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kts'
grid%tail_statevars%DataName = 'KTS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kts
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kts=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kte'
grid%tail_statevars%DataName = 'KTE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xb%kte
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xb%kte=0
IF(okay_to_alloc.AND.in_use_for_config(id,'grid_box_area').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%grid_box_area(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%grid_box_area(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%grid_box_area=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'grid_box_area'
grid%tail_statevars%DataName = 'GRID_BOX_AREA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%grid_box_area
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%grid_box_area(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%grid_box_area(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'map_factor').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%map_factor(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%map_factor(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%map_factor=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'map_factor'
grid%tail_statevars%DataName = 'MAP_FACTOR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%map_factor
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%map_factor(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%map_factor(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%u(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%u(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%u=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u'
grid%tail_statevars%DataName = 'U'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%u
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%u(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%u(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%v(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%v(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v'
grid%tail_statevars%DataName = 'V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%v(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%v(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'w').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%w(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%w(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%w=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'w'
grid%tail_statevars%DataName = 'W'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%w
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%w(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%w(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%t(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%t(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%t=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't'
grid%tail_statevars%DataName = 'T'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%t
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%t(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%t(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p'
grid%tail_statevars%DataName = 'P'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%p
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%q(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%q(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%q=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q'
grid%tail_statevars%DataName = 'Q'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%q
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%q(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%q(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qrn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qrn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qrn'
grid%tail_statevars%DataName = 'QRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qrn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qrn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qcw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qcw(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qcw(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qcw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qcw'
grid%tail_statevars%DataName = 'QCW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qcw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qcw(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qcw(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qci').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qci(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qci(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qci=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qci'
grid%tail_statevars%DataName = 'QCI'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qci
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qci(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qci(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qsn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qsn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qsn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qsn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qsn'
grid%tail_statevars%DataName = 'QSN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qsn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qsn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qsn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qgr').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qgr(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qgr(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qgr=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qgr'
grid%tail_statevars%DataName = 'QGR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qgr
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qgr(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qgr(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qt(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qt(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qt'
grid%tail_statevars%DataName = 'QT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qt
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qt(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qt(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'delt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%delt(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%delt(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%delt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'delt'
grid%tail_statevars%DataName = 'DELT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%delt
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%delt(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%delt(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xb_p_x').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%xb_p_x(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xb_p_x(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%xb_p_x=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xb_p_x'
grid%tail_statevars%DataName = 'XB_P_X'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%xb_p_x
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%xb_p_x(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xb_p_x(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xb_p_y').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%xb_p_y(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xb_p_y(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%xb_p_y=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xb_p_y'
grid%tail_statevars%DataName = 'XB_P_Y'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%xb_p_y
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%xb_p_y(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xb_p_y(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%h(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%h(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'h'
grid%tail_statevars%DataName = 'H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%h(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%h(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'hf').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%hf(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%hf(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%hf=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'hf'
grid%tail_statevars%DataName = 'HF'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%hf
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%hf(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%hf(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'wh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%wh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%wh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%wh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'wh'
grid%tail_statevars%DataName = 'WH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%wh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%wh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%wh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rho').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%rho(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rho(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%rho=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rho'
grid%tail_statevars%DataName = 'RHO'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%rho
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%rho(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rho(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%rh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%rh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rh'
grid%tail_statevars%DataName = 'RH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%rh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%rh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'es').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%es(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%es(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%es=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'es'
grid%tail_statevars%DataName = 'ES'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%es
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%es(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%es(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qs').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%qs(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qs(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%qs=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qs'
grid%tail_statevars%DataName = 'QS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%qs
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%qs(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%qs(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'td').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%td(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%td(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%td=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'td'
grid%tail_statevars%DataName = 'TD'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%td
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%td(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%td(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'vertical_inner_product').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%vertical_inner_product(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%vertical_inner_product(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%vertical_inner_product=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'vertical_inner_product'
grid%tail_statevars%DataName = 'VERTICAL_INNER_PRODUCT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%vertical_inner_product
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%vertical_inner_product(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%vertical_inner_product(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ref').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%ref(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ref(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%ref=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ref'
grid%tail_statevars%DataName = 'REF'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%ref
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%ref(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ref(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'reflog').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%reflog(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%reflog(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%reflog=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'reflog'
grid%tail_statevars%DataName = 'REFLOG'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xb%reflog
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xb%reflog(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%reflog(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rough').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%rough(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rough(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%rough=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rough'
grid%tail_statevars%DataName = 'ROUGH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%rough
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%rough(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%rough(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ztd').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%ztd(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ztd(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%ztd=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ztd'
grid%tail_statevars%DataName = 'ZTD'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%ztd
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%ztd(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ztd(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tpw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tpw(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tpw(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tpw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tpw'
grid%tail_statevars%DataName = 'TPW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tpw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tpw(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tpw(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'slp').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%slp(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%slp(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%slp=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'slp'
grid%tail_statevars%DataName = 'SLP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%slp
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%slp(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%slp(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'speed').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%speed(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%speed(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%speed=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'speed'
grid%tail_statevars%DataName = 'SPEED'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%speed
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%speed(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%speed(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb19v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb19v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb19v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19v'
grid%tail_statevars%DataName = 'TB19V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb19v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb19v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb19v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb19h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb19h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb19h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19h'
grid%tail_statevars%DataName = 'TB19H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb19h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb19h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb19h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb22v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb22v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb22v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb22v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb22v'
grid%tail_statevars%DataName = 'TB22V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb22v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb22v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb22v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb37v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb37v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb37v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37v'
grid%tail_statevars%DataName = 'TB37V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb37v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb37v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb37v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb37h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb37h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb37h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37h'
grid%tail_statevars%DataName = 'TB37H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb37h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb37h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb37h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb85v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb85v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb85v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85v'
grid%tail_statevars%DataName = 'TB85V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb85v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb85v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb85v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tb85h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb85h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tb85h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85h'
grid%tail_statevars%DataName = 'TB85H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tb85h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tb85h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tb85h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'cori').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%cori(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%cori(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%cori=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'cori'
grid%tail_statevars%DataName = 'CORI'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%cori
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%cori(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%cori(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tgrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tgrn(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tgrn(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tgrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tgrn'
grid%tail_statevars%DataName = 'TGRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tgrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tgrn(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tgrn(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'lat').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%lat(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lat(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%lat=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'lat'
grid%tail_statevars%DataName = 'LAT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%lat
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%lat(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lat(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'lon').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%lon(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lon(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%lon=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'lon'
grid%tail_statevars%DataName = 'LON'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%lon
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%lon(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lon(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'terr').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%terr(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%terr(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%terr=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'terr'
grid%tail_statevars%DataName = 'TERR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%terr
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%terr(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%terr(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'psac').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%psac(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%psac(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%psac=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'psac'
grid%tail_statevars%DataName = 'PSAC'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%psac
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%psac(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%psac(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'lanu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%lanu(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lanu(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%lanu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'lanu'
grid%tail_statevars%DataName = 'LANU'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%lanu
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%lanu(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%lanu(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snow').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%snow(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%snow(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%snow=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snow'
grid%tail_statevars%DataName = 'SNOW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%snow
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%snow(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%snow(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xland').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%xland(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xland(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%xland=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xland'
grid%tail_statevars%DataName = 'XLAND'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%xland
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%xland(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xland(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'landmask').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%landmask(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%landmask(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%landmask=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'landmask'
grid%tail_statevars%DataName = 'LANDMASK'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%landmask
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%landmask(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%landmask(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%u10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%u10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%u10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u10'
grid%tail_statevars%DataName = 'U10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%u10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%u10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%u10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%v10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%v10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%v10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%v10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%t2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%t2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%t2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't2'
grid%tail_statevars%DataName = 'T2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%t2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%t2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%t2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%q2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%q2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%q2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q2'
grid%tail_statevars%DataName = 'Q2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%q2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%q2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%q2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'psfc').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%psfc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%psfc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%psfc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'psfc'
grid%tail_statevars%DataName = 'PSFC'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%psfc
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%psfc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%psfc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tsk').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tsk(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tsk(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tsk=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tsk'
grid%tail_statevars%DataName = 'TSK'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tsk
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tsk(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tsk(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'smois').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%smois(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%smois(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%smois=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'smois'
grid%tail_statevars%DataName = 'SMOIS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%smois
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%smois(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%smois(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tslb').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%tslb(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tslb(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%tslb=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tslb'
grid%tail_statevars%DataName = 'TSLB'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%tslb
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%tslb(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%tslb(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'xice').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%xice(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xice(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%xice=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'xice'
grid%tail_statevars%DataName = 'XICE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%xice
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%xice(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%xice(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ivgtyp').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%xb%ivgtyp(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ivgtyp(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%ivgtyp=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ivgtyp'
grid%tail_statevars%DataName = 'IVGTYP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%xb%ivgtyp
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%ivgtyp(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%ivgtyp(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'isltyp').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * IWORDSIZE
ALLOCATE(grid%xb%isltyp(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%isltyp(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%isltyp=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'isltyp'
grid%tail_statevars%DataName = 'ISLTYP'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_2d => grid%xb%isltyp
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%isltyp(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%isltyp(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'vegfra').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%vegfra(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%vegfra(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%vegfra=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'vegfra'
grid%tail_statevars%DataName = 'VEGFRA'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%vegfra
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%vegfra(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%vegfra(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'snowh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%snowh(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%snowh(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%snowh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'snowh'
grid%tail_statevars%DataName = 'SNOWH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%snowh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%snowh(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%snowh(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'regime').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%regime(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%regime(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%regime=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'regime'
grid%tail_statevars%DataName = 'REGIME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%regime
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%regime(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%regime(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'znu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%znu(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%znu(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%znu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'znu'
grid%tail_statevars%DataName = 'ZNU'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%znu
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%znu(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%znu(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'znw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%znw(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%znw(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%znw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'znw'
grid%tail_statevars%DataName = 'ZNW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%znw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%znw(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%znw(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'dn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%dn(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%dn(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%dn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dn'
grid%tail_statevars%DataName = 'DN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%dn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%dn(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%dn(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'dnw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%dnw(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%dnw(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%dnw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'dnw'
grid%tail_statevars%DataName = 'DNW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%dnw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%dnw(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%dnw(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'sigmah').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%sigmah(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%sigmah(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%sigmah=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'sigmah'
grid%tail_statevars%DataName = 'SIGMAH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%sigmah
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%sigmah(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%sigmah(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'sigmaf').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%sigmaf(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%sigmaf(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%sigmaf=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'sigmaf'
grid%tail_statevars%DataName = 'SIGMAF'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%sigmaf
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%sigmaf(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%sigmaf(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'coefx').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%coefx(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefx(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%coefx=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'coefx'
grid%tail_statevars%DataName = 'COEFX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%coefx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%coefx(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefx(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'coefy').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%coefy(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefy(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%coefy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'coefy'
grid%tail_statevars%DataName = 'COEFY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%coefy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%coefy(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefy(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'coefz').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xb%coefz(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefz(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%coefz=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'coefz'
grid%tail_statevars%DataName = 'COEFZ'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xb%coefz
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%coefz(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%coefz(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'kma_a').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%kma_a(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%kma_a(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%kma_a=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'kma_a'
grid%tail_statevars%DataName = 'KMA_A'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%kma_a
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%kma_a(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%kma_a(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'kma_b').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xb%kma_b(sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%kma_b(sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xb%kma_b=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'kma_b'
grid%tail_statevars%DataName = 'KMA_B'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'Z'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 1
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_1d => grid%xb%kma_b
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = kds
grid%tail_statevars%ed1 = (kde-1)
grid%tail_statevars%sd2 = 1
grid%tail_statevars%ed2 = 1
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = kms
grid%tail_statevars%em1 = kme
grid%tail_statevars%sm2 = 1
grid%tail_statevars%em2 = 1
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = kps
grid%tail_statevars%ep1 = MIN( (kde-1), kpe )
grid%tail_statevars%sp2 = 1
grid%tail_statevars%ep2 = 1
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%dimname1 = 'bottom_top'
grid%tail_statevars%dimname2 = ''
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xb%kma_b(1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xb%kma_b(1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%u(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%u(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%u=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u'
grid%tail_statevars%DataName = 'U'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%u
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%u(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%u(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%v(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%v(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v'
grid%tail_statevars%DataName = 'V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%v(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%v(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'w').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%w(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%w(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%w=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'w'
grid%tail_statevars%DataName = 'W'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%w
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%w(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%w(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%t(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%t(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%t=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't'
grid%tail_statevars%DataName = 'T'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%t
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%t(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%t(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%q(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%q(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%q=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q'
grid%tail_statevars%DataName = 'Q'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%q
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%q(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%q(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p'
grid%tail_statevars%DataName = 'P'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%p
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'geoh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%geoh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%geoh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%geoh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'geoh'
grid%tail_statevars%DataName = 'GEOH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%geoh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%geoh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%geoh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%rh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%rh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%rh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rh'
grid%tail_statevars%DataName = 'RH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%rh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%rh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%rh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rho').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%rho(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%rho(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%rho=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rho'
grid%tail_statevars%DataName = 'RHO'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%rho
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%rho(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%rho(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'wh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%wh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%wh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%wh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'wh'
grid%tail_statevars%DataName = 'WH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%wh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%wh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%wh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'grad_p_x').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%grad_p_x(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%grad_p_x(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%grad_p_x=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'grad_p_x'
grid%tail_statevars%DataName = 'GRAD_P_X'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%grad_p_x
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%grad_p_x(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%grad_p_x(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'grad_p_y').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%grad_p_y(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%grad_p_y(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%grad_p_y=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'grad_p_y'
grid%tail_statevars%DataName = 'GRAD_P_Y'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%grad_p_y
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%grad_p_y(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%grad_p_y(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qrn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qrn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qrn'
grid%tail_statevars%DataName = 'QRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qrn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qrn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qcw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qcw(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qcw(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qcw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qcw'
grid%tail_statevars%DataName = 'QCW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qcw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qcw(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qcw(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qci').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qci(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qci(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qci=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qci'
grid%tail_statevars%DataName = 'QCI'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qci
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qci(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qci(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qsn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qsn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qsn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qsn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qsn'
grid%tail_statevars%DataName = 'QSN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qsn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qsn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qsn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qgr').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qgr(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qgr(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qgr=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qgr'
grid%tail_statevars%DataName = 'QGR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qgr
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qgr(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qgr(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%qt(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qt(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%qt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qt'
grid%tail_statevars%DataName = 'QT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%qt
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%qt(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%qt(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tgrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tgrn(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tgrn(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tgrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tgrn'
grid%tail_statevars%DataName = 'TGRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tgrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tgrn(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tgrn(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'psfc').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%psfc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%psfc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%psfc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'psfc'
grid%tail_statevars%DataName = 'PSFC'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%psfc
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%psfc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%psfc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%mu(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%mu(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%mu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mu'
grid%tail_statevars%DataName = 'MU'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%mu
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%mu(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%mu(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%u10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%u10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%u10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u10'
grid%tail_statevars%DataName = 'U10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%u10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%u10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%u10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%v10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%v10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%v10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%v10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%t2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%t2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%t2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't2'
grid%tail_statevars%DataName = 'T2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%t2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%t2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%t2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%q2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%q2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%q2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q2'
grid%tail_statevars%DataName = 'Q2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%q2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%q2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%q2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ref').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xa%ref(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%ref(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%ref=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ref'
grid%tail_statevars%DataName = 'REF'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xa%ref
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xa%ref(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%ref(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ztd').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%ztd(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%ztd(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%ztd=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ztd'
grid%tail_statevars%DataName = 'ZTD'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%ztd
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%ztd(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%ztd(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tpw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tpw(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tpw(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tpw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tpw'
grid%tail_statevars%DataName = 'TPW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tpw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tpw(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tpw(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'speed').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%speed(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%speed(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%speed=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'speed'
grid%tail_statevars%DataName = 'SPEED'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%speed
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%speed(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%speed(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb19v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb19v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb19v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19v'
grid%tail_statevars%DataName = 'TB19V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb19v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb19v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb19v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb19h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb19h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb19h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19h'
grid%tail_statevars%DataName = 'TB19H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb19h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb19h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb19h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb22v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb22v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb22v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb22v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb22v'
grid%tail_statevars%DataName = 'TB22V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb22v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb22v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb22v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb37v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb37v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb37v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37v'
grid%tail_statevars%DataName = 'TB37V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb37v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb37v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb37v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb37h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb37h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb37h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37h'
grid%tail_statevars%DataName = 'TB37H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb37h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb37h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb37h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb85v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb85v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb85v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85v'
grid%tail_statevars%DataName = 'TB85V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb85v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb85v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb85v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xa%tb85h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb85h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xa%tb85h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85h'
grid%tail_statevars%DataName = 'TB85H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xa%tb85h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xa%tb85h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xa%tb85h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%u(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%u(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%u=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u'
grid%tail_statevars%DataName = 'U'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'X'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%u
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = ide
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( ide, ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east_stag'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%u(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%u(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%v(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%v(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v'
grid%tail_statevars%DataName = 'V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = 'Y'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = jde
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( jde, jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north_stag'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%v(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%v(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'w').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%w(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%w(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%w=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'w'
grid%tail_statevars%DataName = 'W'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%w
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%w(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%w(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%t(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%t(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%t=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't'
grid%tail_statevars%DataName = 'T'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%t
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%t(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%t(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%q(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%q(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%q=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q'
grid%tail_statevars%DataName = 'Q'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%q
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%q(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%q(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'p').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%p(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%p(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%p=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'p'
grid%tail_statevars%DataName = 'P'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%p
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%p(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%p(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'geoh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%geoh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%geoh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%geoh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'geoh'
grid%tail_statevars%DataName = 'GEOH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%geoh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%geoh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%geoh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%rh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%rh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%rh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rh'
grid%tail_statevars%DataName = 'RH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%rh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%rh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%rh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'rho').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%rho(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%rho(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%rho=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'rho'
grid%tail_statevars%DataName = 'RHO'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%rho
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%rho(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%rho(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'wh').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%wh(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%wh(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%wh=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'wh'
grid%tail_statevars%DataName = 'WH'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%wh
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%wh(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%wh(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'grad_p_x').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%grad_p_x(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%grad_p_x(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%grad_p_x=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'grad_p_x'
grid%tail_statevars%DataName = 'GRAD_P_X'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%grad_p_x
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%grad_p_x(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%grad_p_x(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'grad_p_y').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%grad_p_y(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%grad_p_y(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%grad_p_y=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'grad_p_y'
grid%tail_statevars%DataName = 'GRAD_P_Y'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%grad_p_y
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%grad_p_y(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%grad_p_y(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qrn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qrn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qrn'
grid%tail_statevars%DataName = 'QRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qrn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qrn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qcw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qcw(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qcw(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qcw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qcw'
grid%tail_statevars%DataName = 'QCW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qcw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qcw(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qcw(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qci').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qci(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qci(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qci=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qci'
grid%tail_statevars%DataName = 'QCI'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qci
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qci(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qci(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qsn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qsn(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qsn(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qsn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qsn'
grid%tail_statevars%DataName = 'QSN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qsn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qsn(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qsn(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qgr').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qgr(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qgr(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qgr=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qgr'
grid%tail_statevars%DataName = 'QGR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qgr
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qgr(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qgr(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'qt').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%qt(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qt(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%qt=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'qt'
grid%tail_statevars%DataName = 'QT'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%qt
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%qt(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%qt(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tgrn').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tgrn(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tgrn(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tgrn=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tgrn'
grid%tail_statevars%DataName = 'TGRN'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tgrn
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tgrn(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tgrn(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'psfc').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%psfc(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%psfc(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%psfc=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'psfc'
grid%tail_statevars%DataName = 'PSFC'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%psfc
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%psfc(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%psfc(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'mu').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%mu(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%mu(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%mu=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'mu'
grid%tail_statevars%DataName = 'MU'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%mu
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%mu(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%mu(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'u10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%u10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%u10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%u10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'u10'
grid%tail_statevars%DataName = 'U10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%u10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%u10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%u10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v10').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%v10(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%v10(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%v10=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v10'
grid%tail_statevars%DataName = 'V10'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%v10
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%v10(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%v10(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'t2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%t2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%t2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%t2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 't2'
grid%tail_statevars%DataName = 'T2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%t2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%t2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%t2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'q2').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%q2(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%q2(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%q2=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'q2'
grid%tail_statevars%DataName = 'Q2'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%q2
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%q2(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%q2(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ref').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%ref(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%ref(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%ref=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ref'
grid%tail_statevars%DataName = 'REF'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%x6a%ref
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%x6a%ref(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%ref(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'ztd').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%ztd(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%ztd(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%ztd=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'ztd'
grid%tail_statevars%DataName = 'ZTD'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%ztd
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%ztd(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%ztd(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tpw').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tpw(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tpw(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tpw=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tpw'
grid%tail_statevars%DataName = 'TPW'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tpw
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tpw(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tpw(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'speed').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%speed(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%speed(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%speed=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'speed'
grid%tail_statevars%DataName = 'SPEED'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%speed
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%speed(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%speed(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb19v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb19v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb19v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19v'
grid%tail_statevars%DataName = 'TB19V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb19v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb19v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb19v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb19h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb19h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb19h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb19h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb19h'
grid%tail_statevars%DataName = 'TB19H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb19h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb19h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb19h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb22v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb22v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb22v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb22v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb22v'
grid%tail_statevars%DataName = 'TB22V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb22v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb22v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb22v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb37v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb37v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb37v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37v'
grid%tail_statevars%DataName = 'TB37V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb37v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb37v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb37v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb37h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb37h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb37h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb37h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb37h'
grid%tail_statevars%DataName = 'TB37H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb37h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb37h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb37h(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85v').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb85v(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb85v(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb85v=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85v'
grid%tail_statevars%DataName = 'TB85V'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb85v
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb85v(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb85v(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'tb85h').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%x6a%tb85h(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb85h(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%x6a%tb85h=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tb85h'
grid%tail_statevars%DataName = 'TB85H'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%x6a%tb85h
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%x6a%tb85h(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%x6a%tb85h(1,1). ')
endif
ENDIF
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'domdesc'
grid%tail_statevars%DataName = 'DOMDESC'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%domdesc
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%domdesc=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'comms(max_comms)'
grid%tail_statevars%DataName = 'COMMS(MAX_COMMS)'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%comms(max_comms)
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%comms(max_comms)=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ids'
grid%tail_statevars%DataName = 'IDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ids
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ids=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ide'
grid%tail_statevars%DataName = 'IDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ide
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ide=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jds'
grid%tail_statevars%DataName = 'JDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jds
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jds=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jde'
grid%tail_statevars%DataName = 'JDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jde
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jde=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kds'
grid%tail_statevars%DataName = 'KDS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kds
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kds=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kde'
grid%tail_statevars%DataName = 'KDE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kde
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kde=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ims'
grid%tail_statevars%DataName = 'IMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ims
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ims=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ime'
grid%tail_statevars%DataName = 'IME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ime
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ime=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jms'
grid%tail_statevars%DataName = 'JMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jms
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jms=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jme'
grid%tail_statevars%DataName = 'JME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jme
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jme=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kms'
grid%tail_statevars%DataName = 'KMS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kms
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kms=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kme'
grid%tail_statevars%DataName = 'KME'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kme
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kme=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'its'
grid%tail_statevars%DataName = 'ITS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%its
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%its=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ite'
grid%tail_statevars%DataName = 'ITE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ite
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ite=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jts'
grid%tail_statevars%DataName = 'JTS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jts
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jts=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jte'
grid%tail_statevars%DataName = 'JTE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jte
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jte=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kts'
grid%tail_statevars%DataName = 'KTS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kts
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kts=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kte'
grid%tail_statevars%DataName = 'KTE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kte
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kte=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ips'
grid%tail_statevars%DataName = 'IPS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ips
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ips=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ipe'
grid%tail_statevars%DataName = 'IPE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ipe
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ipe=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jps'
grid%tail_statevars%DataName = 'JPS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jps
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jps=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jpe'
grid%tail_statevars%DataName = 'JPE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jpe
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jpe=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kps'
grid%tail_statevars%DataName = 'KPS'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kps
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kps=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kpe'
grid%tail_statevars%DataName = 'KPE'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kpe
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kpe=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'idsx'
grid%tail_statevars%DataName = 'IDSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%idsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%idsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'idex'
grid%tail_statevars%DataName = 'IDEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%idex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%idex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jdsx'
grid%tail_statevars%DataName = 'JDSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jdsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jdsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jdex'
grid%tail_statevars%DataName = 'JDEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jdex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jdex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kdsx'
grid%tail_statevars%DataName = 'KDSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kdsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kdsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kdex'
grid%tail_statevars%DataName = 'KDEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kdex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kdex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'imsx'
grid%tail_statevars%DataName = 'IMSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%imsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%imsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'imex'
grid%tail_statevars%DataName = 'IMEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%imex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%imex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jmsx'
grid%tail_statevars%DataName = 'JMSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jmsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jmsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jmex'
grid%tail_statevars%DataName = 'JMEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jmex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jmex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kmsx'
grid%tail_statevars%DataName = 'KMSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kmsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kmsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kmex'
grid%tail_statevars%DataName = 'KMEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kmex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kmex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'itsx'
grid%tail_statevars%DataName = 'ITSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%itsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%itsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'itex'
grid%tail_statevars%DataName = 'ITEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%itex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%itex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jtsx'
grid%tail_statevars%DataName = 'JTSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jtsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jtsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jtex'
grid%tail_statevars%DataName = 'JTEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jtex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jtex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ktsx'
grid%tail_statevars%DataName = 'KTSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ktsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ktsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ktex'
grid%tail_statevars%DataName = 'KTEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ktex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ktex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ipsx'
grid%tail_statevars%DataName = 'IPSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ipsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ipsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ipex'
grid%tail_statevars%DataName = 'IPEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ipex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ipex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jpsx'
grid%tail_statevars%DataName = 'JPSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jpsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jpsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jpex'
grid%tail_statevars%DataName = 'JPEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jpex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jpex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kpsx'
grid%tail_statevars%DataName = 'KPSX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kpsx
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kpsx=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kpex'
grid%tail_statevars%DataName = 'KPEX'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kpex
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kpex=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'idsy'
grid%tail_statevars%DataName = 'IDSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%idsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%idsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'idey'
grid%tail_statevars%DataName = 'IDEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%idey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%idey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jdsy'
grid%tail_statevars%DataName = 'JDSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jdsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jdsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jdey'
grid%tail_statevars%DataName = 'JDEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jdey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jdey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kdsy'
grid%tail_statevars%DataName = 'KDSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kdsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kdsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kdey'
grid%tail_statevars%DataName = 'KDEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kdey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kdey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'imsy'
grid%tail_statevars%DataName = 'IMSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%imsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%imsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'imey'
grid%tail_statevars%DataName = 'IMEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%imey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%imey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jmsy'
grid%tail_statevars%DataName = 'JMSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jmsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jmsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jmey'
grid%tail_statevars%DataName = 'JMEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jmey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jmey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kmsy'
grid%tail_statevars%DataName = 'KMSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kmsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kmsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kmey'
grid%tail_statevars%DataName = 'KMEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kmey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kmey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'itsy'
grid%tail_statevars%DataName = 'ITSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%itsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%itsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'itey'
grid%tail_statevars%DataName = 'ITEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%itey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%itey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jtsy'
grid%tail_statevars%DataName = 'JTSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jtsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jtsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jtey'
grid%tail_statevars%DataName = 'JTEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jtey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jtey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ktsy'
grid%tail_statevars%DataName = 'KTSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ktsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ktsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ktey'
grid%tail_statevars%DataName = 'KTEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ktey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ktey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ipsy'
grid%tail_statevars%DataName = 'IPSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ipsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ipsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'ipey'
grid%tail_statevars%DataName = 'IPEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%ipey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%ipey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jpsy'
grid%tail_statevars%DataName = 'JPSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jpsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jpsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'jpey'
grid%tail_statevars%DataName = 'JPEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%jpey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%jpey=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kpsy'
grid%tail_statevars%DataName = 'KPSY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kpsy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kpsy=0
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%VarName = 'kpey'
grid%tail_statevars%DataName = 'KPEY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'i'
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%Ndim = 0
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%ifield_0d => grid%xp%kpey
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
ENDIF
IF ( setinitval .EQ. 3 ) grid%xp%kpey=0
IF(okay_to_alloc.AND.in_use_for_config(id,'vxy').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%xp%vxy(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%vxy(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%vxy=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'vxy'
grid%tail_statevars%DataName = 'VXY'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%xp%vxy
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%xp%vxy(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%vxy(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1z').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v1z(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1z(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v1z=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1z'
grid%tail_statevars%DataName = 'V1Z'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v1z
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v1z(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1z(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1x').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31x)-(sm31x)+1))*(((em32x)-(sm32x)+1))*(((em33x)-(sm33x)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v1x(sm31x:em31x,sm32x:em32x,sm33x:em33x),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1x(sm31x:em31x,sm32x:em32x,sm33x:em33x). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v1x=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1x'
grid%tail_statevars%DataName = 'V1X'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = 'X'
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v1x
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = imsx
grid%tail_statevars%em1 = imex
grid%tail_statevars%sm2 = jmsx
grid%tail_statevars%em2 = jmex
grid%tail_statevars%sm3 = kmsx
grid%tail_statevars%em3 = kmex
grid%tail_statevars%sp1 = ipsx
grid%tail_statevars%ep1 = MIN( (ide-1), ipex )
grid%tail_statevars%sp2 = jpsx
grid%tail_statevars%ep2 = MIN( (jde-1), jpex )
grid%tail_statevars%sp3 = kpsx
grid%tail_statevars%ep3 = MIN( (kde-1), kpex )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v1x(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1x(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v1y').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31y)-(sm31y)+1))*(((em32y)-(sm32y)+1))*(((em33y)-(sm33y)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v1y(sm31y:em31y,sm32y:em32y,sm33y:em33y),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1y(sm31y:em31y,sm32y:em32y,sm33y:em33y). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v1y=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v1y'
grid%tail_statevars%DataName = 'V1Y'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = 'Y'
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v1y
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = imsy
grid%tail_statevars%em1 = imey
grid%tail_statevars%sm2 = jmsy
grid%tail_statevars%em2 = jmey
grid%tail_statevars%sm3 = kmsy
grid%tail_statevars%em3 = kmey
grid%tail_statevars%sp1 = ipsy
grid%tail_statevars%ep1 = MIN( (ide-1), ipey )
grid%tail_statevars%sp2 = jpsy
grid%tail_statevars%ep2 = MIN( (jde-1), jpey )
grid%tail_statevars%sp3 = kpsy
grid%tail_statevars%ep3 = MIN( (kde-1), kpey )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v1y(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v1y(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2z').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v2z(sm31:em31,sm32:em32,sm33:em33),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2z(sm31:em31,sm32:em32,sm33:em33). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v2z=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2z'
grid%tail_statevars%DataName = 'V2Z'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v2z
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v2z(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2z(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2x').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31x)-(sm31x)+1))*(((em32x)-(sm32x)+1))*(((em33x)-(sm33x)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v2x(sm31x:em31x,sm32x:em32x,sm33x:em33x),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2x(sm31x:em31x,sm32x:em32x,sm33x:em33x). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v2x=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2x'
grid%tail_statevars%DataName = 'V2X'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = 'X'
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v2x
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = imsx
grid%tail_statevars%em1 = imex
grid%tail_statevars%sm2 = jmsx
grid%tail_statevars%em2 = jmex
grid%tail_statevars%sm3 = kmsx
grid%tail_statevars%em3 = kmex
grid%tail_statevars%sp1 = ipsx
grid%tail_statevars%ep1 = MIN( (ide-1), ipex )
grid%tail_statevars%sp2 = jpsx
grid%tail_statevars%ep2 = MIN( (jde-1), jpex )
grid%tail_statevars%sp3 = kpsx
grid%tail_statevars%ep3 = MIN( (kde-1), kpex )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v2x(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2x(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'v2y').AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31y)-(sm31y)+1))*(((em32y)-(sm32y)+1))*(((em33y)-(sm33y)+1))) * RWORDSIZE
ALLOCATE(grid%xp%v2y(sm31y:em31y,sm32y:em32y,sm33y:em33y),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2y(sm31y:em31y,sm32y:em32y,sm33y:em33y). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%xp%v2y=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'v2y'
grid%tail_statevars%DataName = 'V2Y'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = 'Y'
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 3
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_3d => grid%xp%v2y
grid%tail_statevars%streams(1) = 0 ! 00000000
grid%tail_statevars%streams(2) = 0 ! 00000000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = imsy
grid%tail_statevars%em1 = imey
grid%tail_statevars%sm2 = jmsy
grid%tail_statevars%em2 = jmey
grid%tail_statevars%sm3 = kmsy
grid%tail_statevars%em3 = kmey
grid%tail_statevars%sp1 = ipsy
grid%tail_statevars%ep1 = MIN( (ide-1), ipey )
grid%tail_statevars%sp2 = jpsy
grid%tail_statevars%ep2 = MIN( (jde-1), jpey )
grid%tail_statevars%sp3 = kpsy
grid%tail_statevars%ep3 = MIN( (kde-1), kpey )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%xp%v2y(1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%xp%v2y(1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'a_scalar'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_a_scalar)) * RWORDSIZE
ALLOCATE(grid%a_scalar(sm31:em31,sm32:em32,sm33:em33,num_a_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_scalar(sm31:em31,sm32:em32,sm33:em33,num_a_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%a_scalar=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'a_scalar'
grid%tail_statevars%DataName = 'A_SCALAR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%a_scalar
grid%tail_statevars%num_table => a_scalar_num_table
grid%tail_statevars%index_table => a_scalar_index_table
grid%tail_statevars%boundary_table => a_scalar_boundary_table
grid%tail_statevars%dname_table => a_scalar_dname_table
grid%tail_statevars%desc_table => a_scalar_desc_table
grid%tail_statevars%units_table => a_scalar_units_table
grid%tail_statevars%streams_table => a_scalar_streams_table
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%a_scalar(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%a_scalar(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'g_scalar'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1)*num_g_scalar)) * RWORDSIZE
ALLOCATE(grid%g_scalar(sm31:em31,sm32:em32,sm33:em33,num_g_scalar),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_scalar(sm31:em31,sm32:em32,sm33:em33,num_g_scalar). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%g_scalar=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'g_scalar'
grid%tail_statevars%DataName = 'G_SCALAR'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XYZ'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%g_scalar
grid%tail_statevars%num_table => g_scalar_num_table
grid%tail_statevars%index_table => g_scalar_index_table
grid%tail_statevars%boundary_table => g_scalar_boundary_table
grid%tail_statevars%dname_table => g_scalar_dname_table
grid%tail_statevars%desc_table => g_scalar_desc_table
grid%tail_statevars%units_table => g_scalar_units_table
grid%tail_statevars%streams_table => g_scalar_streams_table
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = kds
grid%tail_statevars%ed3 = (kde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = kms
grid%tail_statevars%em3 = kme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = kps
grid%tail_statevars%ep3 = MIN( (kde-1), kpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = 'bottom_top'
ENDIF
ELSE
ALLOCATE(grid%g_scalar(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%g_scalar(1,1,1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'landmask'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%landmask(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%landmask(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%landmask=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'landmask'
grid%tail_statevars%DataName = 'LANDMASK'
grid%tail_statevars%Description = 'LAND MASK (1 FOR LAND, 0 FOR WATER)'
grid%tail_statevars%Units = ''
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%landmask
grid%tail_statevars%streams(1) = 234881025 ! 0e000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%landmask(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%landmask(1,1). ')
endif
ENDIF
IF(okay_to_alloc.AND.in_use_for_config(id,'sst'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em32)-(sm32)+1))) * RWORDSIZE
ALLOCATE(grid%sst(sm31:em31,sm32:em32),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sst(sm31:em31,sm32:em32). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%sst=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'sst'
grid%tail_statevars%DataName = 'SST'
grid%tail_statevars%Description = 'SEA SURFACE TEMPERATURE'
grid%tail_statevars%Units = 'K'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 2
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .FALSE.
grid%tail_statevars%rfield_2d => grid%sst
grid%tail_statevars%streams(1) = 1845493793 ! 6e000021
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = jds
grid%tail_statevars%ed2 = (jde-1)
grid%tail_statevars%sd3 = 1
grid%tail_statevars%ed3 = 1
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = jms
grid%tail_statevars%em2 = jme
grid%tail_statevars%sm3 = 1
grid%tail_statevars%em3 = 1
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = jps
grid%tail_statevars%ep2 = MIN( (jde-1), jpe )
grid%tail_statevars%sp3 = 1
grid%tail_statevars%ep3 = 1
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'south_north'
grid%tail_statevars%dimname3 = ''
ENDIF
ELSE
ALLOCATE(grid%sst(1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%sst(1,1). ')
endif
ENDIF
IF ( setinitval .EQ. 3 ) grid%chem_opt=0
IF(okay_to_alloc.AND.in_use_for_config(id,'chem'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em33)-(sm33)+1))*(((em32)-(sm32)+1)*num_chem)) * RWORDSIZE
ALLOCATE(grid%chem(sm31:em31,sm33:em33,sm32:em32,num_chem),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%chem(sm31:em31,sm33:em33,sm32:em32,num_chem). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%chem=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'chem'
grid%tail_statevars%DataName = 'CHEM'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XZY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .FALSE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%chem
grid%tail_statevars%num_table => chem_num_table
grid%tail_statevars%index_table => chem_index_table
grid%tail_statevars%boundary_table => chem_boundary_table
grid%tail_statevars%dname_table => chem_dname_table
grid%tail_statevars%desc_table => chem_desc_table
grid%tail_statevars%units_table => chem_units_table
grid%tail_statevars%streams_table => chem_streams_table
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = kds
grid%tail_statevars%ed2 = (kde-1)
grid%tail_statevars%sd3 = jds
grid%tail_statevars%ed3 = (jde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = kms
grid%tail_statevars%em2 = kme
grid%tail_statevars%sm3 = jms
grid%tail_statevars%em3 = jme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = kps
grid%tail_statevars%ep2 = MIN( (kde-1), kpe )
grid%tail_statevars%sp3 = jps
grid%tail_statevars%ep3 = MIN( (jde-1), jpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'bottom_top'
grid%tail_statevars%dimname3 = 'south_north'
ENDIF
ELSE
ALLOCATE(grid%chem(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%chem(1,1,1,1). ')
endif
ENDIF
#endif
#if (NNN == 8)
IF(okay_to_alloc.AND.in_use_for_config(id,'tracer'))THEN
num_bytes_allocated = num_bytes_allocated + &
((((em31)-(sm31)+1))*(((em33)-(sm33)+1))*(((em32)-(sm32)+1)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer(sm31:em31,sm33:em33,sm32:em32,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer(sm31:em31,sm33:em33,sm32:em32,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer=initial_data_value
IF (.NOT.grid%is_intermediate) THEN
ALLOCATE( grid%tail_statevars%next )
grid%tail_statevars => grid%tail_statevars%next
NULLIFY( grid%tail_statevars%next )
grid%tail_statevars%VarName = 'tracer'
grid%tail_statevars%DataName = 'TRACER'
grid%tail_statevars%Description = '-'
grid%tail_statevars%Units = '-'
grid%tail_statevars%Type = 'r'
grid%tail_statevars%ProcOrient = ' '
grid%tail_statevars%MemoryOrder = 'XZY'
grid%tail_statevars%Stagger = ''
grid%tail_statevars%Ntl = 0
grid%tail_statevars%Ndim = 4
grid%tail_statevars%Restart = .TRUE.
grid%tail_statevars%scalar_array = .TRUE.
grid%tail_statevars%rfield_4d => grid%tracer
grid%tail_statevars%num_table => tracer_num_table
grid%tail_statevars%index_table => tracer_index_table
grid%tail_statevars%boundary_table => tracer_boundary_table
grid%tail_statevars%dname_table => tracer_dname_table
grid%tail_statevars%desc_table => tracer_desc_table
grid%tail_statevars%units_table => tracer_units_table
grid%tail_statevars%streams_table => tracer_streams_table
grid%tail_statevars%streams(1) = 33554433 ! 02000001
grid%tail_statevars%streams(2) = 2097152 ! 00200000
grid%tail_statevars%sd1 = ids
grid%tail_statevars%ed1 = (ide-1)
grid%tail_statevars%sd2 = kds
grid%tail_statevars%ed2 = (kde-1)
grid%tail_statevars%sd3 = jds
grid%tail_statevars%ed3 = (jde-1)
grid%tail_statevars%sm1 = ims
grid%tail_statevars%em1 = ime
grid%tail_statevars%sm2 = kms
grid%tail_statevars%em2 = kme
grid%tail_statevars%sm3 = jms
grid%tail_statevars%em3 = jme
grid%tail_statevars%sp1 = ips
grid%tail_statevars%ep1 = MIN( (ide-1), ipe )
grid%tail_statevars%sp2 = kps
grid%tail_statevars%ep2 = MIN( (kde-1), kpe )
grid%tail_statevars%sp3 = jps
grid%tail_statevars%ep3 = MIN( (jde-1), jpe )
grid%tail_statevars%subgrid_x = .FALSE.
grid%tail_statevars%subgrid_y = .FALSE.
grid%tail_statevars%dimname1 = 'west_east'
grid%tail_statevars%dimname2 = 'bottom_top'
grid%tail_statevars%dimname3 = 'south_north'
ENDIF
ELSE
ALLOCATE(grid%tracer(1,1,1,1),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer(1,1,1,1). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bxs(sm32:em32,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_bxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bxe(sm32:em32,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_bxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_bys(sm31:em31,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bys(sm31:em31,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_bys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_bye(sm31:em31,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bye(sm31:em31,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_bye=initial_data_value
ELSE
ALLOCATE(grid%tracer_bxs(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bxs(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_bxe(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bxe(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_bys(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bys(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_bye(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_bye(1,1,1,num_tracer). ')
endif
ENDIF
IF(.TRUE..AND.(.NOT.grid%is_intermediate))THEN
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btxs(sm32:em32,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_btxs=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em32-sm32+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btxe(sm32:em32,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_btxe=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_btys(sm31:em31,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btys(sm31:em31,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_btys=initial_data_value
num_bytes_allocated = num_bytes_allocated + &
(((em31-sm31+1)*(em33-sm33+1)*(spec_bdy_width)*num_tracer)) * RWORDSIZE
ALLOCATE(grid%tracer_btye(sm31:em31,sm33:em33,spec_bdy_width,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btye(sm31:em31,sm33:em33,spec_bdy_width,num_tracer). ')
endif
IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%tracer_btye=initial_data_value
ELSE
ALLOCATE(grid%tracer_btxs(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btxs(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_btxe(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btxe(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_btys(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btys(1,1,1,num_tracer). ')
endif
ALLOCATE(grid%tracer_btye(1,1,1,num_tracer),STAT=ierr)
if (ierr.ne.0) then
CALL wrf_error_fatal
( &
'frame/module_domain.f: Failed to allocate grid%tracer_btye(1,1,1,num_tracer). ')
endif
ENDIF
#endif
!ENDOFREGISTRYGENERATEDINCLUDE