Skip to content

Commit 2862834

Browse files
Merge branch 'jayeshkrishna/share/add_nc_zarr_support' (PR #7367)
Adding support in CIME for the experimental new NCZarr format If NetCDF with NCZarr support is installed on a system, users can now change the PIO_TYPENAME to "netcdf4z" to write the output files in NetCDF NCZarr file format. Support for NCZarr format is available from SCORPIO v1.7.0 [BFB]
2 parents 32bb582 + a2075b5 commit 2862834

File tree

7 files changed

+15
-6
lines changed

7 files changed

+15
-6
lines changed

cime_config/machines/config_machines.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2084,6 +2084,7 @@
20842084
<env name="PATH">/nfs/gce/projects/climate/software/linux-ubuntu22.04-x86_64/mpich/4.1.2/gcc-12.1.0/bin:$ENV{PATH}</env>
20852085
<env name="ZLIB_ROOT">/nfs/gce/software/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-9.3.0/zlib-1.2.11-p7dmb5p</env>
20862086
<env name="HDF5_ROOT">/nfs/gce/projects/climate/software/linux-ubuntu22.04-x86_64/hdf5/1.12.2/mpich-4.1.2/gcc-12.1.0</env>
2087+
<!--env name="NETCDF_PATH">/nfs/gce/projects/climate/software/linux-ubuntu22.04-x86_64/netcdf/4.9.3c-4.3.1cxx-4.5.3f-parallel-nczarr/mpich-4.1.2/gcc-12.1.0</env-->
20872088
<env name="NETCDF_PATH">/nfs/gce/projects/climate/software/linux-ubuntu22.04-x86_64/netcdf/4.8.0c-4.3.1cxx-4.5.3f-parallel/mpich-4.1.2/gcc-12.1.0</env>
20882089
<env name="PNETCDF_PATH">/nfs/gce/projects/climate/software/linux-ubuntu22.04-x86_64/pnetcdf/1.12.3/mpich-4.1.2/gcc-12.1.0</env>
20892090
<env name="MOAB_ROOT">$SHELL{if [ -z "$MOAB_ROOT" ]; then echo /nfs/gce/projects/climate/software/moab/devel/mpich-4.1.2/gcc-12.1.0; else echo "$MOAB_ROOT"; fi}</env>

driver-mct/cime_config/config_component.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2646,7 +2646,7 @@
26462646

26472647
<entry id="PIO_TYPENAME">
26482648
<type>char</type>
2649-
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,adios,adiosc,hdf5,default</valid_values>
2649+
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,netcdf4z,adios,adiosc,hdf5,default</valid_values>
26502650
<group>run_pio</group>
26512651
<file>env_run.xml</file>
26522652
<desc>pio io type</desc>

driver-mct/cime_config/namelist_definition_modelio.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@
133133
<type>char*64</type>
134134
<category>pio</category>
135135
<group>pio_inparm</group>
136-
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,default</valid_values>
136+
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,netcdf4z,default</valid_values>
137137
<desc>
138138
io type in pio used generically, component based value takes precedent.
139-
valid values: netcdf, pnetcdf, netcdf4p, netcdf4c, default
139+
valid values: netcdf, pnetcdf, netcdf4p, netcdf4c, netcdf4z, default
140140
</desc>
141141
<values>
142142
<value component="cpl">$CPL_PIO_TYPENAME</value>

driver-moab/cime_config/config_component.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2628,7 +2628,7 @@
26282628

26292629
<entry id="PIO_TYPENAME">
26302630
<type>char</type>
2631-
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,adios,adiosc,hdf5,default</valid_values>
2631+
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,netcdf4z,adios,adiosc,hdf5,default</valid_values>
26322632
<group>run_pio</group>
26332633
<file>env_run.xml</file>
26342634
<desc>pio io type</desc>

driver-moab/cime_config/namelist_definition_modelio.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@
133133
<type>char*64</type>
134134
<category>pio</category>
135135
<group>pio_inparm</group>
136-
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,default</valid_values>
136+
<valid_values>netcdf,pnetcdf,netcdf4p,netcdf4c,netcdf4z,default</valid_values>
137137
<desc>
138138
io type in pio used generically, component based value takes precedent.
139-
valid values: netcdf, pnetcdf, netcdf4p, netcdf4c, default
139+
valid values: netcdf, pnetcdf, netcdf4p, netcdf4c, netcdf4z, default
140140
</desc>
141141
<values>
142142
<value component="cpl">$CPL_PIO_TYPENAME</value>

share/build/buildlib.spio

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,13 @@ def buildlib(bldroot, installpath, case):
209209
pnetcdf_string = "WITH_PNETCDF:BOOL=ON"
210210
netcdf4_string = "NetCDF_C_HAS_PARALLEL:BOOL=TRUE"
211211

212+
netcdf4_nczarr_string = "NetCDF_C_HAS_NCZARR:BOOL=TRUE"
212213
adios_string = "WITH_ADIOS2:BOOL=ON"
213214
hdf5_string = "WITH_HDF5:BOOL=ON"
214215
expect_string_found = False
215216
pnetcdf_found = False
216217
netcdf4_parallel_found = False
218+
netcdf4_nczarr_found = False
217219
adios_found = False
218220
hdf5_found = False
219221

@@ -225,6 +227,8 @@ def buildlib(bldroot, installpath, case):
225227
pnetcdf_found = True
226228
if re.search(netcdf4_string, line):
227229
netcdf4_parallel_found = True
230+
if re.search(netcdf4_nczarr_string, line):
231+
netcdf4_nczarr_found = True
228232
if re.search(adios_string, line):
229233
adios_found = True
230234
if re.search(hdf5_string, line):
@@ -283,6 +287,8 @@ def buildlib(bldroot, installpath, case):
283287
valid_values += ",pnetcdf"
284288
if netcdf4_parallel_found:
285289
valid_values += ",netcdf4p,netcdf4c"
290+
if netcdf4_nczarr_found:
291+
valid_values += ",netcdf4z"
286292
if adios_found:
287293
valid_values += ",adios"
288294
if adiosc_found:

share/util/shr_pio_mod.F90

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,8 @@ subroutine shr_pio_getiotypefromname(typename, iotype, defaulttype)
674674
iotype = pio_iotype_pnetcdf
675675
else if ( typename .eq. 'NETCDF4P') then
676676
iotype = pio_iotype_netcdf4p
677+
else if ( typename .eq. 'NETCDF4Z') then
678+
iotype = pio_iotype_netcdf4p_nczarr
677679
else if ( typename .eq. 'NETCDF4C') then
678680
iotype = pio_iotype_netcdf4c
679681
#ifndef PIO1

0 commit comments

Comments
 (0)