[Thread Prev][Thread Next][Index]
[ferret_users] Time axis in netCDF file
Hello All,
I apologize for cross-posting but I'm not sure who can help me on this.
I'm running LAS 6.5, with ferrt v560 on Red Hat AS3.
I'm using a netCDF file (detailed information is shown below) that is time s
eries data, hourly data, with some variables at 1 level (i.e. surface) and s
ome variables at 29 levels. I'm only interested in the surface variables.
One part of the time information in the file shows:
double time(time) ;
time:units = "days since 2002-10-01 00:00:00" ;
time:long_name = "time" ;
In the final LAS menu page I select a short time period (perhaps just the fi
rst 2 days of the file, e.g. October 1-2, 2002) but no matter what time I se
lect, the plot always shows the entire time of the data set (Oct 1, 2002 thr
ough Sep 30, 2003).
Am I doing something wrong in the LAS xml file? I'm defining the time as (t
he full contents of the LAS xml file is listed as the last item in this emai
l):
<CEOP_MOLTS_BMRC_Lindenberg_forc_TAXLEVITR units="hours" type="t">
<arange start="2002-Dec-01 00:00:00" step="1" size="8760"/>
</CEOP_MOLTS_BMRC_Lindenberg_forc_TAXLEVITR>
The time information in the netCDF file says its "days since 2002-10-01 00:
00:00", but the data is hourly, and my xml file defines the data as hourly.
Any ideas?
Do I need to modify/fix the netCDF file? Can you tell me what needs to be c
hanged? Is there a tool I can use to do this?
Thanks very much for any help.
Ben
------------------------------------------------------------------------
Following is the first part of opening and listing the file with ferret:
]# /usr/local/ferret/bin/ferret_v560
NOAA/PMEL TMAP
FERRET v5.60
Linux(g77) 2.4.18 - 04/09/04
26-Jun-06 15:23
yes?
yes? set data Lindenberg_forc_eop3.nc
*** NOTE: Units on axis "location" are not recognized: ordinal
*** NOTE: They will not be convertible:
*** NOTE: Units on axis "lvl" are not recognized: sigma_level
*** NOTE: They will not be convertible:
yes?
yes? show / data/all
currently SET data sets:
1> ./Lindenberg_forc_eop3.nc (default)
name title I J K L
LATITUDE requested latitude 1:1 ... ... ...
LONGITUDE
requested longitude 1:1 ... ... ...
MODEL_LAT
model latitude 1:1 ... ... ...
MODEL_LON
model longitude 1:1 ... ... ...
BASE_DATE
base/analysis date of archive f ... ... ... ...
BASE_TIME
base/analysis time of archive f ... ... ... ...
VALID_DATE
valid date of this segment ... ... ... 1:8
760
VALID_TIME
valid time of this segment ... ... ... 1:8
760
FORC_HRS hours from base date/time for t ... ... ... 1:8
760
WRTN_DATE
date that this segment was writ ... ... ... 1:8
760
WRTN_TIME
time that this segment was writ ... ... ... 1:8
760
TM_STEP_SIZE
time step size ... ... ... ...
ELEVATION
model elevation at location 1:1 ... ... ...
ALBEDO Surface albedo 1:1 ... ... 1:8
760
SFC_PRES surface pressure 1:1 ... ... 1:8
760
-----------------------------------------------------------------------------
Following is part of an ncdump dump of the netCDF file (I think there's enou
gh of the dump to show everything that's important):
# /usr/local/netcdf-3.5.1/bin/ncdump Lindenberg_forc_eop3.nc | more
netcdf Lindenberg_forc_eop3 {
dimensions:
time = UNLIMITED ; // (8760 currently)
location = 1 ;
lvl = 29 ;
soil_lvl = 2 ;
variables:
double time(time) ;
time:units = "days since 2002-10-01 00:00:00" ;
time:long_name = "time" ;
float location(location) ;
location:long_name = "location of point" ;
location:units = "ordinal" ;
location:coordinates = "longitude latitude" ;
float latitude(location) ;
latitude:long_name = "requested latitude" ;
latitude:standard_name = "latitude_north" ;
latitude:units = "degrees_north" ;
latitude:valid_min = -90.f ;
latitude:valid_max = 90.f ;
float longitude(location) ;
longitude:long_name = "requested longitude" ;
longitude:standard_name = "longitude_east" ;
longitude:units = "degrees_east" ;
longitude:valid_min = -180.f ;
longitude:valid_max = 180.f ;
float model_lat(location) ;
model_lat:long_name = "model latitude" ;
model_lat:standard_name = "latitude_north" ;
model_lat:units = "degrees_north" ;
model_lat:valid_min = -90.f ;
model_lat:valid_max = 90.f ;
float model_lon(location) ;
model_lon:long_name = "model longitude" ;
model_lon:standard_name = "longitude_east" ;
model_lon:units = "degrees_east" ;
model_lon:valid_min = -180.f ;
model_lon:valid_max = 180.f ;
float lvl(lvl) ;
lvl:long_name = "sigma at layer midpoints" ;
lvl:formula_terms = "sigma: lvl ps:pstar" ;
lvl:standard_name = "sigma" ;
lvl:type = "sigma" ;
lvl:units = "sigma_level" ;
[7m--More--[27m
[K lvl:positive = "down" ;
float soil_lvl(soil_lvl) ;
soil_lvl:long_name = "depth below surface" ;
soil_lvl:standard_name = "soil levels" ;
soil_lvl:positive = "down" ;
int base_date ;
base_date:long_name = "base/analysis date of archive file." ;
base_date:units = "YYYYMMDD UTC" ;
int base_time ;
base_time:long_name = "base/analysis time of archive file." ;
base_time:units = "HHMM UTC" ;
int valid_date(time) ;
valid_date:long_name = "valid date of this segment" ;
valid_date:units = "YYYYMMDD UTC" ;
int valid_time(time) ;
valid_time:long_name = "valid time of this segment" ;
valid_time:units = "HHMM UTC" ;
float forc_hrs(time) ;
forc_hrs:long_name = "hours from base date/time for this forecast segment" ;
forc_hrs:units = "hr" ;
int wrtn_date(time) ;
wrtn_date:long_name = "date that this segment was written" ;
wrtn_date:units = "YYYYMMDD local" ;
int wrtn_time(time) ;
wrtn_time:long_name = "time that this segment was written" ;
wrtn_time:units = "HHMM local" ;
int tm_step_size ;
tm_step_size:long_name = "time step size" ;
tm_step_size:units = "sec" ;
float elevation(location) ;
elevation:units = "m" ;
elevation:long_name = "model elevation at location" ;
float albedo(time, location) ;
albedo:units = "%" ;
albedo:long_name = "Surface albedo" ;
float sfc_pres(time, location) ;
sfc_pres:units = "Pascals" ;
sfc_pres:long_name = "surface pressure" ;
float temp_1.5m(time, location) ;
temp_1.5m:units = "K" ;
temp_1.5m:long_name = "air temperature at 1.5m" ;
float hum_1.5m(time, location) ;
hum_1.5m:units = "kg/kg" ;
hum_1.5m:long_name = "water vapour specific humidity at 1.5m" ;
[7m--More--[27m
[K float u10(time, location) ;
u10:units = "m/s" ;
u10:long_name = "Zonal component of wind at 10m" ;
float v10(time, location) ;
v10:units = "m/s" ;
v10:long_name = "Meridional component of wind at 10m" ;
float sw_sfc_irr(time, location) ;
sw_sfc_irr:units = "W/m**2" ;
sw_sfc_irr:long_name = "surface shortwave downward flux" ;
float lw_sfc_irr(time, location) ;
lw_sfc_irr:units = "W/m**2" ;
lw_sfc_irr:long_name = "surface longwave downward flux" ;
float sfc_latent(time, location) ;
sfc_latent:units = "W/m**2" ;
sfc_latent:long_name = "surface latent heat" ;
float sfc_sens(time, location) ;
sfc_sens:units = "W/m**2" ;
sfc_sens:long_name = "surface sensible heat" ;
float total_wv(time, location) ;
total_wv:units = "kg/m**2" ;
total_wv:long_name = "total moisture (precipitable water)" ;
float precip(time, location) ;
precip:units = "kg/m**2" ;
precip:long_name = "accumulated total precipitation" ;
float totl_cloud(time, location) ;
totl_cloud:units = "%" ;
totl_cloud:long_name = "total cloud cover" ;
float sfc_mois(time, location) ;
sfc_mois:units = "m" ;
sfc_mois:long_name = "Soil moisture on surface" ;
float air_temp(time, lvl, location) ;
air_temp:units = "Kelvin" ;
air_temp:long_name = "air temperature" ;
float zonal_wnd(time, lvl, location) ;
zonal_wnd:units = "m/s" ;
zonal_wnd:long_name = "zonal wind component" ;
float merid_wnd(time, lvl, location) ;
merid_wnd:units = "m/s" ;
merid_wnd:long_name = "meridional wind component" ;
float geo_height(time, lvl, location) ;
geo_height:units = "m**2/s**2" ;
geo_height:long_name = "geopotential height of model sigma levels" ;
float omega(time, lvl, location) ;
omega:units = "Pa/s" ;
[7m--More--[27m
[K omega:long_name = "vertical velocity in pressure coordinates" ;
float soil_temp(time, soil_lvl, location) ;
soil_temp:units = "K" ;
soil_temp:long_name = "Soil temperature on sub-soil levels" ;
float snowfall(time, location) ;
snowfall:units = "kg/(m**2 s)" ;
snowfall:long_name = "accumulated precipitation (snow)" ;
float eqv_depth_snow(time, location) ;
eqv_depth_snow:units = "m" ;
eqv_depth_snow:long_name = "snow water equivalent depth" ;
float lsi_mask(time, location) ;
lsi_mask:units = "int" ;
lsi_mask:long_name = "Station land/sea/ice mask: 0 land, 1 sea, 2 ice" ;
float sw_toa_dwn(time, location) ;
sw_toa_dwn:units = "W/m**2" ;
sw_toa_dwn:long_name = "top of atmosphere shortwave downward flux" ;
float sw_toa_up(time, location) ;
sw_toa_up:units = "W/m**2" ;
sw_toa_up:long_name = "top of atmosphere shortwave upward flux" ;
float lw_toa_up(time, location) ;
lw_toa_up:units = "W/m**2" ;
lw_toa_up:long_name = "top of atmosphere longwave upward flux" ;
float sw_sfc_up(time, location) ;
sw_sfc_up:units = "W/m**2" ;
sw_sfc_up:long_name = "surface shortwave upward flux" ;
float lw_sfc_up(time, location) ;
lw_sfc_up:units = "W/m**2" ;
lw_sfc_up:long_name = "surface longwave upward flux" ;
float potnl_t10m(time, location) ;
potnl_t10m:units = "K" ;
potnl_t10m:long_name = "potential temperature at 10m" ;
float hum_10m(time, location) ;
hum_10m:units = "kg/kg" ;
hum_10m:long_name = "water vapour specific humidity at 10m" ;
float pbl_ht(time, location) ;
pbl_ht:units = "m" ;
pbl_ht:long_name = "planetary boundary layer height" ;
float evap(time, location) ;
evap:units = "kg/(sm**2)" ;
evap:long_name = "Surface evaporation" ;
float totl_melt(time, location) ;
totl_melt:units = "W/m**2" ;
totl_melt:long_name = "snow + ice melt" ;
float sfc_runoff(time, location) ;
[7m--More--[27m
[K sfc_runoff:units = "kg/(sm**2)" ;
sfc_runoff:long_name = "Surface runoff" ;
float totl_grnd_heat(time, location) ;
totl_grnd_heat:units = "W/m**2" ;
totl_grnd_heat:long_name = "Total ground heating" ;
float grnd_heat_flx(time, location) ;
grnd_heat_flx:units = "W/m**2" ;
grnd_heat_flx:long_name = "Total ground heating" ;
float roughness(time, location) ;
roughness:units = "m" ;
roughness:long_name = "Surface roughness length" ;
float spec_hum(time, lvl, location) ;
spec_hum:units = "kg/kg" ;
spec_hum:long_name = "water vapour specific humidity" ;
float pressure(time, lvl, location) ;
pressure:units = "Pa" ;
pressure:long_name = "pressure at level" ;
float dry_energy(time, lvl, location) ;
dry_energy:units = "J/m**2" ;
dry_energy:long_name = "layer mean total dry energy" ;
float ke_enth(time, lvl, location) ;
ke_enth:units = "J/m**2" ;
ke_enth:long_name = "layer mean kinetic energy plus enthalpy" ;
float totl_cld_water(time, lvl, location) ;
totl_cld_water:units = "kg/kg" ;
totl_cld_water:long_name = "total cloud water mixing ratio" ;
float heat_sw(time, lvl, location) ;
heat_sw:units = "W/m**2" ;
heat_sw:long_name = "layer mean shortwave heating rate" ;
float heat_lw(time, lvl, location) ;
heat_lw:units = "W/m**2" ;
heat_lw:long_name = "layer mean longwave heating rate" ;
float lcl_e_tend(time, lvl, location) ;
lcl_e_tend:units = "W/m**2" ;
lcl_e_tend:long_name = "local time tendency of total dry energy" ;
float lcl_t_tend(time, lvl, location) ;
lcl_t_tend:units = "W/m**2" ;
lcl_t_tend:long_name = "local time tendency of total temperature" ;
float lcl_q_tend(time, lvl, location) ;
lcl_q_tend:units = "W/m**2" ;
lcl_q_tend:long_name = "local time tendency of total moisture" ;
float condel_t(time, lvl, location) ;
condel_t:units = "W/m**2" ;
condel_t:long_name = "accumulated layer mean convective heating rate" ;
[7m--More--[27m
[K float condel_q(time, lvl, location) ;
condel_q:units = "kg/(m**2 s)" ;
condel_q:long_name = "accumulated layer mean convective moistening rate" ;
float stratdel_t(time, lvl, location) ;
stratdel_t:units = "W/m**2" ;
stratdel_t:long_name = "accumulated layer mean stratiform heating rate" ;
float stratdel_q(time, lvl, location) ;
stratdel_q:units = "kg/(m**2 s)" ;
stratdel_q:long_name = "accumulated layer mean stratiform moistening rate" ;
float znl_q_flx(time, lvl, location) ;
znl_q_flx:units = "kg/(m s)" ;
znl_q_flx:long_name = "zonal moisture flux" ;
float mer_q_flx(time, lvl, location) ;
mer_q_flx:units = "kg/(m s)" ;
mer_q_flx:long_name = "meridional moisture flux" ;
float ver_q_flx(time, lvl, location) ;
ver_q_flx:units = "kg/(m s)" ;
ver_q_flx:long_name = "vertical moisture flux" ;
float znl_e_flx(time, lvl, location) ;
znl_e_flx:units = "W/m" ;
znl_e_flx:long_name = "zonal energy flux" ;
float mer_e_flx(time, lvl, location) ;
mer_e_flx:units = "W/m" ;
mer_e_flx:long_name = "meridional energy flux" ;
float ver_e_flx(time, lvl, location) ;
ver_e_flx:units = "W/m" ;
ver_e_flx:long_name = "vertical energy flux" ;
float znl_mass_flx(time, lvl, location) ;
znl_mass_flx:units = "kg/(m s)" ;
znl_mass_flx:long_name = "zonal total mass flux" ;
float mer_mass_flx(time, lvl, location) ;
mer_mass_flx:units = "kg/(m s)" ;
mer_mass_flx:long_name = "meridional total mass flux" ;
float ver_mass_flx(time, lvl, location) ;
ver_mass_flx:units = "kg/(m s)" ;
ver_mass_flx:long_name = "vertical total mass flux" ;
float vint_dry_energy(time, location) ;
vint_dry_energy:units = "J/m**2" ;
vint_dry_energy:long_name = "vertically integrated total dry energy" ;
float vint_totl_water(time, location) ;
vint_totl_water:units = "kg/m**2" ;
vint_totl_water:long_name = "vertically integrated total cloud water" ;
float vint_con_dt(time, location) ;
vint_con_dt:units = "W/m**2" ;
[7m--More--[27m
[K vint_con_dt:long_name = "vertically integrated convective heating rate" ;
float vint_con_dq(time, location) ;
vint_con_dq:units = "kg/(m**2 s)" ;
vint_con_dq:long_name = "vertically integrated convective moistening rate" ;
float vint_str_dt(time, location) ;
vint_str_dt:units = "W/m**2" ;
vint_str_dt:long_name = "vertically integrated stable heating rate" ;
float vint_str_dq(time, location) ;
vint_str_dq:units = "kg/(m**2 s)" ;
vint_str_dq:long_name = "vertically integrated stable moistening rate" ;
float vint_znl_q_flx(time, location) ;
vint_znl_q_flx:units = "kg/(m**2 s)" ;
vint_znl_q_flx:long_name = "vertically integrated zonal moisture flux" ;
float vint_mer_q_flx(time, location) ;
vint_mer_q_flx:units = "kg/(m**2 s)" ;
vint_mer_q_flx:long_name = "vertically integrated meridional moisture flux
" ;
float vint_lcl_m_ten(time, location) ;
vint_lcl_m_ten:units = "kg/(m**2 s)" ;
vint_lcl_m_ten:long_name = "vertically integrated local mass tendency" ;
float vint_lcl_e_ten(time, location) ;
vint_lcl_e_ten:units = "W/m**2" ;
vint_lcl_e_ten:long_name = "vertically integrated local energy tendency" ;
float vint_lcl_q_ten(time, location) ;
vint_lcl_q_ten:units = "kg/(m**2 s)" ;
vint_lcl_q_ten:long_name = "vertically integrated local moisture tendency" ;
// global attributes:
:source = "BUREAU OF METEOROLOGY" ;
:modl_vrsn = "blue " ;
:netCDF_vrsn = "3.5 " ;
:arch_vrsn = "g2.0 " ;
:compression = "none" ;
:expt_id = " " ;
:archive_kount = 8 ;
:Resolution = "T239L29" ;
:missing_value = 9.96921e+36f ;
:_FillValue = 9.96921e+36f ;
:history = "Tue Sep 7 08:57:30 2004: ncks -c -x -O -a -dtime,12,35 molts_
for_2002100112.nc /bm/gwork/ljr/Ceops/200210/For/mo
lts_for_20021001.nc" ;
:Location = "Lindenberg" ;
data:
time = 1.04166674613953, 1.08333325386047, 1.125, 1.16666674613953,
1.20833325386047, 1.25, 1.29166674613953, 1.33333325386047, 1.375,
[7m--More--[27m
1.41666674613953, 1.45833325386047, 1.5, 1.54166662693024,
1.58333337306976, 1.625, 1.66666662693024, 1.70833337306976, 1.75,
1.79166662693024, 1.83333337306976, 1.875, 1.91666662693024,
1.95833337306976, 2, 2.04166674613953, 2.08333325386047, 2.125,
2.16666674613953, 2.20833325386047, 2.25, 2.29166674613953,
(most of this part (time) information has been deleted)
365.041656494141, 365.083343505859, 365.125, 365.166656494141,
365.208343505859, 365.25, 365.291656494141, 365.333343505859, 365.375,
365.416656494141, 365.458343505859, 365.5, 365.541656494141,
365.583343505859, 365.625, 365.666656494141, 365.708343505859, 365.75,
365.791656494141, 365.833343505859, 365.875, 365.916656494141,
365.958343505859, 366 ;
location = 1 ;
latitude = 52.17 ;
longitude = 14.12 ;
model_lat = 52.01647 ;
model_lon = 13.2 ;
lvl = 0.991, 0.975, 0.95, 0.925, 0.9, 0.875, 0.85, 0.8, 0.75, 0.7, 0.633,
0.566, 0.5, 0.433, 0.366, 0.32, 0.29, 0.26, 0.23, 0.2, 0.17, 0.14, 0.11,
0.09, 0.06999999, 0.05, 0.03, 0.02, 0.01 ;
soil_lvl = 0.05, 0.5 ;
base_date = 20021001 ;
base_time = 1200 ;
valid_date = 20021002, 20021002, 20021002, 20021002, 20021002, 20021002,
20021002, 20021002, 20021002, 20021002, 20021002, 20021002, 20021002,
20021002, 20021002, 20021002, 20021002, 20021002, 20021002, 20021002,
20021002, 20021002, 20021002, 20021003, 20021003, 20021003, 20021003,
20021003, 20021003, 20021003, 20021003, 20021003, 20021003, 20021003,
20021003, 20021003, 20021003, 20021003, 20021003, 20021003, 20021003,
20021003, 20021003, 20021003, 20021003, 20021003, 20021003, 20021004,
20021004, 20021004, 20021004, 20021004, 20021004, 20021004, 20021004,
20021004, 20021004, 20021004, 20021004, 20021004, 20021004, 20021004,
20021004, 20021004, 20021004, 20021004, 20021004, 20021004, 20021004,
20021004, 20021004, 20021005, 20021005, 20021005, 20021005, 20021005,
(etc., the remainder not shown)
-----------------------------------------------------------------------------
Following is full contents of the LAS xml file for this dataset:
<datasets>
<CEOP_MOLTS_BMRC_Lindenberg_forc name="CEOP MOLTS BMRC Lindenberg forc"
url="file:Lindenberg_forc_eop3"
doc="doc/levitus_monthly.html">
<!-- Default properties for this dataset -->
<properties>
<ferret>
<land_type>shade</land_type> <!-- filled continents -->
</ferret>
</properties>
<variables>
<ALBEDO name="ALBEDO Surface albedo" units="%">
<link match="/lasdata/grids/CEOP_MOLTS_BMRC_Lindenberg_forc_grid"/>
</ALBEDO>
<precip name="precip accumulated total precipitation" units="kg/m**2">
<link match="/lasdata/grids/CEOP_MOLTS_BMRC_Lindenberg_forc_grid"/>
</precip>
<evap name="evap Surface evaporation" units="kg/(sm**2)">
<link match="/lasdata/grids/CEOP_MOLTS_BMRC_Lindenberg_forc_grid"/>
</evap>
<U10 name="U10 Zonal component of wind at 10m" units="m/s">
<link match="/lasdata/grids/CEOP_MOLTS_BMRC_Lindenberg_forc_grid"/>
</U10>
<v10 name="v10 Meridional component of wind at 10m" units="m/s">
<link match="/lasdata/grids/CEOP_MOLTS_BMRC_Lindenberg_forc_grid"/>
</v10>
</variables>
</CEOP_MOLTS_BMRC_Lindenberg_forc>
</datasets>
<grids>
<CEOP_MOLTS_BMRC_Lindenberg_forc_grid>
<link match="/lasdata/axes/CEOP_MOLTS_BMRC_Lindenberg_forc_XAXLEVITR"/>
<link match="/lasdata/axes/CEOP_MOLTS_BMRC_Lindenberg_forc_YAXLEVITR"/>
<link match="/lasdata/axes/CEOP_MOLTS_BMRC_Lindenberg_forc_TAXLEVITR"/>
</CEOP_MOLTS_BMRC_Lindenberg_forc_grid>
</grids>
<axes>
<CEOP_MOLTS_BMRC_Lindenberg_forc_XAXLEVITR type="x" units="degrees_east">
<arange start="102.379" step="1" size="1"/>
</CEOP_MOLTS_BMRC_Lindenberg_forc_XAXLEVITR>
<CEOP_MOLTS_BMRC_Lindenberg_forc_YAXLEVITR type="y" units="degrees_north">
<arange start="14.466" step="1" size="1"/>
</CEOP_MOLTS_BMRC_Lindenberg_forc_YAXLEVITR>
<CEOP_MOLTS_BMRC_Lindenberg_forc_TAXLEVITR units="hours" type="t">
<arange start="2002-Dec-01 00:00:00" step="1" size="8760"/>
</CEOP_MOLTS_BMRC_Lindenberg_forc_TAXLEVITR>
</axes>
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement