-
Notifications
You must be signed in to change notification settings - Fork 145
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
bug: model size is sometimes i8 sometimes i4 #278
Comments
big pop run with i8? |
testing with 1/10th degree pop should smoke out any i8/i4 issues introduced into the main dart code. but if the WRF model_mod code has i8/i4 issues with the state vector size or indices into the state vector, you'll have to find/construct a large wrf state to test that. |
do you know where 1/10th degree pop is? Is this it: https://github.com/NCAR/DART_development/tree/static_data |
the code? it's just the standard models/POP the data? good question. possibly on image.ucar.edu in the data area, or on campaign storage, or lost to the sands of time. |
The big pop test case as is, is too small to catch big pop test case:
4 3D variables = 2,142,720,000 so you have 4,763,647 spare before you hit i4 vs i8 problems keeping track of the dart index in the read/write calls. same deal with
So the i4 i8 for netcdf and state_structure might have been in the code forever since no one has run anything big enough to hit problems. -> Add more variables to big-pop or try mega-WRF. |
see issue #278 why we did not catch this when running big-POP.
side note on wrf: some nice clean up here that did not make it to main: |
model_mod.f90 docs (template and default) have the convert_vertical_obs arguments (loc_types(:)) in convert_vertical_state instead of the convert_vertical_state arguements (loc_indx(:)) |
How does the itemcount check work in mpi_utitlies when you have a srcarray bigger than 2^31-1?
|
ifort not so good:
note you will need gfortran/11.1.0 will catch this at compile time:
gfortran using allocatable arrays, no chance:
i8 version:
|
noticed this when testing: direct_netcdf_mod.f90 creates netcdf files in 64bit offset mode:
netcdf_utilities_mod.f90 creates netcdf files in classic mode
Do we care about this? I don't know. Just making a note. May move to a separate issue. perfect_model_obs If you create the dart file as netCDF-4 (same as the template file) you
so the 64 bit offset is getting around not having the unlimited dimension. |
🐛 Your bug may already be reported!
Please search on the issue tracker before creating a new issue.
Originally reported by a user trying to run a very wrf large model.
Describe the bug
List the steps someone needs to take to reproduce the bug.
use wrf model mod with model size declared as i8
run perfect model_obs
What was the expected outcome?
I think a user should be able to have a model size i8
What actually happened?
bomb in direct_netcdf_mod.f90. For example
subroutine read_transpose
169 integer, intent(inout) :: dart_index
There may be other locations where integer is being used instead of integer(i8)
Which model(s) are you working with?
WRF
Version of DART
v9.11.8
Have you modified the DART code?
Yes to add i8 to wrf model_mod.f90
The text was updated successfully, but these errors were encountered: