roms-tools 1.2.0__py3-none-any.whl → 1.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1029) hide show
  1. ci/environment.yml +3 -12
  2. roms_tools/_version.py +1 -1
  3. roms_tools/setup/boundary_forcing.py +172 -223
  4. roms_tools/setup/datasets.py +397 -160
  5. roms_tools/setup/download.py +8 -0
  6. roms_tools/setup/fill.py +266 -331
  7. roms_tools/setup/grid.py +113 -22
  8. roms_tools/setup/initial_conditions.py +105 -55
  9. roms_tools/setup/mixins.py +29 -194
  10. roms_tools/setup/plot.py +8 -1
  11. roms_tools/setup/surface_forcing.py +219 -261
  12. roms_tools/setup/tides.py +116 -62
  13. roms_tools/setup/topography.py +5 -3
  14. roms_tools/setup/utils.py +437 -21
  15. roms_tools/tests/__init__.py +0 -0
  16. roms_tools/tests/test_setup/__init__.py +0 -0
  17. roms_tools/tests/test_setup/test_boundary_forcing.py +294 -0
  18. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/.zattrs +12 -0
  19. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/.zgroup +3 -0
  20. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/.zmetadata +4427 -0
  21. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_east/.zarray +24 -0
  22. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_east/.zattrs +10 -0
  23. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_east/0.0.0 +0 -0
  24. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_north/.zarray +24 -0
  25. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_north/.zattrs +10 -0
  26. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_north/0.0.0 +0 -0
  27. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_south/.zarray +24 -0
  28. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_south/.zattrs +10 -0
  29. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_south/0.0.0 +0 -0
  30. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_west/.zarray +24 -0
  31. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_west/.zattrs +10 -0
  32. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_west/0.0.0 +0 -0
  33. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_east/.zarray +24 -0
  34. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_east/.zattrs +10 -0
  35. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_east/0.0.0 +0 -0
  36. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_north/.zarray +24 -0
  37. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_north/.zattrs +10 -0
  38. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_north/0.0.0 +0 -0
  39. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_south/.zarray +24 -0
  40. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_south/.zattrs +10 -0
  41. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_south/0.0.0 +0 -0
  42. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_west/.zarray +24 -0
  43. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_west/.zattrs +10 -0
  44. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_west/0.0.0 +0 -0
  45. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_east/.zarray +24 -0
  46. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_east/.zattrs +10 -0
  47. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_east/0.0.0 +0 -0
  48. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_north/.zarray +24 -0
  49. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_north/.zattrs +10 -0
  50. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_north/0.0.0 +0 -0
  51. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_south/.zarray +24 -0
  52. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_south/.zattrs +10 -0
  53. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_south/0.0.0 +0 -0
  54. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_west/.zarray +24 -0
  55. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_west/.zattrs +10 -0
  56. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_west/0.0.0 +0 -0
  57. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_east/.zarray +24 -0
  58. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_east/.zattrs +10 -0
  59. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_east/0.0.0 +0 -0
  60. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_north/.zarray +24 -0
  61. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_north/.zattrs +10 -0
  62. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_north/0.0.0 +0 -0
  63. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_south/.zarray +24 -0
  64. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_south/.zattrs +10 -0
  65. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_south/0.0.0 +0 -0
  66. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_west/.zarray +24 -0
  67. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_west/.zattrs +10 -0
  68. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_west/0.0.0 +0 -0
  69. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_east/.zarray +24 -0
  70. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_east/.zattrs +10 -0
  71. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_east/0.0.0 +0 -0
  72. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_north/.zarray +24 -0
  73. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_north/.zattrs +10 -0
  74. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_north/0.0.0 +0 -0
  75. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_south/.zarray +24 -0
  76. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_south/.zattrs +10 -0
  77. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_south/0.0.0 +0 -0
  78. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_west/.zarray +24 -0
  79. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_west/.zattrs +10 -0
  80. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_west/0.0.0 +0 -0
  81. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_east/.zarray +24 -0
  82. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_east/.zattrs +10 -0
  83. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_east/0.0.0 +0 -0
  84. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_north/.zarray +24 -0
  85. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_north/.zattrs +10 -0
  86. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_north/0.0.0 +0 -0
  87. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_south/.zarray +24 -0
  88. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_south/.zattrs +10 -0
  89. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_south/0.0.0 +0 -0
  90. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_west/.zarray +24 -0
  91. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_west/.zattrs +10 -0
  92. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_west/0.0.0 +0 -0
  93. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_east/.zarray +24 -0
  94. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_east/.zattrs +10 -0
  95. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_east/0.0.0 +0 -0
  96. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_north/.zarray +24 -0
  97. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_north/.zattrs +10 -0
  98. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_north/0.0.0 +0 -0
  99. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_south/.zarray +24 -0
  100. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_south/.zattrs +10 -0
  101. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_south/0.0.0 +0 -0
  102. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_west/.zarray +24 -0
  103. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_west/.zattrs +10 -0
  104. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_west/0.0.0 +0 -0
  105. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_east/.zarray +24 -0
  106. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_east/.zattrs +10 -0
  107. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_east/0.0.0 +0 -0
  108. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_north/.zarray +24 -0
  109. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_north/.zattrs +10 -0
  110. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_north/0.0.0 +0 -0
  111. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_south/.zarray +24 -0
  112. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_south/.zattrs +10 -0
  113. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_south/0.0.0 +0 -0
  114. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_west/.zarray +24 -0
  115. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_west/.zattrs +10 -0
  116. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_west/0.0.0 +0 -0
  117. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_east/.zarray +24 -0
  118. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_east/.zattrs +10 -0
  119. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_east/0.0.0 +0 -0
  120. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_north/.zarray +24 -0
  121. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_north/.zattrs +10 -0
  122. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_north/0.0.0 +0 -0
  123. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_south/.zarray +24 -0
  124. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_south/.zattrs +10 -0
  125. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_south/0.0.0 +0 -0
  126. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_west/.zarray +24 -0
  127. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_west/.zattrs +10 -0
  128. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_west/0.0.0 +0 -0
  129. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_east/.zarray +24 -0
  130. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_east/.zattrs +10 -0
  131. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_east/0.0.0 +0 -0
  132. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_north/.zarray +24 -0
  133. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_north/.zattrs +10 -0
  134. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_north/0.0.0 +0 -0
  135. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_south/.zarray +24 -0
  136. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_south/.zattrs +10 -0
  137. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_south/0.0.0 +0 -0
  138. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_west/.zarray +24 -0
  139. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_west/.zattrs +10 -0
  140. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_west/0.0.0 +0 -0
  141. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_east/.zarray +24 -0
  142. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_east/.zattrs +10 -0
  143. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_east/0.0.0 +0 -0
  144. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_north/.zarray +24 -0
  145. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_north/.zattrs +10 -0
  146. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_north/0.0.0 +0 -0
  147. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_south/.zarray +24 -0
  148. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_south/.zattrs +10 -0
  149. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_south/0.0.0 +0 -0
  150. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_west/.zarray +24 -0
  151. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_west/.zattrs +10 -0
  152. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_west/0.0.0 +0 -0
  153. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_east/.zarray +24 -0
  154. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_east/.zattrs +10 -0
  155. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_east/0.0.0 +0 -0
  156. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_north/.zarray +24 -0
  157. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_north/.zattrs +10 -0
  158. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_north/0.0.0 +0 -0
  159. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_south/.zarray +24 -0
  160. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_south/.zattrs +10 -0
  161. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_south/0.0.0 +0 -0
  162. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_west/.zarray +24 -0
  163. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_west/.zattrs +10 -0
  164. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_west/0.0.0 +0 -0
  165. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_east/.zarray +24 -0
  166. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_east/.zattrs +10 -0
  167. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_east/0.0.0 +0 -0
  168. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_north/.zarray +24 -0
  169. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_north/.zattrs +10 -0
  170. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_north/0.0.0 +0 -0
  171. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_south/.zarray +24 -0
  172. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_south/.zattrs +10 -0
  173. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_south/0.0.0 +0 -0
  174. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_west/.zarray +24 -0
  175. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_west/.zattrs +10 -0
  176. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_west/0.0.0 +0 -0
  177. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_east/.zarray +24 -0
  178. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_east/.zattrs +10 -0
  179. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_east/0.0.0 +0 -0
  180. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_north/.zarray +24 -0
  181. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_north/.zattrs +10 -0
  182. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_north/0.0.0 +0 -0
  183. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_south/.zarray +24 -0
  184. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_south/.zattrs +10 -0
  185. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_south/0.0.0 +0 -0
  186. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_west/.zarray +24 -0
  187. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_west/.zattrs +10 -0
  188. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_west/0.0.0 +0 -0
  189. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_east/.zarray +24 -0
  190. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_east/.zattrs +10 -0
  191. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_east/0.0.0 +0 -0
  192. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_north/.zarray +24 -0
  193. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_north/.zattrs +10 -0
  194. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_north/0.0.0 +0 -0
  195. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_south/.zarray +24 -0
  196. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_south/.zattrs +10 -0
  197. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_south/0.0.0 +0 -0
  198. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_west/.zarray +24 -0
  199. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_west/.zattrs +10 -0
  200. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_west/0.0.0 +0 -0
  201. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_east/.zarray +24 -0
  202. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_east/.zattrs +10 -0
  203. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_east/0.0.0 +0 -0
  204. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_north/.zarray +24 -0
  205. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_north/.zattrs +10 -0
  206. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_north/0.0.0 +0 -0
  207. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_south/.zarray +24 -0
  208. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_south/.zattrs +10 -0
  209. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_south/0.0.0 +0 -0
  210. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_west/.zarray +24 -0
  211. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_west/.zattrs +10 -0
  212. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_west/0.0.0 +0 -0
  213. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_east/.zarray +24 -0
  214. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_east/.zattrs +10 -0
  215. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_east/0.0.0 +0 -0
  216. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_north/.zarray +24 -0
  217. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_north/.zattrs +10 -0
  218. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_north/0.0.0 +0 -0
  219. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_south/.zarray +24 -0
  220. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_south/.zattrs +10 -0
  221. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_south/0.0.0 +0 -0
  222. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_west/.zarray +24 -0
  223. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_west/.zattrs +10 -0
  224. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_west/0.0.0 +0 -0
  225. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/abs_time/.zarray +20 -0
  226. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/abs_time/.zattrs +7 -0
  227. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/abs_time/0 +0 -0
  228. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/bry_time/.zarray +20 -0
  229. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/bry_time/.zattrs +8 -0
  230. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/bry_time/0 +0 -0
  231. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_east/.zarray +24 -0
  232. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_east/.zattrs +10 -0
  233. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_east/0.0.0 +0 -0
  234. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_north/.zarray +24 -0
  235. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_north/.zattrs +10 -0
  236. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_north/0.0.0 +0 -0
  237. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_south/.zarray +24 -0
  238. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_south/.zattrs +10 -0
  239. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_south/0.0.0 +0 -0
  240. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_west/.zarray +24 -0
  241. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_west/.zattrs +10 -0
  242. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_west/0.0.0 +0 -0
  243. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_east/.zarray +24 -0
  244. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_east/.zattrs +10 -0
  245. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_east/0.0.0 +0 -0
  246. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_north/.zarray +24 -0
  247. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_north/.zattrs +10 -0
  248. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_north/0.0.0 +0 -0
  249. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_south/.zarray +24 -0
  250. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_south/.zattrs +10 -0
  251. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_south/0.0.0 +0 -0
  252. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_west/.zarray +24 -0
  253. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_west/.zattrs +10 -0
  254. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_west/0.0.0 +0 -0
  255. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_east/.zarray +24 -0
  256. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_east/.zattrs +10 -0
  257. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_east/0.0.0 +0 -0
  258. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_north/.zarray +24 -0
  259. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_north/.zattrs +10 -0
  260. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_north/0.0.0 +0 -0
  261. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_south/.zarray +24 -0
  262. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_south/.zattrs +10 -0
  263. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_south/0.0.0 +0 -0
  264. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_west/.zarray +24 -0
  265. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_west/.zattrs +10 -0
  266. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_west/0.0.0 +0 -0
  267. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_east/.zarray +24 -0
  268. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_east/.zattrs +10 -0
  269. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_east/0.0.0 +0 -0
  270. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_north/.zarray +24 -0
  271. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_north/.zattrs +10 -0
  272. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_north/0.0.0 +0 -0
  273. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_south/.zarray +24 -0
  274. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_south/.zattrs +10 -0
  275. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_south/0.0.0 +0 -0
  276. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_west/.zarray +24 -0
  277. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_west/.zattrs +10 -0
  278. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_west/0.0.0 +0 -0
  279. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_east/.zarray +24 -0
  280. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_east/.zattrs +10 -0
  281. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_east/0.0.0 +0 -0
  282. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_north/.zarray +24 -0
  283. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_north/.zattrs +10 -0
  284. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_north/0.0.0 +0 -0
  285. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_south/.zarray +24 -0
  286. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_south/.zattrs +10 -0
  287. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_south/0.0.0 +0 -0
  288. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_west/.zarray +24 -0
  289. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_west/.zattrs +10 -0
  290. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_west/0.0.0 +0 -0
  291. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_east/.zarray +24 -0
  292. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_east/.zattrs +10 -0
  293. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_east/0.0.0 +0 -0
  294. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_north/.zarray +24 -0
  295. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_north/.zattrs +10 -0
  296. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_north/0.0.0 +0 -0
  297. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_south/.zarray +24 -0
  298. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_south/.zattrs +10 -0
  299. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_south/0.0.0 +0 -0
  300. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_west/.zarray +24 -0
  301. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_west/.zattrs +10 -0
  302. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_west/0.0.0 +0 -0
  303. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_east/.zarray +24 -0
  304. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_east/.zattrs +10 -0
  305. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_east/0.0.0 +0 -0
  306. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_north/.zarray +24 -0
  307. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_north/.zattrs +10 -0
  308. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_north/0.0.0 +0 -0
  309. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_south/.zarray +24 -0
  310. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_south/.zattrs +10 -0
  311. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_south/0.0.0 +0 -0
  312. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_west/.zarray +24 -0
  313. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_west/.zattrs +10 -0
  314. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_west/0.0.0 +0 -0
  315. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_east/.zarray +24 -0
  316. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_east/.zattrs +10 -0
  317. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_east/0.0.0 +0 -0
  318. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_north/.zarray +24 -0
  319. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_north/.zattrs +10 -0
  320. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_north/0.0.0 +0 -0
  321. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_south/.zarray +24 -0
  322. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_south/.zattrs +10 -0
  323. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_south/0.0.0 +0 -0
  324. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_west/.zarray +24 -0
  325. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_west/.zattrs +10 -0
  326. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_west/0.0.0 +0 -0
  327. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_east/.zarray +24 -0
  328. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_east/.zattrs +10 -0
  329. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_east/0.0.0 +0 -0
  330. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_north/.zarray +24 -0
  331. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_north/.zattrs +10 -0
  332. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_north/0.0.0 +0 -0
  333. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_south/.zarray +24 -0
  334. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_south/.zattrs +10 -0
  335. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_south/0.0.0 +0 -0
  336. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_west/.zarray +24 -0
  337. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_west/.zattrs +10 -0
  338. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_west/0.0.0 +0 -0
  339. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_east/.zarray +24 -0
  340. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_east/.zattrs +10 -0
  341. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_east/0.0.0 +0 -0
  342. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_north/.zarray +24 -0
  343. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_north/.zattrs +10 -0
  344. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_north/0.0.0 +0 -0
  345. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_south/.zarray +24 -0
  346. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_south/.zattrs +10 -0
  347. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_south/0.0.0 +0 -0
  348. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_west/.zarray +24 -0
  349. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_west/.zattrs +10 -0
  350. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_west/0.0.0 +0 -0
  351. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_east/.zarray +24 -0
  352. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_east/.zattrs +10 -0
  353. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_east/0.0.0 +0 -0
  354. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_north/.zarray +24 -0
  355. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_north/.zattrs +10 -0
  356. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_north/0.0.0 +0 -0
  357. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_south/.zarray +24 -0
  358. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_south/.zattrs +10 -0
  359. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_south/0.0.0 +0 -0
  360. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_west/.zarray +24 -0
  361. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_west/.zattrs +10 -0
  362. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_west/0.0.0 +0 -0
  363. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_east/.zarray +24 -0
  364. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_east/.zattrs +10 -0
  365. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_east/0.0.0 +0 -0
  366. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_north/.zarray +24 -0
  367. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_north/.zattrs +10 -0
  368. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_north/0.0.0 +0 -0
  369. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_south/.zarray +24 -0
  370. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_south/.zattrs +10 -0
  371. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_south/0.0.0 +0 -0
  372. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_west/.zarray +24 -0
  373. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_west/.zattrs +10 -0
  374. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_west/0.0.0 +0 -0
  375. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_east/.zarray +24 -0
  376. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_east/.zattrs +10 -0
  377. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_east/0.0.0 +0 -0
  378. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_north/.zarray +24 -0
  379. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_north/.zattrs +10 -0
  380. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_north/0.0.0 +0 -0
  381. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_south/.zarray +24 -0
  382. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_south/.zattrs +10 -0
  383. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_south/0.0.0 +0 -0
  384. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_west/.zarray +24 -0
  385. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_west/.zattrs +10 -0
  386. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_west/0.0.0 +0 -0
  387. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_east/.zarray +24 -0
  388. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_east/.zattrs +10 -0
  389. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_east/0.0.0 +0 -0
  390. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_north/.zarray +24 -0
  391. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_north/.zattrs +10 -0
  392. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_north/0.0.0 +0 -0
  393. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_south/.zarray +24 -0
  394. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_south/.zattrs +10 -0
  395. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_south/0.0.0 +0 -0
  396. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_west/.zarray +24 -0
  397. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_west/.zattrs +10 -0
  398. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_west/0.0.0 +0 -0
  399. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_east/.zarray +24 -0
  400. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_east/.zattrs +10 -0
  401. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_east/0.0.0 +0 -0
  402. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_north/.zarray +24 -0
  403. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_north/.zattrs +10 -0
  404. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_north/0.0.0 +0 -0
  405. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_south/.zarray +24 -0
  406. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_south/.zattrs +10 -0
  407. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_south/0.0.0 +0 -0
  408. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_west/.zarray +24 -0
  409. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_west/.zattrs +10 -0
  410. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_west/0.0.0 +0 -0
  411. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/.zattrs +11 -0
  412. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/.zgroup +3 -0
  413. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/.zmetadata +385 -0
  414. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/abs_time/.zarray +20 -0
  415. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/abs_time/.zattrs +7 -0
  416. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/abs_time/0 +0 -0
  417. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust/.zarray +24 -0
  418. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust/.zattrs +10 -0
  419. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust/0.0.0 +0 -0
  420. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust_time/.zarray +20 -0
  421. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust_time/.zattrs +7 -0
  422. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/dust_time/0 +0 -0
  423. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron/.zarray +24 -0
  424. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron/.zattrs +10 -0
  425. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron/0.0.0 +0 -0
  426. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron_time/.zarray +20 -0
  427. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron_time/.zattrs +7 -0
  428. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/iron_time/0 +0 -0
  429. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy/.zarray +24 -0
  430. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy/.zattrs +10 -0
  431. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy/0.0.0 +0 -0
  432. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy_time/.zarray +20 -0
  433. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy_time/.zattrs +7 -0
  434. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nhy_time/0 +0 -0
  435. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox/.zarray +24 -0
  436. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox/.zattrs +10 -0
  437. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox/0.0.0 +0 -0
  438. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox_time/.zarray +20 -0
  439. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox_time/.zattrs +7 -0
  440. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/nox_time/0 +0 -0
  441. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air/.zarray +24 -0
  442. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air/.zattrs +10 -0
  443. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air/0.0.0 +0 -0
  444. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air_alt/.zarray +24 -0
  445. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air_alt/.zattrs +10 -0
  446. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_air_alt/0.0.0 +0 -0
  447. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_time/.zarray +20 -0
  448. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_time/.zattrs +7 -0
  449. roms_tools/tests/test_setup/test_data/bgc_surface_forcing.zarr/pco2_time/0 +0 -0
  450. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/.zattrs +12 -0
  451. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/.zgroup +3 -0
  452. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/.zmetadata +391 -0
  453. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/abs_time/.zarray +20 -0
  454. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/abs_time/.zattrs +7 -0
  455. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/abs_time/0 +0 -0
  456. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust/.zarray +24 -0
  457. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust/.zattrs +10 -0
  458. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust/0.0.0 +0 -0
  459. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust_time/.zarray +20 -0
  460. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust_time/.zattrs +8 -0
  461. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/dust_time/0 +0 -0
  462. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron/.zarray +24 -0
  463. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron/.zattrs +10 -0
  464. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron/0.0.0 +0 -0
  465. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron_time/.zarray +20 -0
  466. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron_time/.zattrs +8 -0
  467. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/iron_time/0 +0 -0
  468. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy/.zarray +24 -0
  469. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy/.zattrs +10 -0
  470. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy/0.0.0 +0 -0
  471. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy_time/.zarray +20 -0
  472. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy_time/.zattrs +8 -0
  473. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nhy_time/0 +0 -0
  474. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox/.zarray +24 -0
  475. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox/.zattrs +10 -0
  476. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox/0.0.0 +0 -0
  477. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox_time/.zarray +20 -0
  478. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox_time/.zattrs +8 -0
  479. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/nox_time/0 +0 -0
  480. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air/.zarray +24 -0
  481. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air/.zattrs +10 -0
  482. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air/0.0.0 +0 -0
  483. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air_alt/.zarray +24 -0
  484. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air_alt/.zattrs +10 -0
  485. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_air_alt/0.0.0 +0 -0
  486. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_time/.zarray +20 -0
  487. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_time/.zattrs +8 -0
  488. roms_tools/tests/test_setup/test_data/bgc_surface_forcing_from_climatology.zarr/pco2_time/0 +0 -0
  489. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/.zattrs +11 -0
  490. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/.zgroup +3 -0
  491. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/.zmetadata +989 -0
  492. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/abs_time/.zarray +20 -0
  493. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/abs_time/.zattrs +7 -0
  494. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/abs_time/0 +0 -0
  495. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/bry_time/.zarray +20 -0
  496. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/bry_time/.zattrs +7 -0
  497. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/bry_time/0 +0 -0
  498. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_east/.zarray +24 -0
  499. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_east/.zattrs +10 -0
  500. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_east/0.0.0 +0 -0
  501. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_north/.zarray +24 -0
  502. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_north/.zattrs +10 -0
  503. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_north/0.0.0 +0 -0
  504. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_south/.zarray +24 -0
  505. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_south/.zattrs +10 -0
  506. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_south/0.0.0 +0 -0
  507. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_west/.zarray +24 -0
  508. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_west/.zattrs +10 -0
  509. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_west/0.0.0 +0 -0
  510. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_east/.zarray +24 -0
  511. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_east/.zattrs +10 -0
  512. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_east/0.0.0 +0 -0
  513. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_north/.zarray +24 -0
  514. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_north/.zattrs +10 -0
  515. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_north/0.0.0 +0 -0
  516. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_south/.zarray +24 -0
  517. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_south/.zattrs +10 -0
  518. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_south/0.0.0 +0 -0
  519. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_west/.zarray +24 -0
  520. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_west/.zattrs +10 -0
  521. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_west/0.0.0 +0 -0
  522. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_east/.zarray +24 -0
  523. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_east/.zattrs +10 -0
  524. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_east/0.0.0 +0 -0
  525. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_north/.zarray +24 -0
  526. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_north/.zattrs +10 -0
  527. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_north/0.0.0 +0 -0
  528. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_south/.zarray +24 -0
  529. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_south/.zattrs +10 -0
  530. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_south/0.0.0 +0 -0
  531. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_west/.zarray +24 -0
  532. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_west/.zattrs +10 -0
  533. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_west/0.0.0 +0 -0
  534. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_east/.zarray +22 -0
  535. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_east/.zattrs +9 -0
  536. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_east/0.0 +0 -0
  537. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_north/.zarray +22 -0
  538. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_north/.zattrs +9 -0
  539. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_north/0.0 +0 -0
  540. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_south/.zarray +22 -0
  541. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_south/.zattrs +9 -0
  542. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_south/0.0 +0 -0
  543. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_west/.zarray +22 -0
  544. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_west/.zattrs +9 -0
  545. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_west/0.0 +0 -0
  546. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_east/.zarray +24 -0
  547. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_east/.zattrs +10 -0
  548. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_east/0.0.0 +0 -0
  549. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_north/.zarray +24 -0
  550. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_north/.zattrs +10 -0
  551. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_north/0.0.0 +0 -0
  552. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_south/.zarray +24 -0
  553. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_south/.zattrs +10 -0
  554. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_south/0.0.0 +0 -0
  555. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_west/.zarray +24 -0
  556. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_west/.zattrs +10 -0
  557. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_west/0.0.0 +0 -0
  558. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_east/.zarray +22 -0
  559. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_east/.zattrs +9 -0
  560. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_east/0.0 +0 -0
  561. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_north/.zarray +22 -0
  562. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_north/.zattrs +9 -0
  563. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_north/0.0 +0 -0
  564. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_south/.zarray +22 -0
  565. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_south/.zattrs +9 -0
  566. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_south/0.0 +0 -0
  567. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_west/.zarray +22 -0
  568. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_west/.zattrs +9 -0
  569. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_west/0.0 +0 -0
  570. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_east/.zarray +22 -0
  571. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_east/.zattrs +9 -0
  572. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_east/0.0 +0 -0
  573. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_north/.zarray +22 -0
  574. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_north/.zattrs +9 -0
  575. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_north/0.0 +0 -0
  576. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_south/.zarray +22 -0
  577. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_south/.zattrs +9 -0
  578. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_south/0.0 +0 -0
  579. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_west/.zarray +22 -0
  580. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_west/.zattrs +9 -0
  581. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zeta_west/0.0 +0 -0
  582. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/.zattrs +11 -0
  583. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/.zgroup +3 -0
  584. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/.zmetadata +311 -0
  585. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/Tair/.zarray +24 -0
  586. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/Tair/.zattrs +10 -0
  587. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/Tair/0.0.0 +0 -0
  588. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/abs_time/.zarray +20 -0
  589. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/abs_time/.zattrs +7 -0
  590. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/abs_time/0 +0 -0
  591. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/lwrad/.zarray +24 -0
  592. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/lwrad/.zattrs +10 -0
  593. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/lwrad/0.0.0 +0 -0
  594. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/qair/.zarray +24 -0
  595. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/qair/.zattrs +10 -0
  596. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/qair/0.0.0 +0 -0
  597. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/rain/.zarray +24 -0
  598. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/rain/.zattrs +10 -0
  599. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/rain/0.0.0 +0 -0
  600. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/swrad/.zarray +24 -0
  601. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/swrad/.zattrs +10 -0
  602. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/swrad/0.0.0 +0 -0
  603. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/time/.zarray +20 -0
  604. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/time/.zattrs +7 -0
  605. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/time/0 +0 -0
  606. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/uwnd/.zarray +24 -0
  607. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/uwnd/.zattrs +10 -0
  608. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/uwnd/0.0.0 +0 -0
  609. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/vwnd/.zarray +24 -0
  610. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/vwnd/.zattrs +10 -0
  611. roms_tools/tests/test_setup/test_data/coarse_surface_forcing.zarr/vwnd/0.0.0 +0 -0
  612. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/.zattrs +11 -0
  613. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/.zgroup +3 -0
  614. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/.zmetadata +311 -0
  615. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/Tair/.zarray +24 -0
  616. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/Tair/.zattrs +10 -0
  617. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/Tair/0.0.0 +0 -0
  618. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/abs_time/.zarray +20 -0
  619. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/abs_time/.zattrs +7 -0
  620. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/abs_time/0 +0 -0
  621. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/lwrad/.zarray +24 -0
  622. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/lwrad/.zattrs +10 -0
  623. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/lwrad/0.0.0 +0 -0
  624. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/qair/.zarray +24 -0
  625. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/qair/.zattrs +10 -0
  626. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/qair/0.0.0 +0 -0
  627. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/rain/.zarray +24 -0
  628. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/rain/.zattrs +10 -0
  629. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/rain/0.0.0 +0 -0
  630. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/swrad/.zarray +24 -0
  631. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/swrad/.zattrs +10 -0
  632. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/swrad/0.0.0 +0 -0
  633. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/time/.zarray +20 -0
  634. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/time/.zattrs +7 -0
  635. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/time/0 +0 -0
  636. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/uwnd/.zarray +24 -0
  637. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/uwnd/.zattrs +10 -0
  638. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/uwnd/0.0.0 +0 -0
  639. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/vwnd/.zarray +24 -0
  640. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/vwnd/.zattrs +10 -0
  641. roms_tools/tests/test_setup/test_data/corrected_surface_forcing.zarr/vwnd/0.0.0 +0 -0
  642. roms_tools/tests/test_setup/test_data/grid.zarr/.zattrs +15 -0
  643. roms_tools/tests/test_setup/test_data/grid.zarr/.zgroup +3 -0
  644. roms_tools/tests/test_setup/test_data/grid.zarr/.zmetadata +840 -0
  645. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_r/.zarray +20 -0
  646. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_r/.zattrs +7 -0
  647. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_r/0 +0 -0
  648. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_w/.zarray +20 -0
  649. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_w/.zattrs +7 -0
  650. roms_tools/tests/test_setup/test_data/grid.zarr/Cs_w/0 +0 -0
  651. roms_tools/tests/test_setup/test_data/grid.zarr/angle/.zarray +22 -0
  652. roms_tools/tests/test_setup/test_data/grid.zarr/angle/.zattrs +9 -0
  653. roms_tools/tests/test_setup/test_data/grid.zarr/angle/0.0 +0 -0
  654. roms_tools/tests/test_setup/test_data/grid.zarr/angle_coarse/.zarray +22 -0
  655. roms_tools/tests/test_setup/test_data/grid.zarr/angle_coarse/.zattrs +9 -0
  656. roms_tools/tests/test_setup/test_data/grid.zarr/angle_coarse/0.0 +0 -0
  657. roms_tools/tests/test_setup/test_data/grid.zarr/f/.zarray +22 -0
  658. roms_tools/tests/test_setup/test_data/grid.zarr/f/.zattrs +9 -0
  659. roms_tools/tests/test_setup/test_data/grid.zarr/f/0.0 +0 -0
  660. roms_tools/tests/test_setup/test_data/grid.zarr/h/.zarray +22 -0
  661. roms_tools/tests/test_setup/test_data/grid.zarr/h/.zattrs +9 -0
  662. roms_tools/tests/test_setup/test_data/grid.zarr/h/0.0 +0 -0
  663. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_rho/.zarray +24 -0
  664. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_rho/.zattrs +9 -0
  665. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_rho/0.0.0 +0 -0
  666. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_u/.zarray +24 -0
  667. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_u/.zattrs +9 -0
  668. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_u/0.0.0 +0 -0
  669. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_v/.zarray +24 -0
  670. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_v/.zattrs +9 -0
  671. roms_tools/tests/test_setup/test_data/grid.zarr/interface_depth_v/0.0.0 +0 -0
  672. roms_tools/tests/test_setup/test_data/grid.zarr/lat_coarse/.zarray +22 -0
  673. roms_tools/tests/test_setup/test_data/grid.zarr/lat_coarse/.zattrs +8 -0
  674. roms_tools/tests/test_setup/test_data/grid.zarr/lat_coarse/0.0 +0 -0
  675. roms_tools/tests/test_setup/test_data/grid.zarr/lat_rho/.zarray +22 -0
  676. roms_tools/tests/test_setup/test_data/grid.zarr/lat_rho/.zattrs +8 -0
  677. roms_tools/tests/test_setup/test_data/grid.zarr/lat_rho/0.0 +0 -0
  678. roms_tools/tests/test_setup/test_data/grid.zarr/lat_u/.zarray +22 -0
  679. roms_tools/tests/test_setup/test_data/grid.zarr/lat_u/.zattrs +8 -0
  680. roms_tools/tests/test_setup/test_data/grid.zarr/lat_u/0.0 +0 -0
  681. roms_tools/tests/test_setup/test_data/grid.zarr/lat_v/.zarray +22 -0
  682. roms_tools/tests/test_setup/test_data/grid.zarr/lat_v/.zattrs +8 -0
  683. roms_tools/tests/test_setup/test_data/grid.zarr/lat_v/0.0 +0 -0
  684. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_rho/.zarray +24 -0
  685. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_rho/.zattrs +9 -0
  686. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_rho/0.0.0 +0 -0
  687. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_u/.zarray +24 -0
  688. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_u/.zattrs +9 -0
  689. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_u/0.0.0 +0 -0
  690. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_v/.zarray +24 -0
  691. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_v/.zattrs +9 -0
  692. roms_tools/tests/test_setup/test_data/grid.zarr/layer_depth_v/0.0.0 +0 -0
  693. roms_tools/tests/test_setup/test_data/grid.zarr/lon_coarse/.zarray +22 -0
  694. roms_tools/tests/test_setup/test_data/grid.zarr/lon_coarse/.zattrs +8 -0
  695. roms_tools/tests/test_setup/test_data/grid.zarr/lon_coarse/0.0 +0 -0
  696. roms_tools/tests/test_setup/test_data/grid.zarr/lon_rho/.zarray +22 -0
  697. roms_tools/tests/test_setup/test_data/grid.zarr/lon_rho/.zattrs +8 -0
  698. roms_tools/tests/test_setup/test_data/grid.zarr/lon_rho/0.0 +0 -0
  699. roms_tools/tests/test_setup/test_data/grid.zarr/lon_u/.zarray +22 -0
  700. roms_tools/tests/test_setup/test_data/grid.zarr/lon_u/.zattrs +8 -0
  701. roms_tools/tests/test_setup/test_data/grid.zarr/lon_u/0.0 +0 -0
  702. roms_tools/tests/test_setup/test_data/grid.zarr/lon_v/.zarray +22 -0
  703. roms_tools/tests/test_setup/test_data/grid.zarr/lon_v/.zattrs +8 -0
  704. roms_tools/tests/test_setup/test_data/grid.zarr/lon_v/0.0 +0 -0
  705. roms_tools/tests/test_setup/test_data/grid.zarr/mask_coarse/.zarray +22 -0
  706. roms_tools/tests/test_setup/test_data/grid.zarr/mask_coarse/.zattrs +9 -0
  707. roms_tools/tests/test_setup/test_data/grid.zarr/mask_coarse/0.0 +0 -0
  708. roms_tools/tests/test_setup/test_data/grid.zarr/mask_rho/.zarray +22 -0
  709. roms_tools/tests/test_setup/test_data/grid.zarr/mask_rho/.zattrs +9 -0
  710. roms_tools/tests/test_setup/test_data/grid.zarr/mask_rho/0.0 +0 -0
  711. roms_tools/tests/test_setup/test_data/grid.zarr/mask_u/.zarray +22 -0
  712. roms_tools/tests/test_setup/test_data/grid.zarr/mask_u/.zattrs +9 -0
  713. roms_tools/tests/test_setup/test_data/grid.zarr/mask_u/0.0 +0 -0
  714. roms_tools/tests/test_setup/test_data/grid.zarr/mask_v/.zarray +22 -0
  715. roms_tools/tests/test_setup/test_data/grid.zarr/mask_v/.zattrs +9 -0
  716. roms_tools/tests/test_setup/test_data/grid.zarr/mask_v/0.0 +0 -0
  717. roms_tools/tests/test_setup/test_data/grid.zarr/pm/.zarray +22 -0
  718. roms_tools/tests/test_setup/test_data/grid.zarr/pm/.zattrs +9 -0
  719. roms_tools/tests/test_setup/test_data/grid.zarr/pm/0.0 +0 -0
  720. roms_tools/tests/test_setup/test_data/grid.zarr/pn/.zarray +22 -0
  721. roms_tools/tests/test_setup/test_data/grid.zarr/pn/.zattrs +9 -0
  722. roms_tools/tests/test_setup/test_data/grid.zarr/pn/0.0 +0 -0
  723. roms_tools/tests/test_setup/test_data/grid.zarr/spherical/.zarray +10 -0
  724. roms_tools/tests/test_setup/test_data/grid.zarr/spherical/.zattrs +5 -0
  725. roms_tools/tests/test_setup/test_data/grid.zarr/spherical/0 +1 -0
  726. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/.zattrs +15 -0
  727. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/.zgroup +3 -0
  728. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/.zmetadata +840 -0
  729. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_r/.zarray +20 -0
  730. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_r/.zattrs +7 -0
  731. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_r/0 +0 -0
  732. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_w/.zarray +20 -0
  733. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_w/.zattrs +7 -0
  734. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/Cs_w/0 +0 -0
  735. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle/.zarray +22 -0
  736. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle/.zattrs +9 -0
  737. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle/0.0 +0 -0
  738. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle_coarse/.zarray +22 -0
  739. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle_coarse/.zattrs +9 -0
  740. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/angle_coarse/0.0 +0 -0
  741. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/f/.zarray +22 -0
  742. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/f/.zattrs +9 -0
  743. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/f/0.0 +0 -0
  744. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/h/.zarray +22 -0
  745. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/h/.zattrs +9 -0
  746. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/h/0.0 +0 -0
  747. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_rho/.zarray +24 -0
  748. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_rho/.zattrs +9 -0
  749. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_rho/0.0.0 +0 -0
  750. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_u/.zarray +24 -0
  751. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_u/.zattrs +9 -0
  752. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_u/0.0.0 +0 -0
  753. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_v/.zarray +24 -0
  754. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_v/.zattrs +9 -0
  755. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/interface_depth_v/0.0.0 +0 -0
  756. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_coarse/.zarray +22 -0
  757. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_coarse/.zattrs +8 -0
  758. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_coarse/0.0 +0 -0
  759. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_rho/.zarray +22 -0
  760. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_rho/.zattrs +8 -0
  761. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_rho/0.0 +0 -0
  762. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_u/.zarray +22 -0
  763. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_u/.zattrs +8 -0
  764. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_u/0.0 +0 -0
  765. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_v/.zarray +22 -0
  766. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_v/.zattrs +8 -0
  767. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lat_v/0.0 +0 -0
  768. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_rho/.zarray +24 -0
  769. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_rho/.zattrs +9 -0
  770. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_rho/0.0.0 +0 -0
  771. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_u/.zarray +24 -0
  772. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_u/.zattrs +9 -0
  773. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_u/0.0.0 +0 -0
  774. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_v/.zarray +24 -0
  775. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_v/.zattrs +9 -0
  776. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/layer_depth_v/0.0.0 +0 -0
  777. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_coarse/.zarray +22 -0
  778. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_coarse/.zattrs +8 -0
  779. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_coarse/0.0 +0 -0
  780. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_rho/.zarray +22 -0
  781. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_rho/.zattrs +8 -0
  782. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_rho/0.0 +0 -0
  783. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_u/.zarray +22 -0
  784. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_u/.zattrs +8 -0
  785. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_u/0.0 +0 -0
  786. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_v/.zarray +22 -0
  787. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_v/.zattrs +8 -0
  788. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/lon_v/0.0 +0 -0
  789. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_coarse/.zarray +22 -0
  790. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_coarse/.zattrs +9 -0
  791. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_coarse/0.0 +0 -0
  792. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_rho/.zarray +22 -0
  793. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_rho/.zattrs +9 -0
  794. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_rho/0.0 +0 -0
  795. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_u/.zarray +22 -0
  796. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_u/.zattrs +9 -0
  797. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_u/0.0 +0 -0
  798. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_v/.zarray +22 -0
  799. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_v/.zattrs +9 -0
  800. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/mask_v/0.0 +0 -0
  801. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pm/.zarray +22 -0
  802. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pm/.zattrs +9 -0
  803. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pm/0.0 +0 -0
  804. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pn/.zarray +22 -0
  805. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pn/.zattrs +9 -0
  806. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/pn/0.0 +0 -0
  807. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/spherical/.zarray +10 -0
  808. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/spherical/.zattrs +5 -0
  809. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/spherical/0 +1 -0
  810. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/.zattrs +11 -0
  811. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/.zgroup +3 -0
  812. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/.zmetadata +1598 -0
  813. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK/.zarray +26 -0
  814. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK/.zattrs +11 -0
  815. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK/0.0.0.0 +0 -0
  816. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK_ALT_CO2/.zarray +26 -0
  817. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK_ALT_CO2/.zattrs +11 -0
  818. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK_ALT_CO2/0.0.0.0 +0 -0
  819. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_r/.zarray +20 -0
  820. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_r/.zattrs +7 -0
  821. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_r/0 +0 -0
  822. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_w/.zarray +20 -0
  823. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_w/.zattrs +7 -0
  824. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Cs_w/0 +0 -0
  825. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC/.zarray +26 -0
  826. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC/.zattrs +11 -0
  827. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC/0.0.0.0 +0 -0
  828. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC_ALT_CO2/.zarray +26 -0
  829. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC_ALT_CO2/.zattrs +11 -0
  830. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC_ALT_CO2/0.0.0.0 +0 -0
  831. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOC/.zarray +26 -0
  832. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOC/.zattrs +11 -0
  833. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOC/0.0.0.0 +0 -0
  834. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOCr/.zarray +26 -0
  835. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOCr/.zattrs +11 -0
  836. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOCr/0.0.0.0 +0 -0
  837. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DON/.zarray +26 -0
  838. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DON/.zattrs +11 -0
  839. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DON/0.0.0.0 +0 -0
  840. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DONr/.zarray +26 -0
  841. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DONr/.zattrs +11 -0
  842. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DONr/0.0.0.0 +0 -0
  843. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOP/.zarray +26 -0
  844. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOP/.zattrs +11 -0
  845. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOP/0.0.0.0 +0 -0
  846. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOPr/.zarray +26 -0
  847. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOPr/.zattrs +11 -0
  848. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOPr/0.0.0.0 +0 -0
  849. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Fe/.zarray +26 -0
  850. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Fe/.zattrs +11 -0
  851. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Fe/0.0.0.0 +0 -0
  852. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Lig/.zarray +26 -0
  853. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Lig/.zattrs +11 -0
  854. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Lig/0.0.0.0 +0 -0
  855. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NH4/.zarray +26 -0
  856. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NH4/.zattrs +11 -0
  857. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NH4/0.0.0.0 +0 -0
  858. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NO3/.zarray +26 -0
  859. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NO3/.zattrs +11 -0
  860. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NO3/0.0.0.0 +0 -0
  861. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/O2/.zarray +26 -0
  862. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/O2/.zattrs +11 -0
  863. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/O2/0.0.0.0 +0 -0
  864. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/PO4/.zarray +26 -0
  865. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/PO4/.zattrs +11 -0
  866. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/PO4/0.0.0.0 +0 -0
  867. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/SiO3/.zarray +26 -0
  868. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/SiO3/.zattrs +11 -0
  869. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/SiO3/0.0.0.0 +0 -0
  870. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/abs_time/.zarray +20 -0
  871. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/abs_time/.zattrs +7 -0
  872. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/abs_time/0 +0 -0
  873. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatC/.zarray +26 -0
  874. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatC/.zattrs +11 -0
  875. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatC/0.0.0.0 +0 -0
  876. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatChl/.zarray +26 -0
  877. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatChl/.zattrs +11 -0
  878. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatChl/0.0.0.0 +0 -0
  879. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatFe/.zarray +26 -0
  880. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatFe/.zattrs +11 -0
  881. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatFe/0.0.0.0 +0 -0
  882. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatP/.zarray +26 -0
  883. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatP/.zattrs +11 -0
  884. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatP/0.0.0.0 +0 -0
  885. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatSi/.zarray +26 -0
  886. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatSi/.zattrs +11 -0
  887. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatSi/0.0.0.0 +0 -0
  888. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazC/.zarray +26 -0
  889. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazC/.zattrs +11 -0
  890. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazC/0.0.0.0 +0 -0
  891. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazChl/.zarray +26 -0
  892. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazChl/.zattrs +11 -0
  893. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazChl/0.0.0.0 +0 -0
  894. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazFe/.zarray +26 -0
  895. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazFe/.zattrs +11 -0
  896. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazFe/0.0.0.0 +0 -0
  897. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazP/.zarray +26 -0
  898. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazP/.zattrs +11 -0
  899. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazP/0.0.0.0 +0 -0
  900. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ocean_time/.zarray +20 -0
  901. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ocean_time/.zattrs +7 -0
  902. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ocean_time/0 +0 -0
  903. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/salt/.zarray +26 -0
  904. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/salt/.zattrs +11 -0
  905. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/salt/0.0.0.0 +0 -0
  906. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spC/.zarray +26 -0
  907. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spC/.zattrs +11 -0
  908. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spC/0.0.0.0 +0 -0
  909. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spCaCO3/.zarray +26 -0
  910. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spCaCO3/.zattrs +11 -0
  911. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spCaCO3/0.0.0.0 +0 -0
  912. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spChl/.zarray +26 -0
  913. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spChl/.zattrs +11 -0
  914. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spChl/0.0.0.0 +0 -0
  915. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spFe/.zarray +26 -0
  916. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spFe/.zattrs +11 -0
  917. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spFe/0.0.0.0 +0 -0
  918. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spP/.zarray +26 -0
  919. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spP/.zattrs +11 -0
  920. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spP/0.0.0.0 +0 -0
  921. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/temp/.zarray +26 -0
  922. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/temp/.zattrs +11 -0
  923. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/temp/0.0.0.0 +0 -0
  924. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/u/.zarray +26 -0
  925. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/u/.zattrs +11 -0
  926. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/u/0.0.0.0 +0 -0
  927. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ubar/.zarray +24 -0
  928. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ubar/.zattrs +10 -0
  929. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ubar/0.0.0 +0 -0
  930. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/v/.zarray +26 -0
  931. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/v/.zattrs +11 -0
  932. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/v/0.0.0.0 +0 -0
  933. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/vbar/.zarray +24 -0
  934. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/vbar/.zattrs +10 -0
  935. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/vbar/0.0.0 +0 -0
  936. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/w/.zarray +26 -0
  937. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/w/.zattrs +11 -0
  938. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/w/0.0.0.0 +0 -0
  939. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zeta/.zarray +24 -0
  940. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zeta/.zattrs +10 -0
  941. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zeta/0.0.0 +0 -0
  942. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zooC/.zarray +26 -0
  943. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zooC/.zattrs +11 -0
  944. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zooC/0.0.0.0 +0 -0
  945. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/.zattrs +11 -0
  946. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/.zgroup +3 -0
  947. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/.zmetadata +311 -0
  948. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/Tair/.zarray +24 -0
  949. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/Tair/.zattrs +10 -0
  950. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/Tair/0.0.0 +0 -0
  951. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/abs_time/.zarray +20 -0
  952. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/abs_time/.zattrs +7 -0
  953. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/abs_time/0 +0 -0
  954. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/lwrad/.zarray +24 -0
  955. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/lwrad/.zattrs +10 -0
  956. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/lwrad/0.0.0 +0 -0
  957. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/qair/.zarray +24 -0
  958. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/qair/.zattrs +10 -0
  959. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/qair/0.0.0 +0 -0
  960. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/rain/.zarray +24 -0
  961. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/rain/.zattrs +10 -0
  962. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/rain/0.0.0 +0 -0
  963. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/swrad/.zarray +24 -0
  964. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/swrad/.zattrs +10 -0
  965. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/swrad/0.0.0 +0 -0
  966. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/time/.zarray +20 -0
  967. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/time/.zattrs +7 -0
  968. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/time/0 +0 -0
  969. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/uwnd/.zarray +24 -0
  970. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/uwnd/.zattrs +10 -0
  971. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/uwnd/0.0.0 +0 -0
  972. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/vwnd/.zarray +24 -0
  973. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/vwnd/.zattrs +10 -0
  974. roms_tools/tests/test_setup/test_data/surface_forcing.zarr/vwnd/0.0.0 +0 -0
  975. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/.zattrs +7 -0
  976. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/.zgroup +3 -0
  977. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/.zmetadata +312 -0
  978. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/omega/.zarray +20 -0
  979. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/omega/.zattrs +5 -0
  980. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/omega/0 +0 -0
  981. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Im/.zarray +24 -0
  982. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Im/.zattrs +10 -0
  983. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Im/0.0.0 +0 -0
  984. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Re/.zarray +24 -0
  985. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Re/.zattrs +10 -0
  986. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/pot_Re/0.0.0 +0 -0
  987. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Im/.zarray +24 -0
  988. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Im/.zattrs +10 -0
  989. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Im/0.0.0 +0 -0
  990. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Re/.zarray +24 -0
  991. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Re/.zattrs +10 -0
  992. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/ssh_Re/0.0.0 +0 -0
  993. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Im/.zarray +24 -0
  994. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Im/.zattrs +10 -0
  995. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Im/0.0.0 +0 -0
  996. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Re/.zarray +24 -0
  997. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Re/.zattrs +10 -0
  998. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Re/0.0.0 +0 -0
  999. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Im/.zarray +24 -0
  1000. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Im/.zattrs +10 -0
  1001. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Im/0.0.0 +0 -0
  1002. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/.zarray +24 -0
  1003. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/.zattrs +10 -0
  1004. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/0.0.0 +0 -0
  1005. roms_tools/tests/test_setup/test_datasets.py +487 -0
  1006. roms_tools/tests/test_setup/test_fill.py +177 -0
  1007. roms_tools/tests/test_setup/test_grid.py +377 -0
  1008. roms_tools/tests/test_setup/test_initial_conditions.py +338 -0
  1009. roms_tools/tests/test_setup/test_surface_forcing.py +739 -0
  1010. roms_tools/tests/test_setup/test_tides.py +298 -0
  1011. roms_tools/tests/{test_topography.py → test_setup/test_topography.py} +0 -22
  1012. roms_tools/tests/test_setup/test_utils.py +16 -0
  1013. roms_tools/tests/test_setup/test_validation.py +72 -0
  1014. roms_tools/tests/test_setup/test_vertical_coordinate.py +95 -0
  1015. roms_tools/tests/test_utils.py +250 -11
  1016. roms_tools/utils.py +298 -0
  1017. {roms_tools-1.2.0.dist-info → roms_tools-1.4.0.dist-info}/METADATA +36 -8
  1018. roms_tools-1.4.0.dist-info/RECORD +1024 -0
  1019. {roms_tools-1.2.0.dist-info → roms_tools-1.4.0.dist-info}/WHEEL +1 -1
  1020. roms_tools/tests/test_boundary_forcing.py +0 -658
  1021. roms_tools/tests/test_datasets.py +0 -370
  1022. roms_tools/tests/test_grid.py +0 -403
  1023. roms_tools/tests/test_initial_conditions.py +0 -490
  1024. roms_tools/tests/test_surface_forcing.py +0 -2640
  1025. roms_tools/tests/test_tides.py +0 -365
  1026. roms_tools/tests/test_vertical_coordinate.py +0 -282
  1027. roms_tools-1.2.0.dist-info/RECORD +0 -31
  1028. {roms_tools-1.2.0.dist-info → roms_tools-1.4.0.dist-info}/LICENSE +0 -0
  1029. {roms_tools-1.2.0.dist-info → roms_tools-1.4.0.dist-info}/top_level.txt +0 -0
