NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
189 stars 142 forks source link

note on netcdf utilities module #314

Open hkershaw-brown opened 2 years ago

hkershaw-brown commented 2 years ago

Hit this while working with TIEGCM:

There is a module netcdf_utilities_mod, but it looks like the state io makes almost no use of netcdf_utlities_mod (execpt nc_check). e.g. location_io_mod, direct_netcdf_mod, state_structure_mod.

linked issues: https://github.com/NCAR/DART/issues/287 https://github.com/NCAR/DART/issues/269 https://github.com/NCAR/DART/issues/106 https://github.com/NCAR/DART/issues/309 ( 3. top level is boundary condition).

nancycollins commented 2 years ago

i do think where possible as much of our code should use the routines in the netcdf_utilities_mod for the following reasons:

however - they were also expected to cover ~90% of the cases but not 100%. the hope was they covered almost 100% of any model_mod.f90 needs, but inside the dart i/o code i expect there may be uncommon cases where something is needed that is best served by using native netcdf calls rather than try to add complex interfaces to netcdf_utilities_mod. it's a judgement call, obviously, and the more the netcdf calls can be isolated to a single module the easier it will be to swap in a different i/o library should that be required. but i suspect that module may not be able to cover every possible case.

hkershaw-brown commented 1 year ago

linked:

378

404 nc_put_char but no nc_get_char (wrf time is char)