roms-tools 3.2.0__py3-none-any.whl → 3.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 (318) hide show
  1. roms_tools/__init__.py +1 -1
  2. roms_tools/analysis/cdr_ensemble.py +10 -13
  3. roms_tools/analysis/roms_output.py +5 -304
  4. roms_tools/{download.py → datasets/download.py} +1 -0
  5. roms_tools/{setup/datasets.py → datasets/lat_lon_datasets.py} +85 -854
  6. roms_tools/datasets/river_datasets.py +532 -0
  7. roms_tools/datasets/roms_dataset.py +767 -0
  8. roms_tools/datasets/utils.py +475 -0
  9. roms_tools/{setup/fill.py → fill.py} +110 -13
  10. roms_tools/plot.py +42 -34
  11. roms_tools/setup/boundary_forcing.py +52 -44
  12. roms_tools/setup/cdr_release.py +2 -4
  13. roms_tools/setup/grid.py +42 -17
  14. roms_tools/setup/initial_conditions.py +23 -23
  15. roms_tools/setup/nesting.py +270 -94
  16. roms_tools/setup/river_forcing.py +5 -5
  17. roms_tools/setup/surface_forcing.py +17 -12
  18. roms_tools/setup/tides.py +1 -1
  19. roms_tools/setup/topography.py +13 -7
  20. roms_tools/setup/utils.py +103 -294
  21. roms_tools/tests/test_analysis/test_cdr_ensemble.py +4 -6
  22. roms_tools/tests/test_analysis/test_roms_output.py +1 -220
  23. roms_tools/tests/{test_setup/test_datasets.py → test_datasets/test_lat_lon_datasets.py} +25 -64
  24. roms_tools/tests/test_datasets/test_river_datasets.py +48 -0
  25. roms_tools/tests/test_datasets/test_roms_dataset.py +539 -0
  26. roms_tools/tests/test_datasets/test_utils.py +527 -0
  27. roms_tools/tests/{test_setup/test_fill.py → test_fill.py} +72 -9
  28. roms_tools/tests/test_setup/test_boundary_forcing.py +57 -138
  29. roms_tools/tests/test_setup/test_cdr_release.py +4 -5
  30. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_east/c/0/0/0 +0 -0
  31. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_north/c/0/0/0 +0 -0
  32. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_east/c/0/0/0 +0 -0
  33. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_north/c/0/0/0 +0 -0
  34. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_east/c/0/0/0 +0 -0
  35. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_north/c/0/0/0 +0 -0
  36. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_east/c/0/0/0 +0 -0
  37. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_north/c/0/0/0 +0 -0
  38. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_east/c/0/0/0 +0 -0
  39. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_north/c/0/0/0 +0 -0
  40. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_east/c/0/0/0 +0 -0
  41. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_north/c/0/0/0 +0 -0
  42. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_east/c/0/0/0 +0 -0
  43. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_north/c/0/0/0 +0 -0
  44. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_east/c/0/0/0 +0 -0
  45. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_north/c/0/0/0 +0 -0
  46. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_east/c/0/0/0 +0 -0
  47. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_north/c/0/0/0 +0 -0
  48. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_east/c/0/0/0 +0 -0
  49. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_north/c/0/0/0 +0 -0
  50. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_east/c/0/0/0 +0 -0
  51. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_north/c/0/0/0 +0 -0
  52. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_east/c/0/0/0 +0 -0
  53. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_north/c/0/0/0 +0 -0
  54. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_east/c/0/0/0 +0 -0
  55. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_north/c/0/0/0 +0 -0
  56. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_east/c/0/0/0 +0 -0
  57. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_north/c/0/0/0 +0 -0
  58. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_east/c/0/0/0 +0 -0
  59. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_north/c/0/0/0 +0 -0
  60. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_east/c/0/0/0 +0 -0
  61. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_north/c/0/0/0 +0 -0
  62. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_east/c/0/0/0 +0 -0
  63. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_north/c/0/0/0 +0 -0
  64. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_east/c/0/0/0 +0 -0
  65. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_north/c/0/0/0 +0 -0
  66. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_east/c/0/0/0 +0 -0
  67. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_north/c/0/0/0 +0 -0
  68. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_east/c/0/0/0 +0 -0
  69. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_north/c/0/0/0 +0 -0
  70. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_east/c/0/0/0 +0 -0
  71. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_north/c/0/0/0 +0 -0
  72. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_east/c/0/0/0 +0 -0
  73. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_north/c/0/0/0 +0 -0
  74. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_east/c/0/0/0 +0 -0
  75. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_north/c/0/0/0 +0 -0
  76. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_east/c/0/0/0 +0 -0
  77. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_north/c/0/0/0 +0 -0
  78. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_east/c/0/0/0 +0 -0
  79. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_north/c/0/0/0 +0 -0
  80. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_east/c/0/0/0 +0 -0
  81. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_north/c/0/0/0 +0 -0
  82. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_east/c/0/0/0 +0 -0
  83. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_north/c/0/0/0 +0 -0
  84. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_east/c/0/0/0 +0 -0
  85. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_north/c/0/0/0 +0 -0
  86. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_east/c/0/0/0 +0 -0
  87. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_north/c/0/0/0 +0 -0
  88. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_east/c/0/0/0 +0 -0
  89. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_north/c/0/0/0 +0 -0
  90. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_east/c/0/0/0 +0 -0
  91. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_north/c/0/0/0 +0 -0
  92. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zarr.json +289 -2017
  93. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_east/c/0/0/0 +0 -0
  94. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_north/c/0/0/0 +0 -0
  95. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/zarr.json +294 -2022
  96. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_east/c/0/0/0 +0 -0
  97. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_north/c/0/0/0 +0 -0
  98. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_south/c/0/0/0 +0 -0
  99. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/salt_west/c/0/0/0 +0 -0
  100. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_east/c/0/0/0 +0 -0
  101. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_north/c/0/0/0 +0 -0
  102. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_south/c/0/0/0 +0 -0
  103. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/temp_west/c/0/0/0 +0 -0
  104. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_east/c/0/0/0 +0 -0
  105. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_north/c/0/0/0 +0 -0
  106. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_south/c/0/0/0 +0 -0
  107. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/u_west/c/0/0/0 +0 -0
  108. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_east/c/0/0 +0 -0
  109. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_north/c/0/0 +0 -0
  110. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_south/c/0/0 +0 -0
  111. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/ubar_west/c/0/0 +0 -0
  112. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_east/c/0/0/0 +0 -0
  113. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_north/c/0/0/0 +0 -0
  114. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_south/c/0/0/0 +0 -0
  115. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/v_west/c/0/0/0 +0 -0
  116. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_east/c/0/0 +0 -0
  117. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_north/c/0/0 +0 -0
  118. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_south/c/0/0 +0 -0
  119. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/vbar_west/c/0/0 +0 -0
  120. roms_tools/tests/test_setup/test_data/boundary_forcing.zarr/zarr.json +182 -182
  121. roms_tools/tests/test_setup/test_data/grid.zarr/h/c/0/0 +0 -0
  122. roms_tools/tests/test_setup/test_data/grid.zarr/zarr.json +191 -191
  123. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/h/c/0/0 +0 -0
  124. roms_tools/tests/test_setup/test_data/grid_that_straddles_dateline.zarr/zarr.json +210 -210
  125. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK/c/0/0/0/0 +0 -0
  126. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ALK_ALT_CO2/c/0/0/0/0 +0 -0
  127. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC/c/0/0/0/0 +0 -0
  128. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DIC_ALT_CO2/c/0/0/0/0 +0 -0
  129. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOC/c/0/0/0/0 +0 -0
  130. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOCr/c/0/0/0/0 +0 -0
  131. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DON/c/0/0/0/0 +0 -0
  132. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DONr/c/0/0/0/0 +0 -0
  133. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOP/c/0/0/0/0 +0 -0
  134. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/DOPr/c/0/0/0/0 +0 -0
  135. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Fe/c/0/0/0/0 +0 -0
  136. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/Lig/c/0/0/0/0 +0 -0
  137. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NH4/c/0/0/0/0 +0 -0
  138. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/NO3/c/0/0/0/0 +0 -0
  139. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/O2/c/0/0/0/0 +0 -0
  140. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/PO4/c/0/0/0/0 +0 -0
  141. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/SiO3/c/0/0/0/0 +0 -0
  142. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatC/c/0/0/0/0 +0 -0
  143. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatChl/c/0/0/0/0 +0 -0
  144. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatFe/c/0/0/0/0 +0 -0
  145. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatP/c/0/0/0/0 +0 -0
  146. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diatSi/c/0/0/0/0 +0 -0
  147. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazC/c/0/0/0/0 +0 -0
  148. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazChl/c/0/0/0/0 +0 -0
  149. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazFe/c/0/0/0/0 +0 -0
  150. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/diazP/c/0/0/0/0 +0 -0
  151. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/salt/c/0/0/0/0 +0 -0
  152. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spC/c/0/0/0/0 +0 -0
  153. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spCaCO3/c/0/0/0/0 +0 -0
  154. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spChl/c/0/0/0/0 +0 -0
  155. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spFe/c/0/0/0/0 +0 -0
  156. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/spP/c/0/0/0/0 +0 -0
  157. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/temp/c/0/0/0/0 +0 -0
  158. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/u/c/0/0/0/0 +0 -0
  159. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/ubar/c/0/0/0 +0 -0
  160. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/v/c/0/0/0/0 +0 -0
  161. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/vbar/c/0/0/0 +0 -0
  162. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zarr.json +182 -182
  163. roms_tools/tests/test_setup/test_data/initial_conditions_with_bgc_from_climatology.zarr/zooC/c/0/0/0/0 +0 -0
  164. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/salt/c/0/0/0/0 +0 -0
  165. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/temp/c/0/0/0/0 +0 -0
  166. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/u/c/0/0/0/0 +0 -0
  167. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/ubar/c/0/0/0 +0 -0
  168. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/v/c/0/0/0/0 +0 -0
  169. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/vbar/c/0/0/0 +0 -0
  170. roms_tools/tests/test_setup/test_data/initial_conditions_with_unified_bgc_from_climatology.zarr/zarr.json +187 -187
  171. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Im/c/0/0/0 +0 -0
  172. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/u_Re/c/0/0/0 +0 -0
  173. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Im/c/0/0/0 +0 -0
  174. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/c/0/0/0 +0 -0
  175. roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/zarr.json +66 -66
  176. roms_tools/tests/test_setup/test_grid.py +56 -1
  177. roms_tools/tests/test_setup/test_initial_conditions.py +3 -94
  178. roms_tools/tests/test_setup/test_nesting.py +119 -30
  179. roms_tools/tests/test_setup/test_surface_forcing.py +2 -2
  180. roms_tools/tests/test_setup/test_tides.py +1 -1
  181. roms_tools/tests/test_setup/test_utils.py +100 -15
  182. roms_tools/tests/test_tiling/test_partition.py +63 -15
  183. roms_tools/tests/test_utils.py +78 -0
  184. roms_tools/tiling/partition.py +81 -211
  185. roms_tools/utils.py +193 -0
  186. {roms_tools-3.2.0.dist-info → roms_tools-3.4.0.dist-info}/METADATA +1 -1
  187. {roms_tools-3.2.0.dist-info → roms_tools-3.4.0.dist-info}/RECORD +190 -312
  188. {roms_tools-3.2.0.dist-info → roms_tools-3.4.0.dist-info}/WHEEL +1 -1
  189. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_west/c/0/0/0 +0 -0
  190. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_ALT_CO2_west/zarr.json +0 -54
  191. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_west/c/0/0/0 +0 -0
  192. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/ALK_west/zarr.json +0 -54
  193. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_west/c/0/0/0 +0 -0
  194. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_ALT_CO2_west/zarr.json +0 -54
  195. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_west/c/0/0/0 +0 -0
  196. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DIC_west/zarr.json +0 -54
  197. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_west/c/0/0/0 +0 -0
  198. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOC_west/zarr.json +0 -54
  199. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_west/c/0/0/0 +0 -0
  200. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOCr_west/zarr.json +0 -54
  201. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_west/c/0/0/0 +0 -0
  202. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DON_west/zarr.json +0 -54
  203. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_west/c/0/0/0 +0 -0
  204. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DONr_west/zarr.json +0 -54
  205. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_west/c/0/0/0 +0 -0
  206. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOP_west/zarr.json +0 -54
  207. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_west/c/0/0/0 +0 -0
  208. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/DOPr_west/zarr.json +0 -54
  209. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_west/c/0/0/0 +0 -0
  210. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Fe_west/zarr.json +0 -54
  211. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_west/c/0/0/0 +0 -0
  212. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/Lig_west/zarr.json +0 -54
  213. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_west/c/0/0/0 +0 -0
  214. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NH4_west/zarr.json +0 -54
  215. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_west/c/0/0/0 +0 -0
  216. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/NO3_west/zarr.json +0 -54
  217. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_west/c/0/0/0 +0 -0
  218. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/O2_west/zarr.json +0 -54
  219. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_west/c/0/0/0 +0 -0
  220. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/PO4_west/zarr.json +0 -54
  221. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_west/c/0/0/0 +0 -0
  222. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/SiO3_west/zarr.json +0 -54
  223. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_west/c/0/0/0 +0 -0
  224. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatC_west/zarr.json +0 -54
  225. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_west/c/0/0/0 +0 -0
  226. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatChl_west/zarr.json +0 -54
  227. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_west/c/0/0/0 +0 -0
  228. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatFe_west/zarr.json +0 -54
  229. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_west/c/0/0/0 +0 -0
  230. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatP_west/zarr.json +0 -54
  231. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_west/c/0/0/0 +0 -0
  232. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diatSi_west/zarr.json +0 -54
  233. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_west/c/0/0/0 +0 -0
  234. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazC_west/zarr.json +0 -54
  235. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_west/c/0/0/0 +0 -0
  236. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazChl_west/zarr.json +0 -54
  237. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_west/c/0/0/0 +0 -0
  238. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazFe_west/zarr.json +0 -54
  239. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_west/c/0/0/0 +0 -0
  240. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/diazP_west/zarr.json +0 -54
  241. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_west/c/0/0/0 +0 -0
  242. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spC_west/zarr.json +0 -54
  243. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_west/c/0/0/0 +0 -0
  244. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spCaCO3_west/zarr.json +0 -54
  245. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_west/c/0/0/0 +0 -0
  246. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spChl_west/zarr.json +0 -54
  247. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_west/c/0/0/0 +0 -0
  248. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spFe_west/zarr.json +0 -54
  249. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_west/c/0/0/0 +0 -0
  250. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/spP_west/zarr.json +0 -54
  251. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_west/c/0/0/0 +0 -0
  252. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_climatology.zarr/zooC_west/zarr.json +0 -54
  253. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/ALK_ALT_CO2_west/c/0/0/0 +0 -0
  254. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/ALK_ALT_CO2_west/zarr.json +0 -54
  255. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/ALK_west/c/0/0/0 +0 -0
  256. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/ALK_west/zarr.json +0 -54
  257. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DIC_ALT_CO2_west/c/0/0/0 +0 -0
  258. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DIC_ALT_CO2_west/zarr.json +0 -54
  259. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DIC_west/c/0/0/0 +0 -0
  260. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DIC_west/zarr.json +0 -54
  261. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOC_west/c/0/0/0 +0 -0
  262. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOC_west/zarr.json +0 -54
  263. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOCr_west/c/0/0/0 +0 -0
  264. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOCr_west/zarr.json +0 -54
  265. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DON_west/c/0/0/0 +0 -0
  266. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DON_west/zarr.json +0 -54
  267. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DONr_west/c/0/0/0 +0 -0
  268. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DONr_west/zarr.json +0 -54
  269. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOP_west/c/0/0/0 +0 -0
  270. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOP_west/zarr.json +0 -54
  271. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOPr_west/c/0/0/0 +0 -0
  272. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/DOPr_west/zarr.json +0 -54
  273. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/Fe_west/c/0/0/0 +0 -0
  274. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/Fe_west/zarr.json +0 -54
  275. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/Lig_west/c/0/0/0 +0 -0
  276. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/Lig_west/zarr.json +0 -54
  277. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/NH4_west/c/0/0/0 +0 -0
  278. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/NH4_west/zarr.json +0 -54
  279. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/NO3_west/c/0/0/0 +0 -0
  280. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/NO3_west/zarr.json +0 -54
  281. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/O2_west/c/0/0/0 +0 -0
  282. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/O2_west/zarr.json +0 -54
  283. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/PO4_west/c/0/0/0 +0 -0
  284. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/PO4_west/zarr.json +0 -54
  285. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/SiO3_west/c/0/0/0 +0 -0
  286. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/SiO3_west/zarr.json +0 -54
  287. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatC_west/c/0/0/0 +0 -0
  288. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatC_west/zarr.json +0 -54
  289. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatChl_west/c/0/0/0 +0 -0
  290. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatChl_west/zarr.json +0 -54
  291. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatFe_west/c/0/0/0 +0 -0
  292. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatFe_west/zarr.json +0 -54
  293. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatP_west/c/0/0/0 +0 -0
  294. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatP_west/zarr.json +0 -54
  295. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatSi_west/c/0/0/0 +0 -0
  296. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diatSi_west/zarr.json +0 -54
  297. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazC_west/c/0/0/0 +0 -0
  298. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazC_west/zarr.json +0 -54
  299. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazChl_west/c/0/0/0 +0 -0
  300. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazChl_west/zarr.json +0 -54
  301. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazFe_west/c/0/0/0 +0 -0
  302. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazFe_west/zarr.json +0 -54
  303. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazP_west/c/0/0/0 +0 -0
  304. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/diazP_west/zarr.json +0 -54
  305. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spC_west/c/0/0/0 +0 -0
  306. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spC_west/zarr.json +0 -54
  307. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spCaCO3_west/c/0/0/0 +0 -0
  308. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spCaCO3_west/zarr.json +0 -54
  309. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spChl_west/c/0/0/0 +0 -0
  310. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spChl_west/zarr.json +0 -54
  311. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spFe_west/c/0/0/0 +0 -0
  312. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spFe_west/zarr.json +0 -54
  313. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spP_west/c/0/0/0 +0 -0
  314. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/spP_west/zarr.json +0 -54
  315. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/zooC_west/c/0/0/0 +0 -0
  316. roms_tools/tests/test_setup/test_data/bgc_boundary_forcing_from_unified_climatology.zarr/zooC_west/zarr.json +0 -54
  317. {roms_tools-3.2.0.dist-info → roms_tools-3.4.0.dist-info}/licenses/LICENSE +0 -0
  318. {roms_tools-3.2.0.dist-info → roms_tools-3.4.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "attributes": {
3
3
  "title": "ROMS tidal forcing created by ROMS-Tools",
4
- "roms_tools_version": "2.6.1.dev52+gd44fe5da",
4
+ "roms_tools_version": "3.1.3.dev32+g91d580e67.d20250929",
5
5
  "source": "TPXO",
6
6
  "model_reference_date": "2000-01-01 00:00:00"
7
7
  },
@@ -10,20 +10,21 @@
10
10
  "kind": "inline",
11
11
  "must_understand": false,
12
12
  "metadata": {
13
- "v_Im": {
13
+ "ntides": {
14
14
  "shape": [
15
- 1,
16
- 4,
17
- 5
15
+ 1
18
16
  ],
19
- "data_type": "float32",
17
+ "data_type": {
18
+ "name": "null_terminated_bytes",
19
+ "configuration": {
20
+ "length_bytes": 3
21
+ }
22
+ },
20
23
  "chunk_grid": {
21
24
  "name": "regular",
22
25
  "configuration": {
23
26
  "chunk_shape": [
24
- 1,
25
- 4,
26
- 5
27
+ 1
27
28
  ]
28
29
  }
29
30
  },
@@ -33,13 +34,10 @@
33
34
  "separator": "/"
34
35
  }
35
36
  },
36
- "fill_value": 0.0,
37
+ "fill_value": "",
37
38
  "codecs": [
38
39
  {
39
- "name": "bytes",
40
- "configuration": {
41
- "endian": "little"
42
- }
40
+ "name": "bytes"
43
41
  },
44
42
  {
45
43
  "name": "zstd",
@@ -50,35 +48,29 @@
50
48
  }
51
49
  ],
52
50
  "attributes": {
53
- "long_name": "Tidal velocity in y-direction, complex part",
54
- "units": "m/s",
55
- "coordinates": "omega",
56
- "_FillValue": "AAAAAAAA+H8="
51
+ "long_name": "constituent label"
57
52
  },
58
53
  "dimension_names": [
59
- "ntides",
60
- "eta_v",
61
- "xi_rho"
54
+ "ntides"
62
55
  ],
63
56
  "zarr_format": 3,
64
57
  "node_type": "array",
65
58
  "storage_transformers": []
66
59
  },
67
- "ntides": {
60
+ "pot_Im": {
68
61
  "shape": [
69
- 1
62
+ 1,
63
+ 5,
64
+ 5
70
65
  ],
71
- "data_type": {
72
- "name": "null_terminated_bytes",
73
- "configuration": {
74
- "length_bytes": 3
75
- }
76
- },
66
+ "data_type": "float32",
77
67
  "chunk_grid": {
78
68
  "name": "regular",
79
69
  "configuration": {
80
70
  "chunk_shape": [
81
- 1
71
+ 1,
72
+ 5,
73
+ 5
82
74
  ]
83
75
  }
84
76
  },
@@ -88,10 +80,13 @@
88
80
  "separator": "/"
89
81
  }
90
82
  },
91
- "fill_value": "",
83
+ "fill_value": 0.0,
92
84
  "codecs": [
93
85
  {
94
- "name": "bytes"
86
+ "name": "bytes",
87
+ "configuration": {
88
+ "endian": "little"
89
+ }
95
90
  },
96
91
  {
97
92
  "name": "zstd",
@@ -102,16 +97,21 @@
102
97
  }
103
98
  ],
104
99
  "attributes": {
105
- "long_name": "constituent label"
100
+ "long_name": "Tidal potential, complex part",
101
+ "units": "m",
102
+ "coordinates": "omega",
103
+ "_FillValue": "AAAAAAAA+H8="
106
104
  },
107
105
  "dimension_names": [
108
- "ntides"
106
+ "ntides",
107
+ "eta_rho",
108
+ "xi_rho"
109
109
  ],
110
110
  "zarr_format": 3,
111
111
  "node_type": "array",
112
112
  "storage_transformers": []
113
113
  },
114
- "ssh_Re": {
114
+ "pot_Re": {
115
115
  "shape": [
116
116
  1,
117
117
  5,
@@ -151,7 +151,7 @@
151
151
  }
152
152
  ],
153
153
  "attributes": {
154
- "long_name": "Tidal elevation, real part",
154
+ "long_name": "Tidal potential, real part",
155
155
  "units": "m",
156
156
  "coordinates": "omega",
157
157
  "_FillValue": "AAAAAAAA+H8="
@@ -165,10 +165,10 @@
165
165
  "node_type": "array",
166
166
  "storage_transformers": []
167
167
  },
168
- "pot_Im": {
168
+ "v_Im": {
169
169
  "shape": [
170
170
  1,
171
- 5,
171
+ 4,
172
172
  5
173
173
  ],
174
174
  "data_type": "float32",
@@ -177,7 +177,7 @@
177
177
  "configuration": {
178
178
  "chunk_shape": [
179
179
  1,
180
- 5,
180
+ 4,
181
181
  5
182
182
  ]
183
183
  }
@@ -205,24 +205,24 @@
205
205
  }
206
206
  ],
207
207
  "attributes": {
208
- "long_name": "Tidal potential, complex part",
209
- "units": "m",
208
+ "long_name": "Tidal velocity in y-direction, complex part",
209
+ "units": "m/s",
210
210
  "coordinates": "omega",
211
211
  "_FillValue": "AAAAAAAA+H8="
212
212
  },
213
213
  "dimension_names": [
214
214
  "ntides",
215
- "eta_rho",
215
+ "eta_v",
216
216
  "xi_rho"
217
217
  ],
218
218
  "zarr_format": 3,
219
219
  "node_type": "array",
220
220
  "storage_transformers": []
221
221
  },
