-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fvcore_layout.rc >> input.nml #34
Comments
@wmputman I cannot see how that cannot work. I mean, that's basic Linux 101 there. I could easily belt-and-suspender it with file existence checks, using Is this only happening on, say, SLES10? That system does have an older |
I looked at the Changelogs and the only mention of
That's not really a bug fix, though. |
This has happened on SLES11 (once) and SLES12 (frequently) over the last month. |
The only other thing I can see is in perhaps in FV3. For example, 697 │ f_unit=open_namelist_file()
698 │ rewind (f_unit)
699 │ ! Read Main namelist
700 │ read (f_unit,fv_grid_nml,iostat=ios)
701 │ ierr = check_nml_error(ios,'fv_grid_nml')
702 │ call close_file(f_unit)
3488 │ nlunit=open_namelist_file()
3489 │ rewind (nlunit)
3490 │ ! Read Main namelist
3491 │ read (nlunit,gfdl_cloud_microphysics_nml,iostat=ios)
3492 │ ierr = check_nml_error(ios,'gfdl_cloud_microphysics_nml')
3493 │ call close_file(nlunit) Fairly similar. Open, rewind, read, check, close. However, later on in 733 │ if (size(Atm) == 1) then
734 │ f_unit = open_namelist_file()
735 │ else if (n == 1) then
736 │ f_unit = open_namelist_file('input.nml')
737 │ else
738 │ write(nested_grid_filename,'(A10, I2.2, A4)') 'input_nest', n, '.nml'
739 │ f_unit = open_namelist_file(nested_grid_filename)
740 │ endif
741 │
742 │ ! Read FVCORE namelist
743 │ read (f_unit,fv_core_nml,iostat=ios)
744 │ ierr = check_nml_error(ios,'fv_core_nml')
745 │
746 │ ! Read Test_Case namelist
747 │ rewind (f_unit)
748 │ read (f_unit,test_case_nml,iostat=ios)
749 │ ierr = check_nml_error(ios,'test_case_nml')
750 │ call close_file(f_unit) This is about the only place I could find that there was an Now, fms itself seems to read namelist files a bit differently than FV3. From 357 │ if (file_exist('input.nml')) then
358 │ unit = open_namelist_file ( )
359 │ ierr=1; do while (ierr /= 0)
360 │ read (unit, nml=fms_nml, iostat=io, end=10)
361 │ ierr = check_nml_error(io,'fms_nml') ! also initializes nml error codes
362 │ enddo
363 │ 10 call mpp_close (unit)
364 │ endif but it's equivalent I think ( |
I am trying one thing now. Per Rusty in the source: 1296 │ !-----------------------------------------------------------------------
1297 │ ! subroutine READ_INPUT_NML
1298 │ !
1299 │ !
1300 │ ! Reads an existing input.nml into a character array and broadcasts
1301 │ ! it to the non-root mpi-tasks. This allows the use of reads from an
1302 │ ! internal file for namelist settings (requires 2003 compliant compiler)
1303 │ !
1304 │ ! read(input_nml_file, nml=<name_nml>, iostat=status) This seems to be triggered by the I'm building with the appropriate macro set and we'll see if it can even run. |
Or wait, maybe not. FMS code is fun to read... |
Well, that wasn't too hard. I can definitely activate the NOTE: I didn't change the compilation of MOM5 which of course would need the same ifdef activated, but baby steps first. |
@wmputman et al, I sent an email to Rusty about
He replied with:
As you run on many, many processors, @wmputman, it might be worth moving to |
In the gcm_run.j and the gcm_forecast.tmpl there are occasions when the fvcore_layout.rc does not properly cat to input.nml, this leaves input.nml as an empty file. The most prevalent symptom for this at the moment is that the FMS stack size does not get set properly and the model fails due to exceeding stack limits.
The text was updated successfully, but these errors were encountered: