Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
29c5abd
fixed split filenames, changed default concat behavior to add 'concat…
rurata Aug 25, 2025
ee853ed
Merge pull request #136 from rurata/devel
falconstryker Aug 25, 2025
b82160c
adding marsnest.py
rurata Aug 25, 2025
d09d725
better help messages for marsnest
rurata Aug 26, 2025
47eb496
added safety catch for non integer sol numbers input to bin_diurn
rurata Aug 27, 2025
ae26a02
Merge pull request #137 from rurata/devel
falconstryker Aug 28, 2025
6369d2e
Fix for preserving precision when copying variables
rurata Aug 28, 2025
0e430a6
Merge branch 'NASA-Planetary-Science:devel' into devel
rurata Aug 28, 2025
61946ea
escape quotes in the test_edit_variable test
rurata Aug 28, 2025
16febce
fix the escape
rurata Aug 28, 2025
674115f
add debug flag to test_edit_variable
rurata Aug 29, 2025
02354d2
revert test_marsvars and set a default type to log_var and log_ax
rurata Aug 29, 2025
3b7b602
expand dtype catch in logs
rurata Aug 29, 2025
07c6d44
add print statements for testing
rurata Aug 29, 2025
8483e62
more prints
rurata Aug 29, 2025
2977780
remove dtype from new logs
rurata Aug 29, 2025
55b32d1
remove prints, add default datatype for logs, preserve datatype for edit
rurata Aug 29, 2025
7fbd5f8
add datatypes for edits
rurata Aug 29, 2025
fa77837
Merge pull request #138 from rurata/devel
falconstryker Sep 2, 2025
b034360
updated marsinterp and description.txt to reflect that pstd_default i…
falconstryker Sep 10, 2025
d5a4544
added computation for dustref_per_pa and dustref_per_km
falconstryker Sep 10, 2025
ca264e7
added dimensions, units etc for dustref calculations
falconstryker Sep 10, 2025
0001f6c
troubleshooting marsinterp, which had an old namespace arg for lev_in…
falconstryker Sep 10, 2025
5b85f94
in progress commit for space_time change
rurata Sep 10, 2025
e18d062
bug fix for ncdf_wrapper
rurata Sep 10, 2025
0242a89
Merge branch 'devel' into tide_harmonics
rurata Sep 10, 2025
e4e51e1
Merge pull request #139 from rurata/devel
falconstryker Sep 10, 2025
1fda92d
Merge branch 'NASA-Planetary-Science:devel' into devel
falconstryker Sep 10, 2025
75a8264
Merge pull request #140 from falconstryker/devel
rurata Sep 11, 2025
97f0e56
adding column-integration catch for interpolated files. improving err…
falconstryker Sep 11, 2025
e086d1c
added analysis routines for propagating tides
rurata Sep 11, 2025
ceb9758
Merge branch 'NASA-Planetary-Science:main' into tide_harmonics
rurata Sep 11, 2025
b062b4f
filename fix in the test
rurata Sep 11, 2025
c5e5f57
Merge remote-tracking branch 'origin/tide_harmonics' into tide_harmonics
rurata Sep 11, 2025
ffd9094
variable name check fix
rurata Sep 11, 2025
e31e578
Merge remote-tracking branch 'origin/devel' into devel
rurata Sep 11, 2025
1ef7383
Merge pull request #141 from rurata/devel
falconstryker Sep 12, 2025
094adee
Merge branch 'NASA-Planetary-Science:devel' into devel
falconstryker Sep 12, 2025
f97fef8
deleted old nas instructions, added readthedocs link to README
falconstryker Sep 12, 2025
6e0fdd6
Merge pull request #142 from falconstryker/devel
rurata Sep 12, 2025
a446914
split by time will now also copy over a fixed file with a compatible …
falconstryker Sep 16, 2025
a7d67e1
polishing fixed file copy code
falconstryker Sep 16, 2025
30ba596
Merge pull request #143 from falconstryker/devel
rurata Sep 16, 2025
450d609
if doing MarsInterp with -incl and a variable specified is not in the…
falconstryker Sep 18, 2025
09c540a
adding that temp is required for msf calculation
falconstryker Sep 18, 2025
7efaf85
testing first implementation of optimized msf calc. includes check on…
falconstryker Sep 18, 2025
1a37103
adding print to marsinterp to debug
falconstryker Sep 19, 2025
434db9e
adding print to marsinterp to debug
falconstryker Sep 19, 2025
00e11b3
adding print to marsinterp and marsfiles to debug
falconstryker Sep 19, 2025
db17ae7
adding print to marsinterp and marsfiles to debug
falconstryker Sep 19, 2025
f9eabcb
adding print to marsinterp and marsfiles to debug
falconstryker Sep 19, 2025
0663685
reversing pstd array if file interpolated with runpinterp.csh
falconstryker Sep 19, 2025
0fc226e
reversing fv3_utils optimization for now
falconstryker Sep 19, 2025
50f1b15
troubleshooting reversed pstd array
falconstryker Sep 19, 2025
ac9b205
troubleshooting reversed pstd array
falconstryker Sep 19, 2025
8efd025
troubleshooting reversed pstd array
falconstryker Sep 19, 2025
5043e9f
troubleshooting reversed pstd array
falconstryker Sep 19, 2025
eea3558
finished troubleshooting msf calc
falconstryker Sep 19, 2025
1f531fc
Merge pull request #29 from falconstryker/msf_fix
falconstryker Sep 19, 2025
e41cb27
Merge pull request #144 from falconstryker/devel
rurata Sep 19, 2025
f6723af
setting spectral_utils up for new tide implementation which doesn't r…
falconstryker Oct 3, 2025
919979b
setting spectral_utils up for new tide implementation which doesn't r…
falconstryker Oct 3, 2025
4c79e12
setting spectral_utils up for new tide implementation which doesn't r…
falconstryker Oct 3, 2025
d0656d5
setting spectral_utils up for new tide implementation which doesn't r…
falconstryker Oct 3, 2025
1a74f98
setting spectral_utils up for new tide implementation which doesn't r…
falconstryker Oct 3, 2025
cab3ca3
Merge pull request #145 from falconstryker/devel
rurata Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ Community Analysis Pipeline (CAP)

