Dataset {
    Float32 lat[lat = 2];
    Grid {
      Array:
        Float32 lat_var[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } lat_var;
    Grid {
      Array:
        Float32 lat_wgt[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } lat_wgt;
    Float32 lon_T42[lon_T42 = 128];
    Float32 lat_T42[lat_T42 = 64];
    Float32 lev[lev = 3];
    Float32 rlev[rlev = 3];
    Float32 lon[lon = 4];
    Float64 time[time = 10];
    Float32 lsmlev[lsmlev = 6];
    Float32 wvl[wvl = 2];
    Grid {
      Array:
        Float32 hyam[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } hyam;
    Grid {
      Array:
        Float32 hybm[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } hybm;
    Float32 P0;
    Grid {
      Array:
        Float32 PS[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } PS;
    String fl_dmn[fl_dmn = 3];
    Int32 nbdate;
    Grid {
      Array:
        Int32 date[time = 10];
      Maps:
        Float64 time[time = 10];
    } date;
    Grid {
      Array:
        Float32 lon_wgt[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } lon_wgt;
    Grid {
      Array:
        Float32 msk_prt_mss_prt[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } msk_prt_mss_prt;
    Grid {
      Array:
        Float32 mss_val[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } mss_val;
    Float32 mss_val_scl;
    Grid {
      Array:
        Float32 mss_val_fst[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } mss_val_fst;
    Grid {
      Array:
        Float32 fll_val[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } fll_val;
    Grid {
      Array:
        Float32 no_mss_val[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } no_mss_val;
    Grid {
      Array:
        Float32 val_one_mss[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } val_one_mss;
    Int16 pck;
    Grid {
      Array:
        Int16 pck_arr[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } pck_arr;
    Float64 upk;
    Grid {
      Array:
        Float64 upk_arr[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } upk_arr;
    Int32 val_one_int;
    Grid {
      Array:
        Int32 val_one_one_int[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } val_one_one_int;
    Grid {
      Array:
        Int16 val_max_max_sht[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } val_max_max_sht;
    Grid {
      Array:
        Int32 val_one_mss_int[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } val_one_mss_int;
    Float32 val_half;
    Grid {
      Array:
        Float32 val_half_half[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } val_half_half;
    Grid {
      Array:
        Float32 wgt_one[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } wgt_one;
    Grid {
      Array:
        Float32 mss_val_all[lon = 4];
      Maps:
        Float32 lon[lon = 4];
    } mss_val_all;
    Float32 scalar_var;
    Float32 float_var;
    Float64 double_var;
    Float64 double_var2;
    Int32 int_var;
    Int16 short_var;
    String char_var;
    String char_var_space;
    String char_var_nul;
    Grid {
      Array:
        String char_var_multinul[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } char_var_multinul;
    String fl_nm[char_dmn_lng = 80];
    String fl_nm_arr[fl_dmn = 3][char_dmn_lng = 80];
    String non_nul_trm_char_one_dmn[char_dmn_sml = 4];
    String non_nul_trm_char_two_dmn[fl_dmn = 3][char_dmn_sml = 4];
    Byte byte_var;
    Byte byte_var_neg;
    Float32 zero;
    Float32 one;
    Float32 two;
    Float64 e_dbl;
    Float32 e_flt;
    Float32 three;
    Float32 four;
    Float32 negative_one;
    Grid {
      Array:
        Float32 lev_var[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } lev_var;
    Grid {
      Array:
        Float32 lev_wgt[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } lev_wgt;
    Float32 g;
    Grid {
      Array:
        Float32 z[lev = 3];
      Maps:
        Float32 lev[lev = 3];
    } z;
    Grid {
      Array:
        Float32 rz[rlev = 3];
      Maps:
        Float32 rlev[rlev = 3];
    } rz;
    Float32 one_dmn_var[bnd = 2];
    Grid {
      Array:
        Int32 one_dmn_int_val_one[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } one_dmn_int_val_one;
    Grid {
      Array:
        Int32 one_dmn_int_val_two[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } one_dmn_int_val_two;
    Float32 att_var;
    Int32 bnd_var[lev = 3][bnd = 2];
    Grid {
      Array:
        Float32 three_dmn_var[lat = 2][lev = 3][lon = 4];
      Maps:
        Float32 lat[lat = 2];
        Float32 lev[lev = 3];
        Float32 lon[lon = 4];
    } three_dmn_var;
    Grid {
      Array:
        Float32 three_dmn_var_crd[lev = 3][lat = 2][lon = 4];
      Maps:
        Float32 lev[lev = 3];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } three_dmn_var_crd;
    Grid {
      Array:
        Float32 prs_sfc[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } prs_sfc;
    Grid {
      Array:
        Float32 two_dmn_var[lat = 2][lev = 3];
      Maps:
        Float32 lat[lat = 2];
        Float32 lev[lev = 3];
    } two_dmn_var;
    Grid {
      Array:
        Float32 mask[lat = 2][lon = 4];
      Maps:
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } mask;
    Grid {
      Array:
        Float32 ORO[lat = 2][lon = 4];
      Maps:
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } ORO;
    Grid {
      Array:
        Float32 weight[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } weight;
    Grid {
      Array:
        Float32 gw[lat = 2];
      Maps:
        Float32 lat[lat = 2];
    } gw;
    Grid {
      Array:
        Float32 gw_T42[lat_T42 = 64];
      Maps:
        Float32 lat_T42[lat_T42 = 64];
    } gw_T42;
    Grid {
      Array:
        Float32 rec_var_flt[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_flt;
    Grid {
      Array:
        Float64 rec_var_dbl[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_dbl;
    Grid {
      Array:
        Int32 one_dmn_rec_var[time = 10];
      Maps:
        Float64 time[time = 10];
    } one_dmn_rec_var;
    Grid {
      Array:
        Float32 tpt[time = 10];
      Maps:
        Float64 time[time = 10];
    } tpt;
    Grid {
      Array:
        Float64 rec_var_dbl_mss_val_dbl_upk[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_dbl_mss_val_dbl_upk;
    Grid {
      Array:
        Int16 rec_var_dbl_mss_val_dbl_pck[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_dbl_mss_val_dbl_pck;
    Grid {
      Array:
        Float32 rec_var_flt_mss_val_flt[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_flt_mss_val_flt;
    Grid {
      Array:
        Int16 rec_var_flt_pck[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_flt_pck;
    Grid {
      Array:
        Int16 rec_var_dbl_pck[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_dbl_pck;
    Grid {
      Array:
        Float32 rec_var_flt_mss_val_dbl[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_flt_mss_val_dbl;
    Grid {
      Array:
        Float32 rec_var_flt_mss_val_int[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_flt_mss_val_int;
    Grid {
      Array:
        Int32 rec_var_int_mss_val_int[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_int_mss_val_int;
    Grid {
      Array:
        Int32 rec_var_int_mss_val_flt[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_int_mss_val_flt;
    Grid {
      Array:
        Int32 rec_var_int_mss_val_dbl[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_int_mss_val_dbl;
    Grid {
      Array:
        Int32 rec_var_dbl_mss_val_dbl_pck_lng[time = 10];
      Maps:
        Float64 time[time = 10];
    } rec_var_dbl_mss_val_dbl_pck_lng;
    Grid {
      Array:
        String one_dmn_rec_var_sng[time = 10];
      Maps:
        Float64 time[time = 10];
    } one_dmn_rec_var_sng;
    Grid {
      Array:
        Float32 time_lon[time = 10][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lon[lon = 4];
    } time_lon;
    Grid {
      Array:
        String two_dmn_rec_var_sng[time = 10][lev = 3];
      Maps:
        Float64 time[time = 10];
        Float32 lev[lev = 3];
    } two_dmn_rec_var_sng;
    Grid {
      Array:
        Float32 two_dmn_rec_var[time = 10][lev = 3];
      Maps:
        Float64 time[time = 10];
        Float32 lev[lev = 3];
    } two_dmn_rec_var;
    Grid {
      Array:
        Float32 three_dmn_rec_var[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } three_dmn_rec_var;
    Grid {
      Array:
        Float64 three_dmn_var_dbl[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } three_dmn_var_dbl;
    Grid {
      Array:
        Int32 three_dmn_var_int[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } three_dmn_var_int;
    Grid {
      Array:
        Int16 three_dmn_var_sht[time = 10][lat = 2][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lon[lon = 4];
    } three_dmn_var_sht;
    Float32 td[time = 10][dgn = 1];
    Grid {
      Array:
        Float32 tx[time = 10][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lon[lon = 4];
    } tx;
    Grid {
      Array:
        Float32 ty[time = 10][lat = 2];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
    } ty;
    Grid {
      Array:
        Float32 tz[time = 10][lev = 3];
      Maps:
        Float64 time[time = 10];
        Float32 lev[lev = 3];
    } tz;
    Grid {
      Array:
        Float32 txyz[time = 10][lon = 4][lat = 2][lev = 3];
      Maps:
        Float64 time[time = 10];
        Float32 lon[lon = 4];
        Float32 lat[lat = 2];
        Float32 lev[lev = 3];
    } txyz;
    Grid {
      Array:
        Float32 four_dmn_rec_var[time = 10][lat = 2][lev = 3][lon = 4];
      Maps:
        Float64 time[time = 10];
        Float32 lat[lat = 2];
        Float32 lev[lev = 3];
        Float32 lon[lon = 4];
    } four_dmn_rec_var;
    Float64 time_udunits[time_udunits = 3];
    Grid {
      Array:
        Float32 u[time = 10];
      Maps:
        Float64 time[time = 10];
    } u;
    Grid {
      Array:
        Float32 v[time = 10];
      Maps:
        Float64 time[time = 10];
    } v;
} in1.nc;