merge 2 time series with same time units, but different start and end times

From: Sam McClatchie (NOAA Federal) <sam.mcclatchie_at_nyahnyahspammersnyahnyah>
Date: Mon Dec 23 2013 - 16:41:15 MST

Hello

I have two buoy temperature time series (as netcdf files) with differing
start and end times that I want to align in time. The time units are the
same (this is not a re-basing problem). I see that I could do this by
subsetting with the netcdf operators by dumping the time variables and
then choosing a matching subset from each time series:

;*********************************************
;;dump the time values using NCO
;*********************************************
smc@caiman:~/Dropbox/dynamic_data/projects2013/spawning_further_north/data/buoys_erddap$
ncdump -v time buoy_46218_temperature_anomalies.nc

netcdf buoy_46218_temperature_anomalies {
dimensions:
     time = 108 ;
     ncl1 = 2 ;
     ncl2 = 1 ;
     longitude = 1 ;
variables:
     double temp_monthly_ss(time, ncl1) ;
         temp_monthly_ss:operation_tag = "calculate_monthly_values: avg" ;
         temp_monthly_ss:units = "degree_C" ;
         temp_monthly_ss:long_name = "SST" ;
         temp_monthly_ss:_FillValue = -9999999. ;
     double time(time) ;
         time:units = "seconds since 1970-01-01T00:00:00Z" ;
         time:operation_tag = "calculate_monthly_values: avg" ;
         time:long_name = "SST" ;
         time:_FillValue = -9999999. ;
     double monthly_anom(time, ncl2, longitude) ;
         monthly_anom:long_name = "SST" ;
         monthly_anom:units = "degree_C" ;
         monthly_anom:operation_tag = "calculate_monthly_values: avg" ;
         monthly_anom:_FillValue = -9999999. ;
         monthly_anom:anomaly_op_ncl = "Anomalies from Annual Cycle:
calcMonAnomTLL: contributed.ncl" ;
     float longitude(longitude) ;
data:

  time = 1104451200, 1104537600, 1107216000, 1109635200, 1112313600,
     1114905600, 1117584000, 1120176000, 1122854400, 1125532800,
1128124800,
     1130803200, 1133395200, 1136073600, 1138752000, 1141171200,
1143849600,
     1146441600, 1149120000, 1151712000, 1154390400, 1157068800,
1159660800,
     1162339200, 1164931200, 1167609600, 1170288000, 1172707200,
1175385600,
     1177977600, 1180656000, 1183248000, 1185926400, 1188604800,
1191196800,
     1193875200, 1196467200, 1199145600, 1201824000, 1204329600,
1207008000,
     1209600000, 1212278400, 1214870400, 1217548800, 1220227200,
1222819200,
     1225497600, 1228089600, 1230768000, 1233446400, 1235865600,
1238544000,
     1241136000, 1243814400, 1246406400, 1249084800, 1251763200,
1254355200,
     1257033600, 1259625600, 1262304000, 1264982400, 1267401600,
1270080000,
     1272672000, 1275350400, 1277942400, 1280620800, 1283299200,
1285891200,
     1288569600, 1291161600, 1293840000, 1296518400, 1298937600,
1301616000,
     1304208000, 1306886400, 1309478400, 1312156800, 1314835200,
1317427200,
     1320105600, 1322697600, 1325376000, 1328054400, 1330560000,
1333238400,
     1335830400, 1338508800, 1341100800, 1343779200, 1346457600,
1349049600,
     1351728000, 1354320000, 1356998400, 1359676800, 1362096000,
1364774400,
     1367366400, 1370044800, 1372636800, 1375315200, 1377993600,
1380585600,
     1383264000 ;
}

;*******************************
;; do a subset of time values 100-107, for example
;*******************************
smc@caiman:~/Dropbox/dynamic_data/projects2013/spawning_further_north/data/buoys_erddap$
ncea -F -d time,100,107 buoy_46218_temperature_anomalies.nc test.nc
ncea: test.nc exists---`e'xit, `o'verwrite (i.e., delete existing file),
or `a'ppend (i.e., replace duplicate variables in and add new variables
to existing file) (e/o/a)? o
smc@caiman:~/Dropbox/dynamic_data/projects2013/spawning_further_north/data/buoys_erddap$
ncdump -v time test.nc
netcdf test {
dimensions:
     time = 8 ;
     ncl1 = 2 ;
     ncl2 = 1 ;
     longitude = 1 ;
variables:
     double temp_monthly_ss(time, ncl1) ;
         temp_monthly_ss:operation_tag = "calculate_monthly_values: avg" ;
         temp_monthly_ss:units = "degree_C" ;
         temp_monthly_ss:long_name = "SST" ;
         temp_monthly_ss:_FillValue = -9999999. ;
     double time(time) ;
         time:units = "seconds since 1970-01-01T00:00:00Z" ;
         time:operation_tag = "calculate_monthly_values: avg" ;
         time:long_name = "SST" ;
         time:_FillValue = -9999999. ;
     double monthly_anom(time, ncl2, longitude) ;
         monthly_anom:long_name = "SST" ;
         monthly_anom:units = "degree_C" ;
         monthly_anom:operation_tag = "calculate_monthly_values: avg" ;
         monthly_anom:_FillValue = -9999999. ;
         monthly_anom:anomaly_op_ncl = "Anomalies from Annual Cycle:
calcMonAnomTLL: contributed.ncl" ;
     float longitude(longitude) ;

// global attributes:
         :history = "Mon Dec 23 15:14:43 2013: ncea -F -d time,100,107
buoy_46218_temperature_anomalies.nc test.nc" ;
         :nco_openmp_thread_number = 1 ;
data:

  time = 1362096000, 1364774400, 1367366400, 1370044800, 1372636800,
     1375315200, 1377993600, 1380585600 ;
}
;*************************************************

This seems a bit tedious. In R, I would just merge the two time series
by the time variable.
Is there such a merge function in NCL?

Best fishes

Sam

-- 
email signature Sam McClatchie,
Supervisory oceanographer,
Fisheries oceanography, Ichthyoplankton, Ship Operations
Southwest Fisheries Science Center, NOAA,
8901 La Jolla Shores Dr.
La Jolla, CA 92037-1509, U.S.A.
email <Sam.McClatchie@noaa.gov>
Office: 858 546 7083, Cellular:  858 752 8495
Research home page <www.fishocean.info>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Dec 23 16:41:31 2013

This archive was generated by hypermail 2.1.8 : Mon Jan 06 2014 - 13:02:22 MST