@@ -1,15 +1,16 @@
1
+ import re
1
2
  import xarray as xr
2
3
  from dataclasses import dataclass, field
3
4
  import glob
4
5
  from datetime import datetime, timedelta
5
6
  import numpy as np
6
- from typing import Dict, Optional
7
- import dask
7
+ from typing import Dict, Optional, Union, List
8
+ from pathlib import Path
8
9
  import warnings
9
10
  from roms_tools.setup.utils import (
10
11
  assign_dates_to_climatology,
11
12
  interpolate_from_climatology,
12
- is_cftime_datetime,
13
+ get_time_type,
13
14
  convert_cftime_to_datetime,
14
15
  )
15
16
  from roms_tools.setup.download import download_correction_data
@@ -22,8 +23,9 @@ class Dataset:
22
23
 
23
24
  Parameters
24
25
  ----------
25
- filename : str
26
- The path to the data files. Can contain wildcards.
26
+ filename : Union[str, Path, List[Union[str, Path]]]
27
+ The path to the data file(s). Can be a single string (with or without wildcards), a single Path object,
28
+ or a list of strings or Path objects containing multiple files.
27
29
  start_time : Optional[datetime], optional
28
30
  The start time for selecting relevant data. If not provided, the data is not filtered by start time.
29
31
  end_time : Optional[datetime], optional
