Opened 11 years ago

Closed 10 years ago

Last modified 2 years ago

#374 closed Enhancement (wontfix)

Addition of clobber and chunksize when opening NetCDF files

Reported by: ed.blockley Owned by: smasson
Priority: low Milestone:
Component: OCE Version: trunk
Severity: Keywords: NetCDF* fortran
Cc: Review:
MP ready?:
Progress:

Description

Upgraded the NF90_CREATE call within iom_open to be able to clobber the specified files if they exist.
To use this functionality one just needs to add ldclobber=.TRUE. to the iom_open call (as can be found in the attached restart.F90, limrst_2.F90 and limrst.F90).
We have this in our code as we don't want a long run to fail right at the end because the restart file already exists for some reason. It may not be to everyone's taste however so perhaps it could be namelist controlled?

Also the NF90_OPEN within iom_open has been upgraded to use the NF90 chunksize functionality so you can open a file in bitesize chunks depending on your requirements/architecture.
This is controlled via a namelist (integer) variable read into the namrun namelist. If this is not present then no chunksize is used and we use the NF90 default.

I have run these files through the NVTK for the GYRE and ORCA2-LIM configurations and the solver.stat and ocean.output files agreed exactly with my vn3.1 reference.

Additionally both of these upgrades were used during a 2-year ORCA025 hindcast and are currently running in our operational models.

Commit History (0)

(No commits)

Attachments (7)

iom.F90 (45.7 KB) - added by ed.blockley 11 years ago.
IOM/iom.F90
in_out_manager.F90 (10.9 KB) - added by ed.blockley 11 years ago.
IOM/in_out_manager.F90
iom_nf90.F90 (30.2 KB) - added by ed.blockley 11 years ago.
IOM/iom_nf90.F90
domain.F90 (14.2 KB) - added by ed.blockley 11 years ago.
DOM/domain.F90
restart.F90 (14.1 KB) - added by ed.blockley 11 years ago.
restart.F90 with modified iom_open call
limrst_2.F90 (13.2 KB) - added by ed.blockley 11 years ago.
LIM2 restart file with modified iom_open call
limrst.F90 (31.7 KB) - added by ed.blockley 11 years ago.
LIM3 restart file with modified iom_open call

Download all attachments as: .zip

Change History (12)

Changed 11 years ago by ed.blockley

IOM/iom.F90

Changed 11 years ago by ed.blockley

IOM/in_out_manager.F90

Changed 11 years ago by ed.blockley

IOM/iom_nf90.F90

Changed 11 years ago by ed.blockley

DOM/domain.F90

Changed 11 years ago by ed.blockley

restart.F90 with modified iom_open call

Changed 11 years ago by ed.blockley

LIM2 restart file with modified iom_open call

Changed 11 years ago by ed.blockley

LIM3 restart file with modified iom_open call

comment:1 Changed 11 years ago by smasson

  • Owner changed from NEMO team to smasson
  • Status changed from new to assigned

some detail about changeset:1488

In the attached restart routines, ldclobber=.TRUE. is hard coded which is not suitable.
⇒ we introduced a namelist variable (ln_clobber = .false. by default) that must be set to .true. if the user want to overwrite an existing file.
We also extended the use of this new nameliste variable to iom_ioipsl and iom_rstdimg. This variable is not working for NetCDF outputs files (created by histbeg in ioipsl).


Regarding the chunksize parameter used by NetCDF, we rename it nn_chunksz that follows the coding rules. By default it is defined to 0 which means the code will use the default value of the NetCDF library (NF90_SIZEHINT_DEFAULT). This variable is working only with files created by iom_nf90.

We asked to people who are developing ioipsl to add:

  • the possibility to define the chunksize in the call of fliocrfd, flioopfd and histbeg
  • the possibility to define the creating mode (CLOBBER, NOCLOBBER etc…) in the call of histbeg

Once these developments are done, we can fully extent what was done in the case iom_nf90 to all NetCDF files created by the code (and close the ticket).

comment:2 Changed 10 years ago by smasson

  • Resolution set to wontfix
  • Status changed from assigned to closed

the end of this work will be done in the next version of the ioserver that should be available in v3.4 in jan 2012.

comment:3 Changed 4 years ago by nicolasmartin

  • Keywords clobber chunksize removed

comment:4 Changed 4 years ago by nicolasmartin

  • Keywords NetCDF* fortran added; NF90 removed

comment:5 Changed 2 years ago by davestorkey

In 9321:

UKMO/dev_r5518_GO6_package branch: allow timing of I/O and coupling only.
See GMED ticket 374.

Note: See TracTickets for help on using tickets.