;UaJWNJeChC_eOLk@KNA$=b803Euq zgF%P1^CbWN6On_o5usoIC@0Rkr+DRnPy?R7J0PebZ7BMR8d&`qQ3F5MkUk%b4F_Yx zf$7K}+Al>7s{Y5`-yUW>xIM^Xjuv>Fv+2ucsMO$pYLWgSsgH^~3(es0M$i3HFNIi_ zZ)sd{qBsqZJc9YNFPL&t+}|dJ#VO@e+7gLqynKmmiLFhHh2=<>RYKPT>NyY*@1-F)J-ajzEe|h*BC| z3Z+Ri&mfmB1z2)n!39$Sk{_Hq0zR-6zy(AMMiRh*|43ubxlq{;V>8tF{daRfzy9&P z|AxJne{F_8Tu0Y`b21nT_yXZrH0lHYCy_2`m^LlJ)?|#GjYqe$KPXZmcd7vI5i6@a z^QEqMd3mdp@QHDpW w_=ZnUM-IfHPM`veTFGF*;RM zl-TX`VOS1;NV59F0mh nKH0B#G0Y6 zp{*nXeOsWVBx8f(70{vr=tx0ZNdX ~ z2)d!Tsw-N=P+XhRCi&095pjjYcv~>i%5s>A(8B@Y7#y?G_W3BEjPiQlG@en7kD9t#Eov zOVBR~V6QbeJx<#^PqoXMDqf8F+rW agpy7W^s@)}r#~ zRP0EB;0nn}@a@Eoh47~e8b-S;02{$$5BOmzQX3XTg`b4g!3xC>5@De*51k(2RKXc& z7r_rSAb8~{Vyb8xIDpoHS1I^Sh7gQ_+o<57PNM1*iGouZdP*ILR(AI`!@rV;E%Zc1 zzvPdJEpWK}M8+M>a!ctZO(Ja&x<}K&u@(Wmv|EY`;rPw?o(cdjK~!lOGfwIuBa@>v zFLxJYNfrmzU1pi-P>;^}8eA}~!3Q%DRH~b*v{ON@6-5OR>b+P|Y%K#XI+TVLfMu}{ zKzZPTe*NQN{>N;?9yh~ZL8TL!uIo5>)TVq1@z@h`6#O9FF2U_|x?tiQsHJ9xPl2RW z3?@d9Ei`n0$C~N-nX9fMm8+@70;Z<}fo}4cgBd9Ll_&b)koGuMTQC4CBG?jyelmHK z@S(phEdvicU>Q_ao8d3%()MM@5s-s41Ni6D3~*l#16E=$oq^Kb>0vS+Z2@&x7S|&< zkf}cE#Y$dPYB{ACxS<1qALJ@5Z@La(or3!$iY>O%^N{`ds?p|;Ng^0nsUdSJrJ~Ff zYAv4HMqKQwB;k^_Hqs6TQLq&=TS6cOV2&!{PF?hhWQr%lVKLT4`}?U?k wR~7Ku z(^%#5HaY8TRSolM8>*_BY8&Q3a$T+4*`&smPS!EB1P;Fs amE&5$HZb6}=aIJ3y%FDacd z%Z2lkY5c}{RiM!Udig?*W}lb{3yYZP4j%W8+?3rfaJyfaSML=lvbS*4Uf`>{XUpBD zG2AoR?W)<{SF637(XLMbd%T;;u1`P;op}yMy*@#X ov)&oXf_E+baZjIH^z_I3E^5hK7PhM&e(JlP8TsK!W;{Ti zrCt3fYv%)Re*x{93)3NM(64`V37B`?kRdAI1@nbrV^AkC8D2voG&&vr;~WF^K#@5W zG6_&e1%fjXh9RL};LxOc-1Qy?xgiUpefW$DXsom}GdY$`uC!rI`5I>VMnQ&bFoLOU znOzi>9ZqGlE~~y*z-DHB?*q-;CdWWuP{zPFdMINQoFC}40tP^!ugX&}lE5-$Z2VfG zrnX2JJ~9)L6GAhpAyAjhCW0@31T@wOdNsizB`~A>p(K3LqLpetZllo;hEVg0<>z!D zX}R5{ZsD-e&{V3e2B<~&7owky!BWHYqc>PHnpGXpU-)zaeoZAD1Y-zZ>46r N6|HvRT4czADvJ#Kvug8W@>nFo8v|s1(Sr`!q(n`sA|HRSmkO zRQ(JGl~iis+%9mrJZ_J$(Ce~*R8-~?m~$XynRcTSLL 15M#W)vCsIH%4GSyI zz$sH0P9o9;0N(~t-x~tHRpbWmlBde+t31 8w$;F=KP)6@eY_Wd2|I7i!3Y$R1%N8aA^`EY9MT|Dl^$MpbWiRLw|2l> z0Wm0bMgeH1YVTvV%t)7|X2ZL@BLHX_VJ`r<8+~>(Tp)n7h1V&Zhlrh79da{l9w-|U zegM-6fa&-&!yu~fXK*-ColvN+d}T_VC@vYS6fo9cqlr%W^hK-e)Myo#`U#zfl DelCA$1>c46!1t-zK-x75jbbP) { 91VIp1!h1iB~G| zg-YC|#7QMSpT+#GVzsUD1aDJS75*)6p2p+7jI`Tt!*BIToysjc0jGav+!-7&IACzV z;DEsag9C>K2eRRXsw~}`w^jdu|8;W%FX;JV+!-7&IACzV;DEt_Lx}^~@Itozg)6q| zdvEM7==ovX85}S;U~s_TfWd)7kptQAg7T`PTbI{7sZYW`?T*3NUtoMNehm&7956Uw zaKPZep~!)3cp=;V!pLoUE*Sd@dVUyp1_uld7#uJ-U~u42 }#FwQUN z`C;4{956UwaKPYz!GS}O1D)rV?5JIvBaS}ottHEbY*;gW@e`wmIDg_^Fy`s5<9F_v zv~R)3d0p3*pVslkwpW&~e%1HUG5gNAWY7At31e*^opGwPZTLGU#)}I+eR1 > $|$o)z1!-h0%X zcaK JXpDAH+1~>e?Dq88J**- zoVx0Z@a)yqZA*7gnsd$-Us^ln1jc+d;m6hD^M!3=z8VJ?U&BTFM7a1
+ + \ No newline at end of file diff --git a/tests/data/ATL16_prefetch_group.dmr b/tests/data/ATL16_prefetch_group.dmr new file mode 100644 index 0000000..c200956 --- /dev/null +++ b/tests/data/ATL16_prefetch_group.dmr @@ -0,0 +1,219 @@ + ++ + + + + + + + ++ + +north polar grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The north polar grid longitude one-dimensional array parameter, with the longitudes applicable to each north polar grid cell. ATL09 ATM histogram top longitude (longitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of polar_grid_lon_scale. Grid array organization: npolar_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly polar_grid_lon_scale = 3.0 degrees, the weekly array dimension is: npolar_grid_lon (120), type: double precision. Comprises the x-grid axis for north polar gridded parameters. Reference: npolar_grid_lon (1) = -180.0 degrees, at the upper left corner of a north polar gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +south polar grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-90. ++ +-60. ++ +referenceInformation ++ +The south polar grid latitude one-dimensional array parameter, with the latitudes applicable to each south polar grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: South=- values. Range of latitude values: -90.0 up to -60.0 degrees, with a step size of polar_grid_lat_scale. Grid array organization: spolar_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly polar_grid_lat_scale = 1.0 degrees, the weekly array dimension is: spolar_grid_lat (30), type: double precision. Comprises the y-grid axis for south polar gridded parameters. Reference: spolar_grid_lat (1) = -90.0 degrees, at the lower left corner of a south polar gridded parameter cell location (i,j) = (1,1). ++ +Y ++ ++ + +global grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The global grid longitude one-dimensional array parameter, with the longitudes applicable to each global grid cell. The ATL09 ATM histogram top longitude (longitude()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of global_grid_lon_scale. Grid array organization: global_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly global_grid_lon_scale = 3.0 degrees, array dimension: global_grid_lon (120), type: double precision. Comprises the x-grid axis for global gridded parameters. Reference: global_grid_lon (1) = -180.0 degrees, at the lower left corner of a global gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +global grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-90. ++ +90. ++ +referenceInformation ++ +The global grid latitude one-dimensional array parameter, with the latitudes applicable to each global grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: North=+ values. Range of latitude values: -90.0 to +90.0 degrees, with a step size of global_grid_lat_scale. Grid array organization: global_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly global_grid_lat_scale = 3.0 degrees, array dimension: global_grid_lat (60), type: double precision. Comprises the y-grid axis for global gridded parameters. Reference: global_grid_lat (1) = -90.0 degrees, at the lower left corner of a global gridded parameter cell location (i,j) = (1,1). ++ +Y ++ ++ + +south polar grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The south polar grid longitude one-dimensional array parameter, with the longitudes applicable to each south polar grid cell. ATL09 ATM histogram top longitude (longitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of polar_grid_lon_scale. Grid array organization: spolar_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly polar_grid_lon_scale = 3.0 degrees, the weekly array dimension is: spolar_grid_lon (120), type: double precision. Comprises the x-grid axis for south polar gridded parameters. Reference: spolar_grid_lon (1) = -180.0 degrees, at the lower left corner of a south polar gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +north polar grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +60. ++ +90. ++ +referenceInformation ++ +The north polar grid latitude one-dimensional array parameter, with the latitudes applicable to each north polar grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: North=+ values. Range of latitude values: +90.0 down to +60.0 degrees, with a step size of polar_grid_lat_scale. Grid array organization: npolar_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly polar_grid_lat_scale = 1.0 degrees, the weekly array dimension is: npolar_grid_lat (30), type: double precision. Comprises the y-grid axis for north polar gridded parameters. Reference: npolar_grid_lat (1) = +90.0 degrees, at the upper left corner of a north polar gridded parameter cell location (i,j) = (1,1). ++ +Y ++ ++ + ++ + +bnds_variable ++ +edge ++ ++ + +bnds_variable ++ ++ + +edge ++ ++ + +ATL16 ++ \ No newline at end of file diff --git a/tests/data/ATL16_prefetch_group.nc4 b/tests/data/ATL16_prefetch_group.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..83772d89d96b87da90d1a8fc562ce3a7dcc38639 GIT binary patch literal 72202 zcmeHw3w%_?_5W-Fh~cRsFHx_-YJg<3n+GJ30LdmHkq|<55fpU0*}X{?HoI{j2|?-; zwOXweE!IcX*2mu}R(#a@>tC&pT2!+ ++ + ++ + +zelda the good dog ++ +zelda dog ++ +Unknown. ++ +10 inches ++ +9 pounds ++ +917-years-old ++ +Zelda the Good Dog hails from unknown regions of the world. While her age was once estimated to be around 7-years-old by a veterinary professional, it is believed that this estimate was made under intimidation by the dog herself in order to conceal the true nature of her being: an ancient omniscient sage. ++ + + + + + + ++ + +north polar grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The north polar grid longitude one-dimensional array parameter, with the longitudes applicable to each north polar grid cell. ATL09 ATM histogram top longitude (longitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of polar_grid_lon_scale. Grid array organization: npolar_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly polar_grid_lon_scale = 3.0 degrees, the weekly array dimension is: npolar_grid_lon (120), type: double precision. Comprises the x-grid axis for north polar gridded parameters. Reference: npolar_grid_lon (1) = -180.0 degrees, at the upper left corner of a north polar gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +south polar grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-90. ++ +-60. ++ +referenceInformation ++ +The south polar grid latitude one-dimensional array parameter, with the latitudes applicable to each south polar grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: South=- values. Range of latitude values: -90.0 up to -60.0 degrees, with a step size of polar_grid_lat_scale. Grid array organization: spolar_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly polar_grid_lat_scale = 1.0 degrees, the weekly array dimension is: spolar_grid_lat (30), type: double precision. Comprises the y-grid axis for south polar gridded parameters. Reference: spolar_grid_lat (1) = -90.0 degrees, at the lower left corner of a south polar gridded parameter cell location (i,j) = (1,1). ++ +Y ++ ++ + +global grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The global grid longitude one-dimensional array parameter, with the longitudes applicable to each global grid cell. The ATL09 ATM histogram top longitude (longitude()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of global_grid_lon_scale. Grid array organization: global_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly global_grid_lon_scale = 3.0 degrees, array dimension: global_grid_lon (120), type: double precision. Comprises the x-grid axis for global gridded parameters. Reference: global_grid_lon (1) = -180.0 degrees, at the lower left corner of a global gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +global grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-90. ++ +90. ++ +referenceInformation ++ +The global grid latitude one-dimensional array parameter, with the latitudes applicable to each global grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: North=+ values. Range of latitude values: -90.0 to +90.0 degrees, with a step size of global_grid_lat_scale. Grid array organization: global_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly global_grid_lat_scale = 3.0 degrees, array dimension: global_grid_lat (60), type: double precision. Comprises the y-grid axis for global gridded parameters. Reference: global_grid_lat (1) = -90.0 degrees, at the lower left corner of a global gridded parameter cell location (i,j) = (1,1). ++ +Y ++ ++ + +south polar grid longitude ++ +longitude ++ +degrees_east ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +-180. ++ +180. ++ +referenceInformation ++ +The south polar grid longitude one-dimensional array parameter, with the longitudes applicable to each south polar grid cell. ATL09 ATM histogram top longitude (longitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: East=+ values. Range of longitude values: -180.0 to +180.0 degrees, with a step size of polar_grid_lon_scale. Grid array organization: spolar_grid_lon (i), where i=longitude index, as per ATBD Section 2.0. Given weekly polar_grid_lon_scale = 3.0 degrees, the weekly array dimension is: spolar_grid_lon (120), type: double precision. Comprises the x-grid axis for south polar gridded parameters. Reference: spolar_grid_lon (1) = -180.0 degrees, at the lower left corner of a south polar gridded parameter cell location (i,j) = (1,1). ++ +X ++ ++ + +north polar grid latitude ++ +latitude ++ +degrees_north ++ +L3B ATM ATBD, Section 2.0, Section 5.0, Table 5. ++ +60. ++ +90. ++ +referenceInformation ++ +The north polar grid latitude one-dimensional array parameter, with the latitudes applicable to each north polar grid cell. ATL09 ATM histogram top latitude (latitude ()) derived from the ATM range window geolocation. Based on WGS84 Earth-centered, Earth-fixed terrestrial reference system and geodetic data. Direction: North=+ values. Range of latitude values: +90.0 down to +60.0 degrees, with a step size of polar_grid_lat_scale. Grid array organization: npolar_grid_lat (j), where j=latitude index, as per ATBD Section 2.0. Given weekly polar_grid_lat_scale = 1.0 degrees, the weekly array dimension is: npolar_grid_lat (30), type: double precision. Comprises the y-grid axis for north polar gridded parameters. Reference: npolar_grid_lat (1) = +90.0 degrees, at the upper left corner of a north polar gridded parameter cell location (i,j) = (1,1). ++ +Y ++ +ATL16 +-x})>x58GS;1=Pxx(}8+lRNxRcaT`XZF7)XdhhJiLlJZ8=$dS*}Hp z{<~A&3RHU<>rlJVqwuYfu_NFe^d%e4PN29)i5!0S#Dr1oo f#vEMOP49_`f$(3aW9#V? zpfUyCy6ZjVY%{^5iLt}sWj}moIkOWiN7>l7;9dN{<#X9)s+fys!yandSji^hoqvWm zGI2{S>!!vnV{AIS_{6DoET1Zd<~!ky`Qi1=Y#YV!Gj=Szv;KZf3;T!wR1V<48@}*x z5Bt_3ctS7CfVbo04IVaeG@g1nSlJgf<6Bt;RlSG%+ ztOVY)Ge0}0`Jc*DcodHJ|G_2znEIY^+(C96=gy);GqM=xNVicCdV)H{)cI^81tl1x zy0V{9 ST5_ArugepvT(iWr7W(1kMNyb~lv D-kZED%8>@rFM8gw+gHM4R)Wk%|`@cs?EOtk2Z_YeKtMBTo){MFB2U3UMI zNWBjoAO8oNpgNfoXFzx|r=B3*r*8W5{rj*ER@VPH2uS{K7!f7`$|PTy#1WJ9Vv@p4 zW5Xm`ngkpZ!7vF&rlDgRdL|NL5 2P+ m*`a z_)zs6wj2*67E#3Cyt!#E8&6O9VmAKd+QJs*rvL~nl# 9^t>zBTuO4hHjfKle>W?oxTRt?e(b7iA7^(_3{;H9_Pq6XJ}V}YRd|E*Kl_Kb zg;>;^&FAYR^nAFi@Otst`t1V&$&KlQ21HZOGGm{a`imKH#?<-dUNmBXsrO7cX6k5D z7n(4ycN+UypEg(ldkz7?jh7m@F;sBeNq {61mElP?jFw6VLdc>U^BW?W3F1GprcjU0XRo2ksWm?qSw zSa%%tlktKXf25%+@hNiB7jJ!;aefA7>~1}`(a4O;49xfgD#OT(FWN0LhVp@PR#IMa zX52~vgJZ@OlqAo
i0lFYcY`?zb6tL4%`V5rPk!x_>%>7CC^y=cS& zX6!v?#4%> P4BEneipl z#h0Uw6@HE8vxf C{NQmSk7TT07vJ?8!HCCdoL4en>C3)LofR+5z=+3x+Erp?#L%Y?Lmqrq zyhG!61Ta1;j_#HbV-?suD?W_^2FHl!P!i*;*pbSJZ`Ufe8%De;$%vmHc>$%dTsjC0 zl@V(=Lt6m!&S$1xG-3fW_8v3h7&CUXV8mJ%G9%{wy )8S%XzTX21PCaps}l?Vk_t)cEj+veWkoAKrY1 z0HKW?Jo{BOl@HhCi?2xzyZT2DKAy^lYiO$vTr$=tx79o<`0x>f L<-<8NfB;y1LVPL(42}<%Qj$Ewgt#!35C4o}pklk>!_7%PJnyS1 zA0v(B(m`OTd|1O7X6$@s>O~_KFk|mABaSg+M+-izbs;li-o+g^ZB5q SKkToPib2cTnR9U+$oxGtrZJ+?DxMDU->rcpBu}y; M%2s3vX1|3W-2rGYGo(c?5N{Ud_9#JdtvE8E*UHDs%=XJ zGv;e-_$F1;(&q{Ald7VABm*-Z^Z3+bjLf*qFf}%=<8c-B_jWrqHZB+b$JdGz$*FP2 zqwD`AL1XzT5Ev>m)^KKDtQBir$c&ixi+embrL@3$9SQ^lGoGKF+(u2RCvwuy=9{F) zgO!SqkptO2{n=~DOemS$K0S`zUM;@Ng?fuztLC!@QpuS3Zv9#i`1(U&!C8Mku7A;^ zew1j%cO|}O5IwjR=l~jw#bjDf=1vSu+B2Txmm!tso^oxf=<%{v_Bdf{il|@S8N_xm z*k)@M+_Y!> 2mwWt!ixwrq~|IB0OQb2>St$y{}RVx|a zshul!g!4V)tpqIS?aBO@ZxMf=GF>WmrvGV7*^O*H-pSmT!Wr!ue}o>O6QPuR&-fbp zgxM!aLXZFIh38olRq;q0Hy3{8_;oJ|l`d*Z8~^=RT#ilTc%Yh+ ^#j^f zKH|LNnRj_n4>jPr?5#Q*(9)hxJj#&arq6b2Nzjl$EVjbTil zpONa11}PxwFaksc IO+9r3yk|wX)Rn=I_MuU*qkYKn-&{Va! zmd9V9#rJdsV+#I!N?47%YU-3guu~1kf|0P&nusgmNIdze+ZPS`T0^Q`k KyoIhMjYNdxM3z6}l}IJImlq13 z6E!@_@U1C}g^vuB?TGBGUkd^j1S|+x5U?O%LBN851px~J76dE^SP-xvU_s#D2!SQ8 z`b8t@95I${lR6HeDS$#XL>i84=z1M=U|36SU2RKkldIO-*x>fC*-#0PvLoP&`(kQb zoYY9_0bOyyMw;{vIAKR>7o_i m?4VsG2NL|WoP>Fs-T3Tj9 zsqb@TxDAJw?c|CF8%_jyV-o+mn6Y~g<4*w_yKX8yJ#*SMpYUwuc`LS)7`t6$yUE5@ zbLEC|lx+)-B<;X$s~EdkM8b(_K^|#T$#J*vNYX~lhJACFib&VuoE09ap!nQpcqF-j z-Uf{mKfR6FuERm7JkqP(JLd36a$jG%I^DKyW|&8k`weW+BHfx&r#tV7e83~gl>q`X zol*o)!CdxI-ksegpT1vLUsJ6wpK*QA!ocSzQU8vo{!MDEc>hj8dg@<-Ds?NJkR%J5{U+aVP9O0nH9%r z2mmRPvvEW*SAvHk;dXD>*Qs*FHhm&Ww|t@7TUMfL$`j#WJjNps8KVeIOFUk8ttT7H zVmzBzBoXzS^MEoND)DU8lgIE!!f`bm_w;s&XsA5T$(L9g3 n n0`QK_@M zyrei?9m<_WMd|BMBI=NhQ-(Qk+M~gMx6{|v6*S@o2^<8bkOoUHp^gUC!+?wE&|tV* zjmA`O8{(j|k({MFi7y>j`fg`@(~&nv7i6<(A}>96Z=}uJ6~)4ew^K#Mg1#^^?YlUX zE>qMtiRoR@$m)`~x>j_0uGX4a6kLh=qC905 I#LYH;Fw2(4uLcg4Oc|k{S_##!XJ%Q5Y|*wP`9wU z`UV64M_iWUrC<0fg)b#Q>3deJ%H~uMfSH639ALVoahTFzG&3ft91FIpdN8Gny>T(kur`vWD=~5b#;Y;ep>fZ;t@sl z`8)a+;8#N-yHe$8bd=+Fv4Talc%&V zkP_92OH2?KUpPP+2h@1buaFdNS89S$)lU?vLTMt{RnAhneW8RJvnwsUK9RO$BgB^q zWmY-Htb%HW2`;l{^EW=4V;UTN3aD9^5(} #LGt};NXq DliDF`P932|7q!yy1 mh)qc9K5qs0bmZ#4&(< z(Lhq-;j<*9mBdAFVp8UzeLa-DhUH#fOghQOp+#&guIA*322{RrL?vHJ?T&oK!|7rv zP$Wli7*Ge|yg}k{eGjnB#Ni-~fo+ BP_=siDP|`}#qEOAR{z zr}`~u7qwjA7rvAhq(6D-32$(!A+1-r)Nt@Kr=6hVMXE5q!XPz3{!ft_q;NPGu|cLu zD>w8hVmESw%nX7<^6~2`In?@M@w9@2UUexs6gbOBSRkoEJn77ri(mbS4UzC}#fF%X z$wOMo3+iG+urdk8J(e3}6~G;f2O&4~sg|>7;DW>26u}`Ck4&uGEI9Nnm-xEY13KI_ z$srW!Nhdk 4lBeM-rK+C@lUx=xhgPiNKykx#NLq_Qo3TGQiCWzt<)eVU#T4g zK~A67W)vI9q>N+&LtJfFVN!0Oz0F3sLB$yVI*AQuw>>gsv7yZp8_>%Kh~rX&&i|=V z-4W5W?lr=f(t`9y^xph8PBrA&Q(S7eG jcCJ0r7oad&K5(KPL=Jx$)7gFNy4edfomO@fV6%$f)3KdF9DkX3Bz~zEe zg@VY7BV#`zL7x)2E lcZ;G1X?30ErFIZ}Z-HfLF?=zPgbpB8E-`pcwu^Ia;$Vq8I z`mbb7p3kX 0zbmRed4uq!v>^SwGYgO8R72k2%%z6< zt~+pgPzGItabH8 vtah%k?Tq7$dwUUJTmqy}L)HQ 6hG7atEgx zZ*fCRM4F8Mb@S`q%*HW)d@C`xQi%3?SI0ElBr*{tVSeQqxyQ!*9crg9w<5PA9`A}( ztSVep*x`$IM#8;zl}rz~ k^cW(M=|i-4RiVR R!% @Hi>cGsH24@Hnu&@nR!5Hg)BGC;tqXSNUP- z5%6N-0DBN$FdPRs{_{0E^*g5uthIjkB?QdlpVs}a+V#Cpv)Obp{#z5lP{14LjCOUw zFfH!mLmHUU7Hm&MxfKpK@p?+53OUmitRq&}x)-Uvv5JazHSYDr2(u7BZ$?g4h_;Ug z>LamutnxHYHRf}&k%J_57YvO;k#;+*nYdqvffng;_jWc0!)s!dC#$iv(OM#rxUfzF zO{pwQ#G-{UkRi2@6N9u#$UJkgFYfQC ;vno4E5kGI0y>(sD z`c?M!b@(}D#(XVZ4H-+N)F_~K7lIyyc*c#9_9j@8RoV+%VLOH9^3Y{rKbZlkv6u_S zW2!w6j8+!LJG(?1yot4GV<7>IxhfNDy=gy_QB`HB!@)mxMgky7c7JC;fG8Afon1n8 zD8v&+yLWA8$g4$)MT|-CF+-B{(Fs@5B@j3ys$njnqclzYjzC*!+6u)gQKNh`B)_9H zpLbeLeW|@hZSy5U@p@Rkgj5_YDGsQNRmP(UmA==8$qdC+SJ~zZ#f%{xs(%gjh%4la zb- M9rB8u?iEGu?;oyC}~%yu}vh~afO?H#2`K~!XnmU~a?3Okg7gtDYrZK|ni_SP(J z!8nCQZ (eQk VFJ8o7>>cq=XnHmKZ4^gM=cVAZW?qU8pLx`fe8m-tBw*V~4GYmvEh@&FtN@I# z*aJKYiu8&FiN_}}Iz*<$TBg9mDz`FEsS0%aU}PRpJdrMvsk%B~0NMzvQrJy~NEn0J zsAhq#qevHI39@P58@23fXP=|h(B0+ptNy634V%l45kNK!w e1o8^eX)L^R>_reS z9R(#$Y`>Y(Uk0k^v$P4P^^;K0QC_Gt0u(_7#Z-2AL0PeGq33OK0j*(!84qg3P1owF zNv@Se`8aGB$K+O)*vnx>N7S$qvMjX$G54M`kAK?C|Et1L57Nmi9Fh6Bj=`cfX-l{a zaR{O~Lb%4I)KpcufH-?=sF4|ZO2L?71jRt3^K__WK7JPHqezEpva*orc}LI*F_c0~ zP|PFG=f@`P$)dDi03#yU7DPKS=0K0)Ub5HadC-Oj%7fGDY#chn>z5`)AQI#WaNrM5 zfcFY?SgB+79HQ=3Zb9Q|E}&~=X*|M8SwH%rL`$nvttvGd3HuPi54wus&Bp=8Da APcN8q2KPul!Z)rSdIvdgNpT#05X4F&FoW*Y1|C6Sc20S6nPI_;FWAOtD^9M#C3 zKIk>d6iak=;xr51-uJZJiPU!`qFoX21(*|acyUr3AtK)mh$%jO D#s GCA}3 zrxm9cO5b}y=Rn$2o%i!PsN-lLKt^#EIGqKKa+-~omRA&EhRxk6CzSY#OIy_<5IcWc zprF_hC@v_UqpAh1fil%uR#faSojvCS7vZPi_{|Gz!O kesJtrHNIAo$e;#e84#y@z6$#ZT1O3Xosbnz2Dh>v4VhM2x~)f zH?5wDgFdu_RLuE7d19i1B+(W)puTZ>9FB^T5~yz^w&?h5&LI|u@+eIn#RWx0l!vpd zq8NH3fpOW0$XkW;Dq>wAhrSRgHwI;1p7+2RfoHR5-*=k4u oXEt%j`EeNcqh7npTJ=Vb=NF*3y~X1NZQ9SD&SZtVcG0( zf!!%xnY1;`a7ICzWPnaGS$Y#iO~a`v>oW3tP1sD&@4ev69g!&b1-gh~mLLG5$@zh` zcE|uE= FcfMm2C;qk3-M!PDA!JY=na)j)2be{7v~<) zX)2vTOop(e2QE%u`bZQKL( {~w zn#d2@k~|tCm3>Nj>8b;7nXMll#;KE@xttfcT<#jTvdrTu043CL3DY@HR>9pkLP$}t zAC{?4%^>0%iMK4LzNW4e%n*Vktc^5GHy~qMFr<1D3GJw*V>Of-2pdLJIP>_YkQMHY zx9F9M0lVW#K{7=a)>a0SQ(^2x kHBBe#>oe4y#7?-VubncbBZ@16Sqdg=P&Dx&mO5xP zO^uOp=?DMar=h2(Bhm>a6_i72qSF_KMFi+7LhNDjzCbQo;amte&Zp`CwQE+IeW6Yz zkIt*YyS>Zag?CfTL|9cr$|9v2>gPa@Z#5$GAp077s}^L8U*p4^NLj8xXX%gl*C-7Q z4N6{s0_{Ea4iT7)uahHAWOQ;QM;r)|4x%=Q*NLd=kuz9%oS`;a0EDFDtA_geABAt& zEWU2IP4jQo{2Mj@I?ex)=3gm%xvF?U!@J8pEw!~a904W6q`yl$*EC^T-upnSTz=D7Ufdc~qndF7q49%PV5A%nkv{y@BFvG=qvmjtWz=D7U0Sf{L z5(F~I3z_r_9VzmHrC&IZu)%7J1px~J76dE^SP)1LflTtkMd_n6-@E1ybG27XzhH)o z^=3i9f`A193j!7d4kQR =Bba3e*KtON&b7!-TjRE*t?(4nX)|i z)}*U{SJd>}A1*68GVty#KiL_0`RNzyUEXc?ZM^%+3m*PK@cYF<_nD7fw(F4je>-UX z4Ld(L^_5*?@4x%}#i3WnJ%9HF%QnCI%Zs - {NTz9&U|vq>&JDzG3m^|AAjcG4tn^_6CQr!$B`|+%~_Q1*gD$1 z-goX-hhA0K=zM(IsQkMhn|j2Q>ms|pzjN0)NAJ4mhF#}-ca7 *kg({wDW8M*RKd?(z5c V-OX_P{ve<1|xp>W%vcI&gPW5xL zXnHVW3R2RsF5HbE6aKEE2_I|kD>Z-Lcpv@zzRT)b>YJG`K&MmjG$-r&fcE~_PVIq? zd>|)%@y6&xkAXNeR8J}3qW}oE(n%}ag+9EXq1sblgM;c3kIthA Ae9O^G$^EP2 z86Il{#iCQ^5bML#Sl$I|M%KBJ7n7}!JtBRPg5fTXX110ocoknR(dt9Tb&->P&lk_- zR(l%j*znw04-dm(9}MR`ttnrf!{+eE9anCj%IwHvD*Nd}ca*Y|dFa;g5q?IuiRH4b zn~yn*9gYZ7*ilzJvx)tfhZe^3Z(_gZkM7SNeUE*K$4RW~{F*P>Yj`}8{pHhPuj0XS zUjqp6{--l7gcCR*&;}s_4|Eh42tY?ba3_#JAMB#{>BtuD1P16?i>{}U$(=w7eSf1s zB3&IJknZ|3Dt<5HTmHU*z@Cu!$wm@Ce4QE!_&)rnR=rjGrkXO>D-WCZ0 B$Nh8@Lx&?7K7*zJCkvKRjJ1a{@rqmR1Jh;V|pWp%R z`@& qOt#TI)s>{|(e{_gCZX9#qWIxtYTUXmcr)YW`8{8f?8vrFif=*73sd3_D3_Xkh z*?nvzeHR5O93dq}N?#uwh)1sKi<%$Tx!tu)iXk>|^m>XNI{l+x^AocEW>COh{;hYu zOo~+FOxH3*!jli>c|z!t#f?ij FPNerfE&i2-)%4N3DlsN2N((1z8ZVAYehjf`A193j+H& z1h^#mfF_08-iNr#g}7T^xt30YwOkScTsKH^WR_8ulCuCnjynlTO{ABiz4n#qT01=; z!vo|mT?7*nS{`OqITNL{7Wv_#*<9;4lIDkWlye|2M-$?cy1|_`cbCxm$@ +{e%vfT9^n*`k9nG~qBiZjLt&`?$j5Xe-jAvI-(&I$HQx`;P89p$UF9M!i zTiC*8QH<##;7{+|dk%|Hz_B8r{A6VVyNQxu=1iHYqvu`0nkdG%M8L2Ywmrv|Qw+@Y zD2D%v%im@bDWFOVc=iu(vxg{&o6hsZ`QZ0&*!8Cu@BEbFSZ?n?0GbM}&0PVXdgCPg z(^V24{JZhrg8!xXZ^l2JzTSj?y48s$=!@`wBK{ljUypy9q1EA^_8!;Z--Z8b{G&hF z0{qX%|2+Ix;ve05w)Jnpz`_9w2P_=0aKOR=3kNJ5uyDY_0SgB#9I$Y}!hwGe4)8VR z 2}N+Pmwx*WEsRr6e1i(V zFRVQh!R49}T#q(ZyVJ{fJr}>;hgOr5iFn+;mjqK=DN-W526udhv$5lXUz6CO2HQKt zRe~}fr-N=!!`;<-q@H9Xp^Id!9G4g2-cQ6CCNjcBiM%%Q0=jbNoPu6l`xGmPgaZ1# zI{`K3j|Oo?X(Y^J7XgM;ty5@64sY;6YH&@YUFpD`wzwrb8tKH%Nxagy_N|@Yo~_-b zhU+>*0lTui0~dTLxKK|)9h4s2S`@(r%?jPq+Q~1`j7R9sIG?zv)KDwBPur(-(~Zr* zm}oEE!P-W5SK~U_P`(nx?Qk)q3 literal 0 HcmV?d00001 diff --git a/tests/data/ATL16_variables.nc4 b/tests/data/ATL16_variables.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..e6eee6e18374055ada157ee4251301c1faac6918 GIT binary patch literal 81041 zcmeEv2V4_N*Y_d{A_^)Nia?aBqC)5>T|hvTq6RBq2uUas2oky!5d{?iu_7vn1?*T5 z3(XFSN>i!|3JMmaDxrTfy9p#%?!C{w_j{j``Dtc%c6Q2{nREW95@u;zg$8#z>AC zF?uw@4g;(Zr^|;XDYG8n7rI}yUc6| 8x#_3)(ANM1x|FINhYM)we(h~z)xcoFH23^ae1Ja?JwMsk-)^0rgr z&d2K7ur|^?>NUCZ39#zs?lZ~TOP}>%0YB(7FYqY9qrji1z@EejUZyJ+FGC=U8-a`; zDuK B(e ~71%gO{NU$Fnh3LS%GFS=E9!wHOu0XbI zh#-*jDJRVnMwG^ZD>DQEY#MpTFC~H$LJnMofR_ B>LK{VRulnLSsJGT-+ efDHrPR{_zu{fWzv0+@r0Aiseq z^nJn#q#Y7S3lIlHqs%7TATuX`D=-RkK-AQ+)dra|7F-3OWJUTGjdw(hVbhHeL>xq~ zJ|~h95^EUXblkXuLP6RgWtJfbB;1Iq9$zF7iV#3C*d?(EgiS~W%%O*%T{v%U7mDnH z?EoalgQ)uB)i7iVEIxh&q7I^IA>Cm;H^+bySpgk?Aua-NjXkm!W(38-!9_yh&zunm zDnn1hBrp gx*Y!yd`4nd^FQL2L}YIvdN+y6AB{yRI*;{Q`7f$s6~BdQ=u7}2+lYoTtm zdKt^Lq81V^?MB|i L*d;+KAmYY}g2iav>OGMNTt#dAm)T)*=G^8?WVqf6HjEx3|FI}}0Gq-Asi*#{f8 z0?mXxXi~a`Oo3cLln<4NO6&ICN2WmbbBqsxoem6^%R?;TD}coSCV_m}Xi |K-a$z7gfbk<_st-j&e`HyzLLX%=ib}z$^Oy zjsk4?@x702CL#;DRGu=!FY~ajgw5Xvqa|xEKZ(IO1A5TuYCOg>XSoF384(&baU& z7bxWdf?RBZ3%qf$2QK!)#RR!H5f=>O0?%APkqcKMoLra-EOTKvE|9$C3?1_9e>q@w zo)shbATLBl@bU5av&v$}{F9&>F#%_Qfi`3zqArZ64*(!H3bpz03kr{gIl#Lh;zQx! zXvm!r{t+WCviJrp3{Ek&d1xHsi&h9yAxsAW&x( Lz>XWIS^KfjSUF7B z!g^zI8aEzkgLN2Vdh+DuDN~SGh=PE!4k1Qlw$XfKHMoGV2xh$Ba6lIs53dw3Z9Ly! zX$3-t2>`IbH&MNC3%G!Y2R4`(6}A&O4--HcP)DPV)!&PtcH!A9J yRoU?#y^tk32*FbX(A=k_cn1-DBt`EF~f1LuDG+xdjje!Xc z4ea O`t5YB `TQD@JnQOyY(A zWC|EN?O*q6LF~&C#2eV7{u4nAzX1M`090b|4-44*fm(6K4t7e%ohMeq1#uRuZV~i5 zBg`qh+v?tML7X)UD`O~^?aSrsFhP8rHC5RHm>pwpd@qQLej lb3B z!$M&Nkl(QF)?<(X6YOc6DHdO6#Yigz_q@QP0FMGZ3h*fKKSBXdvlAVde6rwB6xs5K z9kb=pzw`~&w-TczER0)GOjp64n6f?r)7YPavmw&qh5uj*% PgLX36VWfUoO+_u@9K$T-~s}lLI(}D_Auek>4_Tf z6?qPWExL7$Q%_VHt|y*>uYi{Rj-I$|NKe#%cz-8&hZg_^{;HnHnllLJ;3Hh4$T