[ncl-talk] Reducing file size
Michael Notaro
mnotaro at wisc.edu
Thu Jan 18 08:02:19 MST 2018
I have about 10 TB of regional climate model output SRF files
that I need to reduce in size probably to 1 TB. For example,
one monthly file, as dumped below, IPSL_SRF.1998010100.nc,
is 2.3 GB. Any recommendations in NCL on how
to effectively accomplish this task? (e.g. command
to convert the contents to short, or way to
compress the content, etc)
Thanks, Michael
[notaro at petenwell ~/processing]# ls -l -h *nc
-rw-r--r-- 1 notaro notaro 2.3G Jan 18 08:35 IPSL_SRF.1998010100.nc
[notaro at petenwell ~/processing]# ncdump -h IPSL_SRF.1998010100.nc
netcdf IPSL_SRF.1998010100 {
dimensions:
jx = 217 ;
iy = 141 ;
kz = 28 ;
time = UNLIMITED ; // (744 currently)
m10 = 1 ;
m2 = 1 ;
soil_layer = 2 ;
time_bounds = 2 ;
variables:
float jx(jx) ;
jx:long_name = "x-coordinate in Cartesian system" ;
jx:standard_name = "projection_x_coordinate" ;
jx:units = "m" ;
jx:axis = "X" ;
jx:_CoordinateAxisType = "GeoX" ;
float iy(iy) ;
iy:long_name = "y-coordinate in Cartesian system" ;
iy:standard_name = "projection_y_coordinate" ;
iy:units = "m" ;
iy:axis = "Y" ;
iy:_CoordinateAxisType = "GeoY" ;
float sigma(kz) ;
sigma:long_name = "Sigma at half model layers" ;
sigma:standard_name = "atmosphere_sigma_coordinate" ;
sigma:units = "1" ;
sigma:axis = "Z" ;
sigma:positive = "down" ;
sigma:formula_terms = "sigma: sigma ps: ps ptop: ptop" ;
sigma:_CoordinateAxisType = "GeoZ" ;
float ptop ;
ptop:long_name = "Pressure at model top" ;
ptop:standard_name = "air_pressure" ;
ptop:units = "hPa" ;
float xlon(iy, jx) ;
xlon:long_name = "Longitude on Cross Points" ;
xlon:standard_name = "longitude" ;
xlon:units = "degrees_east" ;
xlon:grid_mapping = "rcm_map" ;
float xlat(iy, jx) ;
xlat:long_name = "Latitude on Cross Points" ;
xlat:standard_name = "latitude" ;
xlat:units = "degrees_north" ;
xlat:grid_mapping = "rcm_map" ;
float mask(iy, jx) ;
mask:long_name = "Land Mask" ;
mask:standard_name = "land_binary_mask" ;
mask:units = "1" ;
mask:coordinates = "xlat xlon" ;
mask:grid_mapping = "rcm_map" ;
float topo(iy, jx) ;
topo:long_name = "Surface Model Elevation" ;
topo:standard_name = "surface_altitude" ;
topo:units = "m" ;
topo:coordinates = "xlat xlon" ;
topo:grid_mapping = "rcm_map" ;
float ps(time, iy, jx) ;
ps:long_name = "Surface Pressure" ;
ps:standard_name = "surface_air_pressure" ;
ps:units = "hPa" ;
ps:coordinates = "xlat xlon" ;
ps:grid_mapping = "rcm_map" ;
ps:cell_methods = "time: point" ;
float drag(time, iy, jx) ;
drag:long_name = "Surface drag stress coefficient in air" ;
drag:standard_name = "surface_drag_coefficient_in_air" ;
drag:units = "1" ;
drag:coordinates = "xlat xlon" ;
drag:grid_mapping = "rcm_map" ;
drag:cell_methods = "time: point" ;
float ts(time, iy, jx) ;
ts:long_name = "Ground surface temperature" ;
ts:standard_name = "surface_temperature" ;
ts:units = "K" ;
ts:coordinates = "xlat xlon" ;
ts:grid_mapping = "rcm_map" ;
ts:cell_methods = "time: point" ;
float tf(time, iy, jx) ;
tf:long_name = "Foliage canopy temperature" ;
tf:standard_name = "canopy_temperature" ;
tf:units = "K" ;
tf:coordinates = "xlat xlon" ;
tf:grid_mapping = "rcm_map" ;
tf:cell_methods = "time: point" ;
tf:_FillValue = 1.e+20f ;
float pr(time, iy, jx) ;
pr:long_name = "Total precipitation flux" ;
pr:standard_name = "precipitation_flux" ;
pr:units = "kg m-2 s-1" ;
pr:coordinates = "xlat xlon" ;
pr:grid_mapping = "rcm_map" ;
pr:cell_methods = "time: mean" ;
float evspsbl(time, iy, jx) ;
evspsbl:long_name = "Total evapotranspiration flux" ;
evspsbl:standard_name = "water_evaporation_flux" ;
evspsbl:units = "kg m-2 s-1" ;
evspsbl:coordinates = "xlat xlon" ;
evspsbl:grid_mapping = "rcm_map" ;
evspsbl:cell_methods = "time: mean" ;
float snv(time, iy, jx) ;
snv:long_name = "Liquid water equivalent of snow thickness" ;
snv:standard_name = "lwe_thickness_of_surface_snow_amount" ;
snv:units = "kg m-2" ;
snv:coordinates = "xlat xlon" ;
snv:grid_mapping = "rcm_map" ;
snv:cell_methods = "time: mean" ;
snv:_FillValue = 1.e+20f ;
float hfss(time, iy, jx) ;
hfss:long_name = "Sensible heat flux" ;
hfss:standard_name = "surface_upward_sensible_heat_flux" ;
hfss:units = "W m-2" ;
hfss:coordinates = "xlat xlon" ;
hfss:grid_mapping = "rcm_map" ;
hfss:cell_methods = "time: mean" ;
float rsnl(time, iy, jx) ;
rsnl:long_name = "Net upward longwave energy flux" ;
rsnl:standard_name = "net_upward_longwave_flux_in_air" ;
rsnl:units = "W m-2" ;
rsnl:coordinates = "xlat xlon" ;
rsnl:grid_mapping = "rcm_map" ;
rsnl:cell_methods = "time: mean" ;
float rsns(time, iy, jx) ;
rsns:long_name = "Net downward shortwave energy flux" ;
rsns:standard_name = "net_downward_shortwave_flux_in_air" ;
rsns:units = "W m-2" ;
rsns:coordinates = "xlat xlon" ;
rsns:grid_mapping = "rcm_map" ;
rsns:cell_methods = "time: mean" ;
float rsdl(time, iy, jx) ;
rsdl:long_name = "Surface downward longwave flux in air" ;
rsdl:standard_name = "surface_downwelling_longwave_flux_in_air" ;
rsdl:units = "W m-2" ;
rsdl:coordinates = "xlat xlon" ;
rsdl:grid_mapping = "rcm_map" ;
rsdl:cell_methods = "time: mean" ;
float rsds(time, iy, jx) ;
rsds:long_name = "Surface downward shortwave flux in air" ;
rsds:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
rsds:units = "W m-2" ;
rsds:coordinates = "xlat xlon" ;
rsds:grid_mapping = "rcm_map" ;
rsds:cell_methods = "time: mean" ;
float prc(time, iy, jx) ;
prc:long_name = "Convective precipitation flux" ;
prc:standard_name = "convective_rainfall_flux" ;
prc:units = "kg m-2 s-1" ;
prc:coordinates = "xlat xlon" ;
prc:grid_mapping = "rcm_map" ;
prc:cell_methods = "time: mean" ;
float zmla(time, iy, jx) ;
zmla:long_name = "Atmospheric Boundary Layer thickness" ;
zmla:standard_name = "atmosphere_boundary_layer_thickness" ;
zmla:units = "m" ;
zmla:coordinates = "xlat xlon" ;
zmla:grid_mapping = "rcm_map" ;
zmla:cell_methods = "time: point" ;
float aldirs(time, iy, jx) ;
aldirs:long_name = "Surface albedo to direct shortwave radiation" ;
aldirs:standard_name = "surface_albedo_short_wave_direct" ;
aldirs:units = "1" ;
aldirs:coordinates = "xlat xlon" ;
aldirs:grid_mapping = "rcm_map" ;
aldirs:cell_methods = "time: point" ;
float aldifs(time, iy, jx) ;
aldifs:long_name = "Surface albedo to diffuse shortwave radiation" ;
aldifs:standard_name = "surface_albedo_short_wave_diffuse" ;
aldifs:units = "1" ;
aldifs:coordinates = "xlat xlon" ;
aldifs:grid_mapping = "rcm_map" ;
aldifs:cell_methods = "time: point" ;
float sund(time, iy, jx) ;
sund:long_name = "Duration of sunshine" ;
sund:standard_name = "duration_of_sunshine" ;
sund:units = "s" ;
sund:coordinates = "xlat xlon" ;
sund:grid_mapping = "rcm_map" ;
sund:cell_methods = "time: sum" ;
float sndp(time, iy, jx) ;
sndp:long_name = "Actual snow depth" ;
sndp:standard_name = "snow_depth" ;
sndp:units = "mm" ;
sndp:coordinates = "xlat xlon" ;
sndp:grid_mapping = "rcm_map" ;
sndp:cell_methods = "time: mean" ;
sndp:_FillValue = 1.e+20f ;
float snfl(time, iy, jx) ;
snfl:long_name = "Snowfall" ;
snfl:standard_name = "snow_fall" ;
snfl:units = "kg m-2 s-1" ;
snfl:coordinates = "xlat xlon" ;
snfl:grid_mapping = "rcm_map" ;
snfl:cell_methods = "time: mean" ;
float uas(time, m10, iy, jx) ;
uas:long_name = "Anemometric zonal (westerly) wind component" ;
uas:standard_name = "eastward_wind" ;
uas:units = "m s-1" ;
uas:coordinates = "xlat xlon" ;
uas:grid_mapping = "rcm_map" ;
uas:cell_methods = "time: point" ;
float vas(time, m10, iy, jx) ;
vas:long_name = "Anenometric meridional (southerly) wind component" ;
vas:standard_name = "northward_wind" ;
vas:units = "m s-1" ;
vas:coordinates = "xlat xlon" ;
vas:grid_mapping = "rcm_map" ;
vas:cell_methods = "time: point" ;
float tas(time, m2, iy, jx) ;
tas:long_name = "Near surface air temperature" ;
tas:standard_name = "air_temperature" ;
tas:units = "K" ;
tas:coordinates = "xlat xlon" ;
tas:grid_mapping = "rcm_map" ;
tas:cell_methods = "time: point" ;
float qas(time, m2, iy, jx) ;
qas:long_name = "Near surface air specific humidity" ;
qas:standard_name = "specific_humidity" ;
qas:units = "1" ;
qas:coordinates = "xlat xlon" ;
qas:grid_mapping = "rcm_map" ;
qas:cell_methods = "time: point" ;
float mrso(time, soil_layer, iy, jx) ;
mrso:long_name = "Moisture content of the soil layers" ;
mrso:standard_name = "soil_moisture_content_in_layers" ;
mrso:units = "kg m-2" ;
mrso:coordinates = "xlat xlon" ;
mrso:grid_mapping = "rcm_map" ;
mrso:cell_methods = "time: point" ;
mrso:_FillValue = 1.e+20f ;
float mrro(time, soil_layer, iy, jx) ;
mrro:long_name = "Runoff flux" ;
mrro:standard_name = "runoff_flux" ;
mrro:units = "kg m-2 s-1" ;
mrro:coordinates = "xlat xlon" ;
mrro:grid_mapping = "rcm_map" ;
mrro:cell_methods = "time: mean" ;
mrro:_FillValue = 1.e+20f ;
float time(time) ;
time:long_name = "time" ;
time:standard_name = "time" ;
time:units = "hours since 1949-12-01 00:00:00 UTC" ;
time:calendar = "noleap" ;
time:bounds = "time_bnds" ;
float time_bnds(time, time_bounds) ;
time_bnds:units = "hours since 1949-12-01 00:00:00 UTC" ;
time_bnds:calendar = "noleap" ;
char rcm_map ;
rcm_map:grid_mapping_name = "lambert_conformal_conic" ;
rcm_map:standard_parallel = 36., 52. ;
rcm_map:longitude_of_central_meridian = -97. ;
rcm_map:latitude_of_projection_origin = 45. ;
rcm_map:_CoordinateTransformType = "Projection" ;
rcm_map:_CoordinateAxisTypes = "GeoX GeoY" ;
// global attributes:
:title = "ICTP Regional Climatic model V4" ;
:institution = "ICTP" ;
:source = "RegCM Model output file" ;
:Conventions = "CF-1.4" ;
:references = "http://gforge.ictp.it/gf/project/regcm" ;
:model_revision = "tag 4.3.5.6" ;
:history = "2015-01-25 04:40:03 : Created by RegCM RegCM Model program" ;
:experiment = "IPSL" ;
:projection = "LAMCON" ;
:grid_size_in_meters = 25000. ;
:latitude_of_projection_origin = 45. ;
:longitude_of_projection_origin = -97. ;
:standard_parallel = 36., 52. ;
:grid_factor = 0.696943758331507 ;
:boundary_nspgx = 15 ;
:boundary_nspgd = 15 ;
:boundary_high_nudge = 3. ;
:boundary_medium_nudge = 2. ;
:boundary_low_nudge = 1. ;
:model_is_restarted = "Yes" ;
:model_simulation_initial_start = "1977-06-01 00:00:00 UTC" ;
:model_simulation_start = "1998-01-01 00:00:00 UTC" ;
:model_simulation_end = "1999-01-01 00:00:00 UTC" ;
:atmosphere_time_step_in_seconds = 120. ;
:surface_interaction_time_step_in_seconds = 120. ;
:radiation_scheme_time_step_in_minuts = 30. ;
:absorption_emission_time_step_in_hours = 18. ;
:lateral_boundary_condition_scheme = 1 ;
:boundary_layer_scheme = 1 ;
:cumulus_convection_scheme = 2 ;
:grell_scheme_closure = 2 ;
:moisture_scheme = 1 ;
:ocean_flux_scheme = 2 ;
:zeng_ocean_roughness_formula = 1 ;
:pressure_gradient_scheme = 0 ;
:surface_emissivity_factor_computed = 0 ;
:lake_model_activated = 1 ;
:chemical_aerosol_scheme_activated = 0 ;
:ipcc_scenario_code = "RF" ;
:diurnal_cycle_sst_scheme = 0 ;
:simple_sea_ice_scheme = 0 ;
:seasonal_desert_albedo = 1 ;
:convective_lwp_as_large_scale = 1 ;
:rrtm_radiation_scheme_activated = 0 ;
:climatic_ozone_input_dataset = 0 ;
:static_solar_constant_used = 1 ;
:subex_bottom_level_with_no_clouds = 1 ;
:subex_maximum_cloud_fraction_cover = 0.8 ;
:subex_auto_conversion_rate_for_land = 0.00025 ;
:subex_auto_conversion_rate_for_ocean = 0.00025 ;
:subex_gultepe_factor_when_rain_for_land = 0.4 ;
:subex_gultepe_factor_when_rain_for_ocean = 0.4 ;
:subex_rh_with_fcc_one = 1.01 ;
:subex_rh_threshold_for_land = 0.8 ;
:subex_rh_threshold_for_ocean = 0.9 ;
:subex_limit_temperature = 238. ;
:subex_raindrop_evaporation_rate = 0.0008 ;
:subex_raindrop_accretion_rate = 3. ;
:subex_cloud_fraction_maximum = 0.75 ;
:subex_cloud_fraction_max_for_convection = 0.25 ;
:subex_cloud_liqwat_max_for_convection = 5.e-05 ;
:grell_min_shear_on_precip = 0.25 ;
:grell_max_shear_on_precip = 0.5 ;
:grell_min_precip_efficiency = 0.25 ;
:grell_max_precip_efficiency = 0.5 ;
:grell_min_precip_efficiency_o = 0.25 ;
:grell_max_precip_efficiency_o = 0.5 ;
:grell_min_precip_efficiency_x = 0.25 ;
:grell_max_precip_efficiency_x = 0.5 ;
:grell_min_shear_on_precip_on_ocean = 0.25 ;
:grell_max_shear_on_precip_on_ocean = 0.5 ;
:grell_min_precip_efficiency_on_ocean = 0.25 ;
:grell_max_precip_efficiency_on_ocean = 0.5 ;
:grell_min_precip_efficiency_o_on_ocean = 0.25 ;
:grell_max_precip_efficiency_o_on_ocean = 0.5 ;
:grell_min_precip_efficiency_x_on_ocean = 0.25 ;
:grell_max_precip_efficiency_x_on_ocean = 0.5 ;
:grell_max_depth_of_stable_layer = 150. ;
:grell_min_depth_of_cloud = 150. ;
:grell_min_convective_heating = -250. ;
:grell_max_convective_heating = 500. ;
:grell_max_cloud_base_height = 0.4 ;
:grell_FC_ABE_removal_timescale = 30. ;
:holtslag_critical_ocean_richardson = 0.25 ;
:holtslag_critical_land_richardson = 0.25 ;
}
Michael Notaro
Associate Director
Nelson Institute Center for Climatic Research
University of Wisconsin-Madison
Phone: (608) 261-1503
Email: mnotaro at wisc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180118/cd13d908/attachment.html>
More information about the ncl-talk
mailing list