Skip to content

Mars test case patch - #304

Merged
sit23 merged 1 commit into
ExeClim:masterfrom
sit23:socrates_mars_tcmax_fix
Aug 13, 2026
Merged

Mars test case patch#304
sit23 merged 1 commit into
ExeClim:masterfrom
sit23:socrates_mars_tcmax_fix

Conversation

@sit23

@sit23 sit23 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Fix socrates_mars_test_case.py crashing at startup on tcmax type mismatch

sat_vapor_pres.F90 declares tcmin/tcmax as INTEGER, but this test case set tcmax with a trailing '.' (350.), making it a Python float that Isca's namelist serializer writes out as 350.0. gfortran correctly rejects assigning a real literal to a declared-integer namelist variable, which FMS's check_nml_error surfaces as:

FATAL from PE 0: check_nml_error in fms_mod: Unknown namelist, or
mistyped namelist variable in namelist sat_vapor_pres_nml, (IOSTAT = 5010)

This crashed the run before the first timestep. tcmin (set without a trailing '.', so already an int) was unaffected. Confirmed by bisecting input.nml block by block and then individual assignments within sat_vapor_pres_nml, and cross-checked against grey_mars_test_case.py, which sets tcmax as a plain int and has never hit this.

This test case is commented out of the default trip_test run (for the separate, unrelated reason that its Socrates spectral files aren't included in the repo), which is presumably why this has gone unnoticed - it doesn't look like it's actually been run to completion before.

…atch

sat_vapor_pres.F90 declares tcmin/tcmax as INTEGER, but this test case set
tcmax with a trailing '.' (350.), making it a Python float that Isca's
namelist serializer writes out as 350.0. gfortran correctly rejects
assigning a real literal to a declared-integer namelist variable, which
FMS's check_nml_error surfaces as:

  FATAL from PE 0: check_nml_error in fms_mod: Unknown namelist, or
  mistyped namelist variable in namelist sat_vapor_pres_nml, (IOSTAT = 5010)

This crashed the run before the first timestep. tcmin (set without a
trailing '.', so already an int) was unaffected. Confirmed by bisecting
input.nml block by block and then individual assignments within
sat_vapor_pres_nml, and cross-checked against grey_mars_test_case.py,
which sets tcmax as a plain int and has never hit this.

This test case is commented out of the default trip_test run (for the
separate, unrelated reason that its Socrates spectral files aren't
included in the repo), which is presumably why this has gone unnoticed -
it doesn't look like it's actually been run to completion before.
@sit23
sit23 merged commit d1321ac into ExeClim:master Aug 13, 2026
1 check passed
@sit23
sit23 deleted the socrates_mars_tcmax_fix branch August 13, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant