Menu

Problem with NCRA daily data to monthly data

Help
2015-10-20
2015-10-26
  • Furqon Azis

    Furqon Azis - 2015-10-20

    Hi,

    I have netcdf files of daily data over 10 years with some variables like this:

    variables:
    double xt_ocean(xt_ocean) ;
    xt_ocean:long_name = "tcell longitude" ;
    xt_ocean:units = "degrees_E" ;
    xt_ocean:cartesian_axis = "X" ;
    double yt_ocean(yt_ocean) ;
    yt_ocean:long_name = "tcell latitude" ;
    yt_ocean:units = "degrees_N" ;
    yt_ocean:cartesian_axis = "Y" ;
    double Time(Time) ;
    Time:long_name = "Time" ;
    Time:units = "days since 1993-01-01 00:00:00" ;
    Time:cartesian_axis = "T" ;
    Time:calendar_type = "GREGORIAN" ;
    Time:calendar = "GREGORIAN" ;
    Time:bounds = "Time_bounds" ;
    double nv(nv) ;
    nv:long_name = "vertex number" ;
    nv:units = "none" ;
    nv:cartesian_axis = "N" ;
    double xu_ocean(xu_ocean) ;
    xu_ocean:long_name = "ucell longitude" ;
    xu_ocean:units = "degrees_E" ;
    xu_ocean:cartesian_axis = "X" ;
    double yu_ocean(yu_ocean) ;
    yu_ocean:long_name = "ucell latitude" ;
    yu_ocean:units = "degrees_N" ;
    yu_ocean:cartesian_axis = "Y" ;
    double average_T1(Time) ;
    average_T1:long_name = "Start time for average period" ;
    average_T1:units = "days since 1993-01-01 00:00:00" ;
    double average_T2(Time) ;
    average_T2:long_name = "End time for average period" ;
    average_T2:units = "days since 1993-01-01 00:00:00" ;
    double average_DT(Time) ;
    average_DT:long_name = "Length of average period" ;
    average_DT:units = "days" ;
    float sfc_hflux(Time, yt_ocean, xt_ocean) ;
    sfc_hflux:long_name = "total surface heat flux" ;
    sfc_hflux:units = "Watts/m^2" ;
    sfc_hflux:valid_range = -10000.f, 10000.f ;
    sfc_hflux:missing_value = -1.e+20f ;
    sfc_hflux:_FillValue = -1.e+20f ;
    sfc_hflux:cell_methods = "time: mean" ;
    sfc_hflux:time_avg_info = "average_T1,average_T2,average_DT" ;
    sfc_hflux:coordinates = "geolon_t geolat_t" ;
    float pme_sbc(Time, yt_ocean, xt_ocean) ;
    pme_sbc:long_name = "precip-evap via sbc (liquid, frozen, evaporation)" ;
    pme_sbc:units = "(kg/m^3)(m/sec)" ;
    pme_sbc:valid_range = -0.1f, 0.1f ;
    pme_sbc:missing_value = -1.e+20f ;
    pme_sbc:_FillValue = -1.e+20f ;
    pme_sbc:cell_methods = "time: mean" ;
    pme_sbc:time_avg_info = "average_T1,average_T2,average_DT" ;
    pme_sbc:coordinates = "geolon_t geolat_t" ;
    float tau_x(Time, yu_ocean, xu_ocean) ;
    tau_x:long_name = "i-directed wind stress" ;
    tau_x:units = "N/m^2" ;
    tau_x:valid_range = -10.f, 10.f ;
    tau_x:missing_value = -1.e+20f ;
    tau_x:_FillValue = -1.e+20f ;
    tau_x:cell_methods = "time: mean" ;
    tau_x:time_avg_info = "average_T1,average_T2,average_DT" ;
    tau_x:coordinates = "geolon_c geolat_c" ;
    tau_x:standard_name = "surface_downward_x_stress" ;
    float tau_y(Time, yu_ocean, xu_ocean) ;
    tau_y:long_name = "j-directed wind stress" ;
    tau_y:units = "N/m^2" ;
    tau_y:valid_range = -10.f, 10.f ;
    tau_y:missing_value = -1.e+20f ;
    tau_y:_FillValue = -1.e+20f ;
    tau_y:cell_methods = "time: mean" ;
    tau_y:time_avg_info = "average_T1,average_T2,average_DT" ;
    tau_y:coordinates = "geolon_c geolat_c" ;
    tau_y:standard_name = "surface_downward_y_stress" ;
    float river(Time, yt_ocean, xt_ocean) ;
    river:long_name = "mass flux of river (runoff + calving) entering ocean" ;
    river:units = "(kg/m^3)
    (m/sec)" ;
    river:valid_range = -0.2f, 0.2f ;
    river:missing_value = -1.e+20f ;
    river:_FillValue = -1.e+20f ;
    river:cell_methods = "time: mean" ;
    river:time_avg_info = "average_T1,average_T2,average_DT" ;
    river:coordinates = "geolon_t geolat_t" ;
    float evap(Time, yt_ocean, xt_ocean) ;
    evap:long_name = "evaporative mass flux (>0 leaves ocean)" ;
    evap:units = "(kg/m^3)(m/sec)" ;
    evap:valid_range = -0.01f, 0.01f ;
    evap:missing_value = -1.e+20f ;
    evap:_FillValue = -1.e+20f ;
    evap:cell_methods = "time: mean" ;
    evap:time_avg_info = "average_T1,average_T2,average_DT" ;
    evap:coordinates = "geolon_t geolat_t" ;
    evap:standard_name = "water_evaporation_flux" ;
    float lprec(Time, yt_ocean, xt_ocean) ;
    lprec:long_name = "liquid precip into ocean (>0 enters ocean)" ;
    lprec:units = "(kg/m^3)
    (m/sec)" ;
    lprec:valid_range = -0.1f, 0.1f ;
    lprec:missing_value = -1.e+20f ;
    lprec:_FillValue = -1.e+20f ;
    lprec:cell_methods = "time: mean" ;
    lprec:time_avg_info = "average_T1,average_T2,average_DT" ;
    lprec:coordinates = "geolon_t geolat_t" ;
    lprec:standard_name = "rainfall_flux" ;
    float swflx(Time, yt_ocean, xt_ocean) ;
    swflx:long_name = "shortwave flux into ocean (>0 heats ocean)" ;
    swflx:units = "W/m^2" ;
    swflx:valid_range = -10000.f, 10000.f ;
    swflx:missing_value = -1.e+20f ;
    swflx:_FillValue = -1.e+20f ;
    swflx:cell_methods = "time: mean" ;
    swflx:time_avg_info = "average_T1,average_T2,average_DT" ;
    swflx:coordinates = "geolon_t geolat_t" ;
    swflx:standard_name = "surface_net_downward_shortwave_flux" ;
    float evap_heat(Time, yt_ocean, xt_ocean) ;
    evap_heat:long_name = "latent heat flux into ocean (<0 cools ocean)" ;
    evap_heat:units = "W/m^2" ;
    evap_heat:valid_range = -10000.f, 10000.f ;
    evap_heat:missing_value = -1.e+20f ;
    evap_heat:_FillValue = -1.e+20f ;
    evap_heat:cell_methods = "time: mean" ;
    evap_heat:time_avg_info = "average_T1,average_T2,average_DT" ;
    evap_heat:coordinates = "geolon_t geolat_t" ;
    evap_heat:standard_name = "surface_downward_latent_heat_flux" ;
    float sens_heat(Time, yt_ocean, xt_ocean) ;
    sens_heat:long_name = "sensible heat into ocean (<0 cools ocean)" ;
    sens_heat:units = "W/m^2" ;
    sens_heat:valid_range = -10000.f, 10000.f ;
    sens_heat:missing_value = -1.e+20f ;
    sens_heat:_FillValue = -1.e+20f ;
    sens_heat:cell_methods = "time: mean" ;
    sens_heat:time_avg_info = "average_T1,average_T2,average_DT" ;
    sens_heat:coordinates = "geolon_t geolat_t" ;
    sens_heat:standard_name = "surface_downward_sensible_heat_flux" ;
    float lw_heat(Time, yt_ocean, xt_ocean) ;
    lw_heat:long_name = "longwave flux into ocean (<0 cools ocean)" ;
    lw_heat:units = "W/m^2" ;
    lw_heat:valid_range = -10000.f, 10000.f ;
    lw_heat:missing_value = -1.e+20f ;
    lw_heat:_FillValue = -1.e+20f ;
    lw_heat:cell_methods = "time: mean" ;
    lw_heat:time_avg_info = "average_T1,average_T2,average_DT" ;
    lw_heat:coordinates = "geolon_t geolat_t" ;
    lw_heat:standard_name = "surface_net_downward_longwave_flux" ;
    double Time_bounds(Time, nv) ;
    Time_bounds:long_name = "Time axis boundaries" ;
    Time_bounds:units = "days" ;

    When I do NCRA operator to make monthly average for all variable from that daily data using batch command like this: #!/bin/bash
    for i in 01 02 03 04 05 06 07 08 09 10 11 12
    do
    ncra daily_ocean_force_1993_$i.nc monthly_ocean_force_1993_$i.nc
    done

    my result is that only 1 variable is proceed to the monthly file which is:

    variables:
    double Time(Time) ;
    Time:long_name = "Time" ;
    Time:units = "days since 1993-01-01 00:00:00" ;
    Time:cartesian_axis = "T" ;
    Time:calendar_type = "GREGORIAN" ;
    Time:calendar = "GREGORIAN" ;
    Time:bounds = "Time_bounds" ;
    Time:cell_methods = "Time: mean" ;
    float lw_heat(Time, yt_ocean, xt_ocean) ;
    lw_heat:long_name = "longwave flux into ocean (<0 cools ocean)" ;
    lw_heat:units = "W/m^2" ;
    lw_heat:valid_range = -10000.f, 10000.f ;
    lw_heat:missing_value = -1.e+20f ;
    lw_heat:_FillValue = -1.e+20f ;
    lw_heat:cell_methods = "time: mean Time: mean" ;
    lw_heat:time_avg_info = "average_T1,average_T2,average_DT" ;
    lw_heat:coordinates = "geolon_t geolat_t" ;
    lw_heat:standard_name = "surface_net_downward_longwave_flux" ;
    double xt_ocean(xt_ocean) ;
    xt_ocean:long_name = "tcell longitude" ;
    xt_ocean:units = "degrees_E" ;
    xt_ocean:cartesian_axis = "X" ;
    double yt_ocean(yt_ocean) ;
    yt_ocean:long_name = "tcell latitude" ;
    yt_ocean:units = "degrees_N" ;
    yt_ocean:cartesian_axis = "Y" ;

    Is anybody know why this is occured?

    Thank you,
    Furqon

     

    Last edit: Furqon Azis 2015-10-21
  • Charlie Zender

    Charlie Zender - 2015-10-26

    xt_ocean and yt_ocean do not change with time because they have no time dimension. this behavior is expected.
    cz

     

Log in to post a comment.

MongoDB Logo MongoDB