From 5c4121efd2ad6f2ef2b3bc394157a4eb6d9a1a73 Mon Sep 17 00:00:00 2001 From: GuySten <62616591+GuySten@users.noreply.github.com> Date: Fri, 12 Dec 2025 06:01:10 +0200 Subject: [PATCH] Fix hdf5 source_bank struct size. (#3676) --- include/openmc/bank_io.h | 16 ++++++------ src/collision_track.cpp | 4 +-- src/state_point.cpp | 23 +++++++++++------- .../surface_source/surface_source_true.h5 | Bin 106144 -> 88096 bytes .../case-01/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-02/surface_source_true.h5 | Bin 13896 -> 13588 bytes .../case-03/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-04/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-05/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-06/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-07/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-08/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-09/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-10/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-11/surface_source_true.h5 | Bin 5160 -> 6532 bytes .../case-12/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-13/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-14/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-15/surface_source_true.h5 | Bin 2144 -> 2144 bytes .../case-16/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-17/surface_source_true.h5 | Bin 2144 -> 2144 bytes .../case-18/surface_source_true.h5 | Bin 2144 -> 2144 bytes .../case-19/surface_source_true.h5 | Bin 2144 -> 2144 bytes .../case-20/surface_source_true.h5 | Bin 33344 -> 29296 bytes .../case-21/surface_source_true.h5 | Bin 2144 -> 2144 bytes .../case-a01/surface_source_true.h5 | Bin 6720 -> 7792 bytes 26 files changed, 25 insertions(+), 18 deletions(-) diff --git a/include/openmc/bank_io.h b/include/openmc/bank_io.h index 90ffd820f..418ec111f 100644 --- a/include/openmc/bank_io.h +++ b/include/openmc/bank_io.h @@ -16,8 +16,9 @@ namespace openmc { template -void write_bank_dataset(const char* dataset_name, hid_t group_id, - span bank, const vector& bank_index, hid_t banktype +void write_bank_dataset( + const char* dataset_name, hid_t group_id, span bank, + const vector& bank_index, hid_t membanktype, hid_t filebanktype #ifdef OPENMC_MPI , MPI_Datatype mpi_dtype @@ -30,8 +31,8 @@ void write_bank_dataset(const char* dataset_name, hid_t group_id, #ifdef PHDF5 hsize_t dims[] {static_cast(dims_size)}; hid_t dspace = H5Screate_simple(1, dims, nullptr); - hid_t dset = H5Dcreate(group_id, dataset_name, banktype, dspace, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + hid_t dset = H5Dcreate(group_id, dataset_name, filebanktype, dspace, + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); hsize_t count[] {static_cast(count_size)}; hid_t memspace = H5Screate_simple(1, count, nullptr); @@ -42,7 +43,7 @@ void write_bank_dataset(const char* dataset_name, hid_t group_id, hid_t plist = H5Pcreate(H5P_DATASET_XFER); H5Pset_dxpl_mpio(plist, H5FD_MPIO_COLLECTIVE); - H5Dwrite(dset, banktype, memspace, dspace, plist, bank.data()); + H5Dwrite(dset, membanktype, memspace, dspace, plist, bank.data()); H5Sclose(dspace); H5Sclose(memspace); @@ -52,7 +53,7 @@ void write_bank_dataset(const char* dataset_name, hid_t group_id, if (mpi::master) { hsize_t dims[] {static_cast(dims_size)}; hid_t dspace = H5Screate_simple(1, dims, nullptr); - hid_t dset = H5Dcreate(group_id, dataset_name, banktype, dspace, + hid_t dset = H5Dcreate(group_id, dataset_name, filebanktype, dspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); #ifdef OPENMC_MPI @@ -75,7 +76,8 @@ void write_bank_dataset(const char* dataset_name, hid_t group_id, H5Sselect_hyperslab( dspace_rank, H5S_SELECT_SET, start, nullptr, count, nullptr); - H5Dwrite(dset, banktype, memspace, dspace_rank, H5P_DEFAULT, bank.data()); + H5Dwrite( + dset, membanktype, memspace, dspace_rank, H5P_DEFAULT, bank.data()); H5Sclose(memspace); H5Sclose(dspace_rank); diff --git a/src/collision_track.cpp b/src/collision_track.cpp index 75e56574a..03cbc32b7 100644 --- a/src/collision_track.cpp +++ b/src/collision_track.cpp @@ -78,10 +78,10 @@ void write_collision_track_bank(hid_t group_id, hid_t banktype = h5_collision_track_banktype(); #ifdef OPENMC_MPI write_bank_dataset("collision_track_bank", group_id, collision_track_bank, - bank_index, banktype, mpi::collision_track_site); + bank_index, banktype, banktype, mpi::collision_track_site); #else write_bank_dataset("collision_track_bank", group_id, collision_track_bank, - bank_index, banktype); + bank_index, banktype, banktype); #endif H5Tclose(banktype); diff --git a/src/state_point.cpp b/src/state_point.cpp index 47296da3a..8ccebeb05 100644 --- a/src/state_point.cpp +++ b/src/state_point.cpp @@ -554,7 +554,7 @@ extern "C" int openmc_statepoint_load(const char* filename) return 0; } -hid_t h5banktype() +hid_t h5banktype(bool memory) { // Create compound type for position hid_t postype = H5Tcreate(H5T_COMPOUND, sizeof(struct Position)); @@ -569,7 +569,10 @@ hid_t h5banktype() // - openmc/statepoint.py // - docs/source/io_formats/statepoint.rst // - docs/source/io_formats/source.rst - hid_t banktype = H5Tcreate(H5T_COMPOUND, sizeof(struct SourceSite)); + auto n = sizeof(SourceSite); + if (!memory) + n = 2 * sizeof(struct Position) + 3 * sizeof(double) + 3 * sizeof(int); + hid_t banktype = H5Tcreate(H5T_COMPOUND, n); H5Tinsert(banktype, "r", HOFFSET(SourceSite, r), postype); H5Tinsert(banktype, "u", HOFFSET(SourceSite, u), postype); H5Tinsert(banktype, "E", HOFFSET(SourceSite, E), H5T_NATIVE_DOUBLE); @@ -641,17 +644,19 @@ void write_h5_source_point(const char* filename, span source_bank, void write_source_bank(hid_t group_id, span source_bank, const vector& bank_index) { - hid_t banktype = h5banktype(); + hid_t membanktype = h5banktype(true); + hid_t filebanktype = h5banktype(false); #ifdef OPENMC_MPI - write_bank_dataset("source_bank", group_id, source_bank, bank_index, banktype, - mpi::source_site); + write_bank_dataset("source_bank", group_id, source_bank, bank_index, + membanktype, filebanktype, mpi::source_site); #else - write_bank_dataset( - "source_bank", group_id, source_bank, bank_index, banktype); + write_bank_dataset("source_bank", group_id, source_bank, bank_index, + membanktype, filebanktype); #endif - H5Tclose(banktype); + H5Tclose(membanktype); + H5Tclose(filebanktype); } // Determine member names of a compound HDF5 datatype @@ -672,7 +677,7 @@ std::string dtype_member_names(hid_t dtype_id) void read_source_bank( hid_t group_id, vector& sites, bool distribute) { - hid_t banktype = h5banktype(); + hid_t banktype = h5banktype(true); // Open the dataset hid_t dset = H5Dopen(group_id, "source_bank", H5P_DEFAULT); diff --git a/tests/regression_tests/surface_source/surface_source_true.h5 b/tests/regression_tests/surface_source/surface_source_true.h5 index 2c2a19038fc1b6d9c7785e8a7f591e9e5c7fd959..d343d12aed654f2da53310c5943c20d8bd85afb9 100644 GIT binary patch delta 4436 zcmY+Gd;C;$8pr!pGTo=5hHlfmjxIX%RR>*;QYIBsx{NMNQ6^ER`PT1D zg&mh=7TIZY8EnjA?O-uj{1(fwtifU|%PhIPAOEe_>+|k;o;mY5&-ZzbGr#PSR@wY9 zUZi>0IW%}niw1T0V2e>Lx;Hd$XvTkmW}#*hv}kA+l)PE9u%(Z-3bkx|r?K>K=vb@a zP_g=d(r!TMXls>jqjU_FQMRqpfp$taA+x>G!466%kkwJ?JW2+YwmT_ZK&j43*HE#G z(vjnot|Rw&rAsK&Ri(ROiHs1ICnz09=7~z@P@=oi6_oFxbf~A&Rb=;4I@}vu;>$^WhcnFgu5bdA-6&9BFrzv9K{yni?U1by^JRknK7QorT8N2 za(q!}8NSF~j_(S5k#hyU$h#6>REp!fQl(d6i;SzVMe)_xqTCv6*U~Do)?u08K}Yu0 zJm@I&EIG3OLXJ`;9(+`MjxjyYEs*;HxA-fqqu7hIj6 zz!y3H#20xV;)_Zj;rlOqQS4)UQMQWjC-jQUPwDkDd{N+A^6&7k0XS7j9i((@fEy|8$ zjHfVKWR7CAqZuu-PGw~%c^WH21%s81VZ6vWoe?8%EWW5T4&U)AJpo%}oPjNho7ke< znb=NbOURnUrY2*H?6a^%;j@*lA!iCtmxV2I&%qXDrmFNbIz`5GI-P;-4CW+9GS6i% zrxWA|@&tZpELmbEn$xb%2W@K(*&DSx1WL?kGgOXc$dQf2- zYrX+bv~^DETP9$bJmp$MHqZAMr)r5qweU34EVa=_0ns_!G7${uH(- z_cXT8&?>V2to-;^c@PBVHhB;P!5ctAP!U)ukQaougQTD;ux|tfL3jr+mp5>aobpqW zaXMX7WMFDYfn{G`-f zUhV0_e10PT3wac(RJHLS*HH0eQnKR`@&4EGhm>C?@XJy!P}jMKm7kTL1!Fe|$Ztb< zCH2Z9%vrLm)J^%hNJ%~PD3g%ijX)aIq*Qo}^Ghi%B};x!oK@6ok7FUFko>w7r4%_r z-;$Xc*nL6dD(dbNY(Po{DW&9x$dh{JN$$3XtR|(pl*&cC8>qHCxpo?$W(vQQ&go(C*L*)K~eNy*O+qF#MgHLfKI z3}(0EcM_}P@t~8=V?_kV;u-*fORtU(hImtDNp97sHb1# zro%`A2~d+OtEAd^iP1`_FdR7hKsZW0{xbLf^-?mwNL}a3G;+0EH3CHT3r12;yuy5? z?veSP)ZJ64=U=7O^<;G^m84XCjeez+86{U8;JF%2Is7`~m2!!SE(O?4Yle6W6>9?( z=M5TdOH=LmCROdd$4WPic1zEnDeoSM=_=w_e>pjdf6JLs?mN!SpNR=%{SRA| z{2p6W_yOCa^oE=t>FOtJk^3{YKdZewEsYJ*vcPB#vVwRE&;)d@J&!<3vfwdfl@6>^ zf>4kJwj!t!gpMT$cVce3qDJ|lZeK}M| z_PUrR`Z4(+9~es*-DR9nl30I^7~|>hM3NoA3768)K<>7TULxFRIc*H$9xJE~#{Wuc zL$Hoh8_H%^QX9r%S5X_z`((9BkKoO*h8vA!Cu_OcDcoZeds&D5XhxP`ey1_9^{m}s zU>mR+!@M?PHI~jdVKq*r`6DDV9-AcY6R_EgyNT5n?9asNI_xK6wH2Ff*iYi=;g68& zWNfw*pN$QFfE1_Tvx6te!sjLiF%_Sk9DN!-yEyf9d^}D)1CQODdL|xeVjGV=#OL9$ zmv(32(MY=rj|}ZzK&!Ly*{9MDHv7?q*c`y(R)%&PU*)fk@a=r%4lciw%kNU@ySeNh F^$W+aIS~K= delta 18335 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 t=VY&IRpL>aBOZm<#3OXmtQo0{@wrp delta 4990 zcmZXXOH7 zsql6)&+B=D*g$;3=?e5>l3nhSM-i8-<)T;6B!)yH6G~)4iA*RlWD*li;&vYTGilCu z$*Le*`Is@$B!*4mN&);#HU)_mx|(G{9u}fU*z`y;J?Lba&^a)nb6`T}kYo~*O=4*Y zCStN!g8s=y?LV5<%`&0>OsGE->Yri~Q%!%`5fe&eLWxW$G1VmQ6NyYHkqIR-p~QVA zalc4pLWxW$kqIU4H;HK?kqIR-p+qK>m}U~wP2x~B?vcq&LG}dcuW?=Lg6s-%qSkfY z5afv9icd04PI^0fWU9CBrFOh^b@4&tuzuIFmfTskTWgps9YIefKMGRW7KoZZR<2_&>uP*3#SxfF*;m)<)x*#`e$sG~yi0#$|xmio@ zJmJn$?#URgL>HgOaKfx5cfN4v+r4!W?0}oK{T(<*ChLMwheFYz(C(lM+8t}jU1YoU zZ8F*E#8XnF@=kSONM2s+I-3@MNEkfs!qiNtOR?QWKbXb#jJoLUMg!K8yF|E4Y_~3G zhpgQgz%-@C-O!8ulq&a!y|_PJOb(+rYspv6bs(b5MuYsp=L;S8G88T>MaSBNee&)`6sV2C-9d|X0g4`3N@T}`v5ae5*w3zOZ3C!N2W`B1Am5n>~B^^qjlAHV^kP<$gMcJ?P@( z8_*szQ8!-0d>uXsdrt)EdEM1q_sMg{wIfL9JY1}yxjOB+bU|}po z#hN8S=st0wev)QVqIvRYq3DP{!CDZ#MjOE*dDtoP=%BPj9?mjP z50zI$>u}Se_voch^vpfhhAZl=idN7^xJDj+hI~e%b@FJTm?aNugFM;@Hp#>G$fJYO z7I`>1evdB7+vMTykVg-vyP^$vd*snaxKAFwPu`d4fIM0#9+HQ3L>_GfdGfFehBFwtnsJ?~t@>(b`SIrlZWfB(LD`svxL zCU@@QQsSlQ8eLvA(`Lx+b{WN2g%K>h8K$dHvH!vNmb8AC2g|nOpGTL2hjOmhzCQ2Y z;%h%%idenA`~g{jxMf5!V~a`Y@k^_WG7s@k>{hu$@a6uSeAtmW;*g^bsif?kkniKA zWUCL#oI`dY4Qyos(rTp4LK2i6NQ%;NQd-v_Rn`oo8{)B2HIli@mM!-v)5r`^>`dMv zgARGNMi0UV zh+Z3iAiCr`jnb;&oc9o2=`To_nckSRbjb^l7&AX1_L2>&=d83^n3;#PQhq?%C^ybY zOMkfUAnnMQ)^|t;TU|}k(!=r=a)p^a$W=-y%7FTJ{k$ty#!z zW_BR`l#cV#(gQW)kgpC&HA_pkJPpx{{|iL7oJ>l~$EUx5R8zJgK}x(uS|Q4FhipOg zY{Xinr7{Jn=bTMQloDx^mR{JCkY;8!AbK{!DQW51n1JZs*CAQXscn~*Zh0Ki#mpMy kCM9q|S~r-d5Pw=)ni+xUWwVmbSC{_Y`QygCfBZk0r~m)} diff --git a/tests/regression_tests/surface_source_write/case-03/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-03/surface_source_true.h5 index 228f5a7d0a462f38a1cb0b4274dd40d4307b5a12..d14771f5a00887c16ca1399a629d0e2448430bda 100644 GIT binary patch delta 1272 zcmZ|LIc(EV9DwnpL14roi=!CI5hM;%E+dMt0HJW3a=G-Cn%k5DDQ8-)l%u4GA!FsY zFrrRbkf^$J%$N<29z8I4^yq~HK@<=f6jCYhg=G~U10@I^#jOmen zUp~(Cuud>Nw3Fl!!9K+qP^3ZOPM+EyedE{O4h~eBJ4}FL{61aEC!x$z%EWCT<;lsR79?Apq2v8`J zhdM$YA*_ewp*b`snHOE({{OYsIdcYn z=I_6Z-@bKRO>>k?F1RM0#?b9s&OB#~!(jyYUmF7=??9hG z(#+Y&TTOyUpskIQncLjp@?&$#PvxOwA^8nVp%Kn$0#16H~Lr zreR`gw%RmIvLbO6A*7kGk!2f6k6P~+$`*Sk3Q-!%| zigkxnYq8H-r0GKaJV>YQ=2NkYOCJB5id|fET)q#>XA+syB#X#fO|pr2(%{;!i6Le+ z$sx^Z8V0-N;F@#{&ZXm-bR6f(;}81y038>)Fd>h~v))&z-^{dg=qexkMrqv?M?*X-TOm$;rVYWpa_p99)Dd zR&sE`Wn_+Zqkp++{>BY+h4l_p%HnY@I#pSVYHLwrEo!Yroh%+5z%8tovwZR4;`dz4 zYOqQhW$`c%vzn|Y&DP?$wP=yWt^#;kttV}=xL<(FZl}w>eh6>I2_nY9^~BV4*fdPq zw5yXeH*I9iMw$yTtBYJWY{Z=IC5^cu6H{~2reRWj7_+)bGp|Vx5wlM(5pxz3Q{%H~ zn0SgXt50i!#jGZ$$hB%CMa6LSlg2+weUb*`oA;p@Z{7eM7aoOy$+RXMkzQ)zAXk0~ zTuvfWHu78(PCRZ8Rtb`;T=U=wQ^ji!_Tt2nbqo`jOxVb>CT6N}iu6*rIKzyWV&*0} z^UqSu+$@XSGR))*a;Xe%P8>^RaBr1{>~a`5eq1cav5E~V`gj}Nlh_IzZq)03 zF?t(^xMd?oJ!YzCajG6ORdKf-Gh^vm*0ffIjh+S^$J6nR2DDO%Be)T*RO0Argf@Y+ z*Bh}claGyXtHjaX1cS^M@@0tmCK#B!w~_K@Xp&*_zw>j=XsQCpr)D%wp<~Z+7*dJM zYO;^WswQcggo>gTxR}gn!kOh&3kIvqQqhXR8Ps&T6~`I!oqpGfXH^Cmk<*4}m9xuK z8^)QrBv3rp#I5@U3U@m+98SK|#LOds;#oUp=E<3dPGF^cT4~}0S`-jj)`SyEdIwsl zJaVN2EjW)n=|Br6DV;E=gmSraydMg^EjT^yFnu5{rBsqk{XD_mrH5i5#l z*D)^!6-)h7F9w<6#VMjrVzUx$aEcKdS=7WsO(VMDVsg40V~)u&kGe6Ylnh}#I4+gP z7kY49MlLo&YVNm&Hv=@d-ed-iN;+|;CzG;5kP5ozv6pJq)Aaibr5sW22gfK^(^ zP(J`eE0OD(v=RAeBh{b7#c63?6EiIt;=LxEgvtlu;v_UTh~>KETlZ-Y%W-(|d;tTK zRZTd&n1sVi(GZ&U$fiFGp(&@7S3_v(qw6a?4bn$sS`*GBFKr}$7_NSDO$}pkza0E# zxN)ohZ#51e?lU-5iRIcEtYwh-*%`EBl67`Hnb3q2%ko(?b;^+iBWTLeWPAkCU4GFb zR?E??xOV;T#Bm6LRq!dTfzfteis&jvKM( sVc>)@rU{3N2R0HlhNdcod^Luq{N=^s7@9JPxZn+!e;(7<8T#J-55UccTL1t6 diff --git a/tests/regression_tests/surface_source_write/case-04/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-04/surface_source_true.h5 index c276af40f4302f4e0feff883bc3c472bc4df7ca1..d2acc69910740026a283af0568d90370f9ff7065 100644 GIT binary patch delta 1271 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 JQSyjJ#UJ$40M-Bi delta 4948 zcmZXYTWC~Q6ozN!WTH_M6HUy`M8{kw8Z|Mu$#r6GlSwir=AM|CYc;mfD7D~&f}s`! zmBvjTQc&=r4+=`7C@5I;L8yX)Pz4KyT57?9q6JGWP21V~UuW%uGcUTnz5ajgv(F^I z+qb{k?|kX_I@{r$p3j*!?0c_WHVTYnhr@0QewNx2B3h#Ror=uN$B8S^fsdA}SNAL8fL~Bx5`)RP81#fOc}K*_ z#8ibdnOg>5}DO`i&i;~B; zkci`3$zz_cfoU|8y!emFi4gKE9;VUKv@{{0UXUuzBw#`e`#nj3-zp-8c$^6JYTA-g z$6AXxS>z|dca3!=UKT$kVMsg=aV5i2EeD@cStiQfr^zUitS-scVy!G5rJyZE7MWC} zT36Oti}lvRC5taoVX#3K4^pwgG}>Ueh*^gXrdx#>)*{ndWLb-BD%AJf&CeX+!olV+ z86dKW$vlx#Tm|Ssf&5NYGQ+Y^N5Rn9W8@joI>7HpbSi$-hVw-!y-qFEMaH{rlqs;4@4lT-+uy!aXqs=ow{VI*&2A zNj*B`A`79?DK<<*r`UBOI>jQ2@N?yqhrX`}hpq!`z6hpffEmJB459<9w-^=?(&APz z-smz}M3ul#$5v+vdRNHh8?>wwYq138QT&{39tc)S!Br2;RZN7J;;SiRLikFD)Q^~% z5H@k46jrO*>U}A!RAzLQ!AfPur84X@j(gvgp;raR&T=g4te7jua)R8|-{r7USrMo} zZxUP0R$wE^L>%H(1=K1v{FM--uwbSV%PKnlpyhSE?5V=C%8zfVFk9uvn<`kjxVO-Y z*_xd6Laj39cP|8H#@Iz(H3aEwae_z&lV?OSndEMVDvQZ+BH2Wu#gh=?u7OI&(a{=g zE=L~gLJb~mqb%}k@v>zsiO*~CvUMUotc8`CHete52a-n{2or~iuKTe~F9{40(F9V>76VPN*e)%; zZ^HZg_t4p-36Y1SJX6rjr-6tUC z9myuqzV_$iOBF$ACdPdR64y*5YhLnXGF{hvx(f#pz@N9 zO&lj;MwlU6RJ!NrB#uwT+`=S|Pu|1SM`Y}Wz|1`9N%)r3cF;?PKf=D0z^RE2zf3NmsptX{&7z4$b#RH!+ zX<7P_8OaQ%2hu4%T1roaUoz=bHXNr?#c}m}t-j{hcWY`%UuUNmYt01ZX`+6@92E6+ zQ2h0x3J9mI4apj8jKEee{5_KRY4oxR^nj}5kDmUHsVo-rAI%jZ5LHU z@V8cXh{_I&Dxm>;XSA;G5;cb=oZX_9(R(gFAJ_Jt?z*{`c=YbK_9e&Rx%_@nRfM%< zB**c5T$c}u${i9_M!4TS{O|qoxwu+KM16yHl>dPM;kY_N|HsHj1NL!I3(!x{KbmkX z`bX|0`DnpCC8`GFG}n(dyfa)s%u)Iu75^;Pk2R>}mF{}wI*r4-LF4GH z1((iY-K2A9x037e{?cuFhka-Dx^tK25&mx3i>iCCyRR}%KD_(n!g9uZc$k_8T4^dWm>6;k+dtxp%~)1@}GiFg_5EHoT9-!<;34 TR{T%IqYi71cxdy)Bbb*zT`c@f delta 4999 zcmZXYO-xi*6vyX-Z$uenR6a%+D&iPv+bSo!RL7{r=~i``$bf z4!{56{q{58mwSB2ZY}P;<@b&~dg!nA7x;W$PvVp2*&+V%_`UHo`5({EGtS>BJCc5i zd_VSRM{28gKD#&T-^548Ma1dIj=9JJBkve#3&fITpSi`L^B~ZP3uj}?sBGrL^hEnN zISBg5`I+;ROCon?E9#QSC6lYqg-a%vLQc<1A(u*SHi)`Za_T8r=S(A)PIbCxI=Kwy zGRS2zmq~6DbDPLzk-M3Puf&jbMoRPDnHff&F%m9tSKVObJ4Ql;{ z)BQ|_P;bae2LR9#ZC%WC*w$gDON5@^hohB{ez6bF@jXRSobqxv zN!*=$OLkG!bCoefKY>#F6s1(4^=@15X1dJQWlZm}^&X}pwvO0Z9)B;9wF=yjA$gS` z`zSNX$ciH6lnGX$$`IY>eabAWj3I$){AhlV$T;z8`~->%@$ouOs_`!E7k86igD-49 zY@%Se1~V&&JZ2>QfIBn9$l?KvsT5;!YB8pgnhw-LR|)-8=_=CRgP2fFq>qvNiquf% zA4a;P7*i|8EJbmOS}OQ6iZKU?bkw=YLLFK}MGM~{w1`qcLp^kz&<~WZBfW75{SGOT z>@**Cle>x>rpy~g^q6{kOg)X!`iQNMke)k&nMW1b?7U_qdK8&sDwFKYGV)T92FlbN zLzN-=D2?_}8dZVEsc1mKacXg!5#6Fmw5V&uFHrL03;W_#Bfg9#Y92X`=FQanCL_9e zi)dcigcdE-LhBRu@lTKrH{t;^sRP zNq3eR(Z}z!TXa$jt-Ea9MS8d$H-B2_)pp$cY0|p7+pg|r`i!m5Fx_M89;SPR9_hgB zUZ(r(>ORulojCbfp_e*QeU|h>7arX?A{~tAOh3yQqB8@Oxpx|!4cSoSJY|}@kul^h zBX1bdvtraopV<(d8DtqlbY_S$uX}JFL!!MP7br8!i0*TdGWtA*=uDht45>JaS;H!m z;@oCL_Zgu+<>ydkh|Y{s=DErkqBEB$qt9%}dOtdQDN{P&CNqloDD#Yw@Of1EDRYC7 z=@>FelnF7SGiK#mQyD|@2JyP5h}Zp-LA>r}4_q07mCw1&$O}cxl2tx|DnmYGe*KwXdxG{TT}RLNM8Ing??eG4t<1vhD<9`LYXy2@}^N`GLwv~ QFcSPYmMi`QKvinOe;dR{8vp~{on{b6IB#44C@-!(U zDjFoBG%2@C>4L(g3ksJmT~P4M?rMct>C$Y6~~NHb#Su%Q@JRnzLz`7 zZN*Ztz)vY?h5VshEU5XuP^k9G-?Oz@KfhZ2Q`#J-I9W^nA$>*28JKg09B-)16EZ}; zpP1h|Z@$l0b%BsWh~X?0@&`0kNMosx39GwE$Z6<{h5UjP-je$J{7x=wtTW5#FaLWM ztY}@aH1f#TCVQoj-=Ma&&YJJ?bz~KJxU0!SUqc=#JYC2djI~0JA%nk;@ln~pnCnHr zl0W9GjpU(hs_!FKdoy{c2Gb)(ephS%-}IK&S-Q3LoZlVWR^R*E$v2FfBG|#_&^(&h zNq$#rZ+DP~y1RZBvpReD^P%l!dL(cyriZ?d>5;3P>(V_VmQahLpx3$3EUIpp?8r-3hyL&7!G-4@K2G4*-gG%1gFU( zgms2Il(Xa!!9GVG>Ur{r;ke|XT_BGH?nUy@FOf$IPmqUknLIN1SIEQcA>Shck32$H zSII-UMjjFD>*S%{Am8BJBoFNtc_eUelZWn;M+)x_c^JLqk-@)99%di;J`vm_j}X>< z@=zX-M+Cb<9%?^%#Bd&xhxUj(61b1aLw`aZDZHoTVLT&`41Se7%mMNPA{Zo(5Y}_@ zP+pKn1p6g1qX63g delta 4948 zcmZXYTWC~Q6ozN!WTH_M6HUy`M8{kw8Z|Mu$#r6GlSwir=AM|CYc;mfD7D~&f}s`! zmBvjTQc&=r4+=`7C@5I;L8yX)Pz4KyT57?9q6JGWP21V~UuW%uGcUTnz5ajgv(F^I z+qb{k?|kX_I@{r$p3j*!?0c_WHVTYnhr@0QewNx2B3h#Ror=uN$B8S^fsdA}SNAL8fL~Bx5`)RP81#fOc}K*_ z#8ibdnOg>5}DO`i&i;~B; zkci`3$zz_cfoU|8y!emFi4gKE9;VUKv@{{0UXUuzBw#`e`#nj3-zp-8c$^6JYTA-g z$6AXxS>z|dca3!=UKT$kVMsg=aV5i2EeD@cStiQfr^zUitS-scVy!G5rJyZE7MWC} zT36Oti}lvRC5taoVX#3K4^pwgG}>Ueh*^gXrdx#>)*{ndWLb-BD%AJf&CeX+!olV+ z86dKW$vlx#Tm|Ssf&5NYGQ+Y^N5Rn9W8@joI>7HpbSi$-hVw-!y-qFEMaH{rlqs;4@4lT-+uy!aXqs=ow{VI*&2A zNj*B`A`79?DK<<*r`UBOI>jQ2@N?yqhrX`}hpq!`z6hpffEmJB459<9w-^=?(&APz z-smz}M3ul#$5v+vdRNHh8?>wwYq138QT&{39tc)S!Br2;RZN7J;;SiRLikFD)Q^~% z5H@k46jrO*>U}A!RAzLQ!AfPur84X@j(gvgp;raR&T=g4te7jua)R8|-{r7USrMo} zZxUP0R$wE^L>%H(1=K1v{FM--uwbSV%PKnlpyhSE?5V=C%8zfVFk9uvn<`kjxVO-Y z*_xd6Laj39cP|8H#@Iz(H3aEwae_z&lV?OSndEMVDvQZ+BH2Wu#gh=?u7OI&(a{=g zE=L~gLJb~mqb%}k@v>zsiO*~CvUMUotc8`CHete52a-n{2or~iuKTe~F9{40(F9V>76VPN*e)%; zZ^HZg_t4p-36Y1SJX6rjr-6tUC z9myuqzV_$iOBF$ACdPdR64y*5YhLnXGF{hvx(f#pz@N9 zO&lj;MwlU6RJ!NrB#uwT+`=S|Pu|1SM`Y}Wz|1?37F6fJc#Kg1h`Nyp&czGh#_O-w`4?2 zEJ#FIGTwNjC*<)429F*+Fz{LCbRbUp=@nb|>F@fdQu4DnW|XRf6PrGki(>Lyxud+S zSSl9yDFv;NZOX-hnw<-UYOnk?U7Pmfi`74=&2Wkn_4pssSA=Z9oGIk^AC*}`hRDvJ zXSeTL&$CsXBV-LtICF*k4owwu7%|*=LQX-SFXSi^cnk7p+4D@gFkc&s@^yT1`?<12 zNJ|qkTU#Rb_EI6gqILK8sx7CF814%C&{xt&0#6sR4r7&&V@TnzW`0!GGUpl*uw>he zwT|(jtk2I8tG$6dRDJ|YkOF?l5Lo{)#}lsr=SRq`+g$Pb8MkUTm^_pb I@`y&nZ^?BCC;$Ke delta 4980 zcmZXYTTE0}6o%)*peQKn3@{)lcZP}zGIGBu*MS-C$X!5C&|<~JCO+5%Q=8DlMBMR# zrZ(}x2Td@d(ZnVuzR<)bnA+5&K4>HtAb~eGdE{ z-~DEN@}=!cmaX#QLiRQ;Svso>{YojGj{$a6Ohc>FeSl*l$|Axnf9j*9f z{C?bqdh6Bbj;Q~FmnxSf!XMq|P-J$&CGJEA)}^a<^eJLPzo5V%b|%-ip(c#U8W9H* zLlw?sZaY*Pm>4y*yJ=QLNX@1YvN?oAGMRN^Ruq$!5K`n?UvoKxEQb(p%zD*K3=VXQ zJkZx}9OzaaoEr;4G?PoQ5JXGC@38^(I8;y^2lY0tosR31bXggF6%y%fOZaVF?Kxq9FtCT4|7oZ_|g=+f+tE zb$;bMq$U$vRS?-C=7>}hafr8>=vNgavY%>kh|(5uEekCUvtTs~H&!iY`aIaLngz2S z2x?fc;(?&ne0Oy+_%j>#U2hH=%z@7wG@64Z8IOPgg- zoP${{=1i+OXfp@xGWdEgG#%zlrwsD;;l8{0zNd0=-$z17H1VP?(+8Ni^Dt|WiJ>|gLWY>Q4nQ?bBwS1o8R448M2;~rI*&3L%SRvWXpe|! z%Zl=%MqAb}5p7uyym)sU^3Y=r;?T8Q4ID%Z!>#OMfrxf1M*&(y$QH*7@I*Js;QIpf z(;j6lL~W!@j}#)U?det_#%M0v(z`faRDrZ|ly54aPUiG-1;%OOtprKonwb#t zsuE3=8I@O|sbNM|aj6O|(zwM-BI!(W4xuK4$uyBnCNGF&G4ULR${^9=LI`+`~u(UPtF5M~i*EFeLYzmyI!P}!P?r9B{FzhQ#B-Vl$_7x_k zh~)8#%6PT=ZET7WHxqS3Lv=nM@GT*7mp_EtIt-HK0Wi3&t9d zR%Z7@171aCcJV$0C35y@AAWw6&)xOm1j@KeL?gPC%i5ETsFgk^UU_c<9GSX?$vAWB?-#-?NC;07lmG$eRJQQ|1@m zjFYM39sSJ^)U)6Qkp?F3iTIc_w4kYS$J;Gv+QjL#7BrO>sV-5|3KC#4N2Hm_TOut? zs@m|1wg!o~(uU_D19@4+Y8$ptChBX)7VXFe1+(p#*}-ImNGFq`4%BE*y-dXLRI6Af zqCM5y36=KLnNF4*uUl18) z;^{_>_RS03XnIUGecg?hX;cPzJ(yr+_4yvCwOcOrKy8bhRZmjA4Sd#Op+~C9VJ@q_sg_p1=hC4Y*9i z_y)8H?@81cCTbBgL<|$Ph*v}m6Sa%nQ`qZ(9DMZ@25bL(c?wOnW#)VeqAhcpNFhJR z7eus6dM2UL8GJ8;hOX7NVr%cB8^pDBKb3@w7Z@oqCX{{5|I`QRpJ?_ xG?^k&NhKDsNW^emyKqlIrOD(J4)l;b&}UOPP~&scB3x(tobvxxq|utM{{gElbWQ*O diff --git a/tests/regression_tests/surface_source_write/case-09/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-09/surface_source_true.h5 index ebce87b36aff8050b2b6b9df2bf4292296045da5..d62363f97fd4cdbacfd65b2dd99605721d60f03f 100644 GIT binary patch delta 1273 zcmb8sH*C~U9DwmF2+RTogk*sL(@hbWZc4y(6Pkesm~KLV3-uD((ZU5W+<5X^GDexQ zAQ5G`F=NIXJ>J0J(W3_jKFdU=WFgW||K}oq_g*Hyl;ZEjrctU6jBos0E{ch-<(=iF z#Zs}rpHk2Y>7raLsOfc~Q0_I;>I<`V%=8vz>*?pyb87Lw_bpAxnb=EazCZnLeHq_EI$O)>uMo0< z7@jWVB#f0pHj%(z#r{!Q!*5?L0!F$_S!;zHfwC^U4u8$D^+Kvf{+_deBlwHEDZkg) zoUea>FWEwRYi`&S!M6M|eKfK?zYcfg>-1S|7pD(rHz&U*Q)fnSEq0H_-b~E&_OW{y z``JAb_y_nV%r17{C4z(O3T;@2$V0J(tRjScSjaJ`N64cC=P3VtXva8oL~xIjhkk-Q zVt6OX!*IwWfq#lT%x?1CA~;PRZCGc>Lpe(xA?$PHp`Is?4jh*}v6RCh+gkhuKTNR|NOTqYdi;c_+9{M}-h~d2_ f590%QB=A3yhdD@oPz0aIqYbN09?B4TghS#d{mBeO delta 5311 zcmZYDKTMQ&9LMqJ{voI+ww{8DZvHGh$#4{N?Y1u!oXlsOdT9Z zioY;0IM9TFqzuG3IGEJIfx)CEb)bn!Ny^|rQwEZf)U@|J-_P&+A^dJ=pT7Kko;&V< zx9Q)1hJN`W{NuK8{loE!hmp{|XJe7Qk@ewl$jd%*y+Z$AUL@3>8(esQ^qPNj3Zpmb ze!KUqaLLKglY*xF|FVzZxPQcC3R)M*a6xM z<>}Q@y;`PM%l)h1mE_Ay&%UNWBeW6#2s0)P=e2A?Z9~4{J!pN zaMQI5|2U8$N7gyA-jNL|-5caBDt2U}BcC}^;z+`gQkBk)@?4uBImSNwW<6u2%#kgQ zY;|OtBjt`%sEjA%^=wyZgH)>6GdombrSj45%!+9$l}~$@{_$9;+_Xw1v}v(4Lw4(# zQOF*ZkC448jhp2@)hZ*9eJb;i{VJI?UyWBYg$usu3&gvN}=Ts^yWp!S~o@sRCf+H6lX>z1l zrEI4>*Cmz2E|JTQTydmDr3b64Die;_JGbf?E7u%pQz_alujjgoUEOe`T_wIpRvnNW zV^=rzjFnrC+*Y}>SMI}@zJP@FOn$YTiKuiyqK?E=@@iz2qtaF*zfqQC#r#|&zflnR zti<-oAWsKlkfn|+Qwi;t)pC_)2#Y%kVKF~KSj@(x+=qP}f!G>G%{;`fVel}S1G1tF zL)gVRN74sn#Zo?nu#~e9ma^fHtQf~3i2RKy`-;pAgt<)B%8I!hgxFk$%?Ai`S$kMk z%;f-txtxYDm&rO=mB_o3eLekk^0$_R|NHE(I{AIZc2?KRfbD$j$a_bsQu2M|_tku# zlJ6s?buuM4Wm+qbh%l{v5T^AVglR25Dl01m=7A$`AtF4w%l})r~S{xaJFxsJvtZcMB)9lD-M!rM+a+`lL@*QfU?U}~2atlU#1j1;~FOrDK zoRbwZJ`7>T=OE1Z)AO=o#;q{pvp8cj?wN*0Sux{75N3P^!i=Xb$jW9sWCk7i0Abi` zFUpExAAm6I(-4L|*(585y&q!39x_u9hP}F3Rt)=N2*ds!!i-m4k`*&^E+<)YnZU|fc8e&@>HbvKD#g=zL*z#8pwmjY@E4I87!j`{;u;r_+%Ze?( z1FJd0jnj8z#Tq|_ zu*S0x*0|vdS=sh_W(dO4&Nz~~E48WcYxC1xsSQK?;jY}2QhRT)3_uv`X^2g;XOf+= zVw(FQJM@j1g6veO{!&&p-=294vHAAQdx*_<#8iDHE1Pf6Jc2OalMu$b@@rW!)_oAB z`5lBcF7J{R}Qx_e|njS+U_g5H@@QVjJ$6;_qZd>4wzn j`}`VWs~#~$-Lj%|L0I)y5LP{Yzjd|$zrOs2FMRwDQPTh6 diff --git a/tests/regression_tests/surface_source_write/case-10/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-10/surface_source_true.h5 index fded9d987e392214edeb3fccd50c3ecc5f8a7728..acaf39cb485cef41a634a2e980fe160b4bcc1316 100644 GIT binary patch delta 1273 zcmZ9{H*C~U7{Kwn90CIZOt%z@sj@;d5WtjxDFG9jfd`mwLVyeP5?W{>K@1rqzlAYk z%7R3cCF6}5Jz7j27(9CPz`)GON$aoA|8^p3TBDiy`}w^D1V zx!6=J@TU~CLjF-I7S#M)C{#M-ubJA6A78ERac!1U9IGb(kiH`1B)-g^63h{@jQnWL z{c~M^o|>ccgjDAX*@qa;0wKRcQ-vHr0(W8UK7Y%li)ypFxHgBEG~Oqd3TZCm-(c2- z%js)Ej-Y<`_f(tdBZjkrKD3qek-%LgXMY=gOuq-)$sJ zP9ZCZV7Cf63UwFjBZjk^^`Y%yeI#%#^3eCPK2mu5gsj5Y&-%#VA0Q92jrH3^aF9Gg zSck|%vB@KXeV9DdBjgdoIZ7VdG4e>@wv&f`oIFx^C&ppoX z56B~eT_z8;n>=DT56MG&L>>v;$K;_uA&(T^Q}QsLkw*r57NW}{IP6V2vevTDxRXrehMn{3XTlQ|zvVh)=ao2ZGV(2HCsRoaUd z6qBKXr74YIsTUSfv5-Qg7Q9eUuvAc?r7877L1+aFg4*uP`~BbiuzRE5GxNUR%3&$K)s6eoQ#Vmz%?feI6JX0@uv$4gpuV3pjbEgcK1A`&T9h*T4Ch*#;u%Cjaw zRFinOvTJuHc302SFJ)r7&vbl4^Bb%?Y?Q^9Zfv*7S~OdW z7He_9TC~cdAsa{3CVPDt7bCuMV{Pr$sU5PY-Gg48){!o2(QPeyWU;gtnqKQjpDa8% z*mgf}`%DfFdmxA$Wa7@noIxh1hzv0?eTIX`Atnp^;4{MH9+6Qdrq5Uq8E0~5KYaW| z!h|aiWP<0+6PaXUIv-||kPnp#BT2<95gjPEi0D9Z7C@x~Wu^c>42L}8y9GF6oh8wQ z5SUqF7gI!ZmaG-RB3xSRD8l!*NfvWO@Y4x$qX=`i$l=&x4D0Y1DMq_U-sfsD1Y4zG zTM5k7oBv1&9z^-(7vGeOtDlhh(l>;y6higVpD2Y;z4X5?MO!B~c}sKEn}4(n!}`sC zr3_Z_at&b~SgAMvkOy;ju+@qOJ4hrFB3^l*RvFM=4uOjW%jFnWLGX@-ck!^V0>df| zzOH~enTKCgpq(Z)UIhJ;N#^Folu7T!vbbS8^LGMGFilF6j33aTt3QQ{mC zogV8|SW31$x7uo)+a6h5tj2dIQ$#$f#&@R!B(DbMW;le3kBQ__yHN3%NIowqrxq$R zCPKxTS}dSY_WZLJXHmogcO3-9OimHe!SSFD7AiRM>tRvGf`xhvt0;L=k1eVw$@QTq zm%Y#WuwNA;7qVi+BOhM*UUqUdz^PKsKiz;vW{lXy?FOv1ngn){&P?>>a6IY1nzG{v?qX6(OJaFM9FB>ug!?g~JA6a|GTGeX!8E@<|_hns<~C@f#6+N6G7l z$7Z>TrG8lG>&fGOSm=bw8Gt}tJvp@j(pBgi#-H>LC1d%se2no#&(v zVonT`1tL0d?h(-$lRN|!Zj}M4_<%?P``jU-)5bLnm6k38)N9{mTh9k(MDfSM#eF$BIhOz@8LZ-{21OV)kpkL>)g5K#{%@l#Wn$AUR(^( zN5sq~LtG_dW|JY_5;3#MF1jYsxIi}kZW4|4?dA0(+URU*I}D<;X@y8B@8%T|9Y@Vm zP8 zG+CU+(WumVIgO){7a#QzWit?%(PfBpM09km6KNokT@)RKsk-xAJc>tC-FcoyGOr{8S#DJ_!q*N4IJC iknE5#k6|;4>|%Bv9rU&577?9C&i997@34xHw4M6+?hyw&eChq`Z1)-419YFj6h$DnU JCLa(E0RVxPKIZ@c delta 545 zcmZoMUZF8TgGobVqgE3$W5(vS%qGmzOiYXnK)}Hu0iqa~8520b42BcjlmD zm9bfZ-GgzGKnU-DAOI@|DVgjm5DgaLg=heZEW{A`3KbE6tML?!W(AoeFma>khYr5^lyIj+F#Ntt(t@qXa~42uS)7R5}bU PttlBT0*V5-W1%ttGbq0H diff --git a/tests/regression_tests/surface_source_write/case-12/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-12/surface_source_true.h5 index 6c6925daba145c5db52a281023dd017f066e0732..4b830d057dee2d3175982058352b5aae3fbb2e45 100644 GIT binary patch delta 1337 zcmY+@OKc2r9KiA2Ru~ctA{nn3B#e5ED#mlid(>;_A4`={udPRIJ?q^f9=B%ym!70t z?14n};?})sdRiCRn@Kp#aTCHEM0_{X$+F2O|M}1C=KK3kvW3Sr0Uzqa$-kZvA5r6;R)zXCQ zgECFXEJ`Et(}h%L2-yiA&P*ZSq4KbuW%P}CdB*lVt&7*y6;&kWC(9rbk8(}>@`JhxsVwY zVbybdC@VNVO0XMv{ZLnuhYx2J$A`9><0F7;k%zv9bA% z5V?)yQG}Hu55*>r66{Unp>8G*AI=u?(6*9C0CyXC=-bJojPwrjFdXs-;q4?3vyptG z$n7GJBCOryq3j`#670R?q3$COAC5~N+J5o~;2t0ky@`C2NJW1I#cl~Fe&4$-9DLK& z;=lUwXYg~O>G|m9AZ5I$|J3>NYwA~i_3QUPhg19A;g9W4Hrr1hIhl>Oy5*ocRi*{w z!#K$J2;m)Ke3*wB|FFoV86QPhM;ITx z%1ECi52KYlLU^ah!#qtMnKO|ht93S_oMQ%*U}xwED1@67P$m<0JR6yV&YEq)n=9X=>bmg+m zEj+WWHe0s!;vcru*=9@2HrH~?&8^yUv#FI!w_db#*0Q?K`99}4zm5BkKA-3LKF>Ml zUeDL_`;WfQUQBp(aYAVS$%6fU-;UEK{44#l6B2w*{4>!>r#~FOFE&yC#ksy${S!!c zV^v@8IGsMB-gkIfXYzmXk1nSYb!=L%CJ7LDh+oKku5pDlq(GG@#PkUWxyv;ZgqRv$ zoM%?jxSC1h$mDV4F(J2SU_Hq~DpEnF2r<*Ajw92A1k<2O5psyhbS8;%Vl$*B-Z_y@ zHFfM{nyQ=?)j=8scV;4(>CMdY1{oCGVojzuGus=?@dk4#D9u3YdEQKxH<<4YvMD%_ z2~7?KS2Lsfn_s~Da8>av>?7AJ%<~2dy}=?5beF|)8W-oFOFpF+&c(z63ZCU)2?duq zSW3b9Y?Kvppj$4JmgnZ-Ygx`@vP#M7ok&Ms6elW{71M%ZPA93eSrC*+i{$xO)e4%h zYd*%U@{TK&+N5l#%a{aIACuKWPG+ND(7XI{3byA&_0rbFYt>u9RP{+tvj%Gkv@M9~ zpGO6iPFa9;RCENr*JpJ5p6Fw^{Eo90&ACSH1;ULBuPrrl2PeZEL)lS_%>t zB2(whtn&u--k`x7G@pFoG61Xo!U-Wjic2U{}vAP#sAT22xp7%(P{|w?cX1S zP~ZNif~cJ*wSNV%zbqjw{pQE)2^webr_ z6-J;Avf8iqMWEKEaWew-8d8^5BUnqpE7fRKAq%-u4WV|8k{YC|B)zu==@6-}aylaE z>{=|OTF9Q--X!wU8Y1dq?SQ^PwOqClF}~tg$&FB1Um0w~m<}5Ac_YSH zOG#>ipi9Q|H9@d}1m~L|u$Ge841uu}zv^y=pqm6AH{;vwi3ckth6Wx^{UciY@Y547 z^j&}Z&woF?`dP=pK=030*>9FydFI#;RlmJo_TH%nm#U&|m%i9_AQF06gpSm6k&aP1(26AvQqa?iTI)8)T2VVh>4Y|wv)cjH7~`5Lll%)Cs{968zeULz+rKqzl0`3SQ$N zg@QXAXiur!fU+5sIn05!lUo}wp6o<_RN+R9w?49OBgShVxw#R746b)o{w4@AnK zCe~4|FqtDYdEIELZRJ2W)~DYQS2@uBv8)Ff{f^k*gW1+P=JsN?wGKmaWzs0u80&CU z#%8Fjbr@o;;{w+h>u{7I);iMq(8pTGFq0)R{TvhPA1VFVx%Q8z`>`eCAC5Z9>E-lY zWe#BbMHK8BK&|zWGXq$Fd2jetQVe8;ETE5xb(E7aEI>a)rVpa2eTH-oqD2|EaMcMW z)>eF5P-ASxQC&>RW$(=-YY+J&NcU0t zl@aVpJHz)QsI|_Jw+qc<@}2EvGAQILCe|aecSAKKHG6hrrhbupyBlMyM~prNf%OPO pj7P-(Z^AX!BQi$ORC~m;qu5A*c6FJ92^8c!9Ze-?Fpm+_;D5%jpD6$U diff --git a/tests/regression_tests/surface_source_write/case-13/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-13/surface_source_true.h5 index 6c6925daba145c5db52a281023dd017f066e0732..f53e2c3a2b0b5d0a55456dd2c6ab1ea3d7ca01af 100644 GIT binary patch delta 1337 zcmY+@OKc2r9KiA2Ru~ct(qt$xNEr1RRXUzK-s3&=kEP0}*Vd!9p7m}Kk6W||?)lEM6&wpk&-`{_d%|EUxeNXlnRoN^3bq}kP zV&GkMLv?MkDw*J;B(y~NqB@yS%lkwk+baKz)y8~%ZM6+(s3XYEKlh5AoigB&0LBvi~?m$Uqgcyq4)xE7#?He%k20SHo`+fB*m0(u8~o zWx9}A6i4*U5K^rbvJ*a>nL@rt`FYnY`iQ@)&ld6-(t3q4N5~$;_lD+1*S+&9_u^;q znw?*H*0+F09epEOorTe=aj$&8%w5Ep5bsNi`Tdg0zGtbBA-rYLJ<}Aj*A%(sLS|5a zRnPIEtl;=4!fxR8LtRN8KAcq?A6g^FM*!C%4}CSqM+xaQynYyKIX*&o>v;Vz*OOl_ zavR8_04qfvicKCx*c-`1-9#QfoXzB+Z6S{U?pE^9w~FwlUIOGw++d&@YPVzfN zZWnnJVC^OkWe<52Vecgmbsu^7a9r}x_LD~d_W*h5P2`(ID*7uZc1t+<$KI{s;M=Yi z|MkzmgJ1GZ&&M_gDdR=`=gwE(Qos8e-+cHroZ9aWe` z;~?WBgm;MXVIF4u!y=bvd=y|EVSFe@86QR1&5RHA7~{i-)57@Bjx#<2xF;ANy2tn^ zA$^iOj8^gp;hiE6^E7#6&O{2V*4c=1ju}vdouLo4jXr!h=jlVcKpz3zi}ayiqK^{N z?et+>rjHO_mOji5`W+&7g*>dQk(aE>HI9!W?Ca#A-XISj&Q0>rI>{q|dy72u+vHI~ i`VM&*cgZ7!caJ>G`{eJ7+yn9>tS;U@ly34Uc8h-=b1uvP delta 4944 zcmZXXeN5F=7{`B?`{ODaDhdktf*`1%D4>ED1@67P$m<0JR6yV&YEq)n=9X=>bmg+m zEj+WWHe0s!;vcru*=9@2HrH~?&8^yUv#FI!w_db#*0Q?K`99}4zm5BkKA-3LKF>Ml zUeDL_`;WfQUQBp(aYAVS$%6fU-;UEK{44#l6B2w*{4>!>r#~FOFE&yC#ksy${S!!c zV^v@8IGsMB-gkIfXYzmXk1nSYb!=L%CJ7LDh+oKku5pDlq(GG@#PkUWxyv;ZgqRv$ zoM%?jxSC1h$mDV4F(J2SU_Hq~DpEnF2r<*Ajw92A1k<2O5psyhbS8;%Vl$*B-Z_y@ zHFfM{nyQ=?)j=8scV;4(>CMdY1{oCGVojzuGus=?@dk4#D9u3YdEQKxH<<4YvMD%_ z2~7?KS2Lsfn_s~Da8>av>?7AJ%<~2dy}=?5beF|)8W-oFOFpF+&c(z63ZCU)2?duq zSW3b9Y?Kvppj$4JmgnZ-Ygx`@vP#M7ok&Ms6elW{71M%ZPA93eSrC*+i{$xO)e4%h zYd*%U@{TK&+N5l#%a{aIACuKWPG+ND(7XI{3byA&_0rbFYt>u9RP{+tvj%Gkv@M9~ zpGO6iPFa9;RCENr*JpJ5p6Fw^{Eo90&ACSH1;ULBuPrrl2PeZEL)lS_%>t zB2(whtn&u--k`x7G@pFoG61Xo!U-Wjic2U{}vAP#sAT22xp7%(P{|w?cX1S zP~ZNif~cJ*wSNV%zbqjw{pQE)2^webr_ z6-J;Avf8iqMWEKEaWew-8d8^5BUnqpE7fRKAq%-u4WV|8k{YC|B)zu==@6-}aylaE z>{=|OTF9Q--X!wU8Y1dq?SQ^PwOqClF}~tg$&FB1Um0w~m<}5Ac_YSH zOG#>ipi9Q|H9@d}1m~L|u$Ge841uu}zv^y=pqm6AH{;vwi3ckth6Wx^{UciY@Y547 z^j&}Z&woF?`dP=pK=030*>9FydFI#;RlmJo_TH%nm#U&|m%i9_AQF06gpSm6k&aP1(26AvQqa?iTI)8)T2VVh>4Y|wv)cjH7~`5Lll%)Cs{968zeULz+rKqzl0`3SQ$N zg@QXAXiur!fU+5sIn05!lUo}wp6o<_RN+R9w?49OBgShVxw#R746b)o{w4@AnK zCe~4|FqtDYdEIELZRJ2W)~DYQS2@uBv8)Ff{f^k*gW1+P=JsN?wGKmaWzs0u80&CU z#%8Fjbr@o;;{w+h>u{7I);iMq(8pTGFq0)R{TvhPA1VFVx%Q8z`>`eCAC5Z9>E-lY zWe#BbMHK8BK&|zWGXq$Fd2jetQVe8;ETE5xb(E7aEI>a)rVpa2eTH-oqD2|EaMcMW z)>eF5P-ASxQC&>RW$(=-YY+J&NcU0t zl@aVpJHz)QsI|_Jw+qc<@}2EvGAQILCe|aecSAKKHG6hrrhbupyBlMyM~prNf%OPO pj7P-(Z^AX!BQi$ORC~m;qu5A*c6FJ92^8c!9Ze-?Fpm+_;D5%jpD6$U diff --git a/tests/regression_tests/surface_source_write/case-14/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-14/surface_source_true.h5 index 6c6925daba145c5db52a281023dd017f066e0732..ec049fec48a990387c41b36f590e7ee85eb667eb 100644 GIT binary patch delta 1337 zcmY+@Ic(EV9DwnpMPQJi283iTVL$>?E>kXZHKttVDuzC2pcKpB%ljhvw=E=1!c5U29J?I-~l1N$h88IetLd(qVNAKrSPPt{4LpQ)MT%|uYXjV z6oYSTSJlo;)+7^rl!TV3T+}8LYGt2DWKYW9W3@3O1J?OLZJd*QUkLsqJw?dRqx!~+ z+=OUb99`o_@oG;LGLLxgPZH9ptL{He7BWzUtgIFKlF*8$PnK0=$>f`*=LH}3L!Hn z!fN37P*!q$lwhyo^+R1v9zL8k93R?Rj*kGYMIQP(j*l|Z>v{b!HgJ4|@HX=LVQwP7 zN#q*IqX;WS9*RvKCD@zELv11tAI=u?(6*9C0CyXC=-bJojPwrjFdXs-;q4?3a~Jtt zBDb47im>*Ohq9MEO0b*BL)}LnJ{*@kwEg4}z&$`7dJFj$k&6BbirpU8eQ(|t4!!Aa z_XmFb8Twjic`>#vNEt61zI44BN&U*Nef{C*aB9Ch{Hfz5l#!2!B;hiE6^E7#6&P0l=*4c=1ju}vbouLo)Jbn0ZF3^W|kv;;rm*_*kOdn;W zJLto>LLVW#EPa@r^gBiFDtTDfBK@q&b&ih`>>K2v-Xsqn&MorLy2vAddz(D;JLFMD i`Yw4G_sAoJcb`1W2jm}!+(YuCtZv>ulpgXZ^@zVHcP`EV delta 4944 zcmZXXeN5F=7{`B?`{ODaDhdktf*`1%D4>ED1@67P$m<0JR6yV&YEq)n=9X=>bmg+m zEj+WWHe0s!;vcru*=9@2HrH~?&8^yUv#FI!w_db#*0Q?K`99}4zm5BkKA-3LKF>Ml zUeDL_`;WfQUQBp(aYAVS$%6fU-;UEK{44#l6B2w*{4>!>r#~FOFE&yC#ksy${S!!c zV^v@8IGsMB-gkIfXYzmXk1nSYb!=L%CJ7LDh+oKku5pDlq(GG@#PkUWxyv;ZgqRv$ zoM%?jxSC1h$mDV4F(J2SU_Hq~DpEnF2r<*Ajw92A1k<2O5psyhbS8;%Vl$*B-Z_y@ zHFfM{nyQ=?)j=8scV;4(>CMdY1{oCGVojzuGus=?@dk4#D9u3YdEQKxH<<4YvMD%_ z2~7?KS2Lsfn_s~Da8>av>?7AJ%<~2dy}=?5beF|)8W-oFOFpF+&c(z63ZCU)2?duq zSW3b9Y?Kvppj$4JmgnZ-Ygx`@vP#M7ok&Ms6elW{71M%ZPA93eSrC*+i{$xO)e4%h zYd*%U@{TK&+N5l#%a{aIACuKWPG+ND(7XI{3byA&_0rbFYt>u9RP{+tvj%Gkv@M9~ zpGO6iPFa9;RCENr*JpJ5p6Fw^{Eo90&ACSH1;ULBuPrrl2PeZEL)lS_%>t zB2(whtn&u--k`x7G@pFoG61Xo!U-Wjic2U{}vAP#sAT22xp7%(P{|w?cX1S zP~ZNif~cJ*wSNV%zbqjw{pQE)2^webr_ z6-J;Avf8iqMWEKEaWew-8d8^5BUnqpE7fRKAq%-u4WV|8k{YC|B)zu==@6-}aylaE z>{=|OTF9Q--X!wU8Y1dq?SQ^PwOqClF}~tg$&FB1Um0w~m<}5Ac_YSH zOG#>ipi9Q|H9@d}1m~L|u$Ge841uu}zv^y=pqm6AH{;vwi3ckth6Wx^{UciY@Y547 z^j&}Z&woF?`dP=pK=030*>9FydFI#;RlmJo_TH%nm#U&|m%i9_AQF06gpSm6k&aP1(26AvQqa?iTI)8)T2VVh>4Y|wv)cjH7~`5Lll%)Cs{968zeULz+rKqzl0`3SQ$N zg@QXAXiur!fU+5sIn05!lUo}wp6o<_RN+R9w?49OBgShVxw#R746b)o{w4@AnK zCe~4|FqtDYdEIELZRJ2W)~DYQS2@uBv8)Ff{f^k*gW1+P=JsN?wGKmaWzs0u80&CU z#%8Fjbr@o;;{w+h>u{7I);iMq(8pTGFq0)R{TvhPA1VFVx%Q8z`>`eCAC5Z9>E-lY zWe#BbMHK8BK&|zWGXq$Fd2jetQVe8;ETE5xb(E7aEI>a)rVpa2eTH-oqD2|EaMcMW z)>eF5P-ASxQC&>RW$(=-YY+J&NcU0t zl@aVpJHz)QsI|_Jw+qc<@}2EvGAQILCe|aecSAKKHG6hrrhbupyBlMyM~prNf%OPO pj7P-(Z^AX!BQi$ORC~m;qu5A*c6FJ92^8c!9Ze-?Fpm+_;D5%jpD6$U diff --git a/tests/regression_tests/surface_source_write/case-15/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-15/surface_source_true.h5 index 5bdb39b2a703fa7cdb17a153a688cb0ea7664f1c..fd5892096c58be336ca5c9fea4b7afc60dd66dbb 100644 GIT binary patch delta 30 mcmaDL@IYY08fM0j&1;!Wm>C%-KVmatdA7(RbF&1y2O|Ki$_gd` delta 30 mcmaDL@IYY08fM0f&1;!Wm>HQSKVmatxuw3WrHw1^ml1Um% z$I8YT85+x5Ql9dZ#~F*1DNkYHL+Lm3%zSV4TR*up{4+k4Ev+3nz4fQ%aX9nG^0wto z;&Xd6THD|Kdwz0W|68$oCb?i`e0shApYC9^(w&V$mv0E&FB?L8 zVdxGqrMM_`zY<*>x;17@E(zW5#FvKdD09loLiZ<09J=H5RF{YDFVZVQ_cH_am7!ZF zyDD_2SkPP@y0hdP zE>FH)etT%2kY`Hqq&(3?o*9#;&Z^@IqEl*GNjy!22&p`dIJlTGE7Buh4lOK>j5Zd?U znNl2-C;C918Iwcu#H;eFd%M3^_jKil@+2S0(^GvcPx^^G1NEo!WS_~ipjneAKP-PZ zv`6HbQhY8?^o2Y#CSS@EeCnqp4o};AC~9`mjD0& delta 4944 zcmZXXZ%EZ=6vw^SKc%Jl@2b~->CJ0i>)JH6tkkr$Zp~X(T56VBEp=H_C@?5cR!~sP zE(HYz1_lO=N%W$?n1O=^?VUk^vc?L0Va%XGV{P;KeJ{^*c8+iIe9rlPzvn#SCI9%{ z_T#tq@AB-M2gmXULv5W8AA}Z%rrGVbkcF?sAt~ygkWgFOV(XibU;6`pN2G+!cz*7D zn6k)k3q-{FqyJs_vgXxHpf0wBkzqkT3gV07s@sCh3sMu`5^kjrjX47M;`u6bwCzvu zo7uYwe0Da0FHoLH%TPUEW6f;<-_Bb}^r zKAo>JN!z&@yxo%lb(lKjmtZ?gzl9?cD;d%y$ap5P$Xt#DBRIC4TRavdI*ZS=XA#q9 zS==--n+sY6851Pj#Z^r%67$5xV{9wX4p*$RI{W_zx9hHOMENk{q4rU|t>_`r* zB9v8xo44!SSj`BA-9%u|q4{7ybu(~BoeJ~FF zkQ8_)x?V4KHuD35OnH$Xsh+5`00EKuP0tmO_DlipvSy3c@Y((~WcKwMGF$KkDF$ir zk{0=e+_JY27np@61#uSfnI1tVipXlNwb&*~oqT33GNbg#<7?q(NL(?<5UzNNXtsOO^T4QkYvs{5qJM*`{@5_Q^WTMk`^= zddx=aq=xlKGGtVc&w|vKan*<*pUSXBj0$evfZ!M%JiGxGhI|ynw-GbTwCc7X^BWPf zOvUWkgk!DZ-X>%k_1q>h>n}$;R-0chN1P$Ef|OVAnV|}p#;OHARB+R>O47bn$=h!# zxnId|wA&AalhytoU{w_C`gj@7LhxVnWQqi zcOug&p6*1ZnGOFE35GNY@<0$<9aPCWvq6wiK|Tvo@8>=vf_w@R{B^Mq7^vHY`%=_> z-|xbGR$<>wibh)8r^P?J@eIbYrXGtJa#N5wL8|s})pbE;_mE|G?B&5jd%4A1LCW^= znJfE<>HB@;=;{WZaH#=mr~X+@H$d%F?^n?XwN+eegxbu$YUFC~eoh7inc7bhN)PA8q_`L?($v`NCb*>QGqRiElCIi=&Ak1*8G9N*Mhg*~Z{dPT z+RiR28W;6Akc4khnuoXDW5ypwG)dc?O4F_i|HUmM+Y|_?I6Oa zBfMRIgeQ$0A%cjb5M=A?>W)HS$gm(E1@Rr@s@sCh3sUnHSKSN}m)>VikgDTQnVIXy zags~D|DVTkl4+NBlJ=cW-hNBlwOx2^%j#AapMBHCvrD>(`HgM}R_OJoyCE>7@M}&k z2=XdOaC%-KVmatdA-OYbF&1y2O|Ki_X;Zj delta 30 mcmaDL@IYY08fM0f&1;!Wm>HQSKVmatxvzODW3vRi2O|Kkf(lFk diff --git a/tests/regression_tests/surface_source_write/case-18/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-18/surface_source_true.h5 index e5a7619c552c4321cdcaa3710363e430fa57516b..436063aee23677c481b9cec5ff8e6c8791d021b7 100644 GIT binary patch delta 30 mcmaDL@IYY08fM0j&1;!Wm>C%-KVmatdA-OYbF&1y2O|Ki_X;Zj delta 30 mcmaDL@IYY08fM0f&1;!Wm>HQSKVmatd7ybJW3vRi2O|KkiwaEu diff --git a/tests/regression_tests/surface_source_write/case-19/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-19/surface_source_true.h5 index db8a49dceeb20ebdc3e0c1b8db765cafed5a4052..eda3e030bda7d7bc798329e59061173d516ec10c 100644 GIT binary patch delta 30 mcmaDL@IYY08fM0j&1;!Wm>C%-KVmatdArCWbF&1y2O|Kj2?{L$ delta 30 mcmaDL@IYY08fM0f&1;!Wm>HQSKVmatd8m0RW3vRi2O|KklnPD& diff --git a/tests/regression_tests/surface_source_write/case-20/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-20/surface_source_true.h5 index 01d2abf61cf8a41876d664d1aa505a967e7559cb..083ce90c8964c549b597eceef343401fe63fd70d 100644 GIT binary patch delta 1270 zcmY+ls^*pfT-a5zzsJ9$HJ0H8cWB@ z#u*tJ%U4pSOnD27+j+}dSol$TX1!sPfuhkYlly6`*C#|PW`dEeRb1x zWjZm@B$=F9R;QEr%srW`?d$(NJ2~s0--?5$l5?u*$@TgF^lcRS)8rdM|I3EZog4ZC z3>4>u{#T;&L%+sIc|quZC%!QBN0?Dv6#73&;?N&sPJMCc|02C4^gpwpxis|aWS52h z1WVe><;ge7Zw%cP@(dJ-Jkgc%jFeZ&6K|4dMs>A3$u;uKsjrnMy-uD5O)5{eS)S$Q z-TmGzyZX~xSlS8ZSu^iZ;>axRh|XSZSrKd z%d@1t!}sL5d>*H4=Jag(N8CXF>C{JXs~rlJ*&S z@}2TKL-(va1I2UlM9<4JQobNh{GvQFs#>1pC3)u5FUynel4n5^2@*6TK$SNcp-v@f-5YsNR$(c}t!-_1p5Ktvm~wz4B!HY1ib*56K@2-C=nK ziqGVUK9^^t{6e1iOL=BgU&)gkk!Mc*wLIxJ@+@e+l_&d7o+a(~^5jS5kB06Cc?ODO M@a{)f)KgDA_0&_(7WK3gQLv?jwzQ=Q0|Nu5 z3=AZt|1dBxFfcGM5W~PgQU(T^FfcGMkd&kh3?yY>ASr1N-|yZ_|34PYC-3|I|C59~ z{rfNH_g{R!p7h;#Gk)q#q0{nqtnhqcwa@1iH$WEP!`=v7JBUvVi?ekW>BugaG{obkvvP<7*5rQ9Q?r$Sf zDOHKibVJ@#Ss)2lNwr&Nx=7|Br8*NjAeBic$s9?r+FNx%KG4mxB!PoceW)|-ki9B1 zkP3+7Rt2OoX(O42_;ru}kW?nEBvT~ihrLxZWS?%Hgd9*QJtCD!6Qo*aCLjTolAu(F zR2m>hRK`h)j!I=SbtGeupzd*wNoA5H870|*9MwIwHL}NKq~^u$+%KDBIbX{ZkUEuRlGqKYY^E1duhkMsG%1zM z^gv!}wFr5o61gdrNjJ#?q*1HzEvcGRx=7|pLbs)QtyL$)QJI6-nHfw;Wzs=1OA@#v zRgrFPhuA4PR` zmfrt=<+x1{J4Gi*N*+jMGYur;Bt;LUvU9bLWDHWKpTfyVWs)TsCE0?MV~@|ReI$EK zMj(6iS(^|$X)~WnWikxOpR@(;21)uescdElVyEajNvc*Vn;9foBS}7%YQKJp0g_dc z#1n7TPqG4$f3)V-yYZ(|Rq3<(NR}aXP{*=Tne>t@L8^6g^qEv9JtT`Hk>^q!)IHrK z3lKZ!!=FoK(nT^4v6DYkCzVMjB&biHBME*Xm7U=oko+C)xU(dIdZ}!ton(fj>V>yz zgB-^jI_@-yzdXh+XEBB&DyUvRl0gVwd>@NlBwrc851W><%9% zDQc3+?(jNDRDWJ$kaH@|YpLwY%|h~5uH%kE?55o!sr^#+*vtsYCd97X%vVxf()SsL z*iE|uv70vCEY%gQhDg>ScEP5;mda!ha!vQFktDy7%4P;gR!I^q-l`vB*YXNUyj7~3 z`aXRm%OtUHrMjh6FUb-~^gD0W1G%kx79nC%-KVmat`LxI)bF&1y2O|KjHVQHT delta 30 mcmaDL@IYY08fM0f&1;!Wm>HQSKVmatd8BzNW3vRi2O|KkoeEC? diff --git a/tests/regression_tests/surface_source_write/case-a01/surface_source_true.h5 b/tests/regression_tests/surface_source_write/case-a01/surface_source_true.h5 index da36fc505eb67f3da0ce48511464b699a4fb16e3..807211e3ac16e7c7c452f6fd43079e2a4cfa71ea 100644 GIT binary patch delta 252 zcmY+-FAM=;7zXg~bH@39{+-WkCYmH%xFCq4@B~q$T@+0c&09p16dO~-i=rrs;srqv zJfe5|?RnnxgkIEJwPQi^)LB>>=Y!>04IR^pXDg$A#nQ_8{YnLS`6NvIwezQElN{(% z`1~Vd8*-&?3bILIorX;4Mt%ljXCZgmviEb4fPK$&@{k!lXi$J0$vBWXJ!x2kT&Puo nEGeQ<84^;v0$I_x3VAcH%&yCM7wa15=|;ZcEZKF=(!Gu^BJ)*K delta 850 zcmexhbHHSR29tx-My)1h#*EEtnN66bnV1+EfPjNR0z@$|GbV6=84M2uC;wrSU`evS zlCfEW-GgzGKnU-DAOI@|DVgjm5DgaLg=heZEW{A`iXq}D7|j7PM+juZ48a7j5m9g> zJ_