Hello NCL users,
I am using some CMIP5 6hrly model data (GFDL-ESM2M) to calculate
vertically integrated moisture transport. I am new at this and am
running into problems using the hybrid sigma pressure coordinates.
When I calculate q*u, I am losing information about the coefficients,
ps, and p0. I think this is at the root of my problem with the final
vertical integration. The code I use to calculate qu is below, along
with the variable list from the original ua file (via ncl_filedump),
the variable list from the 6hrly qu that I calculated (via
ncl_filedump), and printVarSummary statements from the monthly qu I
wish to integrate.
Is there a way to preserve the metadata for the hybrid coefficients,
ps, and p0 in my original q*u calculation so that I can use
dpres_hybrid_ccm with my monthly data? I have tried reading it in
from one of the original 6hrly ua files, but the time dimension
doesn't match the monthly data. Or should I interpolate the original
ua and hus files onto pressure levels before calculating qu?
Thanks in advance for your help.
Sincerely,
Jeanne Thibeault
This is the code I am using to calculate 6rhly qu and output a new
netcdf file:
qu = q*u
qu!0 = "time"
qu!1 = "lev"
qu!2 = "lat"
qu!3 = "lon"
qu&lev = levu
copy_VarMeta(u,qu)
delete_VarAtts(qu,(/"long_name","standard_name","original_name"/))
qu@long_name = "q*u"
qu@units = "kg kg-1 m s-1"
printVarSummary(qu)
;=====================================================================
; Create netCDF file
;=====================================================================
diro = "/Volumes/PEGASUS/Data/CMIP5/hist6hrly/"
filo = "qu_GFDL-ESM2M_r1i1p1_"+suf+".nc"
ncfile = diro+filo
filAtts = True
filAtts@creation_date = systemfunc("date")
filAtts@comment = a1@comment
filAtts@references = a1@references
filAtts@title = a1@title
filAtts@Conventions = a1@Conventions
filAtts@project_id = a1@project_id
filAtts@table_id = a1@table_id
filAtts@experiment_id = a1@experiment_id
filAtts@realization = a1@realization
filAtts@model_id = a1@model_id
filAtts@experiment = a1@experiment
filAtts@forcing = a1@forcing
filAtts@parent_experiment_rip = a1@parent_experiment_rip
system("/bin/rm -f "+ncfile) ; remove any pre-existing file
fout = addfile(ncfile ,"c") ; open output netCDF file
fileattdef( fout, filAtts ) ; add file attributes
filedimdef(fout,"time",-1,True) ; make time an UNLIMITED dimension
fout->qu = qu
end
Original ua file 6hrly:
variables:
double a ( lev )
bounds : a_bnds
long_name : vertical coordinate formula term: a(k)
double a_bnds ( lev, bnds )
long_name : vertical coordinate formula term: a(k+1/2)
double b ( lev )
bounds : b_bnds
long_name : vertical coordinate formula term: b(k)
double b_bnds ( lev, bnds )
long_name : vertical coordinate formula term: b(k+1/2)
double lat ( lat )
long_name : latitude
units : degrees_north
standard_name : latitude
axis : Y
bounds : lat_bnds
double lon ( lon )
long_name : longitude
units : degrees_east
standard_name : longitude
axis : X
bounds : lon_bnds
double bnds ( bnds )
long_name : vertex number
cartesian_axis : N
float p0 ( ncl_scalar )
long_name : reference pressure for hybrid sigma coordinate
units : Pa
double lev ( lev )
long_name : hybrid sigma pressure coordinate
units : 1
positive : down
axis : Z
bounds : lev_bnds
formula : p(n,k,j,i) = a(k)*p0 + b(k)*ps(n,j,i)
formula_terms : p0: p0 a: a b: b ps: ps
standard_name :
atmosphere_hybrid_sigma_pressure_coordinate
double lev_bnds ( lev, bnds )
formula : p(n,k,j,i) = a(k)*p0 + b(k)*ps(n,j,i)
formula_terms : p0: p0 a: a_bnds b: b_bnds ps: ps
standard_name :
atmosphere_hybrid_sigma_pressure_coordinate
units : 1
float ps ( time, lat, lon )
long_name : Surface Air Pressure
units : Pa
cell_methods : time: point
standard_name : surface_air_pressure
double time ( time )
long_name : time
units : days since 1861-01-01 00:00:00
cartesian_axis : T
calendar_type : noleap
calendar : noleap
axis : T
standard_name : time
float ua ( time, lev, lat, lon )
6hrly qu variable list:
variables:
float qu ( time, lev, lat, lon )
long_name : q*u
associated_files : baseURL: http://cmip-pcmdi.llnl.gov/
CMIP5/dataLocation areacella: areacella_fx_GFDL-
ESM2M_historical_r0i0p0.nc
cell_measures : area: areacella
original_units : m/sec
_FillValue : 1e+20
valid_range : ( -330, 350 )
units : kg kg-1 m s-1
missing_value : 1e+20
cell_methods : time: point
double time ( time )
standard_name : time
axis : T
calendar : noleap
calendar_type : noleap
cartesian_axis : T
units : days since 1861-01-01 00:00:00
long_name : time
double lev ( lev )
standard_name :
atmosphere_hybrid_sigma_pressure_coordinate
formula_terms : p0: p0 a: a b: b ps: ps
formula : p(n,k,j,i) = a(k)*p0 + b(k)*ps(n,j,i)
bounds : lev_bnds
axis : Z
positive : down
units : 1
long_name : hybrid sigma pressure coordinate
double lat ( lat )
bounds : lat_bnds
axis : Y
standard_name : latitude
units : degrees_north
long_name : latitude
double lon ( lon )
bounds : lon_bnds
axis : X
standard_name : longitude
units : degrees_east
long_name : longitude
Monthly average from 6hrly q and u:
Variable: qu
Type: float
Total Size: 49766400 bytes
12441600 values
Number of Dimensions: 4
Dimensions and sizes: [time | 60] x [lev | 16] x [lat | 90] x [lon
| 144]
Coordinates:
time: [40150.25..41945.25]
lev: [0.9961083927371855..0.4583251378663908]
lat: [-89.49438202247192..89.49438202247192]
lon: [1.25..358.75]
Number Of Attributes: 10
average_op_ncl : dim_avg_n over dimension(s): time
long_name : q*u
associated_files : baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/
dataLocation areacella: areacella_fx_GFDL-ESM2M_historical_r0i0p0.nc
cell_measures : area: areacella
original_units : m/sec
valid_range : ( -330, 350 )
units : kg kg-1 m s-1
missing_value : 1e+20
cell_methods : time: point
_FillValue : 1e+20
Variable: lev
Type: double
Total Size: 128 bytes
16 values
Number of Dimensions: 1
Dimensions and sizes: [lev | 16]
Coordinates:
Number Of Attributes: 8
standard_name : atmosphere_hybrid_sigma_pressure_coordinate
formula_terms : p0: p0 a: a b: b ps: ps
formula : p(n,k,j,i) = a(k)*p0 + b(k)*ps(n,j,i)
bounds : lev_bnds
axis : Z
positive : down
units : 1
long_name : hybrid sigma pressure coordinate
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sat Feb 25 06:56:29 2012
This archive was generated by hypermail 2.1.8 : Mon Mar 05 2012 - 14:12:07 MST