Maintenance is scheduled between 16:00 and 23:59 CEST (14:00 and 21:59 UTC) on Thursday 2021-10-28. The system may be unavailable at any time during this timeframe. Please plan accordingly.

Commit 8624a75e authored by Don Morton's avatar Don Morton
Browse files

Enhancements to FPv9.3.2

Documented in Ticket #182 (as well as CTBTO ticket 357)
parent 4c0504c3
......@@ -237,38 +237,82 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_def_dim(ncid, 'nxmax', nxmax, nxmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","maximum dimension of wind fields in x")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'nymax', nymax, nymax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","maximum dimension of wind fields in y")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'nzmax', nzmax, nzmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","maximum dimension of wind fields in z")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'nuvzmax', nuvzmax, nuvzmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description"," maximum dimension of (u,v) wind field in z")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'nwzmax', nwzmax, nwzmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description"," maximum dimension of w component of wind field in z")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'maxspec', maxspec, maxspec_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description"," maximum number of species")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'numclass', numclass, numclass_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description"," maximum number of ageclasses")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! There are a handful of variables indexed from 0 to n, rather than 0 to n-1,
! so these dimensions handle that. What a pain.
ncret = nf90_def_dim(ncid, 'zero_to_nzmax', nzmax+1, zero_to_nzmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","variable to change indexing of variables with nzmax dimension")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'zero_to_maxnests', maxnests+1, zero_to_maxnests_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","variable to change indexing of variables with maxnests dimension")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! This is for a couple of small arrays that store polar stereographic stuff
ncret = nf90_def_dim(ncid, 'polemap_dim', 9, polemap_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","variable to store polar stereographic indexing")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! These two values come from conv_mod
ncret = nf90_def_dim(ncid, 'nconvlevmax_dim', nconvlevmax, nconvlevmax_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","maximum number of levels for convection")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_dim(ncid, 'na_dim', na, na_dimid)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","maximum number of levels for convection +1")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! Scalar values
! Scalar values
dim1dids = (/preproc_fmt_str_dimid/)
ncret = nf90_def_var(ncid, 'preproc_fmt_str', NF90_CHAR, &
......@@ -287,83 +331,130 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nx)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of wind fields in x")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'ny', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, ny)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of wind fields in y")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nxmin1', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nxmin1)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of wind fields in x -1 (nx-1)")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nymin1', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nymin1)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of wind fields in y -1 (ny-1)")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nxfield', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nxfield)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of wind fields in x for limited area fields")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nuvz', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nuvz)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of (u,v) wind fields in z direction")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nwz', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nwz)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","actual dimensions of w wind fields in z direction")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nz', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nz)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","number of vertical levels in the transformed coordinates")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nmixz', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nmixz)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","number of levels up to maximum PBL height (3500 m)")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'nlev_ec', NF90_INT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, nlev_ec)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","number of vertical levels ecmwf model")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'dx', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, dx)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","grid distance in x direction")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'dy', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, dy)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","grid distance in y direction")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'xlon0', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, xlon0)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","geographical longitude of the lower left corner of the wind fields")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'ylat0', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, ylat0)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","geographical latitude of the lower left corner of the wind fields")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'dxconst', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, dxconst)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","auxiliary variable needed for utransform")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'dyconst', NF90_FLOAT, ncvarid)
call handle_nf90_err(ncret)
ncret = nf90_put_var(ncid, ncvarid, dyconst)
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","auxiliary variable needed for vtransform")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! Fixed fields, static in time
dim2dids = (/nxmax_dimid, nymax_dimid/)
......@@ -379,6 +470,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& oro(0:nxmax-1, 0:nymax-1))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","orography of the ECMWF model")
ncret = nf90_put_att(ncid, ncvarid, "units","m")
ncret = nf90_def_var(ncid, 'excessoro', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -391,6 +486,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& excessoro(0:nxmax-1, 0:nymax-1))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","excess orography mother domain")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'lsm', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -403,6 +502,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& lsm(0:nxmax-1, 0:nymax-1))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","land sea mask")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
dim3dids = (/nxmax_dimid, nymax_dimid, numclass_dimid/)
! numclass comes from par_mod - number of land use classes
......@@ -417,6 +520,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& xlanduse(0:nxmax-1, 0:nymax-1, 1:numclass))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","area fraction in percent")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
dim1dids = (/nzmax_dimid/)
ncret = nf90_def_var(ncid, 'height', NF90_FLOAT, &
......@@ -430,7 +537,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& height(1:nzmax))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","heights of all model levels")
ncret = nf90_put_att(ncid, ncvarid, "units","m")
......@@ -448,6 +557,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& uu(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","U component of wind in the [horizontal] direction")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'vv', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -460,6 +572,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& vv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","V component of wind in the Y[horizontal] direction")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'uupol', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -472,6 +588,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& uupol(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","horizontal component in polar stereographic projection of wind")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'vvpol', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -484,6 +604,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& vvpol(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","horizontal component in polar stereographic projection of wind")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'ww', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -496,6 +620,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& ww(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","wind component in the Z[vertical] direction")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'tt', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -508,6 +636,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& tt(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","temperature")
ncret = nf90_put_att(ncid, ncvarid, "units","K")
ncret = nf90_def_var(ncid, 'qv', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -520,6 +652,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& qv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","specific humidity data")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'pv', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -532,6 +667,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& pv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","potential vorticity")
ncret = nf90_put_att(ncid, ncvarid, "units","K*m**2 kg**-1 s**-1")
ncret = nf90_def_var(ncid, 'rho', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -544,6 +683,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& rho(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","air density")
ncret = nf90_put_att(ncid, ncvarid, "units","kg m**-3")
ncret = nf90_def_var(ncid, 'drhodz', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -556,6 +699,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& drhodz(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","vertical air density gradient")
ncret = nf90_put_att(ncid, ncvarid, "units","kg m**-2")
ncret = nf90_def_var(ncid, 'clouds', NF90_BYTE, &
& dim3dids, ncvarid)
......@@ -568,7 +715,12 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& clouds(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","vcloud mask, &
no cloud no precip = 0, cloud no precip = 1, &
rainout conv/lsp dominated 2/3, &
washout conv/lsp dominated = 4/5 ")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
! Note the change in z dimension for the following
......@@ -585,6 +737,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& tth(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","temperature in the original input model level")
ncret = nf90_put_att(ncid, ncvarid, "units","K")
ncret = nf90_def_var(ncid, 'qvh', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -597,6 +753,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& qvh(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","specific humidity in the original input model level")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'pplev', NF90_FLOAT, &
& dim3dids, ncvarid)
......@@ -609,6 +769,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& pplev(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","pressure in pressure levels for GFS version")
ncret = nf90_put_att(ncid, ncvarid, "units","Pa")
dim2dids = (/nxmax_dimid, nymax_dimid/)
......@@ -623,6 +786,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& cloudsh(0:nxmax-1, 0:nymax-1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","height of the cloud layer")
ncret = nf90_put_att(ncid, ncvarid, "units","m")
......@@ -648,6 +814,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& ps(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","surface pressure")
ncret = nf90_put_att(ncid, ncvarid, "units","Pa")
ncret = nf90_def_var(ncid, 'sd', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -660,6 +830,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& sd(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","snow depth")
ncret = nf90_put_att(ncid, ncvarid, "units","m")
ncret = nf90_def_var(ncid, 'msl', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -672,6 +846,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& msl(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","mean sea level pressure")
ncret = nf90_put_att(ncid, ncvarid, "units","Pa")
ncret = nf90_def_var(ncid, 'tcc', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -684,6 +862,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& tcc(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","total cloud cover")
ncret = nf90_put_att(ncid, ncvarid, "units"," ")
ncret = nf90_def_var(ncid, 'u10', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -696,6 +878,9 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& u10(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","10 m u component of wind velocity")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'v10', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -708,6 +893,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& v10(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","10 m v component of wind velocity")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'tt2', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -720,6 +909,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& tt2(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","2 m temperature")
ncret = nf90_put_att(ncid, ncvarid, "units","K")
ncret = nf90_def_var(ncid, 'td2', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -732,6 +925,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& td2(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","2 m dew point temperature")
ncret = nf90_put_att(ncid, ncvarid, "units","K")
ncret = nf90_def_var(ncid, 'lsprec', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -744,6 +941,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& lsprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","large scale total precipitation")
ncret = nf90_put_att(ncid, ncvarid, "units","mm h**-1")
ncret = nf90_def_var(ncid, 'convprec', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -756,6 +957,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& convprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","convective precipitation")
ncret = nf90_put_att(ncid, ncvarid, "units","mm h**-1")
ncret = nf90_def_var(ncid, 'sshf', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -768,6 +973,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& sshf(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","surface sensible heat flux")
ncret = nf90_put_att(ncid, ncvarid, "units","J m**-2")
ncret = nf90_def_var(ncid, 'ssr', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -780,6 +989,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& ssr(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","surface solar radiation")
ncret = nf90_put_att(ncid, ncvarid, "units","J m**-2")
ncret = nf90_def_var(ncid, 'surfstr', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -792,6 +1005,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& surfstr(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","surface stress")
ncret = nf90_put_att(ncid, ncvarid, "units","N m**-2 s")
ncret = nf90_def_var(ncid, 'ustar', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -804,6 +1021,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& ustar(0:nxmax-1, 0:nymax-1, 1, cm_index))
call handle_nf90_err(ncret)
! attributes
ncret = nf90_put_att(ncid, ncvarid, "description","friction velocity")
ncret = nf90_put_att(ncid, ncvarid, "units","m s**-1")
ncret = nf90_def_var(ncid, 'wstar', NF90_FLOAT, &
& dim2dids, ncvarid)
......@@ -816,6 +1037,10 @@ PRINT *, 'OPENED NC4 FILE FOR READING...'
ncret = nf90_put_var(ncid, ncvarid, &
& wstar(0:nxmax-1, 0:nymax-1, 1, cm_index))