@@ -35,6 +37,10 @@ class Dataset:
35
37
  Dictionary specifying the names of dimensions in the dataset.
36
38
  climatology : bool
37
39
  Indicates whether the dataset is climatological. Defaults to False.
40
+ use_dask: bool
41
+ Indicates whether to use dask for chunking. If True, data is loaded with dask; if False, data is loaded eagerly. Defaults to False.
42
+ apply_post_processing: bool
43
+ Indicates whether to post-process the dataset for futher use. Defaults to True.
38
44
 
39
45
  Attributes
40
46
  ----------
@@ -50,13 +56,9 @@ class Dataset:
50
56
  ... start_time=datetime(2022, 1, 1),
51
57
  ... end_time=datetime(2022, 12, 31),
52
58
  ... )
53
- >>> dataset.load_data()
54
- >>> print(dataset.ds)
55
- <xarray.Dataset>
56
- Dimensions: ...
57
59
  """
58
60
 
59
- filename: str
61
+ filename: Union[str, Path, List[Union[str, Path]]]
60
62
  start_time: Optional[datetime] = None
61
63
  end_time: Optional[datetime] = None
62
64
  var_names: Dict[str, str]
@@ -68,6 +70,8 @@ class Dataset:
68
70
  }
69
71
  )
70
72
  climatology: Optional[bool] = False
73
+ use_dask: Optional[bool] = True
74
+ apply_post_processing: Optional[bool] = True
71
75
 
72
76
  is_global: bool = field(init=False, repr=False)
73
77
  ds: xr.Dataset = field(init=False, repr=False)
@@ -78,11 +82,22 @@ class Dataset:
78
82
  1. Loads the dataset from the specified filename.
79
83
  2. Applies time filtering based on start_time and end_time if provided.
80
84
  3. Selects relevant fields as specified by var_names.
81
- 4. Ensures latitude values are in ascending order.
85
+ 4. Ensures latitude values and depth values are in ascending order.
82
86
  5. Checks if the dataset covers the entire globe and adjusts if necessary.
83
87
  """