222
- "ssh_Im": {
222
+ "v_Re": {
223
223
  "shape": [
224
224
  1,
225
- 5,
225
+ 4,
226
226
  5
227
227
  ],
228
228
  "data_type": "float32",
@@ -231,7 +231,7 @@
231
231
  "configuration": {
232
232
  "chunk_shape": [
233
233
  1,
234
- 5,
234
+ 4,
235
235
  5
236
236
  ]
237
237
  }
@@ -259,24 +259,24 @@
259
259
  }
260
260
  ],
261
261
  "attributes": {
262
- "long_name": "Tidal elevation, complex part",
263
- "units": "m",
262
+ "long_name": "Tidal velocity in y-direction, real part",
263
+ "units": "m/s",
264
264
  "coordinates": "omega",
265
265
  "_FillValue": "AAAAAAAA+H8="
266
266
  },
267
267
  "dimension_names": [
268
268
  "ntides",
269
- "eta_rho",
269
+ "eta_v",
270
270
  "xi_rho"
271
271
  ],
272
272
  "zarr_format": 3,
273
273
  "node_type": "array",
274
274
  "storage_transformers": []
275
275
  },
276
- "v_Re": {
276
+ "ssh_Re": {
277
277
  "shape": [
278
278
  1,
279
- 4,
279
+ 5,
280
280
  5
281
281
  ],
282
282
  "data_type": "float32",
@@ -285,7 +285,7 @@
285
285
  "configuration": {
286
286
  "chunk_shape": [
287
287
  1,
288
- 4,
288
+ 5,
289
289
  5
290
290
  ]
291
291
  }
@@ -313,14 +313,14 @@
313
313
  }
314
314
  ],
