Skip to content
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

parallel netcdf IO #41

Merged
merged 33 commits into from
Feb 4, 2020
Merged

Conversation

jswhit2
Copy link
Collaborator

@jswhit2 jswhit2 commented Jan 10, 2020

this enables parallel IO for netcdf output - set 'netcdf_parallel' for output_file in model_configure. Works for compressed writes.

TODO: add ifdef's around parallel code sections so parallel versions of netcdf/hdf5 will not be required

To compile without netcdf parallel support, use -DNO_PARALLEL_NETCDF

#23

Supersedes #19

This was referenced Jan 10, 2020
@DusanJovic-NOAA
Copy link
Collaborator

rad2dg can be deleted from module_write_netcdf.F90

@DusanJovic-NOAA
Copy link
Collaborator

@junwang-noaa Please delete ESMF_ERR_ABORT define (first 3 lines in a file) from module_write_netcdf.F90 and module_write_netcdf_parallel.F90. This macro is not used.

@@ -171,7 +172,7 @@ subroutine write_netcdf_parallel(fieldbundle, wrtfb, filename, mpi_comm, mype, i
ncerr = nf90_def_var(ncid, trim(fldName), NF90_FLOAT, &
(/im_dimid,jm_dimid,pfull_dimid,time_dimid/), varids(i), &
shuffle=.false.,deflate_level=ideflate,&
chunksizes=(/im,jm,1,1/),cache_size=40*im*jm); NC_ERR_STOP(ncerr)
chunksizes=(/im,jm,1,1/)); NC_ERR_STOP(ncerr)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must two of the chunksizes be 1?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, but this seems to be the most common access pattern (reading a 2d horizontal slice).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now changed so that chunksize can be specified at run time. Default is to use MPI decompisition size..

Default is now ichunk3d,jchunk3d same as array size on each PE, kchunk3d=nlevs
This results in the fastest writes on hera.
io/CMakeLists.txt Outdated Show resolved Hide resolved
io/CMakeLists.txt Outdated Show resolved Hide resolved
Copy link
Collaborator

@edwardhartnett edwardhartnett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The netcdf parts look OK.

Are there no tests in this repo? Where do you guys do testing?

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Feb 4, 2020 via email

@junwang-noaa junwang-noaa merged commit b7a44c5 into NOAA-EMC:develop Feb 4, 2020
@jswhit
Copy link
Contributor

jswhit commented Feb 4, 2020

I am OK with this PR as is.

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Feb 4, 2020 via email

@junwang-noaa junwang-noaa deleted the netcdf_parallel branch March 10, 2020 19:35
climbfuji added a commit to climbfuji/fv3atm that referenced this pull request Apr 14, 2020
…tc_hwrf-physics

dtc/hwrf-physics: merge HWRF saSAS with GFS version, update to a more recent version of fv3atm from EMC develop
jkbk2004 pushed a commit that referenced this pull request Mar 15, 2023
…er update for #462 (#634)

* add nssl_alphar, nssl_ehw0_in, nssl_ehlw0_in to namelist entries for ensemble perturbationsons

* update the standard name for hail/graupel collection efficiency

* update the long names for parameters related to NSSL microphysics

* update ccpp/physics and ccpp/framework submodule pointers

---------

Co-authored-by: Jili Dong <Jili.Dong@noaa.gov>
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.

5 participants