84
88
 
89
+ # Validate start_time and end_time
90
+ if self.start_time is not None and not isinstance(self.start_time, datetime):
91
+ raise TypeError(
92
+ f"start_time must be a datetime object, but got {type(self.start_time).__name__}."
93
+ )
94
+ if self.end_time is not None and not isinstance(self.end_time, datetime):
95
+ raise TypeError(
96
+ f"end_time must be a datetime object, but got {type(self.end_time).__name__}."
97
+ )
98
+
85
99
  ds = self.load_data()
100
+ ds = self.clean_up(ds)
86
101
  self.check_dataset(ds)
87
102
 
88
103
  # Select relevant times
@@ -90,11 +105,18 @@ class Dataset:
90
105
  ds = self.add_time_info(ds)
91
106
  ds = self.select_relevant_times(ds)
92
107
 
108
+ if self.dim_names["time"] != "time":
109
+ ds = ds.rename({self.dim_names["time"]: "time"})
110
+
93
111
  # Select relevant fields
94
112
  ds = self.select_relevant_fields(ds)
95
113
 
96
114
  # Make sure that latitude is ascending
97
- ds = self.ensure_latitude_ascending(ds)
115
+ ds = self.ensure_dimension_is_ascending(ds, dim="latitude")
116
+
117
+ if "depth" in self.dim_names:
118
+ # Make sure that depth is ascending
119
+ ds = self.ensure_dimension_is_ascending(ds, dim="depth")
98
120
 
99
121
  # Check whether the data covers the entire globe
100
122
  object.__setattr__(self, "is_global", self.check_if_global(ds))
@@ -105,6 +127,9 @@ class Dataset:
105
127
 
106
128
  object.__setattr__(self, "ds", ds)
107
129
 
130
+ if self.apply_post_processing:
131
+ self.post_process()
132
+
108
133
  def load_data(self) -> xr.Dataset:
109
134
  """
110
135
  Load dataset from the specified file.
@@ -118,42 +143,125 @@ class Dataset:
118
143
  ------
119
144
  FileNotFoundError
120
145
  If the specified file does not exist.
146
+ ValueError
147
+ If a list of files is provided but self.dim_names["time"] is not available or use_dask=False.
121
148
  """
122
149
 
123
- # Check if the file exists
124
- matching_files = glob.glob(self.filename)
125
- if not matching_files:
126
- raise FileNotFoundError(
127
- f"No files found matching the pattern '{self.filename}'."
150
+ # Precompile the regex for matching wildcard characters
151
+ wildcard_regex = re.compile(r"[\*\?\[\]]")
152
+
153
+ # Convert Path objects to strings
154
+ if isinstance(self.filename, (str, Path)):
155
+ filename_str = str(self.filename)
156
+ elif isinstance(self.filename, list):
157
+ filename_str = [str(f) for f in self.filename]
158
+ else:
159
+ raise ValueError(
160
+ "filename must be a string, Path, or a list of strings/Paths."
128
161
  )
129
162
 
130
- # Load the dataset
131
- with dask.config.set(**{"array.slicing.split_large_chunks": False}):
132
- # Define the chunk sizes
163
+ # Handle the case when filename is a string
164
+ contains_wildcard = False
165
+ if isinstance(filename_str, str):
166
+ contains_wildcard = bool(wildcard_regex.search(filename_str))
167
+ if contains_wildcard:
168
+ matching_files = glob.glob(filename_str)
169
+ if not matching_files:
170
+ raise FileNotFoundError(
171
+ f"No files found matching the pattern '{filename_str}'."
172
+ )
173
+ else:
174
+ matching_files = [filename_str]
175
+
176
+ # Handle the case when filename is a list
177
+ elif isinstance(filename_str, list):
178
+ contains_wildcard = any(wildcard_regex.search(f) for f in filename_str)
179
+ if contains_wildcard:
180
+ matching_files = []
181
+ for f in filename_str:
182
+ files = glob.glob(f)
183
+ if not files:
184
+ raise FileNotFoundError(
185
+ f"No files found matching the pattern '{f}'."
186
+ )
187
+ matching_files.extend(files)
188
+ else:
189
+ matching_files = filename_str
190
+
191
+ # Check if time dimension is available when multiple files are provided
192
+ if isinstance(filename_str, list) and "time" not in self.dim_names:
193
+ raise ValueError(
194
+ "A list of files is provided, but time dimension is not available. "
195
+ "A time dimension must be available to concatenate the files."
196
+ )
197
+
198
+ # Determine the kwargs for combining datasets
199
+ if contains_wildcard or len(matching_files) == 1:
200
+ # If there is a wildcard or just one file, use by_coords
201
+ kwargs = {"combine": "by_coords"}
202
+ else:
203
+ # Otherwise, use nested combine based on time
204
+ kwargs = {"combine": "nested", "concat_dim": self.dim_names["time"]}
205
+
206
+ # Base kwargs used for dataset combination
207
+ combine_kwargs = {
208
+ "coords": "minimal",
209
+ "compat": "override",
210
+ "combine_attrs": "override",
211
+ }
212
+
213
+ if self.use_dask:
214
+
133
215
  chunks = {
134
216
  self.dim_names["latitude"]: -1,
135
217
  self.dim_names["longitude"]: -1,
136
218
  }
137
- if "depth" in self.dim_names.keys():
219
+ if "depth" in self.dim_names:
138
220
  chunks[self.dim_names["depth"]] = -1
139
- if "time" in self.dim_names.keys():
221
+ if "time" in self.dim_names:
140
222
  chunks[self.dim_names["time"]] = 1
141
223
 
142
- ds = xr.open_mfdataset(
143
- self.filename,
144
- combine="nested",
145
- concat_dim=self.dim_names["time"],
146
- coords="minimal",
147
- compat="override",
148
- chunks=chunks,
149
- engine="netcdf4",
150
- )
151
- else:
152
- ds = xr.open_dataset(
153
- self.filename,
154
- chunks=chunks,
224
+ ds = xr.open_mfdataset(
225
+ matching_files,
226
+ chunks=chunks,
227
+ **combine_kwargs,
228
+ **kwargs,
229
+ )
230
+ else:
231
+ ds_list = []
232
+ for file in matching_files:
233
+ ds = xr.open_dataset(file, chunks=None)
234
+ ds_list.append(ds)
235
+
236
+ if kwargs["combine"] == "by_coords":
237
+ ds = xr.combine_by_coords(ds_list, **combine_kwargs)
238
+ elif kwargs["combine"] == "nested":
239
+ ds = xr.combine_nested(
240
+ ds_list, concat_dim=kwargs["concat_dim"], **combine_kwargs
155
241
  )
156
242
 
243
+ if "time" in self.dim_names and self.dim_names["time"] not in ds.dims:
244
+ ds = ds.expand_dims(self.dim_names["time"])
245
+
246
+ return ds
247
+
248
+ def clean_up(self, ds: xr.Dataset) -> xr.Dataset:
249
+ """
250
+ Dummy method to be overridden by child classes to clean up the dataset.
251
+
252
+ This method is intended as a placeholder and should be implemented in subclasses
253
+ to provide specific functionality.
254
+
255
+ Parameters
256
+ ----------
257
+ ds : xr.Dataset
258
+ The xarray Dataset to be cleaned up.
259
+
260
+ Returns
261
+ -------
262
+ xr.Dataset
263
+ The xarray Dataset cleaned up (as implemented by child classes).
264
+ """
157
265
  return ds
158
266
 
159
267
  def check_dataset(self, ds: xr.Dataset) -> None:
@@ -206,8 +314,6 @@ class Dataset:
206
314
 
207
315
  return ds
208
316
 
209
- import xarray as xr
210
-
211
317
  def add_time_info(self, ds: xr.Dataset) -> xr.Dataset:
212
318
  """
213
319
  Dummy method to be overridden by child classes to add time information to the dataset.
@@ -229,97 +335,163 @@ class Dataset:
229
335
 
230
336
  def select_relevant_times(self, ds) -> xr.Dataset:
231
337
  """
232
- Selects and returns the subset of the dataset corresponding to the specified time range.
338
+ Select a subset of the dataset based on the specified time range.
339
+
340
+ This method filters the dataset to include all records between `start_time` and `end_time`.
341
+ Additionally, it ensures that one record at or before `start_time` and one record at or
342
+ after `end_time` are included, even if they fall outside the strict time range.
233
343
 
234
- This function filters the dataset to include only the data points within the specified
235
- time range, defined by `self.start_time` and `self.end_time`. If `self.end_time` is not
236
- provided, it defaults to one day after `self.start_time`.
344
+ If no `end_time` is specified, the method will select the time range of
345
+ [start_time, start_time + 24 hours] and return the closest time entry to `start_time` within that range.
237
346
 
238
347
  Parameters
239
348
  ----------
240
349
  ds : xr.Dataset
241
- The input dataset to be filtered.
350
+ The input dataset to be filtered. Must contain a time dimension.
242
351
 
243
352
  Returns
244
353
  -------
245
354
  xr.Dataset
246
- A dataset containing only the data points within the specified time range.
355
+ A dataset filtered to the specified time range, including the closest entries
356
+ at or before `start_time` and at or after `end_time` if applicable.
247
357
 
248
358
  Raises
249
359
  ------
250
360
  ValueError
251
- If no matching times are found or if the number of matching times does not meet expectations.
361
+ If no matching times are found between `start_time` and `start_time + 24 hours`.
252
362
 
253
363
  Warns
254
364
  -----
255
365
  UserWarning
256
- If the dataset contains only 12 time steps but the climatology flag is not set.
366
+ If the dataset contains exactly 12 time steps but the climatology flag is not set.
257
367
  This may indicate that the dataset represents climatology data.
368
+
369
+ UserWarning
370
+ If no records at or before `start_time` or no records at or after `end_time` are found.
371
+
372
+ UserWarning
373
+ If the dataset does not contain any time dimension or the time dimension is incorrectly named.
374
+
375
+ Notes
376
+ -----
377
+ - If the `climatology` flag is set and `end_time` is not provided, the method will
378
+ interpolate initial conditions from climatology data.
379
+ - If the dataset uses `cftime` datetime objects, these will be converted to standard
380
+ `np.datetime64` objects before filtering.
258
381
  """
259
382
 
260
383
  time_dim = self.dim_names["time"]
261
- if time_dim in ds.coords or time_dim in ds.data_vars:
384
+ if time_dim in ds.variables:
262
385
  if self.climatology:
386
+ if len(ds[time_dim]) != 12:
387
+ raise ValueError(
388
+ f"The dataset contains {len(ds[time_dim])} time steps, but the climatology flag is set to True, which requires exactly 12 time steps."
389
+ )
263
390
  if not self.end_time:
264
391
  # Interpolate from climatology for initial conditions
265
392
  ds = interpolate_from_climatology(
266
393
  ds, self.dim_names["time"], self.start_time
267
394
  )
268
395
  else:
269
- if len(ds[time_dim]) == 12:
270
- warnings.warn(
271
- "The dataset contains exactly 12 time steps. This may indicate that it is "
272
- "climatological data. Please verify if climatology is appropriate for your "
273
- "analysis and set the climatology flag to True."
396
+ time_type = get_time_type(ds[time_dim])
397
+ if time_type == "int":
398
+ raise ValueError(
399
+ "The dataset contains integer time values, which are only supported when the climatology flag is set to True. However, your climatology flag is set to False."
274
400
  )
275
- if is_cftime_datetime(ds[time_dim]):
401
+ if time_type == "cftime":
276
402
  ds = ds.assign_coords(
277
403
  {time_dim: convert_cftime_to_datetime(ds[time_dim])}
278
404
  )
279
- if not self.end_time:
280
- end_time = self.start_time + timedelta(days=1)
281
- else:
405
+ if self.end_time:
282
406
  end_time = self.end_time
283
407
 
284
- times = (np.datetime64(self.start_time) <= ds[time_dim]) & (
285
- ds[time_dim] < np.datetime64(end_time)
286
- )
287
- ds = ds.where(times, drop=True)
408
+ # Identify records before or at start_time
409
+ before_start = ds[time_dim] <= np.datetime64(self.start_time)
410
+ if before_start.any():
411
+ closest_before_start = (
412
+ ds[time_dim].where(before_start, drop=True).max()
413
+ )
414
+ else:
415
+ warnings.warn("No records found at or before the start_time.")
416
+ closest_before_start = ds[time_dim].min()
417
+
418
+ # Identify records after or at end_time
419
+ after_end = ds[time_dim] >= np.datetime64(end_time)
420
+ if after_end.any():
421
+ closest_after_end = (
422
+ ds[time_dim].where(after_end, drop=True).min()
423
+ )
424
+ else:
425
+ warnings.warn("No records found at or after the end_time.")
426
+ closest_after_end = ds[time_dim].max()
427
+
428
+ # Select records within the time range and add the closest before/after
429
+ within_range = (ds[time_dim] > np.datetime64(self.start_time)) & (
430
+ ds[time_dim] < np.datetime64(end_time)
431
+ )
432
+ selected_times = ds[time_dim].where(
433
+ within_range
434
+ | (ds[time_dim] == closest_before_start)
435
+ | (ds[time_dim] == closest_after_end),
436
+ drop=True,
437
+ )
438
+ ds = ds.sel({time_dim: selected_times})
439
+ else:
440
+ # Look in time range [self.start_time, self.start_time + 24h]
441
+ end_time = self.start_time + timedelta(days=1)
442
+ times = (np.datetime64(self.start_time) <= ds[time_dim]) & (
443
+ ds[time_dim] < np.datetime64(end_time)
444
+ )
445
+ if np.all(~times):
446
+ raise ValueError(
447
+ f"The dataset does not contain any time entries between the specified start_time: {self.start_time} "
448
+ f"and {self.start_time + timedelta(hours=24)}. "
449
+ "Please ensure the dataset includes time entries for that range."
450
+ )
451
+
452
+ ds = ds.where(times, drop=True)
453
+ if ds.sizes[time_dim] > 1:
454
+ # Pick the time closest to self.start_time
455
+ ds = ds.isel({time_dim: 0})
456
+ print(
457
+ f"Selected time entry closest to the specified start_time ({self.start_time}) within the range [{self.start_time}, {self.start_time + timedelta(hours=24)}]: {ds[time_dim].values}"
458
+ )
288
459
  else:
289
460
  warnings.warn(
290
461
  "Dataset does not contain any time information. Please check if the time dimension "
291
462
  "is correctly named or if the dataset includes time data."
292
463
  )
293
- if not ds.sizes[time_dim]:
294
- raise ValueError("No matching times found in the dataset.")
295
-
296
- if not self.end_time:
297
- if ds.sizes[time_dim] != 1:
298
- found_times = ds.sizes[time_dim]
299
- raise ValueError(
300
- f"There must be exactly one time matching the start_time. Found {found_times} matching times."
301
- )
302
464
 
303
465
  return ds
304
466
 
305
- def ensure_latitude_ascending(self, ds: xr.Dataset) -> xr.Dataset:
467
+ def ensure_dimension_is_ascending(
468
+ self, ds: xr.Dataset, dim="latitude"
469
+ ) -> xr.Dataset:
306
470
  """
307
- Ensure that the latitude dimension is in ascending order.
471
+ Ensure that the specified dimension in the dataset is in ascending order.
472
+
473
+ If the values along the specified dimension are in descending order, this function reverses the order of the dimension to make it ascending.
308
474
 
309
475
  Parameters
310
476
  ----------
311
477
  ds : xr.Dataset
312
- The xarray Dataset to check.
478
+ The input `xarray.Dataset` whose dimension is to be checked and, if necessary, reordered.
479
+ dim : str, optional
480
+ The name of the dimension to check for ascending order.
481
+ Defaults to "latitude". The dimension is expected to be one of the keys in `self.dim_names`.
313
482
 
314
483
  Returns
315
484
  -------
316
- ds : xr.Dataset
317
- The xarray Dataset with latitude in ascending order.
485
+ xr.Dataset
486
+ A new `xarray.Dataset` with the specified dimension in ascending order.
487
+ If the dimension was already in ascending order, the original dataset is returned unchanged.
488
+ If the dimension was in descending order, the dataset is returned with the dimension reversed.
489
+
318
490
  """
319
491
  # Make sure that latitude is ascending
320
- lat_diff = np.diff(ds[self.dim_names["latitude"]])
321
- if np.all(lat_diff < 0):
322
- ds = ds.isel(**{self.dim_names["latitude"]: slice(None, None, -1)})
492
+ diff = np.diff(ds[self.dim_names[dim]])
493
+ if np.all(diff < 0):
494
+ ds = ds.isel(**{self.dim_names[dim]: slice(None, None, -1)})
323
495
 
324
496
  return ds
325
497
 
@@ -384,7 +556,11 @@ class Dataset:
384
556
  field = ds[var]
385
557
  field_concatenated = xr.concat(
386
558
  [field, field, field], dim=self.dim_names["longitude"]
387
- ).chunk({self.dim_names["longitude"]: -1})
559
+ )
560
+ if self.use_dask:
561
+ field_concatenated = field_concatenated.chunk(
562
+ {self.dim_names["longitude"]: -1}
563
+ )
388
564
  field_concatenated[self.dim_names["longitude"]] = lon_concatenated
389
565
  ds_concatenated[var] = field_concatenated
390
566
  else:
@@ -392,6 +568,17 @@ class Dataset:
392
568
 
393
569
  return ds_concatenated
394
570
 
571
+ def post_process(self):
572
+ """
573
+ Placeholder method to be overridden by subclasses for dataset post-processing.
574
+
575
+ Returns
576
+ -------
577
+ None
578
+ This method does not return any value. Subclasses are expected to modify the dataset in-place.
579
+ """
580
+ pass
581
+
395
582
  def choose_subdomain(
396
583
  self, latitude_range, longitude_range, margin, straddle, return_subdomain=False
397
584
  ):
@@ -489,19 +676,6 @@ class Dataset:
489
676
  else:
490
677
  object.__setattr__(self, "ds", subdomain)
491
678
 
492
- def convert_to_negative_depth(self):
493
- """
494
- Converts the depth values in the dataset to negative if they are non-negative.
495
-
496
- This method checks the values in the depth dimension of the dataset (`self.ds[self.dim_names["depth"]]`).
497
- If all values are greater than or equal to zero, it negates them and updates the dataset accordingly.
498
-
499
- """
500
- depth = self.ds[self.dim_names["depth"]]
501
-
502
- if (depth >= 0).all():
503
- self.ds[self.dim_names["depth"]] = -depth
504
-
505
679
 
506
680
  @dataclass(frozen=True, kw_only=True)
507
681
  class TPXODataset(Dataset):
@@ -557,11 +731,29 @@ class TPXODataset(Dataset):
557
731
  ds: xr.Dataset = field(init=False, repr=False)
558
732
  reference_date: datetime = datetime(1992, 1, 1)
559
733
 
560
- def __post_init__(self):
561
- # Perform any necessary dataset initialization or modifications here
562
- ds = super().load_data()
734
+ def clean_up(self, ds: xr.Dataset) -> xr.Dataset:
735
+ """
736
+ Clean up and standardize the dimensions and coordinates of the dataset for further processing.
737
+
738
+ This method performs the following operations:
739
+ - Assigns new coordinate variables for 'omega', 'longitude', and 'latitude' based on existing dataset variables.
740
+ - 'omega' is retained as it is.
741
+ - 'longitude' is derived from 'lon_r', assuming it is constant along the 'ny' dimension.
742
+ - 'latitude' is derived from 'lat_r', assuming it is constant along the 'nx' dimension.
743
+ - Renames the dimensions 'nx' and 'ny' to 'longitude' and 'latitude', respectively, for consistency.
744
+ - Renames the tidal dimension to 'ntides' for standardization.
745
+ - Updates the `dim_names` attribute of the object to reflect the new dimension names: 'longitude', 'latitude', and 'ntides'.
746
+
747
+ Parameters
748
+ ----------
749
+ ds : xr.Dataset
750
+ The input dataset to be cleaned and standardized. It should contain the coordinates 'omega', 'lon_r', 'lat_r', and the tidal dimension.
563
751
 
564
- # Clean up dataset
752
+ Returns
753
+ -------
754
+ ds : xr.Dataset
755
+ A cleaned and standardized `xarray.Dataset` with updated coordinates and dimensions.
756
+ """
565
757
  ds = ds.assign_coords(
566
758
  {
567
759
  "omega": ds["omega"],
@@ -573,7 +765,9 @@ class TPXODataset(Dataset):
573
765
  ), # lat_r is constant along nx, i.e., is only a function of ny
574
766
  }
575
767
  )
576
- ds = ds.rename({"nx": "longitude", "ny": "latitude"})
768
+ ds = ds.rename(
769
+ {"nx": "longitude", "ny": "latitude", self.dim_names["ntides"]: "ntides"}
770
+ )
577
771
 
578
772
  object.__setattr__(
579
773
  self,
@@ -581,25 +775,11 @@ class TPXODataset(Dataset):
581
775
  {
582
776
  "latitude": "latitude",
583
777
  "longitude": "longitude",
584
- "ntides": self.dim_names["ntides"],
778
+ "ntides": "ntides",
585
779
  },
586
780
  )
587
- self.check_dataset(ds)
588
781
 
589
- # Select relevant fields
590
- ds = super().select_relevant_fields(ds)
591
-
592
- # Make sure that latitude is ascending
593
- ds = super().ensure_latitude_ascending(ds)
594
-
595
- # Check whether the data covers the entire globe
596
- object.__setattr__(self, "is_global", super().check_if_global(ds))
597
-
598
- # If dataset is global concatenate three copies of field along longitude dimension
599
- if self.is_global:
600
- ds = super().concatenate_longitudes(ds)
601
-
602
- object.__setattr__(self, "ds", ds)
782
+ return ds
603
783
 
604
784
  def check_number_constituents(self, ntides: int):
605
785
  """
@@ -620,6 +800,29 @@ class TPXODataset(Dataset):
620
800
  f"The dataset contains fewer than {ntides} tidal constituents."
621
801
  )
622
802
 
803
+ def post_process(self):
804
+ """
805
+ Apply a depth-based mask to the dataset, ensuring only positive depths are retained.
806
+
807
+ This method checks if the 'depth' variable is present in the dataset. If found, a mask is created where
808
+ depths greater than 0 are considered valid (mask value of 1). This mask is applied to all data variables
809
+ in the dataset, replacing values at invalid depths (depth ≤ 0) with NaN. The mask itself is also stored
810
+ in the dataset under the variable 'mask'.
811
+
812
+ Returns
813
+ -------
814
+ None
815
+ The dataset is modified in-place by applying the mask to each variable.
816
+ """
817
+
818
+ if "depth" in self.var_names.keys():
819
+ mask = xr.where(self.ds["depth"] > 0, 1, 0)
820
+
821
+ for var in self.ds.data_vars:
822
+ self.ds[var] = xr.where(mask == 1, self.ds[var], np.nan)
823
+
824
+ self.ds["mask"] = mask
825
+
623
826
 
624
827
  @dataclass(frozen=True, kw_only=True)
625
828
  class GLORYSDataset(Dataset):
@@ -669,6 +872,33 @@ class GLORYSDataset(Dataset):
669
872
 
670
873
  climatology: Optional[bool] = False
671
874
 
875
+ def post_process(self):
876
+ """
877
+ Apply a mask to the dataset based on the 'zeta' variable, with 0 where 'zeta' is NaN.
878
+
879
+ This method creates a mask based on the
880
+ first time step (time=0) of 'zeta'. The mask has 1 for valid data and 0 where 'zeta' is NaN. This mask is applied
881
+ to all data variables, replacing values with NaN where 'zeta' is NaN at time=0.
882
+ The mask itself is stored in the dataset under the variable 'mask'.
883
+
884
+ Returns
885
+ -------
886
+ None
887
+ The dataset is modified in-place by applying the mask to each variable.
888
+
889
+ """
890
+
891
+ mask = xr.where(
892
+ self.ds[self.var_names["zeta"]].isel({self.dim_names["time"]: 0}).isnull(),
893
+ 0,
894
+ 1,
895
+ )
896
+
897
+ for var in self.ds.data_vars:
898
+ self.ds[var] = xr.where(mask == 1, self.ds[var], np.nan)
899
+
900
+ self.ds["mask"] = mask
901
+
672
902
 
673
903
  @dataclass(frozen=True, kw_only=True)
674
904
  class CESMDataset(Dataset):
@@ -689,62 +919,37 @@ class CESMDataset(Dataset):
689
919
  dim_names: Dict[str, str], optional
690
920
  Dictionary specifying the names of dimensions in the dataset.
691
921
  climatology : bool
692
- Indicates whether the dataset is climatological. Defaults to True.
922
+ Indicates whether the dataset is climatological. Defaults to False.
693
923
 
694
924
  Attributes
695
925
  ----------
696
926
  ds : xr.Dataset
697
- The xarray Dataset containing the GLORYS data on its original grid.
927
+ The xarray Dataset containing the CESM data on its original grid.
698
928
  """
699
929
 
700
- # overwrite load_data method from parent class
701
- def load_data(self) -> xr.Dataset:
930
+ # overwrite clean_up method from parent class
931
+ def clean_up(self, ds: xr.Dataset) -> xr.Dataset:
702
932
  """
703
- Load dataset from the specified file.
933
+ Ensure the dataset's time dimension is correctly defined and standardized.
934
+
935
+ This method verifies that the time dimension exists in the dataset and assigns it appropriately. If the "time" dimension is missing, the method attempts to assign an existing "time" or "month" dimension. If neither exists, it expands the dataset to include a "time" dimension with a size of one.
704
936
 
705
937
  Returns
706
938
  -------
707
939
  ds : xr.Dataset
708
- The loaded xarray Dataset containing the forcing data.
940
+ The xarray Dataset with the correct time dimension assigned or added.
709
941
 
710
- Raises
711
- ------
712
- FileNotFoundError
713
- If the specified file does not exist.
714
942
  """
715
943
 
716
- # Check if the file exists
717
- matching_files = glob.glob(self.filename)
718
- if not matching_files:
719
- raise FileNotFoundError(
720
- f"No files found matching the pattern '{self.filename}'."
721
- )
722
-
723
- # Load the dataset
724
- with dask.config.set(**{"array.slicing.split_large_chunks": False}):
725
- # Define the chunk sizes
726
- chunks = {
727
- self.dim_names["latitude"]: -1,
728
- self.dim_names["longitude"]: -1,
729
- }
730
-
731
- ds = xr.open_mfdataset(
732
- self.filename,
733
- combine="nested",
734
- coords="minimal",
735
- compat="override",
736
- chunks=chunks,
737
- engine="netcdf4",
738
- )
739
- if "time" not in self.dim_names:
740
- if "time" in ds.dims:
741
- self.dim_names["time"] = "time"
944
+ if "time" not in self.dim_names:
945
+ if "time" in ds.dims:
946
+ self.dim_names["time"] = "time"
947
+ else:
948
+ if "month" in ds.dims:
949
+ self.dim_names["time"] = "month"
742
950
  else:
743
- if "month" in ds.dims:
744
- self.dim_names["time"] = "month"
745
- else:
746
- ds = ds.expand_dims({"time": 1})
747
- self.dim_names["time"] = "time"
951
+ ds = ds.expand_dims({"time": 1})
952
+ self.dim_names["time"] = "time"
748
953
 
749
954
  return ds
750
955
 
@@ -803,12 +1008,12 @@ class CESMBGCDataset(CESMDataset):
803
1008
  dim_names: Dict[str, str], optional
804
1009
  Dictionary specifying the names of dimensions in the dataset.
805
1010
  climatology : bool
806
- Indicates whether the dataset is climatological. Defaults to True.
1011
+ Indicates whether the dataset is climatological. Defaults to False.
807
1012
 
808
1013
  Attributes
809
1014
  ----------
810
1015
  ds : xr.Dataset
811
- The xarray Dataset containing the GLORYS data on its original grid.
1016
+ The xarray Dataset containing the CESM data on its original grid.
812
1017
  """
813
1018
 
814
1019
  var_names: Dict[str, str] = field(
@@ -856,24 +1061,27 @@ class CESMBGCDataset(CESMDataset):
856
1061
  }
857
1062
  )