315
315
  "attributes": {
316
- "long_name": "Tidal velocity in y-direction, real part",
317
- "units": "m/s",
316
+ "long_name": "Tidal elevation, real part",
317
+ "units": "m",
318
318
  "coordinates": "omega",
319
319
  "_FillValue": "AAAAAAAA+H8="
320
320
  },
321
321
  "dimension_names": [
322
322
  "ntides",
323
- "eta_v",
323
+ "eta_rho",
324
324
  "xi_rho"
325
325
  ],
326
326
  "zarr_format": 3,
@@ -428,11 +428,11 @@
428
428
  "node_type": "array",
429
429
  "storage_transformers": []
430
430
  },
431
- "u_Im": {
431
+ "ssh_Im": {
432
432
  "shape": [
433
433
  1,
434
434
  5,
435
- 4
435
+ 5
436
436
  ],
437
437
  "data_type": "float32",
438
438
  "chunk_grid": {
@@ -441,7 +441,7 @@
441
441
  "chunk_shape": [
442
442
  1,
443
443
  5,
444
- 4
444
+ 5
445
445
  ]
446
446
  }
447
447
  },
@@ -468,25 +468,25 @@
468
468
  }
469
469
  ],
470
470
  "attributes": {
471
- "long_name": "Tidal velocity in x-direction, complex part",
472
- "units": "m/s",
471
+ "long_name": "Tidal elevation, complex part",
472
+ "units": "m",
473
473
  "coordinates": "omega",
474
474
  "_FillValue": "AAAAAAAA+H8="
475
475
  },