Welcome to the Mars Climate Modeling Center (MCMC) **Community Analysis Pipeline (CAP)**.

For instructions and documentation please see our `online documentation <https://amescap.readthedocs.io>`_.

About
-----
**CAP** is a set of Python3 libraries and command-line executables that streamline downloading, processing, and plotting output from the NASA Ames Mars Global Climate Models:
Expand Down
19 changes: 18 additions & 1 deletion amescap/FV3_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1275,7 +1275,13 @@ def mass_stream(v_avg, lat, level, type="pstd", psfc=700, H=8000.,
.g. ⌡ f(z)dz = (Zn-Zn-1){f(Zn) + f(Zn-1)}/2
n-1
"""

reverting = False
if level[0] < level[-1]:
reverting = True
print("Reversing pstd array for mass stream function calculation...")
level = level[::-1]
v_avg = v_avg[::-1, ...]

g = 3.72 # m/s2
a = 3400*1000 # m
nlev = len(level)
Expand Down Expand Up @@ -1335,6 +1341,11 @@ def mass_stream(v_avg, lat, level, type="pstd", psfc=700, H=8000.,
MSF[mask] = np.nan
if isMasked:
MSF = np.ma.array(MSF, mask = mask)

if reverting:
print("Reversing pstd dimension of MSF array for compatibility...")
MSF = MSF[::-1, ...]

return MSF.reshape(shape_out)


Expand Down Expand Up @@ -1916,6 +1927,12 @@ def daily_to_diurn(varIN, time_in):

iperday = int(np.round(1/dt_in))
vshape_in = varIN.shape

# Add safety check for integer sols
if not(np.mod(vshape_in[0],iperday) == 0):
print("Error: File cannot be split evenly into sols")
return None

vreshape = np.append([-1, iperday], vshape_in[1:]).astype(int)
varOUT = varIN.reshape(vreshape)

Expand Down
15 changes: 7 additions & 8 deletions amescap/Ncdf_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,19 +119,19 @@ def add_constant(self, variable_name, value, longname_txt="",

# Private Definitions
def _def_variable(self, variable_name, dim_array, longname_txt="",
units_txt=""):
units_txt="",datatype="f4"):
self.var_dict[variable_name] = self.f_Ncdf.createVariable(variable_name,
"f4",
datatype,
dim_array)
self.var_dict[variable_name].units = units_txt
self.var_dict[variable_name].long_name = longname_txt
self.var_dict[variable_name].dim_name = str(dim_array)


def _def_axis1D(self, variable_name, dim_array, longname_txt="",
units_txt="", cart_txt=""):
units_txt="", cart_txt="",datatype="f8"):
self.var_dict[variable_name] = self.f_Ncdf.createVariable(variable_name,
"f4",
datatype,
dim_array)
self.var_dict[variable_name].units = units_txt
self.var_dict[variable_name].long_name = longname_txt
Expand Down Expand Up @@ -167,17 +167,16 @@ def _is_cart_axis(self, Ncvar):


def log_variable(self, variable_name, DATAin, dim_array, longname_txt="",
units_txt=""):
units_txt="",datatype="f4"):
"""
EX::

Log.log_variable("sfcT", sfcT, ("time", "Nx"),
"soil temperature", "K")
"""

if variable_name not in self.var_dict.keys():
self._def_variable(variable_name, dim_array, longname_txt,
units_txt)
units_txt,datatype)
self.var_dict[variable_name].long_name = longname_txt
self.var_dict[variable_name].dim_name = str(dim_array)
self.var_dict[variable_name].units = units_txt
Expand Down Expand Up @@ -263,7 +262,7 @@ def copy_Ncvar(self, Ncvar, swap_array=None):
longname_txt = getattr(Ncvar, "long_name", Ncvar._name)
units_txt = getattr(Ncvar, "units", "")
self._def_variable(Ncvar._name, Ncvar.dimensions, longname_txt,
units_txt)
units_txt,Ncvar.dtype)
if np.any(swap_array):
self.log_variable(Ncvar._name, swap_array[:], Ncvar.dimensions,
longname_txt, units_txt)
Expand Down
1 change: 0 additions & 1 deletion amescap/Script_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,6 @@ def filter_vars(fNcdf, include_list=None, giveExclude=False):
else:
print(f"{Yellow}***Warning*** from filter_vars(): "
f"{ivar} not found in file.\n")
exit()

baseline_var = []
for ivar in var_list:
Expand Down
Loading