858
1063
 
859
- climatology: Optional[bool] = True
1064
+ climatology: Optional[bool] = False
860
1065
 
861
1066
  def post_process(self):
862
1067
  """
863
1068
  Processes and converts CESM data values as follows:
864
1069
  - Convert depth values from cm to m.
1070
+ - Apply a mask to the dataset based on the 'P04' variable at the surface.
865
1071
  """
866
-
867
1072
  if self.dim_names["depth"] == "z_t":
868
1073
  # Fill variables that only have data in upper 150m with NaNs below
869
1074
  if (
870
1075
  "z_t_150m" in self.ds.dims
871
- and np.equal(self.ds.z_t[:15].values, self.ds.z_t_150m.values).all()
1076
+ and np.equal(
1077
+ self.ds.z_t[: len(self.ds.z_t_150m)].values, self.ds.z_t_150m.values
1078
+ ).all()
872
1079
  ):
873
1080
  for var in self.var_names:
874
1081
  if "z_t_150m" in self.ds[var].dims:
875
1082
  self.ds[var] = self.ds[var].rename({"z_t_150m": "z_t"})
876
- self.ds[var] = self.ds[var].chunk({"z_t": -1})
1083
+ if self.use_dask:
1084
+ self.ds[var] = self.ds[var].chunk({"z_t": -1})
877
1085
  # Convert depth from cm to m
