!
!##################################################################
!##################################################################
!###### ######
!###### SUBROUTINE define_wrf_static ######
!###### ######
!###### Developed by ######
!###### Center for Analysis and Prediction of Storms ######
!###### University of Oklahoma ######
!###### ######
!##################################################################
!##################################################################
!
SUBROUTINE define_wrf_static(ncid,nx,ny,land_cat,soil_cat,istatus),25
!-----------------------------------------------------------------------
!
! PURPOSE:
!
! Define NetCDF variables for WRF static file.
!
! NOTE:
! This subroutine only defines the variables to be written in NetCDF
! define mode. Please make sure to write the actual data in wrfstatic.f90.
! because it set NF_SET_FILL to NF_NOFILL.
!
!-----------------------------------------------------------------------
USE wrf_metadata
IMPLICIT NONE
INTEGER, INTENT(IN) :: ncid
INTEGER, INTENT(IN) :: nx
INTEGER, INTENT(IN) :: ny
INTEGER, INTENT(IN) :: land_cat
INTEGER, INTENT(IN) :: soil_cat
INTEGER, INTENT(OUT) :: istatus
!-----------------------------------------------------------------------
!
! Misc. local variables
!
!-----------------------------------------------------------------------
INTEGER :: dimunlim_id
INTEGER :: dimx_id, dimxs_id
INTEGER :: dimy_id, dimys_id
INTEGER :: dimm_id
INTEGER :: dimstr_id
INTEGER :: dimsoil_id, dimland_id
INTEGER :: dimlenx, dimleny
INTEGER :: dimlenm, dimlenstr
INTEGER :: dimlensoil, dimlenland
INTEGER :: varid, oldfillmode
TYPE(wrf_var_metadata) :: var_meta
CHARACTER(LEN=9) :: varname
!
!-----------------------------------------------------------------------
!
! Include files
!
!-----------------------------------------------------------------------
INCLUDE 'netcdf.inc'
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!
! Beginning of executable code below ......
!
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!-----------------------------------------------------------------------
!
! get dimension ids and dimension length
!
!-----------------------------------------------------------------------
istatus = NF_INQ_DIMID(ncid,'Time',dimunlim_id)
istatus = NF_INQ_DIMID(ncid,'DateStrLen',dimstr_id)
istatus = NF_INQ_DIMLEN(ncid,dimstr_id,dimlenstr)
istatus = NF_INQ_DIMID(ncid,'west_east_stag',dimx_id)
istatus = NF_INQ_DIMID(ncid,'west_east', dimxs_id)
istatus = NF_INQ_DIMLEN(ncid,dimx_id,dimlenx)
IF(dimlenx /= nx) THEN
WRITE(6,*) 'Mismatched dimension size in X direction.'
STOP
END IF
istatus = NF_INQ_DIMID(ncid,'south_north_stag',dimy_id)
istatus = NF_INQ_DIMID(ncid,'south_north', dimys_id)
istatus = NF_INQ_DIMLEN(ncid,dimy_id,dimleny)
IF(dimleny /= ny) THEN
WRITE(6,*) 'Mismatched dimension size in Y direction.'
STOP
END IF
istatus = NF_INQ_DIMID(ncid,'land_cat',dimland_id)
istatus = NF_INQ_DIMLEN(ncid,dimland_id,dimlenland)
istatus = NF_INQ_DIMID(ncid,'soil_cat',dimsoil_id)
istatus = NF_INQ_DIMLEN(ncid,dimsoil_id,dimlensoil)
istatus = NF_INQ_DIMID(ncid,'month',dimm_id)
istatus = NF_INQ_DIMLEN(ncid,dimm_id,dimlenm)
! do not fill, will set values explicitly later. Improve performance
istatus = NF_SET_FILL(ncid,NF_NOFILL,oldfillmode)
!-----------------------------------------------------------------------
!
! Defines Times string
!
!-----------------------------------------------------------------------
istatus = NF_DEF_VAR(ncid,'Times',NF_CHAR,2, &
(/dimstr_id, dimunlim_id/),varid)
!-----------------------------------------------------------------------
!
! WRF latitude and longitude
!
!-----------------------------------------------------------------------
var_meta%name = 'XLAT'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Latitude of each gridpoint of the mass grid'
var_meta%units = 'degree_north'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'XLONG'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Longitude of each gridpoint of the mass grid'
var_meta%units = 'degree_east'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-------------------------------------------------------------------
!
! Surface characteristics
!
!------------------------------------------------------------------
var_meta%name = 'LANDMASK'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Flag values indicating water(0) or land (1) points'
var_meta%units = 'flag: 1=land pt'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'HGT'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Topographic height on the mass grid points'
var_meta%units = 'm'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'TOPOSTDV'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Sub-gridscale standard deviation of topography'
var_meta%units = 'm m-1'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'TOPOSLPX'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Sub-gridscale mean topographic slope in x-direction'
var_meta%units = 'm m-1'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'TOPOSLPY'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Sub-gridscale mean topographic slope in y-direction'
var_meta%units = 'm m-1'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Map projection related variables
!
!-----------------------------------------------------------------------
var_meta%name = 'COSALPHA'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Cosine of angle between mass point longitudes and std longitude'
var_meta%units = ' '
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'SINALPHA'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Sin of angle between mass point longitudes and std longitude'
var_meta%units = ' '
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'F'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Horizontal component of the coriolis acceleration'
var_meta%units = 's-1'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'E'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Vertical component of the coriolis acceleration'
var_meta%units = 's-1'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'MAPFAC_M'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Map scale factor on mass grid'
var_meta%units = ' '
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'MAPFAC_U'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Map scale factor on u grid'
var_meta%units = ' '
var_meta%stagger = 'X'
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimx_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'MAPFAC_V'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Map scale factor on v grid'
var_meta%units = ' '
var_meta%stagger = 'Y'
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimy_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Greenness fraction
!
!-----------------------------------------------------------------------
var_meta%name = 'SHDMAX'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Maximum annual greenness fraction'
var_meta%units = 'Percentage'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'SHDMIN'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Minimum annual greenness fraction'
var_meta%units = 'Percentage'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Snow albedo
!
!-----------------------------------------------------------------------
var_meta%name = 'SNOALB'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Maximum albedo over snow'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Average annual temperature
!
!-----------------------------------------------------------------------
var_meta%name = 'TMN'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Average annual temperature'
var_meta%units = 'K'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Topographical categorical slope
!
!-----------------------------------------------------------------------
var_meta%name = 'SLOPECAT'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XY '
var_meta%description = 'Topographical categorical slope'
var_meta%units = 'Category 0-9'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,3, &
(/dimxs_id,dimys_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Land use
!
!-----------------------------------------------------------------------
var_meta%name = 'LANDUSEF'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XYZ'
var_meta%description = 'Land use categorical fraction on mass grid'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,4, &
(/dimxs_id,dimys_id,dimland_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Soil type
!
!-----------------------------------------------------------------------
var_meta%name = 'SOILCTOP'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XYZ'
var_meta%description = 'Top layer soil type as a categorical fraction'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,4, &
(/dimxs_id,dimys_id,dimsoil_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
var_meta%name = 'SOILCBOT'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XYZ'
var_meta%description = 'Bottom layer soil type as a categorical fraction'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,4, &
(/dimxs_id,dimys_id,dimsoil_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Greenness fraction
!
!-----------------------------------------------------------------------
var_meta%name = 'GREEN12M'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XYZ'
var_meta%description = 'Monthly climatological greenness fraction'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,4, &
(/dimxs_id,dimys_id,dimm_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Albedo
!
!-----------------------------------------------------------------------
var_meta%name = 'ALBDO12M'
var_meta%fieldType = WRF_REAL
var_meta%memoryOrder = 'XYZ'
var_meta%description = 'Monthly climatological albedo'
var_meta%units = 'Fraction'
var_meta%stagger = ' '
istatus = NF_DEF_VAR(ncid,TRIM(var_meta%name),NF_FLOAT,4, &
(/dimxs_id,dimys_id,dimm_id,dimunlim_id/),varid)
CALL write_var_meta
(ncid,varid,var_meta)
!-----------------------------------------------------------------------
!
! Before return
!
!-----------------------------------------------------------------------
istatus = NF_ENDDEF(ncid)
RETURN
END SUBROUTINE define_wrf_static
!
!##################################################################
!##################################################################
!###### ######
!###### SUBROUTINE write_wrf_static ######
!###### ######
!###### Developed by ######
!###### Center for Analysis and Prediction of Storms ######
!###### University of Oklahoma ######
!###### ######
!##################################################################
!##################################################################
!
SUBROUTINE write_wrf_static(FileHandler,io_form,DateStr, &,25
nx,ny,land_cat,soil_cat, &
lat,lon,f,e,msft,msfu,msfv,cosalpha,sinalpha, &
hgt,topostdv,toposlpx,toposlpy,landmask,landusef, &
soilctop,soilcbot,tmn,slopecat,snoalb, &
shdmax,shdmin,green12m,albdo12m, istatus)
!-----------------------------------------------------------------------
!
! PURPOSE:
! Write static arrays
!
!-----------------------------------------------------------------------
USE wrf_metadata
IMPLICIT NONE
INTEGER, INTENT(IN) :: FileHandler
INTEGER, INTENT(IN) :: io_form
CHARACTER(LEN=19), INTENT(IN) :: DateStr
INTEGER, INTENT(IN) :: nx,ny
INTEGER, INTENT(IN) :: land_cat, soil_cat
REAL, INTENT(IN) :: lat(nx,ny), lon(nx,ny)
REAL, INTENT(IN) :: msft(nx,ny), msfu(nx,ny),msfv(nx,ny)
REAL, INTENT(IN) :: f(nx,ny),e(nx,ny)
REAL, INTENT(IN) :: cosalpha(nx,ny),sinalpha(nx,ny)
REAL, INTENT(IN) :: hgt(nx,ny),topostdv(nx,ny)
REAL, INTENT(IN) :: toposlpx(nx,ny),toposlpy(nx,ny)
REAL, INTENT(IN) :: landmask(nx,ny),landusef(nx,ny,land_cat)
REAL, INTENT(IN) :: soilctop(nx,ny,soil_cat),soilcbot(nx,ny,soil_cat)
REAL, INTENT(IN) :: tmn(nx,ny)
REAL, INTENT(IN) :: slopecat(nx,ny)
REAL, INTENT(IN) :: snoalb(nx,ny)
REAL, INTENT(IN) :: shdmax(nx,ny)
REAL, INTENT(IN) :: shdmin(nx,ny)
REAL, INTENT(IN) :: green12m(nx,ny,12)
REAL, INTENT(IN) :: albdo12m(nx,ny,12)
INTEGER, INTENT(OUT) :: istatus
!-----------------------------------------------------------------------
!
! Misc. local variables
!
!-----------------------------------------------------------------------
INTEGER, PARAMETER :: fzone_wrf = 1
TYPE(wrf_var_metadata) :: var_meta
INTEGER :: nxlg, nylg
REAL, ALLOCATABLE :: temlg(:,:,:)
!f@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!
! Begin of executable code ...
!
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
nxlg = nx
nylg = ny
ALLOCATE(temlg(nxlg,nylg,MAX(land_cat,soil_cat)), STAT = istatus)
var_meta%name = 'XLAT'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Latitude of each gridpoint of the mass grid'
var_meta%units = 'deg north'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
lat,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'XLONG'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Longitude of each gridpoint of the mass grid'
var_meta%units = 'deg east'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
lon,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'LANDMASK'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Flag valuses indicationg water(0) or land(1) points'
var_meta%units = 'flag: 1=land pt'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
landmask,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'HGT'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Topographic height on the mass grid points'
var_meta%units = 'm'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
hgt,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'TOPOSTDV'
var_meta%description = 'Sub-gridscale standard deviation of topography'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
topostdv,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'TOPOSLPX'
var_meta%description = 'Sub-gridscale mean topographic slope in x-direction'
var_meta%units = 'm m-1'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
toposlpx,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'TOPOSLPY'
var_meta%description = 'Sub-gridscale mean topographic slope in y-direction'
var_meta%units = 'm m-1'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
toposlpy,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'COSALPHA'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Cosine of angle between mass point longitudes and std lon'
var_meta%units = 'Dimensionless'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
cosalpha,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'SINALPHA'
var_meta%description = 'Sin of angle between mass point longitude and std longitude'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
sinalpha,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'F'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Horizontal component of the coriolis acceleartion'
var_meta%units = 's-1'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
f,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'E'
var_meta%description = 'Vertical component of the coriolis acceleartion'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
e,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'MAPFAC_M'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Map scale factor on mass grid'
var_meta%units = 'Dimensionless'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
msft,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'MAPFAC_U'
var_meta%description = 'Map scale factor on u grid'
var_meta%dimName1 = 'west_east_stag'
var_meta%stagger = 'X'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
msfu,nx,ny,fzone_wrf,temlg,nxlg,nylg-1)
var_meta%name = 'MAPFAC_V'
var_meta%description = 'Map scale factor on v grid'
var_meta%stagger = 'Y'
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north_stag'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
msfv,nx,ny,fzone_wrf,temlg,nxlg-1,nylg)
var_meta%name = 'SHDMAX'
var_meta%fieldType = WRF_REAL
var_meta%MemoryOrder = 'XY '
var_meta%description = 'Maximum annual greenness fraction'
var_meta%units = 'Percentage'
var_meta%stagger = ' '
var_meta%dimName1 = 'west_east'
var_meta%dimName2 = 'south_north'
var_meta%dimName3 = ' '
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
shdmax,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'SHDMIN'
var_meta%description = 'Minimun annual greenness fraction'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
shdmin,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'SNOALB'
var_meta%units = 'Fraction'
var_meta%description = 'Maximum albedo over snow'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
snoalb,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'TMN'
var_meta%units = 'K'
var_meta%description = 'Average annual temperature'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
tmn,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'SLOPECAT'
var_meta%units = 'Category 0-9'
var_meta%description = 'Topographical categorical slope'
CALL write2d
(FileHandler,io_form,var_meta,DateStr(1:19), &
slopecat,nx,ny,fzone_wrf,temlg,nxlg-1,nylg-1)
var_meta%name = 'LANDUSEF'
var_meta%MemoryOrder = 'XYZ'
var_meta%units = 'Fraction'
var_meta%description = 'Land use categorical fraction on mass grid'
var_meta%dimName3 = 'land_cat '
var_meta%stagger = 'Z' ! actually no stagger
CALL write3d
(FileHandler,io_form,var_meta,DateStr(1:19), &
landusef,nx,ny,land_cat,fzone_wrf, &
temlg,temlg,nxlg-1,nylg-1,land_cat)
var_meta%name = 'SOILCTOP'
var_meta%MemoryOrder = 'XYZ'
var_meta%units = 'Fraction'
var_meta%description = 'Top layer soil type as a categorical fraction'
var_meta%dimName3 = 'soil_cat '
var_meta%stagger = 'Z' ! actually no stagger
CALL write3d
(FileHandler,io_form,var_meta,DateStr(1:19), &
soilctop,nx,ny,soil_cat,fzone_wrf, &
temlg,temlg,nxlg-1,nylg-1,soil_cat)
var_meta%name = 'SOILCBOT'
var_meta%MemoryOrder = 'XYZ'
var_meta%units = 'Percentage'
var_meta%description = 'Bottom layer soil type as a categorical fraction'
var_meta%dimName3 = 'soil_cat '
var_meta%stagger = 'Z' ! actually no stagger
CALL write3d
(FileHandler,io_form,var_meta,DateStr(1:19), &
soilcbot,nx,ny,soil_cat,fzone_wrf, &
temlg,temlg,nxlg-1,nylg-1,soil_cat)
var_meta%name = 'GREEN12M'
var_meta%MemoryOrder = 'XYZ'
var_meta%units = 'Fraction'
var_meta%description = 'Monthly climatological greenness fraction'
var_meta%dimName3 = 'month '
var_meta%stagger = 'Z' ! actually no stagger
CALL write3d
(FileHandler,io_form,var_meta,DateStr(1:19), &
green12m,nx,ny,12,fzone_wrf, &
temlg,temlg,nxlg-1,nylg-1,12)
var_meta%name = 'ALBDO12M'
var_meta%MemoryOrder = 'XYZ'
var_meta%units = 'Fraction'
var_meta%description = 'Monthly climatological albedo'
var_meta%dimName3 = 'month '
var_meta%stagger = 'Z' ! actually no stagger
CALL write3d
(FileHandler,io_form,var_meta,DateStr(1:19), &
albdo12m,nx,ny,12,fzone_wrf, &
temlg,temlg,nxlg-1,nylg-1,12)
DEALLOCATE(temlg)
istatus = 0
RETURN
END SUBROUTINE write_wrf_static