Hello,
I am working with output data from a very large WRF run. Thus I have needed to pull a few variables at a time out of the wrfout files into new variable-specific files for use in VAPOR. I have done this extraction and concatenation with NCO’s toolkit:
#!/bin/bash
varname=$1
year=2021
month=04
day=28
domain=4
intimes="19:01 19:16 19:31 19:46 20:01 20:16 20:31 20:46 21:01 21:16 21:31 21:46 22:01 22:16 22:31 22:46 23:01 23:16 23:31 23:46"
outtimes="1900 1915 1930 1945 2000 2015 2030 2045 2100 2115 2130 2145 2200 2215 2230 2245 2300 2315 2330 2345"
echo "$varname init"
for i in $intimes
do
in_fname_template="wrfout_d0${domain}_${year}-${month}-${day}_${i}:00"
done
for j in $outtimes
do
out_fname_template="d0${domain}_${varname}_${j}.nc"
ncks -v $varname $in_fname_template $out_fname_template
echo "${j} done"
done
ncrcat -h d0${domain}_${varname}_*.nc d0${domain}_${varname}_alltimes.nc
echo "done"
This gives me a file with just the variable I want and with all of my times of interest. So instead of a dozen or more 100GB wrfouts I have one 20-70GB variable-specific file.
Doing a quick ncdump of the file I get out from this, I see a variable for my variable of interest (reflectivity), as well as XLAT/XLON/XTIME:
netcdf d04_REFL_10CM_alltimes {
dimensions:
Time = UNLIMITED ; // (300 currently)
bottom_top = 299 ;
south_north = 1101 ;
west_east = 1101 ;
variables:
float REFL_10CM(Time, bottom_top, south_north, west_east) ;
REFL_10CM:FieldType = 104 ;
REFL_10CM:MemoryOrder = “XYZ” ;
REFL_10CM:description = “Radar reflectivity (lamda = 10 cm)” ;
REFL_10CM:units = “dBZ” ;
REFL_10CM:stagger = “” ;
REFL_10CM:coordinates = “XLONG XLAT XTIME” ;
REFL_10CM:cell_methods = “Time: mean” ;
float XLAT(Time, south_north, west_east) ;
XLAT:FieldType = 104 ;
XLAT:MemoryOrder = "XY " ;
XLAT:description = “LATITUDE, SOUTH IS NEGATIVE” ;
XLAT:units = “degree_north” ;
XLAT:stagger = “” ;
XLAT:coordinates = “XLONG XLAT” ;
XLAT:cell_methods = “Time: mean” ;
float XLONG(Time, south_north, west_east) ;
XLONG:FieldType = 104 ;
XLONG:MemoryOrder = "XY " ;
XLONG:description = “LONGITUDE, WEST IS NEGATIVE” ;
XLONG:units = “degree_east” ;
XLONG:stagger = “” ;
XLONG:coordinates = “XLONG XLAT” ;
XLONG:cell_methods = “Time: mean” ;
float XTIME(Time) ;
XTIME:FieldType = 104 ;
XTIME:MemoryOrder = "0 " ;
XTIME:description = “minutes since 2021-04-28 18:00:00” ;
XTIME:units = “minutes since 2021-04-28 18:00:00” ;
XTIME:stagger = “” ;
XTIME:cell_methods = “Time: mean” ;
But when I go to load this into VAPOR, I get one of a couple things to happen depending on if I am trying on my own system or on Casper:
My local computer:
Error performing paint event
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
------------------
Vapor 3.3.0.<debug>
OS: Windows 6.2 (9200)
Casper:
Error performing paint event
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
Undefined variable name :
------------------
Vapor 3.3.0.<debug>
OS: Windows 6.2 (9200)
or if loading as netcdf
Failure to open data set of type “cf”
Failed to initialize horizontal coordinates
Unsupported variable dimension for variable “XLONG”
------------------
Vapor 3.4.0.117aeef
OS: Linux 3.10.0-1127.18.2.el7.x86_64 #1 SMP Sun Jul 26 15:27:06 UTC 2020
Distro:
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
What might I need to do to get VAPOR to see this dimension data?