878
1086
  ds = self.ds.assign_coords({"depth": self.ds["z_t"] / 100})
879
1087
  ds["depth"].attrs["long_name"] = "Depth"
@@ -891,6 +1099,19 @@ class CESMBGCDataset(CESMDataset):
891
1099
  updated_dim_names["depth"] = "depth"
892
1100
  object.__setattr__(self, "dim_names", updated_dim_names)
893
1101
 
1102
+ mask = xr.where(
1103
+ self.ds[self.var_names["PO4"]]
1104
+ .isel({self.dim_names["time"]: 0, self.dim_names["depth"]: 0})
1105
+ .isnull(),
1106
+ 0,
1107
+ 1,
1108
+ )
1109
+
1110
+ for var in self.ds.data_vars:
1111
+ self.ds[var] = xr.where(mask == 1, self.ds[var], np.nan)
1112
+
1113
+ self.ds["mask"] = mask
1114
+
894
1115
 
895
1116
  @dataclass(frozen=True, kw_only=True)
896
1117
  class CESMBGCSurfaceForcingDataset(CESMDataset):
@@ -916,7 +1137,7 @@ class CESMBGCSurfaceForcingDataset(CESMDataset):
916
1137
  Attributes
917
1138
  ----------
918
1139
  ds : xr.Dataset
