Changeset 1846 in lmdz_wrf
- Timestamp:
- Mar 23, 2018, 12:57:53 AM (7 years ago)
- Location:
- trunk/tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/nc_var.py
r1845 r1846 18 18 ## e.g. # nc_var.py -o WRF_to_newCF -f wrfout_d01_1995-01-01_00\:00\:00 -S 'XLONG:XLAT:Times:19491201000000:minutes' -v QVAPOR,T2,Q2 19 19 ## e.g. # nc_var.py -o reconstruct_matrix_from_vector -f cruncep_halfdeg_1958.nc -S 'nav_lon:nav_lat:-90.:-7.:-67.:15.:latlon:0.5:0.5:0.05' -v all 20 ## e.g. # nc_var.py -o CFmorzization -S 'X|west_east|XLONG,Y|south_north|XLAT,T|Times|WRFtime :GlobalAttr1995.inf:proj1995.inf' -f ~/PY/wrfout_d01_1995-01-01_00\:00\:00 -v QFX20 ## e.g. # nc_var.py -o CFmorzization -S 'X|west_east|XLONG,Y|south_north|XLAT,T|Times|WRFtime,Z|bottom_top|ZNU:GlobalAttr1995.inf:proj1995.inf' -f ~/PY/wrfout_d01_1995-01-01_00\:00\:00 -v QFX 21 21 22 22 ## e.g. ccrc468-17 # ./nc_var.py -v time -f 123/CCRC_NARCliM_Sydney_All_1990-1999_pr10max.nc -o out -S 1:-1 -
trunk/tools/nc_var_tools.py
r1845 r1846 22707 22707 members of the CMIP5 list of forcing agents are not necessarily forcing agents of RCM (besides implicitly 22708 22708 in driving_experimnt) 22709 rcm_version_ ID[value] (<free text string>; valid characters only indicates model modifs during the project22709 rcm_version_id [value] (<free text string>; valid characters only indicates model modifs during the project 22710 22710 e.g.: parameterizations, small upgrades) 22711 22711 project_id [value] (single value) … … 22744 22744 'experiment', 'contact', 'product', 'Conventions', 'creation_date','frequency',\ 22745 22745 'driving_model_id', 'driving_model_ensemble_member', 'driving_experiment_name',\ 22746 'driving_experiment', 'rcm_version_ ID', 'project_id', 'CORDEX_domain', \22746 'driving_experiment', 'rcm_version_id', 'project_id', 'CORDEX_domain', \ 22747 22747 'tracking_id', 'basetime', 'calendar', 'grid'] 22748 22748 … … 22855 22855 oaxisv = tvals 22856 22856 22857 22858 22857 # CF values of axis 22859 22858 CFdimvalues = gen.CFcorValues(axn) … … 22876 22875 axisv = oaxisv[:] 22877 22876 if CFdimvalues['length'] != -1:CFdimvalues['length'] = oaxisv.shape[0] 22878 CFvardimvalues.append [dimn]22877 CFvardimvalues.append(dimn) 22879 22878 elif len(oaxisv.shape) == CFdimvalues['maxrank'] + 1: 22880 22879 print warnmsg … … 22889 22888 if dn == dimTn: varslice.append(0) 22890 22889 else: 22891 CFvardimvalues.append(d n)22890 CFvardimvalues.append(dimn) 22892 22891 varslice.append(slice(0,len(onc.dimensions[dn]))) 22893 22892 if dn == dimn and CFdimvalues['length'] != -1: … … 22912 22911 dimt = len(axisv) 22913 22912 CFitime = axisv[0] 22914 CFetime = axisv[dimt] 22915 tunits = oaxisv.units 22916 tcal = oaxisv.calendar 22917 Sinit=datetimeStr_conversion(str(CFitime),'cftime,'+tunits,'Y-m-dTH:M:SZ') 22918 Sendt=datetimeStr_conversion(str(CFetime),'cftime,'+tunits,'Y-m-dTH:M:SZ') 22919 secfreq = CFtime_freq(axisv[0], axisv[1], tunits) 22913 CFetime = axisv[dimt-1] 22914 if vardimn != 'WRFtime': 22915 tunits = oaxisv.units 22916 tcal = oaxisv.calendar 22917 else: 22918 tunits = urefvals 22919 tcal = 'standard' 22920 Sinit = gen.datetimeStr_conversion(str(CFitime), 'cfTime,'+tunits, \ 22921 'Y-m-dTH:M:SZ') 22922 Sendt = gen.datetimeStr_conversion(str(CFetime), 'cfTime,'+tunits, \ 22923 'Y-m-dTH:M:SZ') 22924 secfreq = gen.CFtime_freq(axisv[0], axisv[1], tunits) 22920 22925 # Labelling frequency 22921 22926 if np.mod(secfreq, 100 * 365 * 24 * 3600.) == 0.: … … 22933 22938 else: Sfreq = 'UNKNOWN' 22934 22939 22940 print 'Values for axes ________' 22941 print CFdimvals 22942 print 'Values for variables-axes ________' 22943 print CFaxisvardimvals 22944 22935 22945 # Processing variables in file 22936 22946 ## 22937 for vn in varns:22947 for vn in Varns: 22938 22948 # getting CF information 22939 22949 varinf = gen.variables_values(vn) … … 22958 22968 axisv = axisinf[axn] 22959 22969 dimn = axisv[0] 22960 if gen.searchIn file(ovar.dimensions, dimn):22961 varaxes.append [axn]22970 if gen.searchInlist(ovar.dimensions, dimn): 22971 varaxes.append(axn) 22962 22972 CFvardims.append(CFdimvals[axn]['dimn']) 22963 22973 22964 filen = gattr['institu de_id'] + '_' + cfvarn + '_' + gattr['CORDEX_domain'] +\22974 filen = gattr['institute_id'] + '_' + cfvarn + '_' + gattr['CORDEX_domain'] +\ 22965 22975 '_' + gattr['driving_model_id'] + '_' + gattr['driving_experiment_name'] + \ 22966 22976 '_' + gattr['driving_model_ensemble_member'] + '_' + gattr['model_id'] + \ … … 22972 22982 for axn in varaxes: 22973 22983 dvals = CFdimvals[axn] 22974 newdim = onewnc.createDimension(dvals['dimn'], dvals['le gnth'])22984 newdim = onewnc.createDimension(dvals['dimn'], dvals['length']) 22975 22985 22976 22986 # Definition only of that variables-coordinates from the axes in the variable 22977 22987 for axn in varaxes: 22978 22988 dvals = CFdimvals[axn] 22989 print 'Lluis: ', CFaxisvardimvals[axn] 22979 22990 newvar = onewnc.createVariable(dvals['dimn'], 'f8', \ 22980 tuple(CFax esdimvarvals[axn]))22991 tuple(CFaxisvardimvals[axn])) 22981 22992 basicvardef(newvar, dvals['stdn'], dvals['longname'], dvals['units']) 22982 22993 for ivn in dvals.keys():
Note: See TracChangeset
for help on using the changeset viewer.