LIVVext 1.0.0__tar.gz

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 (202) hide show
  1. livvext-1.0.0/.github/workflows/pre-commit.yml +27 -0
  2. livvext-1.0.0/.github/workflows/publish.yml +71 -0
  3. livvext-1.0.0/.github/workflows/python-package.yml +43 -0
  4. livvext-1.0.0/.gitignore +139 -0
  5. livvext-1.0.0/.pre-commit-config.yaml +21 -0
  6. livvext-1.0.0/LICENSE +27 -0
  7. livvext-1.0.0/LIVVext.egg-info/PKG-INFO +42 -0
  8. livvext-1.0.0/LIVVext.egg-info/SOURCES.txt +200 -0
  9. livvext-1.0.0/LIVVext.egg-info/dependency_links.txt +1 -0
  10. livvext-1.0.0/LIVVext.egg-info/entry_points.txt +2 -0
  11. livvext-1.0.0/LIVVext.egg-info/requires.txt +18 -0
  12. livvext-1.0.0/LIVVext.egg-info/top_level.txt +1 -0
  13. livvext-1.0.0/PKG-INFO +42 -0
  14. livvext-1.0.0/README.md +173 -0
  15. livvext-1.0.0/config/cmb_vars.yml +62 -0
  16. livvext-1.0.0/config/copy_case.sh +7 -0
  17. livvext-1.0.0/config/example/example.yml +5 -0
  18. livvext-1.0.0/config/rename_case.sh +7 -0
  19. livvext-1.0.0/config/smb_vars.yml +120 -0
  20. livvext-1.0.0/config/template_r025/all.jinja +737 -0
  21. livvext-1.0.0/config/template_r025/cmb_ais.yml +70 -0
  22. livvext-1.0.0/config/template_r025/cmb_gis.yml +74 -0
  23. livvext-1.0.0/config/template_r025/energy_e3sm_ceres_ais.yml +81 -0
  24. livvext-1.0.0/config/template_r025/energy_e3sm_ceres_gis.yml +75 -0
  25. livvext-1.0.0/config/template_r025/energy_e3sm_era5_ais.yml +112 -0
  26. livvext-1.0.0/config/template_r025/energy_e3sm_era5_gis.yml +115 -0
  27. livvext-1.0.0/config/template_r025/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  28. livvext-1.0.0/config/template_r025/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  29. livvext-1.0.0/config/template_r025/energy_e3sm_racmo_ais.yml +122 -0
  30. livvext-1.0.0/config/template_r025/energy_e3sm_racmo_gis.yml +143 -0
  31. livvext-1.0.0/config/template_r025/smb_ais.yml +112 -0
  32. livvext-1.0.0/config/template_r025/smb_gis.yml +135 -0
  33. livvext-1.0.0/config/template_r05/all.jinja +737 -0
  34. livvext-1.0.0/config/template_r05/cmb_ais.yml +70 -0
  35. livvext-1.0.0/config/template_r05/cmb_gis.yml +72 -0
  36. livvext-1.0.0/config/template_r05/energy_e3sm_ceres_ais.yml +83 -0
  37. livvext-1.0.0/config/template_r05/energy_e3sm_ceres_gis.yml +84 -0
  38. livvext-1.0.0/config/template_r05/energy_e3sm_era5_ais.yml +114 -0
  39. livvext-1.0.0/config/template_r05/energy_e3sm_era5_gis.yml +119 -0
  40. livvext-1.0.0/config/template_r05/energy_e3sm_merra2_merra_grid_ais.yml +114 -0
  41. livvext-1.0.0/config/template_r05/energy_e3sm_merra2_merra_grid_gis.yml +117 -0
  42. livvext-1.0.0/config/template_r05/energy_e3sm_racmo_ais.yml +122 -0
  43. livvext-1.0.0/config/template_r05/energy_e3sm_racmo_gis.yml +122 -0
  44. livvext-1.0.0/config/template_r05/smb_ais.yml +69 -0
  45. livvext-1.0.0/config/template_r05/smb_gis.yml +75 -0
  46. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/cmb_ais.yml +70 -0
  47. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/cmb_gis.yml +74 -0
  48. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_ceres_ais.yml +69 -0
  49. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_ceres_gis.yml +72 -0
  50. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_era5_ais.yml +112 -0
  51. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_era5_gis.yml +115 -0
  52. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  53. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  54. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_racmo_ais.yml +122 -0
  55. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_racmo_gis.yml +132 -0
  56. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/smb_ais.yml +70 -0
  57. livvext-1.0.0/config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/smb_gis.yml +73 -0
  58. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/cmb_ais.yml +65 -0
  59. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/cmb_gis.yml +74 -0
  60. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_ceres_ais.yml +69 -0
  61. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_ceres_gis.yml +72 -0
  62. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_era5_ais.yml +112 -0
  63. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_era5_gis.yml +115 -0
  64. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  65. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  66. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_racmo_ais.yml +122 -0
  67. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_racmo_gis.yml +122 -0
  68. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/smb_ais.yml +65 -0
  69. livvext-1.0.0/config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/smb_gis.yml +74 -0
  70. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/cmb_ais.yml +65 -0
  71. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/cmb_gis.yml +74 -0
  72. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_ceres_ais.yml +69 -0
  73. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_ceres_gis.yml +72 -0
  74. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_era5_ais.yml +112 -0
  75. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_era5_gis.yml +115 -0
  76. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  77. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  78. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_racmo_ais.yml +122 -0
  79. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_racmo_gis.yml +122 -0
  80. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/smb_ais.yml +65 -0
  81. livvext-1.0.0/config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/smb_gis.yml +74 -0
  82. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/cmb_ais.yml +66 -0
  83. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/cmb_gis.yml +72 -0
  84. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_ceres_ais.yml +83 -0
  85. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_ceres_gis.yml +84 -0
  86. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_era5_ais.yml +114 -0
  87. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_era5_gis.yml +119 -0
  88. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_merra2_merra_grid_ais.yml +114 -0
  89. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_merra2_merra_grid_gis.yml +117 -0
  90. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_racmo_ais.yml +122 -0
  91. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_racmo_gis.yml +122 -0
  92. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/smb_ais.yml +69 -0
  93. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec2_0100_0175/smb_gis.yml +75 -0
  94. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/cmb_ais.yml +70 -0
  95. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/cmb_gis.yml +75 -0
  96. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_ceres_ais.yml +69 -0
  97. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_ceres_gis.yml +72 -0
  98. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_era5_ais.yml +112 -0
  99. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_era5_gis.yml +115 -0
  100. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  101. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  102. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_racmo_ais.yml +122 -0
  103. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_racmo_gis.yml +122 -0
  104. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/smb_ais.yml +70 -0
  105. livvext-1.0.0/config/v3.LR.piControl-deepfirn-mec_0001_0100/smb_gis.yml +75 -0
  106. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/cmb_ais.yml +69 -0
  107. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/cmb_gis.yml +75 -0
  108. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_ceres_ais.yml +69 -0
  109. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_ceres_gis.yml +72 -0
  110. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_era5_ais.yml +112 -0
  111. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_era5_gis.yml +115 -0
  112. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  113. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  114. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_racmo_ais.yml +122 -0
  115. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_racmo_gis.yml +122 -0
  116. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/smb_ais.yml +69 -0
  117. livvext-1.0.0/config/v3.LR.piControl-deepfirn_0001_0100/smb_gis.yml +75 -0
  118. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/cmb_ais.yml +69 -0
  119. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/cmb_gis.yml +75 -0
  120. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_ceres_ais.yml +69 -0
  121. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_ceres_gis.yml +72 -0
  122. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_era5_ais.yml +112 -0
  123. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_era5_gis.yml +115 -0
  124. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  125. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  126. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_racmo_ais.yml +122 -0
  127. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_racmo_gis.yml +122 -0
  128. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/smb_ais.yml +69 -0
  129. livvext-1.0.0/config/v3.LR.piControl-shallowfirn_0001_0050/smb_gis.yml +75 -0
  130. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/cmb_ais.yml +69 -0
  131. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/cmb_gis.yml +75 -0
  132. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_ceres_ais.yml +69 -0
  133. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_ceres_gis.yml +72 -0
  134. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_era5_ais.yml +112 -0
  135. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_era5_gis.yml +115 -0
  136. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  137. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  138. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_racmo_ais.yml +122 -0
  139. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_racmo_gis.yml +122 -0
  140. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/smb_ais.yml +69 -0
  141. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0001_0100/smb_gis.yml +75 -0
  142. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/cmb_ais.yml +69 -0
  143. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/cmb_gis.yml +75 -0
  144. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_ceres_ais.yml +69 -0
  145. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_ceres_gis.yml +72 -0
  146. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_era5_ais.yml +112 -0
  147. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_era5_gis.yml +115 -0
  148. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  149. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  150. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_racmo_ais.yml +122 -0
  151. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_racmo_gis.yml +122 -0
  152. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/smb_ais.yml +69 -0
  153. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0101_0200/smb_gis.yml +75 -0
  154. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/cmb_ais.yml +69 -0
  155. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/cmb_gis.yml +75 -0
  156. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_ceres_ais.yml +69 -0
  157. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_ceres_gis.yml +72 -0
  158. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_era5_ais.yml +112 -0
  159. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_era5_gis.yml +115 -0
  160. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_merra2_merra_grid_ais.yml +112 -0
  161. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_merra2_merra_grid_gis.yml +115 -0
  162. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_racmo_ais.yml +122 -0
  163. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_racmo_gis.yml +122 -0
  164. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/smb_ais.yml +69 -0
  165. livvext-1.0.0/config/v3.LR.piControl.I.hex_eqm_0201_0300/smb_gis.yml +75 -0
  166. livvext-1.0.0/env.yml +32 -0
  167. livvext-1.0.0/livvext/__init__.py +35 -0
  168. livvext-1.0.0/livvext/annual_cycle.py +189 -0
  169. livvext-1.0.0/livvext/common.py +912 -0
  170. livvext-1.0.0/livvext/compare_gridded.py +507 -0
  171. livvext-1.0.0/livvext/convert_cfg.py +93 -0
  172. livvext-1.0.0/livvext/energy/__init__.py +0 -0
  173. livvext-1.0.0/livvext/energy/energy.py +232 -0
  174. livvext-1.0.0/livvext/example/example.py +88 -0
  175. livvext-1.0.0/livvext/generate_cfg.py +175 -0
  176. livvext-1.0.0/livvext/postproc/README.md +25 -0
  177. livvext-1.0.0/livvext/postproc/e3sm/postproc.sbatch +202 -0
  178. livvext-1.0.0/livvext/postproc/e3sm/split_files.sh +51 -0
  179. livvext-1.0.0/livvext/smb/__init__.py +0 -0
  180. livvext-1.0.0/livvext/smb/smb/plot_IB_hist.py +138 -0
  181. livvext-1.0.0/livvext/smb/smb/plot_IB_scatter.py +87 -0
  182. livvext-1.0.0/livvext/smb/smb/plot_core_hists.py +127 -0
  183. livvext-1.0.0/livvext/smb/smb/plot_core_transects.py +278 -0
  184. livvext-1.0.0/livvext/smb/smb/plot_spatial.py +463 -0
  185. livvext-1.0.0/livvext/smb/smb/preproc.py +504 -0
  186. livvext-1.0.0/livvext/smb/smb/utils.py +110 -0
  187. livvext-1.0.0/livvext/smb/smb_icecores.py +310 -0
  188. livvext-1.0.0/livvext/time_series_plot.py +274 -0
  189. livvext-1.0.0/livvext/utils.py +265 -0
  190. livvext-1.0.0/pyproject.toml +142 -0
  191. livvext-1.0.0/run_lex_pm-cpu.sbatch +25 -0
  192. livvext-1.0.0/run_livv.sh +81 -0
  193. livvext-1.0.0/setup.cfg +4 -0
  194. livvext-1.0.0/tests/conftest.py +11 -0
  195. livvext-1.0.0/tests/extension_simple.py +88 -0
  196. livvext-1.0.0/tests/json_to_convert.json +13 -0
  197. livvext-1.0.0/tests/simple_test.yml +9 -0
  198. livvext-1.0.0/tests/test_common.py +245 -0
  199. livvext-1.0.0/tests/test_convert.py +21 -0
  200. livvext-1.0.0/tests/test_simple.py +27 -0
  201. livvext-1.0.0/tests/test_utils.py +116 -0
  202. livvext-1.0.0/tests/yml_reference.yml +9 -0