476
476
  "dimension_names": [
477
477
  "ntides",
478
478
  "eta_rho",
479
- "xi_u"
479
+ "xi_rho"
480
480
  ],
481
481
  "zarr_format": 3,
482
482
  "node_type": "array",
483
483
  "storage_transformers": []
484
484
  },
485
- "pot_Re": {
485
+ "u_Im": {
486
486
  "shape": [
487
487
  1,
488
488
  5,
489
- 5
489
+ 4
490
490
  ],
491
491
  "data_type": "float32",
492
492
  "chunk_grid": {
@@ -495,7 +495,7 @@
495
495
  "chunk_shape": [
496
496
  1,
497
497
  5,
498
- 5
498
+ 4
499
499
  ]
500
500
  }
501
501
  },
@@ -522,15 +522,15 @@
522
522
  }
523
523
  ],
524
524
  "attributes": {
525
- "long_name": "Tidal potential, real part",
526
- "units": "m",
525
+ "long_name": "Tidal velocity in x-direction, complex part",
526
+ "units": "m/s",
527
527
  "coordinates": "omega",
528
528
  "_FillValue": "AAAAAAAA+H8="
529
529
  },
530
530
  "dimension_names": [
531
531
  "ntides",
532
532
  "eta_rho",
533
- "xi_rho"
533
+ "xi_u"
534
534
  ],