919
- The xarray Dataset containing the GLORYS data on its original grid.
1140
+ The xarray Dataset containing the CESM data on its original grid.
920
1141
  """
921
1142
 
922
1143
  var_names: Dict[str, str] = field(
@@ -952,6 +1173,19 @@ class CESMBGCSurfaceForcingDataset(CESMDataset):
952
1173
  ds = self.ds.drop_vars("z_t")
953
1174
  object.__setattr__(self, "ds", ds)
954
1175
 
1176
+ mask = xr.where(
1177
+ self.ds[self.var_names["pco2_air"]]
1178
+ .isel({self.dim_names["time"]: 0})
1179
+ .isnull(),
1180
+ 0,
1181
+ 1,
1182
+ )
1183
+
1184
+ for var in self.ds.data_vars:
1185
+ self.ds[var] = xr.where(mask == 1, self.ds[var], np.nan)
1186
+
1187
+ self.ds["mask"] = mask
1188
+
955
1189
 
956
1190
  @dataclass(frozen=True, kw_only=True)
957
1191
  class ERA5Dataset(Dataset):
@@ -977,7 +1211,7 @@ class ERA5Dataset(Dataset):
977
1211
  Attributes
978
1212
  ----------
979
1213
  ds : xr.Dataset
980
- The xarray Dataset containing the GLORYS data on its original grid.
1214
+ The xarray Dataset containing the ERA5 data on its original grid.
981
1215
  """
982
1216
 
983
1217
  var_names: Dict[str, str] = field(
@@ -1010,6 +1244,7 @@ class ERA5Dataset(Dataset):
1010
1244
  - Convert rainfall from meters to cm/day.
1011
1245
  - Convert temperature from Kelvin to Celsius.
1012
1246
  - Compute relative humidity if not present, convert to absolute humidity.
1247
+ - Use SST to create mask.
1013
1248
  """
1014
1249
  # Translate radiation to fluxes. ERA5 stores values integrated over 1 hour.
1015
1250
  # Convert radiation from J/m^2 to W/m^2
@@ -1061,6 +1296,8 @@ class ERA5Dataset(Dataset):
1061
1296
  for var in self.ds.data_vars:
1062
1297
  self.ds[var] = xr.where(mask == 1, self.ds[var], np.nan)
1063
1298
 
1299
+ self.ds["mask"] = mask
1300
+
1064
1301
 
1065
1302
  @dataclass(frozen=True, kw_only=True)
1066
1303
  class ERA5Correction(Dataset):