@@ -0,0 +1,27 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Pre-Commit
5
+
6
+ on:
7
+ push:
8
+ branches: [ "main" ]
9
+ pull_request:
10
+ branches: [ "main" ]
11
+
12
+ jobs:
13
+
14
+ pre-commit:
15
+ runs-on: ubuntu-latest
16
+ timeout-minutes: 2
17
+ steps:
18
+ - name: Checkout code
19
+ uses: actions/checkout@v4
20
+ - name: Set up python
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: 3.13
24
+ - name: Runs pre-commit
25
+ run: |
26
+ pip install pre-commit
27
+ pre-commit run -a
@@ -0,0 +1,71 @@
1
+ # This workflow will upload a Python Package to PyPI when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Upload Python Package
10
+
11
+ on:
12
+ release:
13
+ types: [published]
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ release-build:
20
+ runs-on: ubuntu-latest
21
+
22
+ steps:
23
+ - uses: actions/checkout@v6
24
+
25
+ - name: Set up Pixi
26
+ uses: prefix-dev/setup-pixi@v0.9.4
27
+ with:
28
+ pixi-version: v0.62.2
29
+ environments: buildenv
30
+
31
+ - name: Build release distributions
32
+ run: |
33
+ # NOTE: put your own distribution build steps here.
34
+ pixi run -e buildenv python -m build
35
+
36
+ - name: Upload distributions
37
+ uses: actions/upload-artifact@v4
38
+ with:
39
+ name: release-dists
40
+ path: dist/
41
+
42
+ pypi-publish:
43
+ runs-on: ubuntu-latest
44
+ needs:
45
+ - release-build
46
+ permissions:
47
+ # IMPORTANT: this permission is mandatory for trusted publishing
48
+ id-token: write
49
+
50
+ # Dedicated environments with protections for publishing are strongly recommended.
51
+ # For more information, see: https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules
52
+ environment:
53
+ name: pypi
54
+ # OPTIONAL: uncomment and update to include your PyPI project URL in the deployment status:
55
+ # url: https://pypi.org/p/YOURPROJECT
56
+ #
57
+ # ALTERNATIVE: if your GitHub Release name is the PyPI project version string
58
+ # ALTERNATIVE: exactly, uncomment the following line instead:
59
+ # url: https://pypi.org/project/YOURPROJECT/${{ github.event.release.name }}
60
+
61
+ steps:
62
+ - name: Retrieve release distributions
63
+ uses: actions/download-artifact@v4
64
+ with:
65
+ name: release-dists
66
+ path: dist/
67
+
68
+ - name: Publish release distributions to PyPI
69
+ uses: pypa/gh-action-pypi-publish@release/v1
70
+ with:
71
+ packages-dir: dist/
@@ -0,0 +1,43 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Python Tests
5
+
6
+ on:
7
+ push:
8
+ branches: [ "main" ]
9
+ pull_request:
10
+ branches: [ "main" ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ include:
20
+ - python-version: "3.10"
21
+ pixi-env: py310dev
22
+ - python-version: "3.11"
23
+ pixi-env: py311dev
24
+ - python-version: "3.12"
25
+ pixi-env: py312dev
26
+ - python-version: "3.13"
27
+ pixi-env: py313dev
28
+ - python-version: "3.14"
29
+ pixi-env: py314dev
30
+
31
+ steps:
32
+ - uses: actions/checkout@v6
33
+ - name: Set up Pixi ${{ matrix.python-version }}
34
+ uses: prefix-dev/setup-pixi@v0.9.4
35
+ with:
36
+ pixi-version: v0.62.2
37
+ # Project environment caching uses pixi.lock as the cache key input.
38
+ # If you don't commit a lockfile, disable caching to avoid ENOENT.
39
+ # cache: ${{ hashFiles('pixi.lock') != '' }}
40
+ environments: ${{ matrix.pixi-env }}
41
+ - name: Run tests
42
+ run: |
43
+ pixi run -e ${{ matrix.pixi-env }} pytest -vvv
@@ -0,0 +1,139 @@
1
+ #### joe made this: http://goel.io/joe
2
+
3
+ #### python ####
4
+ # Byte-compiled / optimized / DLL files
5
+ __pycache__/
6
+ *.py[cod]
7
+ *$py.class
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # Distribution / packaging
13
+ .Python
14
+ build/
15
+ develop-eggs/
16
+ dist/
17
+ downloads/
18
+ eggs/
19
+ .eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ *.egg-info/
27
+ .installed.cfg
28
+ *.egg
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ .hypothesis/
50
+
51
+ # Translations
52
+ *.mo
53
+ *.pot
54
+
55
+ # Django stuff:
56
+ *.log
57
+ local_settings.py
58
+
59
+ # Flask stuff:
60
+ instance/
61
+ .webassets-cache
62
+
63
+ # Scrapy stuff:
64
+ .scrapy
65
+
66
+ # Sphinx documentation
67
+ docs/_build/
68
+
69
+ # PyBuilder
70
+ target/
71
+
72
+ # Jupyter Notebook
73
+ .ipynb_checkpoints
74
+
75
+ # pyenv
76
+ .python-version
77
+
78
+ # celery beat schedule file
79
+ celerybeat-schedule
80
+
81
+ # SageMath parsed files
82
+ *.sage.py
83
+
84
+ # Environments
85
+ .env
86
+ .venv
87
+ env/
88
+ venv/
89
+ ENV/
90
+
91
+ # Spyder project settings
92
+ .spyderproject
93
+ .spyproject
94
+
95
+ # Rope project settings
96
+ .ropeproject
97
+
98
+ # mkdocs documentation
99
+ /site
100
+
101
+ # mypy
102
+ .mypy_cache/
103
+
104
+
105
+ #### vim ####
106
+ # swap
107
+ [._]*.s[a-v][a-z]
108
+ [._]*.sw[a-p]
109
+ [._]s[a-v][a-z]
110
+ [._]sw[a-p]
111
+ # session
112
+ Session.vim
113
+ # temporary
114
+ .netrwhist
115
+ *~
116
+ # auto-generated tag files
117
+ tags
118
+
119
+
120
+ #### microsoftoffice ####
121
+ *.tmp
122
+
123
+ # Word temporary
124
+ ~$*.doc*
125
+
126
+ # Excel temporary
127
+ ~$*.xls*
128
+
129
+ # Excel Backup File
130
+ *.xlk
131
+
132
+ # PowerPoint temporary
133
+ ~$*.ppt*
134
+
135
+ # Visio autosave temporary files
136
+ *.~vsd*
137
+ # pixi environments
138
+ .pixi/*
139
+ !.pixi/config.toml
@@ -0,0 +1,21 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v6.0.0
4
+ hooks:
5
+ - id: end-of-file-fixer
6
+ - id: trailing-whitespace
7
+ - id: check-toml
8
+ - id: check-yaml
9
+ args: [--unsafe]
10
+ - id: debug-statements
11
+ - id: destroyed-symlinks
12
+ - id: detect-private-key
13
+
14
+ - repo: https://github.com/astral-sh/ruff-pre-commit
15
+ # Ruff version.
16
+ rev: v0.13.0
17
+ hooks:
18
+ # Run the linter.
19
+ - id: ruff-check
20
+ # Run the formatter.
21
+ - id: ruff-format
livvext-1.0.0/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2018-2025, UT-BATTELLE, LLC
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ 3. Neither the name of the copyright holder nor the names of its contributors
15
+ may be used to endorse or promote products derived from this software without
16
+ specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: LIVVext
3
+ Version: 1.0.0
4
+ Summary: Extensions for the land ice verification and validation toolkit (Livvkit EXtensions)
5
+ Author-email: Michael Kelleher <kelleherme@ornl.gov>, "Joseph H. Kennedy" <kennedyjh@ornl.gov>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/LIVVkit/livvext
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: Topic :: Scientific/Engineering
11
+ Classifier: Topic :: Software Development :: Testing
12
+ Classifier: License :: OSI Approved :: BSD License
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/x-rst
23
+ License-File: LICENSE
24
+ Requires-Dist: numpy>=2.2.6
25
+ Requires-Dist: scipy>=1.15.3
26
+ Requires-Dist: xarray>=2025.6.1
27
+ Requires-Dist: dask>=2026.1.2
28
+ Requires-Dist: seaborn>=0.13.2
29
+ Requires-Dist: cftime>=1.6.5
30
+ Requires-Dist: nc-time-axis>=1.4.1
31
+ Requires-Dist: scikit-learn>=1.7.2
32
+ Requires-Dist: ruamel.yaml>=0.19.1
33
+ Requires-Dist: jinja2>=3.1.6
34
+ Requires-Dist: matplotlib>=3.10.8
35
+ Requires-Dist: netcdf4>=1.7.4
36
+ Requires-Dist: pandas>=2.2.3
37
+ Requires-Dist: cartopy>=0.25.0
38
+ Requires-Dist: pybtex>=0.25.1
39
+ Requires-Dist: f90nml>=1.5
40
+ Requires-Dist: loguru>=0.7.3
41
+ Requires-Dist: livvkit>=3.3.0
42
+ Dynamic: license-file
@@ -0,0 +1,200 @@
1
+ .gitignore
2
+ .pre-commit-config.yaml
3
+ LICENSE
4
+ README.md
5
+ env.yml
6
+ pyproject.toml
7
+ run_lex_pm-cpu.sbatch
8
+ run_livv.sh
9
+ .github/workflows/pre-commit.yml
10
+ .github/workflows/publish.yml
11
+ .github/workflows/python-package.yml
12
+ LIVVext.egg-info/PKG-INFO
13
+ LIVVext.egg-info/SOURCES.txt
14
+ LIVVext.egg-info/dependency_links.txt
15
+ LIVVext.egg-info/entry_points.txt
16
+ LIVVext.egg-info/requires.txt
17
+ LIVVext.egg-info/top_level.txt
18
+ config/cmb_vars.yml
19
+ config/copy_case.sh
20
+ config/rename_case.sh
21
+ config/smb_vars.yml
22
+ config/example/example.yml
23
+ config/template_r025/all.jinja
24
+ config/template_r025/cmb_ais.yml
25
+ config/template_r025/cmb_gis.yml
26
+ config/template_r025/energy_e3sm_ceres_ais.yml
27
+ config/template_r025/energy_e3sm_ceres_gis.yml
28
+ config/template_r025/energy_e3sm_era5_ais.yml
29
+ config/template_r025/energy_e3sm_era5_gis.yml
30
+ config/template_r025/energy_e3sm_merra2_merra_grid_ais.yml
31
+ config/template_r025/energy_e3sm_merra2_merra_grid_gis.yml
32
+ config/template_r025/energy_e3sm_racmo_ais.yml
33
+ config/template_r025/energy_e3sm_racmo_gis.yml
34
+ config/template_r025/smb_ais.yml
35
+ config/template_r025/smb_gis.yml
36
+ config/template_r05/all.jinja
37
+ config/template_r05/cmb_ais.yml
38
+ config/template_r05/cmb_gis.yml
39
+ config/template_r05/energy_e3sm_ceres_ais.yml
40
+ config/template_r05/energy_e3sm_ceres_gis.yml
41
+ config/template_r05/energy_e3sm_era5_ais.yml
42
+ config/template_r05/energy_e3sm_era5_gis.yml
43
+ config/template_r05/energy_e3sm_merra2_merra_grid_ais.yml
44
+ config/template_r05/energy_e3sm_merra2_merra_grid_gis.yml
45
+ config/template_r05/energy_e3sm_racmo_ais.yml
46
+ config/template_r05/energy_e3sm_racmo_gis.yml
47
+ config/template_r05/smb_ais.yml
48
+ config/template_r05/smb_gis.yml
49
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/cmb_ais.yml
50
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/cmb_gis.yml
51
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_ceres_ais.yml
52
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_ceres_gis.yml
53
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_era5_ais.yml
54
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_era5_gis.yml
55
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_merra2_merra_grid_ais.yml
56
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_merra2_merra_grid_gis.yml
57
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_racmo_ais.yml
58
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/energy_e3sm_racmo_gis.yml
59
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/smb_ais.yml
60
+ config/v2.1.r025.IGERA5ELM_MLI-deep_firn_1980_2020/smb_gis.yml
61
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/cmb_ais.yml
62
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/cmb_gis.yml
63
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_ceres_ais.yml
64
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_ceres_gis.yml
65
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_era5_ais.yml
66
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_era5_gis.yml
67
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_merra2_merra_grid_ais.yml
68
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_merra2_merra_grid_gis.yml
69
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_racmo_ais.yml
70
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/energy_e3sm_racmo_gis.yml
71
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/smb_ais.yml
72
+ config/v2.1.r05.BGWCYCL20TR-steve_2005_2014/smb_gis.yml
73
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/cmb_ais.yml
74
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/cmb_gis.yml
75
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_ceres_ais.yml
76
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_ceres_gis.yml
77
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_era5_ais.yml
78
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_era5_gis.yml
79
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_merra2_merra_grid_ais.yml
80
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_merra2_merra_grid_gis.yml
81
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_racmo_ais.yml
82
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/energy_e3sm_racmo_gis.yml
83
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/smb_ais.yml
84
+ config/v2.1.r05.IGERA5ELM_MLI-deep_firn_0990_0999/smb_gis.yml
85
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/cmb_ais.yml
86
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/cmb_gis.yml
87
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_ceres_ais.yml
88
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_ceres_gis.yml
89
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_era5_ais.yml
90
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_era5_gis.yml
91
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_merra2_merra_grid_ais.yml
92
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_merra2_merra_grid_gis.yml
93
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_racmo_ais.yml
94
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/energy_e3sm_racmo_gis.yml
95
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/smb_ais.yml
96
+ config/v3.LR.piControl-deepfirn-mec2_0100_0175/smb_gis.yml
97
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/cmb_ais.yml
98
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/cmb_gis.yml
99
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_ceres_ais.yml
100
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_ceres_gis.yml
101
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_era5_ais.yml
102
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_era5_gis.yml
103
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml
104
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml
105
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_racmo_ais.yml
106
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/energy_e3sm_racmo_gis.yml
107
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/smb_ais.yml
108
+ config/v3.LR.piControl-deepfirn-mec_0001_0100/smb_gis.yml
109
+ config/v3.LR.piControl-deepfirn_0001_0100/cmb_ais.yml
110
+ config/v3.LR.piControl-deepfirn_0001_0100/cmb_gis.yml
111
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_ceres_ais.yml
112
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_ceres_gis.yml
113
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_era5_ais.yml
114
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_era5_gis.yml
115
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml
116
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml
117
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_racmo_ais.yml
118
+ config/v3.LR.piControl-deepfirn_0001_0100/energy_e3sm_racmo_gis.yml
119
+ config/v3.LR.piControl-deepfirn_0001_0100/smb_ais.yml
120
+ config/v3.LR.piControl-deepfirn_0001_0100/smb_gis.yml
121
+ config/v3.LR.piControl-shallowfirn_0001_0050/cmb_ais.yml
122
+ config/v3.LR.piControl-shallowfirn_0001_0050/cmb_gis.yml
123
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_ceres_ais.yml
124
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_ceres_gis.yml
125
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_era5_ais.yml
126
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_era5_gis.yml
127
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_merra2_merra_grid_ais.yml
128
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_merra2_merra_grid_gis.yml
129
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_racmo_ais.yml
130
+ config/v3.LR.piControl-shallowfirn_0001_0050/energy_e3sm_racmo_gis.yml
131
+ config/v3.LR.piControl-shallowfirn_0001_0050/smb_ais.yml
132
+ config/v3.LR.piControl-shallowfirn_0001_0050/smb_gis.yml
133
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/cmb_ais.yml
134
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/cmb_gis.yml
135
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_ceres_ais.yml
136
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_ceres_gis.yml
137
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_era5_ais.yml
138
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_era5_gis.yml
139
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_merra2_merra_grid_ais.yml
140
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_merra2_merra_grid_gis.yml
141
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_racmo_ais.yml
142
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/energy_e3sm_racmo_gis.yml
143
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/smb_ais.yml
144
+ config/v3.LR.piControl.I.hex_eqm_0001_0100/smb_gis.yml
145
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/cmb_ais.yml
146
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/cmb_gis.yml
147
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_ceres_ais.yml
148
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_ceres_gis.yml
149
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_era5_ais.yml
150
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_era5_gis.yml
151
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_merra2_merra_grid_ais.yml
152
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_merra2_merra_grid_gis.yml
153
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_racmo_ais.yml
154
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/energy_e3sm_racmo_gis.yml
155
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/smb_ais.yml
156
+ config/v3.LR.piControl.I.hex_eqm_0101_0200/smb_gis.yml
157
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/cmb_ais.yml
158
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/cmb_gis.yml
159
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_ceres_ais.yml
160
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_ceres_gis.yml
161
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_era5_ais.yml
162
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_era5_gis.yml
163
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_merra2_merra_grid_ais.yml
164
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_merra2_merra_grid_gis.yml
165
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_racmo_ais.yml
166
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/energy_e3sm_racmo_gis.yml
167
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/smb_ais.yml
168
+ config/v3.LR.piControl.I.hex_eqm_0201_0300/smb_gis.yml
169
+ livvext/__init__.py
170
+ livvext/annual_cycle.py
171
+ livvext/common.py
172
+ livvext/compare_gridded.py
173
+ livvext/convert_cfg.py
174
+ livvext/generate_cfg.py
175
+ livvext/time_series_plot.py
176
+ livvext/utils.py
177
+ livvext/energy/__init__.py
178
+ livvext/energy/energy.py
179
+ livvext/example/example.py
180
+ livvext/postproc/README.md
181
+ livvext/postproc/e3sm/postproc.sbatch
182
+ livvext/postproc/e3sm/split_files.sh
183
+ livvext/smb/__init__.py
184
+ livvext/smb/smb_icecores.py
185
+ livvext/smb/smb/plot_IB_hist.py
186
+ livvext/smb/smb/plot_IB_scatter.py
187
+ livvext/smb/smb/plot_core_hists.py
188
+ livvext/smb/smb/plot_core_transects.py
189
+ livvext/smb/smb/plot_spatial.py
190
+ livvext/smb/smb/preproc.py
191
+ livvext/smb/smb/utils.py
192
+ tests/conftest.py
193
+ tests/extension_simple.py
194
+ tests/json_to_convert.json
195
+ tests/simple_test.yml
196
+ tests/test_common.py
197
+ tests/test_convert.py
198
+ tests/test_simple.py
199
+ tests/test_utils.py
200
+ tests/yml_reference.yml
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ lex-cfg = livvext.generate_cfg:main
@@ -0,0 +1,18 @@
1
+ numpy>=2.2.6
2
+ scipy>=1.15.3
3
+ xarray>=2025.6.1
4
+ dask>=2026.1.2
5
+ seaborn>=0.13.2
6
+ cftime>=1.6.5
7
+ nc-time-axis>=1.4.1
8
+ scikit-learn>=1.7.2
9
+ ruamel.yaml>=0.19.1
10
+ jinja2>=3.1.6
11
+ matplotlib>=3.10.8
12
+ netcdf4>=1.7.4
13
+ pandas>=2.2.3
14
+ cartopy>=0.25.0
15
+ pybtex>=0.25.1
16
+ f90nml>=1.5
17
+ loguru>=0.7.3
18
+ livvkit>=3.3.0
@@ -0,0 +1 @@
1
+ livvext
livvext-1.0.0/PKG-INFO ADDED
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: LIVVext
3
+ Version: 1.0.0
4
+ Summary: Extensions for the land ice verification and validation toolkit (Livvkit EXtensions)
5
+ Author-email: Michael Kelleher <kelleherme@ornl.gov>, "Joseph H. Kennedy" <kennedyjh@ornl.gov>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/LIVVkit/livvext
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: Topic :: Scientific/Engineering
11
+ Classifier: Topic :: Software Development :: Testing
12
+ Classifier: License :: OSI Approved :: BSD License
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/x-rst
23
+ License-File: LICENSE
24
+ Requires-Dist: numpy>=2.2.6
25
+ Requires-Dist: scipy>=1.15.3
26
+ Requires-Dist: xarray>=2025.6.1
27
+ Requires-Dist: dask>=2026.1.2
28
+ Requires-Dist: seaborn>=0.13.2
29
+ Requires-Dist: cftime>=1.6.5
30
+ Requires-Dist: nc-time-axis>=1.4.1
31
+ Requires-Dist: scikit-learn>=1.7.2
32
+ Requires-Dist: ruamel.yaml>=0.19.1
33
+ Requires-Dist: jinja2>=3.1.6
34
+ Requires-Dist: matplotlib>=3.10.8
35
+ Requires-Dist: netcdf4>=1.7.4
36
+ Requires-Dist: pandas>=2.2.3
37
+ Requires-Dist: cartopy>=0.25.0
38
+ Requires-Dist: pybtex>=0.25.1
39
+ Requires-Dist: f90nml>=1.5
40
+ Requires-Dist: loguru>=0.7.3
41
+ Requires-Dist: livvkit>=3.3.0
42
+ Dynamic: license-file