535
535
  "zarr_format": 3,
536
536
  "node_type": "array",
@@ -18,7 +18,7 @@ from roms_tools.constants import (
18
18
  UPPER_BOUND_THETA_B,
19
19
  UPPER_BOUND_THETA_S,
20
20
  )
21
- from roms_tools.download import download_test_data
21
+ from roms_tools.datasets.download import download_test_data
22
22
  from roms_tools.setup.topography import _compute_rfactor
23
23
 
24
24
  try:
@@ -121,6 +121,25 @@ def grid_that_straddles_180_degree_meridian_with_global_srtm15_data():
121
121
  return grid
122
122
 
123
123
 
124
+ @pytest.fixture()
125
+ def grid_with_emod_data():
126
+ grid = Grid(
127
+ nx=2,
128
+ ny=2,
129
+ size_x=32,
130
+ size_y=19.2,
131
+ center_lon=-21.68,
132
+ center_lat=64.325,
133
+ rot=0,
134
+ topography_source={
135
+ "name": "EMOD",
136
+ "path": download_test_data("EMODnet_C2_coarse100.nc"),
137
+ },
138
+ )
139
+
140
+ return grid
141
+
142
+
124
143
  @pytest.fixture()
125
144
  def grid_with_gshhs_coastlines():
126
145
  iceland_fjord_kwargs = {
@@ -203,6 +222,7 @@ def test_coords_relation(grid_fixture, request):
203
222
  "grid_that_straddles_dateline_with_global_srtm15_data",
204
223
  "grid_that_straddles_180_degree_meridian_with_global_srtm15_data",
205
224
  "grid_with_gshhs_coastlines",
225
+ "grid_with_emod_data",
206
226
  ],
207
227
  )
208
228
  def test_successful_initialization_with_topography(grid_fixture, request):
@@ -236,6 +256,20 @@ def test_plot(grid_that_straddles_180_degree_meridian):
236
256
  grid_that_straddles_180_degree_meridian.plot(with_dim_names=True)
237
257
 
238
258
 
259
+ def test_plot_wide_grid():
260
+ # This grid should be handled via different cartopy projection
261
+ grid = Grid(
262
+ nx=10,
263
+ ny=10,
264
+ size_x=15000,
265
+ size_y=15000,
266
+ center_lon=-161,
267
+ center_lat=14.4,
268
+ rot=-3,
269
+ )
270
+ grid.plot()
271
+
272
+
239
273
  @pytest.mark.skipif(xesmf is None, reason="xesmf required")
240
274
  def test_plot_along_lat_lon(grid_that_straddles_180_degree_meridian):
241
275
  grid_that_straddles_180_degree_meridian.plot(lat=61)
@@ -330,6 +364,7 @@ def test_grid_straddle_crosses_meridian():
330
364
  "grid_that_straddles_dateline_with_shifted_global_etopo_data",
331
365
  "grid_that_straddles_dateline_with_global_srtm15_data",
332
366
  "grid_with_gshhs_coastlines",
367
+ "grid_with_emod_data",
333
368
  ],
334
369
  )
335
370
  def test_roundtrip_netcdf(grid_fixture, tmp_path, request):
@@ -365,6 +400,7 @@ def test_roundtrip_netcdf(grid_fixture, tmp_path, request):
365
400
  "grid_that_straddles_dateline_with_shifted_global_etopo_data",
366
401
  "grid_that_straddles_dateline_with_global_srtm15_data",
367
402
  "grid_with_gshhs_coastlines",
403
+ "grid_with_emod_data",
368
404
  ],
369
405
  )
370
406
  def test_roundtrip_yaml(grid_fixture, tmp_path, request):
@@ -397,6 +433,7 @@ def test_roundtrip_yaml(grid_fixture, tmp_path, request):
397
433
  "grid_that_straddles_dateline_with_shifted_global_etopo_data",
398
434
  "grid_that_straddles_dateline_with_global_srtm15_data",
399
435
  "grid_with_gshhs_coastlines",
436
+ "grid_with_emod_data",
400
437
  ],
401
438
  )
402
439
  def test_roundtrip_from_file_yaml(grid_fixture, tmp_path, request):
@@ -427,6 +464,7 @@ def test_roundtrip_from_file_yaml(grid_fixture, tmp_path, request):
427
464
  "grid_that_straddles_dateline_with_shifted_global_etopo_data",
428
465
  "grid_that_straddles_dateline_with_global_srtm15_data",
429
466
  "grid_with_gshhs_coastlines",
467
+ "grid_with_emod_data",
430
468
  ],
431
469
  )
432
470
  def test_files_have_same_hash(grid_fixture, tmp_path, request):
@@ -727,6 +765,23 @@ def test_hmin_criterion_and_update_topography():
727
765
  assert np.less_equal(grid.hmin, grid.ds.h.min())
728
766
 
729
767
 
768
+ def test_update_topography_raises_if_grid_loaded_from_file_has_no_source_info():
769
+ fname = download_test_data("grid_created_with_matlab.nc")
770
+ grid = Grid.from_file(fname)
771
+
772
+ with pytest.raises(
773
+ ValueError,
774
+ match="Topography source information is not available",
775
+ ):
776
+ grid.update_topography(hmin=15)
777
+
778
+ with pytest.raises(
779
+ ValueError,
780
+ match="Minimal ocean depth is not available",
781
+ ):
782
+ grid.update_topography(topography_source={"name": "ETOPO5"})
783
+
784
+
730
785
  # Mask tests
731
786
 
732
787
 
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import textwrap
3
2
  from datetime import datetime
4
3
  from pathlib import Path
@@ -10,8 +9,8 @@ import xarray as xr
10
9
 
11
10
  from conftest import calculate_data_hash
12
11
  from roms_tools import Grid, InitialConditions
13
- from roms_tools.download import download_test_data
14
- from roms_tools.setup.datasets import (
12
+ from roms_tools.datasets.download import download_test_data
13
+ from roms_tools.datasets.lat_lon_datasets import (
15
14
  CESMBGCDataset,
16
15
  UnifiedBGCDataset,
17
16
  )
@@ -46,9 +45,7 @@ def example_grid():
46
45
  "ic_fixture",
47
46
  [
48
47
  "initial_conditions",
49
- "initial_conditions_adjusted_for_zeta",
50
48
  "initial_conditions_with_bgc",
51
- "initial_conditions_with_bgc_adjusted_for_zeta",
52
49
  "initial_conditions_with_bgc_from_climatology",
53
50
  "initial_conditions_with_unified_bgc_from_climatology",
54
51
  ],
@@ -66,6 +63,7 @@ def test_initial_conditions_creation_with_nondefault_glorys_dataset(
66
63
  "climatology": False,
67
64
  }
68
65
  assert hasattr(ic.ds, "adjust_depth_for_sea_surface_height")
66
+ assert ic.ds.attrs["adjust_depth_for_sea_surface_height"] == "False"
69
67
  assert isinstance(ic.ds, xr.Dataset)
70
68
  assert ic.ds.coords["ocean_time"].attrs["units"] == "seconds"
71
69
  expected_vars = {"temp", "salt", "u", "v", "zeta", "ubar", "vbar"}
@@ -171,7 +169,6 @@ def test_initial_conditions_creation_with_duplicates(use_dask: bool) -> None:
171
169
  "ic_fixture",
172
170
  [
173
171
  "initial_conditions_with_bgc",
174
- "initial_conditions_with_bgc_adjusted_for_zeta",
175
172
  "initial_conditions_with_bgc_from_climatology",
176
173
  "initial_conditions_with_unified_bgc_from_climatology",
177
174
  ],
@@ -303,90 +300,6 @@ def test_initial_conditions_default_bgc_climatology(example_grid, use_dask):
303
300
  assert initial_conditions.bgc_source["climatology"] is False
304
301
 
305
302
 
306
- def test_info_depth(caplog, use_dask):
307
- grid = Grid(
308
- nx=2,
309
- ny=2,
310
- size_x=500,
311
- size_y=1000,
312
- center_lon=0,
313
- center_lat=55,
314
- rot=10,
315
- N=3, # number of vertical levels
316
- theta_s=5.0, # surface control parameter
317
- theta_b=2.0, # bottom control parameter
318
- hc=250.0, # critical depth
319
- )
320
-
321
- fname = Path(download_test_data("GLORYS_coarse_test_data.nc"))
322
-
323
- with caplog.at_level(logging.INFO):
324
- InitialConditions(
325
- grid=grid,
326
- ini_time=datetime(2021, 6, 29),
327
- source={"path": fname, "name": "GLORYS"},
328
- adjust_depth_for_sea_surface_height=True,
329
- use_dask=use_dask,
330
- )
331
- # Verify the warning message in the log
332
- assert "Sea surface height will be used to adjust depth coordinates." in caplog.text
333
-
334
- # Clear the log before the next test
335
- caplog.clear()
336
-
337
- with caplog.at_level(logging.INFO):
338
- InitialConditions(
339
- grid=grid,
340
- ini_time=datetime(2021, 6, 29),
341
- source={"path": fname, "name": "GLORYS"},
342
- adjust_depth_for_sea_surface_height=False,
343
- use_dask=use_dask,
344
- )
345
- # Verify the warning message in the log
346
- assert (
347
- "Sea surface height will NOT be used to adjust depth coordinates."
348
- in caplog.text
349
- )
350
-
351
-
352
- @pytest.mark.parametrize(
353
- "initial_conditions_fixture",
354
- [
355
- "initial_conditions_adjusted_for_zeta",
356
- "initial_conditions_with_bgc_adjusted_for_zeta",
357
- ],
358
- )
359
- def test_correct_depth_coords_adjusted_for_zeta(
360
- initial_conditions_fixture, request, use_dask
361
- ):
362
- initial_conditions = request.getfixturevalue(initial_conditions_fixture)
363
-
364
- # compute interface depth at rho-points and write it into .ds_depth_coords
365
- zeta = initial_conditions.ds.zeta
366
- initial_conditions._get_depth_coordinates(
367
- zeta, location="rho", depth_type="interface"
368
- )
369
- # Test that lowermost interface coincides with topography
370
- assert np.allclose(
371
- initial_conditions.ds_depth_coords["interface_depth_rho"]
372
- .isel(s_w=0)
373
- .squeeze()
374
- .values, # Extract raw NumPy array
375
- initial_conditions.grid.ds.h.values,
376
- atol=1e-6, # Adjust tolerance as needed
377
- )
378
-
379
- # Test that uppermost interface coincides with sea surface height
380
- assert np.allclose(
381
- initial_conditions.ds_depth_coords["interface_depth_rho"]
382
- .isel(s_w=-1)
383
- .squeeze()
384
- .values,
385
- -zeta.values,
386
- atol=1e-6,
387
- )
388
-
389
-
390
303
  @pytest.mark.parametrize(
391
304
  "initial_conditions_fixture",
392
305
  [
@@ -498,7 +411,6 @@ def test_computed_missing_optional_fields(
498
411
  @pytest.mark.parametrize(
499
412
  "initial_conditions_fixture",
500
413
  [
501
- "initial_conditions_with_bgc_adjusted_for_zeta",
502
414
  "initial_conditions_with_bgc_from_climatology",
503
415
  "initial_conditions_with_unified_bgc_from_climatology",
504
416
  ],
@@ -546,7 +458,6 @@ def test_initial_conditions_plot(initial_conditions_fixture, request):
546
458
  "initial_conditions_fixture",
547
459
  [
548
460
  "initial_conditions",
549
- "initial_conditions_adjusted_for_zeta",
550
461
  "initial_conditions_with_bgc_from_climatology",
551
462
  "initial_conditions_with_unified_bgc_from_climatology",
552
463
  ],
@@ -574,7 +485,6 @@ def test_initial_conditions_save(initial_conditions_fixture, request, tmp_path):
574
485
  "initial_conditions_fixture",
575
486
  [
576
487
  "initial_conditions",
577
- "initial_conditions_adjusted_for_zeta",
578
488
  "initial_conditions_with_bgc_from_climatology",
579
489
  "initial_conditions_with_unified_bgc_from_climatology",
580
490
  ],
@@ -607,7 +517,6 @@ def test_roundtrip_yaml(initial_conditions_fixture, request, tmp_path, use_dask)
607
517
  "initial_conditions_fixture",
608
518
  [
609
519
  "initial_conditions",
610
- "initial_conditions_adjusted_for_zeta",
611
520
  "initial_conditions_with_bgc_from_climatology",
612
521
  "initial_conditions_with_unified_bgc_from_climatology",
613
522
  ],